Opened 2 years ago
Last modified 2 years ago
#958 closed upgrade
Important: Updated standalonw NUOPC cap for UFS — at Initial Version
| Reported by: | arango | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | Release ROMS/TOMS 4.2 |
| Component: | Nonlinear | Version: | 4.1 |
| Keywords: | Cc: |
Description
We continue working on interfacing ROMS to the UFS for coupling. The standard alone NUOPC module cmeps_roms.F was updated to process the needed metadata from a generic input YAML configuration file. The fields to couple are controlled by the import_variables and export_variables tokens.
For example, the roms_cdeps_narr.yaml has:
convention: CF
project: UFS Costal ROMS Coupling
title: Hurricane Irene Application using CDEPS/CMEPS
date: 2011-08-27T06:00:00Z # Starting date, Hurricane Irene
forecast_length: &ForecastLength PT48H # 48 hours (ISO 8601)
coupling_step: &dt 60.0d0 # 1 minutes (PT180S)
linked_grid: 1 # linked ROMS nested grid number
ATM_component: &ATM NCEP
DATA_component: %DATA NARR
OCN_component: &OCN ROMS
CoupledSet: ESM_01
ExportState: Export_ESM_01
ImportState: Import_ESM_01
PETlayoutOption: 0
CouplingType: 1 # explicit
DebugLevel: 2
TraceLevel: 0
standard_input:
OCN_component: roms_irene.in
ATM_component: none
import_variables: [dLWrad, SWrad_daily, Pair, Tair, Qair, rain, Uwind, Vwind]
#export_variables: [SSH, Usur, Vsur, SST]
################################
### Exported Fields Metadata ###
################################
export:
- standard_name: sea_surface_height_above_geopotential_datum
long_name: sea surface height
short_name: SSH
data_variables: [SSH, time] # zeta
source_units: meter
destination_units: meter
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapnstod
map_norm: none
- standard_name: surface_eastward_sea_water_velocity
long_name: surface eastward momentum component
short_name: Usur
data_variables: [Usur, time] # u
source_units: meter second-1
destination_units: meter second-1
source_grid: left_right_edge
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
- standard_name: surface_northward_sea_water_velocity
long_name: surface northward momentum component
short_name: Vsur
data_variables: [Vsur, time] # v
source_units: meter second-1
destination_units: meter second-1
source_grid: lower_upper_edge
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
- standard_name: sea_surface_temperature
long_name: sea surface temperature
short_name: SST
data_variables: [temperature, time] # t(:,:,:,itemp)
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
map_type: mapnstod
map_norm: none
################################
### Imported Fields Metadata ###
################################
import:
- standard_name: surface_net_downward_longwave_flux
long_name: surface downward longwave radiation flux
short_name: dLWrad
data_variables: [lwrad_down, time] # dlwrfsf minus ulwrfsfc
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: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_net_longwave_flux
long_name: surface net longwave radiation flux
short_name: LWrad
data_variables: [lwrad, time] # dlwrfsfc
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: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: net_downward_shortwave_flux_at_sea_water_surface
long_name: surface net shortwave radiation flux
short_name: SWrad
data_variables: [swrad_daily, time] # dlwrfsfc
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: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: net_averaged_shortwave_flux_at_sea_water_surface
long_name: surface net averaged shortwave radiation flux
short_name: SWrad_daily
data_variables: [swrad_daily, time] # dswrfsfc minus uswrfsfc
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: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_air_pressure
long_name: surface air pressure
short_name: Pair
data_variables: [Pair, time]
source_units: mb
destination_units: mb
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_air_temperature
long_name: surface (2m) air temperature
short_name: Tair
data_variables: [Tair, time]
source_units: C
destination_units: C
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_relative_humidity
long_name: surface relative humidity
short_name: Qair
data_variables: [Qair, time]
source_units: percent
destination_units: fraction
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 0.01d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: precipitation_flux
long_name: precipitation rate
short_name: rain
data_variables: [rain, time]
source_units: kg m-2 s-1
destination_units: kg m-2 s-1
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_eastward_wind
long_name: surface eastward wind at 10m
short_name: Uwind
data_variables: [Uwind, time]
source_units: m s-1
destination_units: m s-1
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_northward_wind
long_name: surface northward wind at 10m
short_name: Vwind
data_variables: [Vwind, time]
source_units: m s-1
destination_units: m s-1
source_grid: cell_center
destination_grid: cell_center
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *DATA
map_type: mapbilnr
map_norm: none
- standard_name: surface_downward_heat_flux_in_sea_water
long_name: surface net heat flux
short_name: shflux
data_variables: [shflux, time]
source_units: W m-2
destination_units: Celsius m s-1
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
- standard_name: surface_upward_water_flux
long_name: surface freshwater flux (E-P)
short_name: swflux
data_variables: [swflux, time]
source_units: kg m-2 s-1
destination_units: kg m-2 s-1
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
- standard_name: surface_downward_x_stress
long_name: surface eastward wind stress
short_name: sustr
data_variables: [sustr, time]
source_units: N m-2
destination_units: m-2 s-2
source_grid: cell_center
destination_grid: left_right_edge
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
- standard_name: surface_downward_y_stress
long_name: surface northward wind stress
short_name: svstr
data_variables: [svstr, time]
source_units: N m-2
destination_units: m-2 s-2
source_grid: cell_center
destination_grid: lower_upper_edge
add_offset: 0.0d0
scale: 1.0d0
debug_write: false
connected_to: *ATM
map_type: mapbilnr
map_norm: none
It only uses the metadata for the variables specified in:
import_variables: [dLWrad, SWrad_daily, Pair, Tair, Qair, rain, Uwind, Vwind] #export_variables: [SSH, Usur, Vsur, SST]
Since we are testing the coupling to the DATA component using CDEPS, the export_variables are commented out. Only the metadata for the variables specified in import_variables will be processed; the other metadata is ignored. There is no need to add or remove field metadata. It has everything that it needs for coupling ROMS in various configurations.
The cmeps_roms.F NUOPC module was updated accordingly.
