coupling esmf atm.yaml: Difference between revisions
No edit summary (change visibility) |
|||
| Line 105: | Line 105: | ||
=== Metadata: standard_name === | === Metadata: standard_name === | ||
The following table shows the | The following table shows the coupling metadata <span class="violet">short_name</span> and <span class="violet">standard_name</span> ESMF/NUOPC export and Import states. They follow CF conventions. However, we needed to create lots of them because are not available in the CF tables but followed their established syntax. | ||
{| border="1" cellspacing="0" cellpadding="5" align="left" | {| border="1" cellspacing="0" cellpadding="5" align="left" | ||
| align="center" | | | align="center" | <span class="violet">short_name</span> | ||
|style="width: 350px;" align="center" | | |style="width: 350px;" align="center" | <span class="violet">standard_name</span> | ||
|- | |- | ||
| <span class="mediumOrchid">dLWrad</span> | | <span class="mediumOrchid">dLWrad</span> | ||
| Line 118: | Line 118: | ||
|- | |- | ||
| <span class="mediumOrchid">dSST</span> | | <span class="mediumOrchid">dSST</span> | ||
| sea_surface_temperature_data | | <span class="twilightBlue">sea_surface_temperature_data</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Hair</span> | | <span class="mediumOrchid">Hair</span> | ||
| Line 124: | Line 124: | ||
|- | |- | ||
| <span class="mediumOrchid">LHfx</span> | | <span class="mediumOrchid">LHfx</span> | ||
| surface_latent_heat_flux | | <span class="twilightBlue">surface_latent_heat_flux</span> | ||
|- | |- | ||
| <span class="mediumOrchid">LWrad</span> | | <span class="mediumOrchid">LWrad</span> | ||
| surface_net_downward_longwave_flux | | <span class="twilightBlue">surface_net_downward_longwave_flux</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Pair</span> | | <span class="mediumOrchid">Pair</span> | ||
| Line 133: | Line 133: | ||
|- | |- | ||
| <span class="mediumOrchid">Pmsl</span> | | <span class="mediumOrchid">Pmsl</span> | ||
| mean_sea_level_pressure | | <span class="twilightBlue">mean_sea_level_pressure</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Qair</span> | | <span class="mediumOrchid">Qair</span> | ||
| surface_relative_humidity | | <span class="twilightBlue">surface_relative_humidity</span> | ||
|- | |- | ||
| <span class="mediumOrchid">rain</span> | | <span class="mediumOrchid">rain</span> | ||
| Line 145: | Line 145: | ||
|- | |- | ||
| <span class="mediumOrchid">SHfx</span> | | <span class="mediumOrchid">SHfx</span> | ||
| surface_sensible_heat_flux | | <span class="twilightBlue">surface_sensible_heat_flux</span> | ||
|- | |- | ||
| <span class="mediumOrchid">SST</span> | | <span class="mediumOrchid">SST</span> | ||
| Line 160: | Line 160: | ||
|- | |- | ||
| <span class="mediumOrchid">SWrad</span> | | <span class="mediumOrchid">SWrad</span> | ||
| net_shortwave_flux_at_sea_water_surface | | <span class="twilightBlue">net_shortwave_flux_at_sea_water_surface</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Tair</span> | | <span class="mediumOrchid">Tair</span> | ||
| surface_air_temperature | | <span class="twilightBlue">surface_air_temperature</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Uwind</span> | | <span class="mediumOrchid">Uwind</span> | ||
| surface_eastward_wind | | <span class="twilightBlue">surface_eastward_wind</span> | ||
|- | |- | ||
| <span class="mediumOrchid">Vwind</span> | | <span class="mediumOrchid">Vwind</span> | ||
| surface_northward_wind | | <span class="twilightBlue">surface_northward_wind</span> | ||
|- | |- | ||
|} | |} | ||
Revision as of 21:59, 27 April 2022
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:
DATA_component: data.nc
ROMS_component: &OCN ROMS
metadata:
- standard_name: sea_surface_temperature
long_name: sea surface 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: *OCN
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:
| Key | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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:
| ||||||||||||
| extrapolate_method | The field extrapolation method for unmapped points:
|
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.
Metadata: standard_name
The following table shows the coupling metadata short_name and standard_name ESMF/NUOPC export and Import states. They follow CF conventions. However, we needed to create lots of them because are not available in the CF tables but followed their established syntax.
| short_name | standard_name |
| dLWrad | surface_net_downward_longwave_flux |
| dSWrad | net_downward_shortwave_flux_at_sea_water_surface |
| dSST | sea_surface_temperature_data |
| Hair | surface_specific_humidity |
| LHfx | surface_latent_heat_flux |
| LWrad | surface_net_downward_longwave_flux |
| Pair | surface_air_pressure |
| Pmsl | mean_sea_level_pressure |
| Qair | surface_relative_humidity |
| rain | precipitation_flux |
| shflux | surface_downward_heat_flux_in_sea_water |
| SHfx | surface_sensible_heat_flux |
| SST | sea_surface_temperature |
| sustr | surface_downward_x_stress |
| svstr | surface_downward_y_stress |
| swflux | surface_upward_water_flux |
| SWrad | net_shortwave_flux_at_sea_water_surface |
| Tair | surface_air_temperature |
| Uwind | surface_eastward_wind |
| Vwind | surface_northward_wind |