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