make-hdf5 Command¶
The make-hdf5 command creates a collection of HDF5 forcing files to drive a MIDOSS-MOHID run. The HDF5 forcing files are calculated from the output of 3 other models that are assumed to have already been run for the time period for which MIDOSS-MOHID is to be run:
Output from SalishSeaCast NEMO is used to calculate forcing fields for variables:
u-direction component of seawater current
v-direction component of seawater current
w-direction seawater current component
seawater salinity
seawater temperature
sea surface height
time-varying z-layer thickness from NEMO VVL
vertical eddy diffusivity
Output from the Environment and Climate Change Canada (ECCC) High Resolution Deterministic Prediction System (HRDPS) that has been process to be used as forcing for the SalishSeaCast NEMO model is used to calculate forcing fields for variables:
u-direction component of wind velocity
v-direction component of wind velocity
Output from the Strait of Georgia configuration of WaveWatch III™ driven by currents from the SalishSeaCast NEMO model and winds from HRDPS is used to calculate forcing fields for variables:
sea surface witecap coverage fraction
mean period of wind waves from variance of spectral density of second frequency moment
mean wave length of wind waves
significant height of wind waves
u-direction component of sea surface Stokes drift
v-direction component of sea surface Stokes drift
Usage¶
The see information about the arguments for make-hdf5 use make-hdf5 --help. For example:
$ make-hdf5 --help
Usage: make-hdf5 [OPTIONS] YAML_FILENAME [%Y-%m-%d] [N_DAYS]
Create HDF5 forcing files for a MIDOSS-MOHID run.
YAML_FILENAME: File path/name of YAML file to control HDF5 forcing files
creation.
[%Y-%m-%d]: Date on which to start HDF5 forcing files creation.
N_DAYS: Number of days plus 1 of HDF5 forcing to create in each file.
Use 1 to create 2 days of forcing which is what is required for a 1 day
MOHID run.
Options:
--version Show the version and exit.
--help Show this message and exit.
make-hdf5 YAML File Example¶
The paths to the collections of SalishSeaCast NEMO, HRDPS, and WaveWatch III™ files from which the HDF5 forcing files are calculated are defined in the YAML file that make-hdf5 reads. The destination directory for the HDF5 forcing files, the names for those files, and the variables that are stored in them are also defined in the YAML file.
Here is a commented example of a YAML file:
# Run description file example for make-hdf5 command
paths:
# Paths must be absolute.
# They may contain:
#
# * $SCRATCH as an alternative spelling of the user's scratch directory on graham
# * $PROJECT as an alternative spelling of the group's project directory on graham
# * $USER as an alternative spelling of the user's userid
# * ~ or $HOME as alternative spellings of the user's home directory
#
# Paths with environment variables are strongly recommended for portability and re-usability.
# Absolute path to SalishSeaCast NEMO results collection
salishseacast: $PROJECT/MIDOSS/forcing/nowcast-green.201905/
# Absolute path to collection of HRDPS forcing files for SalishSeaCast NEMO runs
hrdps: $PROJECT/SalishSea/forcing/atmospheric/GEM2.5/operational/
# Absolute path to Strait of Georgia WWatch3 results collection
wavewatch3: $PROJECT/MIDOSS/forcing/wwatch3/
# URL or absolute path to SalishSeaCast NEMO mesh mask to read grid parameters from
# Use of an ERDDAP URL is preferred.
# If the host that make-hdf5 is being run on does not have access to the Internet
# (e.g. compute nodes on graham) an absolute path to a mesh mask file
# (typically in a clone of the SalishSeaCast-grid repo) may be used.
# Environment variable expansion is enabled for the absolute path option;
# e.g. salishseacast grid: $PROJECT/$USER/MIDOSS/SalishSeaCast-grid/mesh_mask201702.nc
salishseacast grid: https://salishsea.eos.ubc.ca/erddap/griddap/ubcSSn3DMeshMaskV17-02
# Absolute path to file containing interpolation weights to transform HRDPS
# variables values on to MIDOSS-MOHID grid
wind_weights: $PROJECT/$USER/MIDOSS/MIDOSS-MOHID-grid/hrdps_interpolation_weights.nc
# Absolute path to file containing interpolation weights to transform WWatch3
# variables values on to MIDOSS-MOHID grid
wave_weights: $PROJECT/$USER/MIDOSS/MIDOSS-MOHID-grid/wavewatch3_interpolation_weights.nc
# Absolute path to directory into which to write HDF5 forcing files
# that will be generated
output: $SCRATCH/MIDOSS/forcing/
salish_seacast_forcing:
# File names for HDF5 forcing files generated from SalishSeaCast NEMO results
currents:
# u-direction component of seawater current
currents_u_hdf5_filename: currents.hdf5
# v-direction component of seawater current
currents_v_hdf5_filename: currents.hdf5
vertical_velocity:
# w-direction seawater current component
hdf5_filename: currents.hdf5
salinity:
# seawater salinity
hdf5_filename: t.hdf5
temperature:
# seawater temperature
hdf5_filename: t.hdf5
sea_surface_height:
# sea surface height
hdf5_filename: t.hdf5
e3t:
# time-varying z-layer thickness from NEMO VVL
hdf5_filename: e3t.hdf5
diffusivity:
# vertical eddy diffusivity
hdf5_filename: t.hdf5
hrdps_forcing:
# File names for HDF5 forcing files generated from HRDPS files
winds:
# u-direction component of wind velocity
wind_u_hdf5_filename: winds.hdf5
# v-direction component of wind velocity
wind_v_hdf5_filename: winds.hdf5
wavewatch3_forcing:
# File names for HDF5 forcing files generated from WWatch3 results
whitecap_coverage:
# sea surface witecap coverage fraction
hdf5_filename: waves.hdf5
mean_wave_period:
# mean period of wind waves from variance of spectral density of
# second frequency moment
hdf5_filename: waves.hdf5
mean_wave_length:
# mean wave length of wind waves
hdf5_filename: waves.hdf5
significant_wave_height:
# significant height of wind waves
hdf5_filename: waves.hdf5
stokesU:
# u-direction component of sea surface Stokes drift
hdf5_filename: waves.hdf5
stokesV:
# v-direction component of sea surface Stokes drift
hdf5_filename: waves.hdf5