coupling esmf atm.yaml

From WikiROMS
Revision as of 19:29, 27 April 2022 by Robertson (talk | contribs) (Created page with "<div class="title">coupling_esmf_atm.yaml</div> __TOC__ The '''coupling_esmf_<atm>.yaml''' (where <atm> is the model name) file specifies the ROMS Coupling ESMF/NUOPC System...")
(change visibility) (diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
coupling_esmf_atm.yaml


The coupling_esmf_<atm>.yaml (where <atm> is the model name) file specifies the ROMS Coupling ESMF/NUOPC System Import/Export Metadata Dictionary. Starting svn revision -r 1902 released on March 1, 2022, the ROMS coupling metadata is managed with a YAML file, and the regular text file coupling_esmf_<atm>.dat is deprecated. The YAML files are simple, easy to follow, elegant, portable, and expandable. ROMS can now process YAML files with its parser module, yaml_parser.F. Therefore, there is no need to use third-party YAML parsers. Basically, coupling_esmf_<atm>.yaml has the following structure:

ATM_component: &ATM WRF

DATA_component: data.nc

ROMS_component: &OCN ROMS

metadata:

- standard_name: sea_surface_temperature
long_name: sea surface potential temperature
short_name: SST
data_variables: [temperature, time]
source_units: C
destination_units: K
source_grid: cell_center
destination_grid: cell_center
add_offset: 273.15d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
regrid_method: bilinear
extrapolate_method: nearest

- standard_name: sea_surface_temperature_data
long_name: sea surface temperature data
short_name: dSST
data_variables: [temperature, time]
source_units: C
destination_units: K
source_grid: cell_center
destination_grid: cell_center
add_offset: 273.15d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
regrid_method: bilinear
extrapolate_method: nearest

The field key and value pair in the YAML blocking list is as follows:

  • standard_name: CF conventions standard name for variable. A list of applicable standard_name attributes are shown below.
  • long_name: The field's long descriptive name.
  • short_name: The field's short name private to the NUOPC cap module
  • data_variables: The DATA component NetCDF field and time variable names.
  • source_units: The field's source units.
  • destination_units: The field's destination units.
  • source_grid: The field's source grid-cell location.
  • destination_grid: The field's destination grid-cell location.
  • add_offset: The value to add to the exchanged field.
  • scale: The scale to use to convert data from source to destination.
  • debug_write: A switch indicating whether or not to write out exchanged field, if DebugLevel>2.
  • connected_to: The source component to which the field is connected.
  • regrid_method: The field regridding method from source to destination:
bilinear bilinear interpolation
patch high-order patch recovery
conservative1 first-order conservative
conservative2 second-order conservative
nearest nearest neighbor interpolation
  • extrapolate_method: The field extrapolation method for unmapped points:
none no extrapolation
nearest nearest source to destination
idavg nearest inverse distance average
creep creep fill at specified level
2steps Turuncoglu's 2 steps extrapolation

The ESM imported fields are processed as:

field (destination_units) = field (source_units) * scale + add_offset

YAML allows alias and anchor to avoid repetition. In YAML, single or multiple line comments start with a hash #. Also, comment after a key/value pair is allowed. All comments are skipped during processing.