cdeps

Structured YAML to run CDEPS is validated by JSON Schema and requires the cdeps: block, described below.

  • This driver receives a cycle argument, which it makes available as a Python datetime object to Jinja2 when realizing its input config. This supports specification of cycle-specific values. For example, the key-value pair

    gfs.t{{ cycle.strftime('%H') }}z.atmanl.nc: /some/path/{{ cycle.strftime('%Y%m%d%H') }}/gfs.t{{ cycle.strftime('%H') }}z.atmanl.nc
    

    would be rendered as

    gfs.t18z.atmanl.nc: /some/path/2024021218/gfs.t18z.atmanl.nc
    

    for cycle 2024-02-12T18.

Here is a prototype UW YAML cdeps: block, explained in detail below:

cdeps:
  atm_in:
    update_values:
      datm_nml:
        datamode: GFS
        export_all: true
        factorfn_data: 'null'
        factorfn_mesh: 'null'
        flds_co2: false
        flds_presaero: false
        flds_wiso: false
        iradsw: 1
        model_maskfile: /path/to/mesh1.nc
        model_meshfile: /path/to/mesh1.nc
        nx_global: 100
        ny_global: 100
        restfilm: 'null'
  atm_streams:
    streams:
      stream01:
        dtlimit: 1.5
        mapalgo: redist
        readmode: single
        stream_data_files:
          - /path/to/data_file1.nc
        stream_data_variables:
          - temperature Sa_tbot
        stream_lev_dimname: 'null'
        stream_mesh_file: /path/to/mesh1.nc
        stream_offset: 0
        stream_vectors:
          - u
          - v
        taxmode: limit
        tinterpalgo: linear
        yearAlign: 2008
        yearFirst: 2008
        yearLast: 2008
    template_file: stream.jinja2
  ocn_in:
    update_values:
      docn_nml:
        datamode: some_supported_mode2
        import_data_fields: none
        model_maskfile: /path/to/mesh2.nc
        model_meshfile: /path/to/mesh2.nc
        nx_global: 150
        ny_global: 150
        restfilm: 'null'
        skip_restart_read: true
        sst_constant_value: -1
  ocn_streams:
    streams:
      stream01:
        dtlimit: 1.5
        mapalgo: redist
        readmode: single
        stream_data_files:
          - /path/to/data_file2.nc
          - /path/to/data_file3.nc
        stream_data_variables:
          - sst So_t
          - mask So_omask
        stream_lev_dimname: 'null'
        stream_mesh_file: /path/to/mesh2.nc
        stream_offset: 0
        stream_vectors:
          - 'null'
        taxmode: limit
        tinterpalgo: linear
        yearAlign: 2008
        yearFirst: 2008
        yearLast: 2008
    template_file: stream.jinja2
  rundir: /path/to/dir

UW YAML for the cdeps: Block

atm_in

Configures the atm namelist file. Supports base_file: and update_values: blocks (see Updating Values for details). Namelist options are described here.

Before the namelist file is written, its proposed content will be validated against the appropriate schema. This can be suppressed by setting validate: false in the UW YAML configuration block for the namelist.

atm_streams

Configures the atm streams.

streams:

The streams: block may contain sub-blocks stream01 through stream09. Each such sub-block specifies a stream configuration to be used to render the Jinja2 template file named by template_file: (see below). Supported keys and values are described here.

template_file:

The path to a Jinja2 template file to be rendered, using the values from the streams: block (see above), to a streams file.

ocn_in

Configures the ocn namelist file. Supports base_file: and update_values: blocks (see Updating Values for details). Namelist options are described here.

Before the namelist file is written, its proposed content will be validated against the appropriate schema. This can be suppressed by setting validate: false in the UW YAML configuration block for the namelist.

ocn_streams

Configures the ocn streams. See the atm_streams: block, above, which is configured identically.

rundir

The path to the run directory.