roms cmeps.yaml: Difference between revisions
No edit summary (change visibility) |
No edit summary (change visibility) |
||
Line 8: | Line 8: | ||
The | The description <span class="violet">key</span> for each pair member of the '''YAML''' blocking list is as follows: | ||
Line 16: | Line 16: | ||
|- | |- | ||
|<span class="violet">standard_name</span> | |<span class="violet">standard_name</span> | ||
| | |The field's standard name. A list of all exchanged '''standard_name''' field are shown below. | ||
|- | |- | ||
|<span class="violet">long_name</span> | |<span class="violet">long_name</span> | ||
Line 22: | Line 22: | ||
|- | |- | ||
|<span class="violet">short_name</span> | |<span class="violet">short_name</span> | ||
|The field's short name private to the '''NUOPC''' cap module | |The field's short name private to the '''ESMF/NUOPC''' cap module | ||
|- | |- | ||
|<span class="violet">data_variables</span> | |<span class="violet">data_variables</span> | ||
|The <span class="green">DATA</span> component NetCDF field and time variable names. | |The <span class="green">DATA</span> component NetCDF field and associated time variable names. | ||
|- | |- | ||
|<span class="violet">source_units</span> | |<span class="violet">source_units</span> | ||
Line 43: | Line 43: | ||
|- | |- | ||
|<span class="violet">scale</span> | |<span class="violet">scale</span> | ||
|The scale to use to convert data from source to destination. | |The scale to use to convert data from source to destination units. | ||
|- | |- | ||
|<span class="violet">debug_write</span> | |<span class="violet">debug_write</span> | ||
|A switch indicating whether or not to write out exchanged field, if DebugLevel>2. | |A switch indicating whether or not to write out exchanged field, if '''DebugLevel'''>2. | ||
|- | |- | ||
|<span class="violet">connected_to</span> | |<span class="violet">connected_to</span> | ||
Line 105: | Line 105: | ||
YAML allows '''alias''' and '''anchor''' to avoid repetition. In YAML, single or multiple line comments start with a hash <span class="twilightBlue">#</span>. Also, comment after a key/value pair is allowed. All comments are skipped during processing. | YAML allows '''alias''' and '''anchor''' to avoid repetition. In YAML, single or multiple line comments start with a hash <span class="twilightBlue">#</span>. Also, comment after a key/value pair is allowed. All comments are skipped during processing. | ||
=== Metadata: standard_name === | === Exchanged Fields Metadata: short_name and standard_name === | ||
The following table shows the coupling metadata <span class="violet">short_name</span> and <span class="violet">standard_name</span> for the '''ESMF/NUOPC''' Export and Import states. They follow CF conventions closely. 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 120: | Line 121: | ||
|- | |- | ||
| <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 126: | Line 127: | ||
|- | |- | ||
| <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 135: | Line 136: | ||
|- | |- | ||
| <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 147: | Line 148: | ||
|- | |- | ||
| <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 162: | Line 163: | ||
|- | |- | ||
| <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 00:54, 28 April 2022
The roms_cmeps.yaml file specifies the ROMS Community Mediator for Earth Prediction Systems (CMEPS) Iconfiguration and Import/Export Metadata Dictionary. Starting svn revision -r 1902 released on March 1, 2022, the ROMS coupling metadata is managed with a YAML file. 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, roms_cmeps.yaml has the following structure:
project: FV3-ROMS CMEPS couping in the WATL Application
title: Hurricane Isaias Test
date: 2020-07-31T00:00:00Z # Starting date, Hurricane Isaias
forecast_length: &ForecastLength PT96H # 6 hours (ISO 8601)
coupling_step: &dt 180.0d0 # 3 minutes (PT180S)
linked_grid: 1 # linked ROMS nested grid number
ATM_component: &ATM FV3
DATA_component: data.nc
OCN_component: &OCN ROMS
CoupledSet: ESM_01
ExportState: Export_ESM_01
ImportState: Import_ESM_01
PETlayoutOption: 0
CouplingType: 2 # semi-implicit
DebugLevel: 1 # reports informative messages
TraceLevel: 0
standard_input:
OCN_component: roms_watl.in
ATM_component: namelist
state variables: [sea_surface_height_above_geoid,
barotropic_sea_water_x_velocity,
barotropic_sea_water_y_velocity,
sea_water_x_velocity,
sea_water_y_velocity,
sea_water_potential_temperature,
sea_water_practical_salinity]
export: # OCN to ATM
- 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
map_type: mapnstod
map_norm: none
import: # ATM to OCN
- standard_name: net_downward_shortwave_flux_at_sea_water_surface
long_name: surface net shortwave radiation flux
short_name: SWrad
data_variables: [swrad, time]
source_units: W m-2
destination_units: W m-2
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
...
bulk_fluxes import: # ATM to OCN if BULK_FLUXES is activated
- standard_name: net_downward_shortwave_flux_at_sea_water_surface
long_name: surface shortwave radiation flux
short_name: SWrad
data_variables: [swrad, time]
source_units: W m-2
destination_units: W m-2
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
...
The description key for each pair member of the YAML blocking list is as follows:
Key | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
standard_name | The field's standard name. A list of all exchanged standard_name field are shown below. | ||||||||||||
long_name | The field's long descriptive name. | ||||||||||||
short_name | The field's short name private to the ESMF/NUOPC cap module | ||||||||||||
data_variables | The DATA component NetCDF field and associated 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 units. | ||||||||||||
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.
Exchanged Fields Metadata: short_name and standard_name
The following table shows the coupling metadata short_name and standard_name for the ESMF/NUOPC Export and Import states. They follow CF conventions closely. 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 |