-
Notifications
You must be signed in to change notification settings - Fork 7
Configurations
Andrew Kiss edited this page Jul 7, 2023
·
74 revisions
ACCESS-OM3 configurations are provided via these repositories. They all have prescribed data atmosphere and runoff.
- MOM6-CICE6-WW3: 3-way coupled ocean, sea ice and waves
- MOM6-CICE6: 2-way coupled ocean and sea ice (no waves)
- CICE6-WW3: 2-way coupled sea ice and waves (prescribed data ocean)
These all have an accessom3_exe
branch which uses the new access-om3 executables and is recommended.
The main
branches are older and use executables built from https://github.com/ACCESS-NRI/CESM - see here. They currently require membership of the tm70
project TODO: check! - apply here if needed.
The three CMEPS-coupled configurations have much in common. Here we provide a quick overview of the common features, using examples from MOM6-CICE6.
-
check_inputs.py
: script to show where the inputs inconfig.yaml
are used -
config.yaml
: used bypayu
for model setup and run -
datm_in
: sets stream-independent data atmosphere parameters -
datm.streams.xml
: sets input files and other stream-dependent input data for data atmosphere in this XML format -
diag_table
: MOM6 diagnostics -
drof_in
: sets stream-independent data runoff parameters -
drof.streams.xml
: sets input files and other stream-dependent input data for data runoff in this XML format -
drv_in
: NUOPC parameters for the driver -
fd.yaml
: NUOPC field dictionary read by the NUOPC driver; defines standard metadata for fields that may be available for import and/or export from model components;standard_name
s are used for field pairing during initialisation -
ice_in
: CICE6 parameters -
input.nml
: MOM6 parameters -
MOM_input
: more MOM6 parameters -
MOM_override
: more MOM6 parameters -
nuopc.runconfig
: read by NUOPC driver; supplies driver-related parameters for model components; parameters documented here -
nuopc.runseq
: read by NUOPC driver; defines model component run sequence using this syntax
- model executable
-
exe
inconfig.yaml
. Pre-built executables are available in/g/data/ik11/inputs/access-om3/bin/
or you can build your own. Executable names indicate the available model components and the git hash of the source code used. Avoid using theDebug
versions for production runs as they are much slower.
-
- active model components
-
component_list
and entries inALLCOMP_attributes
section innuopc.runconfig
, e.g.
-
component_list: MED ATM ICE OCN ROF
ALLCOMP_attributes::
ATM_model = datm # data atmosphere
GLC_model = sglc # no glaciers/land ice (stub)
ICE_model = cice # active sea ice (cice)
LND_model = slnd # no land model (stub)
MED_model = cesm # mediator
OCN_model = mom # active ocean model (mom6)
ROF_model = drof # data runoff
WAV_model = swav # no wave model (stub)
...
- fields to couple
- Coupling is negotiated between model components during initialization of a model run. See here: "CMEPS advertises all possible fields that can be imported to and exported by the mediator for the target coupled system. Not all of these fields will be connected to the various components. The connections will be determined by what the components advertise in their respective advertise phase."
-
fd.yaml
: NUOPC field dictionary defines standard metadata for fields that may be available for import and/or export from model components; standard_names are used for field pairing during initialisation - the fields available to be imported/exported for coupling are determined by the NUOPC cap code for MOM6, CICE6, WW3, DATM and DROF and recorded in the mediator log output file:
grep "(Advertise Fields)" archive/output000/log/med.log
- whether those fields are actually coupled is determined by the CMEPS mediator at run time (see here) and recorded in the mediator log output file:
grep -A 9 "Active coupling flags" archive/output000/log/med.log
- also see
wavice_coupling
innuopc.runconfig
- remapping/redistribution method
-
datm.streams.xml
anddrof.streams.xml
specify<mapalgo>bilinear</mapalgo>
but there are better options - see here and here -
rof2ocn_ice_rmapname
androf2ocn_liq_rmapname
inMED_attributes
innuopc.runconfig
-
*map*
inMED_attributes
innuopc.runconfig
-
remapMethod
innuopc.runseq
; options areredist
,bilinear
(the default),patch
,nearest_stod
,nearest_dtos
,conserve
. For strict bit-for-bit reproducibilitysrcTermProcessing=1
andtermOrder=srcseq
are also required. See details here and here and this detailed explanation. - The remapping method used for each field is recorded in the mediator log output file:
grep '^ mapping' archive/output000/log/med.log
; see here for how to decode this
-
- time interpolation of coupled fields
- specified via
tintalgo
indatm.streams.xml
anddrof.streams.xml
- see here for options
- specified via
- Processor layout - see here
- entries in
PELAYOUT_attributes
section innuopc.runconfig
- may need to adjust
max_blocks
inice_in
- may need a
mem: 192GB
entry inconfig.yaml
if you are using less than a full node
- entries in
- IO layout
- entries in
*_modelio
sections innuopc.runconfig
- entries in
- case name
-
case_name
inALLCOMP_attributes
innuopc.runconfig
-
- grids
- coupling diagnostics
-
*budget*
inMED_attributes
innuopc.runconfig
-
hist*
inMED_attributes
innuopc.runconfig
-
histaux_*_flds
is either a colon-delimited list of fields to output, orall
to output everything; see CMEPS field naming convention to decode these -
grep hist archive/output000/log/med.log
will show you when data was written
-
-
- verbosity in NUOPC log files (
archive/output*/log/*.log
)-
Verbosity
in attributes for model components innuopc.runconfig
; can beoff
,low
,high
,max
- see here - but doesn't seems to make any difference, perhaps due to this issue.
-
- calendar
-
calendar
inCLOCK_attributes
innuopc.runconfig
; can be eitherNO_LEAP
orGREGORIAN
-
- start date
-
start_ymd
inCLOCK_attributes
innuopc.runconfig
;
-
- run length
-
stop_n
andstop_option
inCLOCK_attributes
innuopc.runconfig
; available units forstop_option
are listed here
-
- restart frequency
-
restart_n
andrestart_option
inCLOCK_attributes
innuopc.runconfig
; available units forrestart_option
are listed here
-
- timesteps - see here
- coupling timesteps
-
*_cpl_dt
inCLOCK_attributes
innuopc.runconfig
nuopc.runseq
-
- coupling timesteps
- walltime limit
-
walltime
inconfig.yaml
-
- number of ensemble members
-
ninst
inPELAYOUT_attributes
innuopc.runconfig
-
- forcing data
- atmospheric forcing
-
datm.streams.xml
sets individual file paths relative to this entry in theinput
section ofconfig.yaml
; see DATM and streams docs
-
- runoff
-
drof.streams.xml
sets individual file paths relative to this entry in theinput
section ofconfig.yaml
; see DROF and streams docs
-
- atmospheric forcing
- ACCESS-NRI fork of CESM: https://github.com/ACCESS-NRI/CESM
- MOM6 in CESM: https://github.com/ESCOMP/MOM_interface/wiki
- Shuo Li's WW3-MOM6-SIS2 FMS-coupled model configuration https://github.com/shuoli-code/MOM6_WW3_SIS2_coupled