Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
utilities/gen_scrip/*.skl
utilities/gen_scrip/*.nc
3 changes: 2 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
url = https://github.com/NOAA-EMC/CICE5
[submodule "FMS"]
path = FMS
url = https://github.com/NOAA-EMC/FMS
url = https://github.com/NOAA-GFDL/FMS
branch = master
[submodule "NEMS"]
path = NEMS
url = https://github.com/NOAA-EMC/NEMS
Expand Down
2 changes: 1 addition & 1 deletion FMS
Submodule FMS updated 342 files
2 changes: 1 addition & 1 deletion MOM6
Submodule MOM6 updated 5 files
+9 −0 .gitignore
+1 −1 clean.sh
+13 −2 compile.sh
+1 −1 src/MOM6
+1 −1 src/mkmf
11 changes: 8 additions & 3 deletions compsets/all.input
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
load 'mom6cice5datm.input'

run cpld_datm_mom6_cice_cold @ coupled, cold, standard, baseline
run cpld_datm_mom6_cice_3d @ coupled, warm, standard, baseline
run cpld_datm_mom6_cice_hot @ coupled, hot, standard, baseline
########################################################################
#Run the standard Regression tests

run cpld_datm_mom6_cice5_cold_cfsr @ coupled, cold, standard, baseline
run cpld_datm_mom6_cice5_cold_gefs @ coupled, cold, standard, baseline

run cpld_datm_mom6_cice5_2d_cfsr @ coupled, warm, standard, baseline
run cpld_datm_mom6_cice5_2d_gefs @ coupled, warm, standard, baseline
113 changes: 113 additions & 0 deletions compsets/cpld_datm_mom6_cice5_2d.input
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
############################################################################
# 2 day run starting on @CDATE
############################################################################

test cpld_datm_mom6_cice5_2d: datm_mom6_cice.exe {
use plat
use plat%default_cpl
use datm_defaults

TEST_DESCR="datm-mom6-cice5 - 2 day run"
CNTL_NAME="RT-Baselines_2d_@[DATM_SRC]"

COM="@[plat%COMrt]/@[TEST_NAME]" # Test result area
RUNDIR="@[plat%TMPrt]/@[TEST_NAME]" # Test work area
CNTL="@[plat%BASELINE]/@[CNTL_NAME]" # Control baseline area
CNTLMED="@[plat%BASELINE]/MEDIATOR_@[DATM_SRC]" # Control/Mediator area
BL_INPUTS="@[plat%INPUTS]"

DAYS='2'
FHMAX='48'

# Restart interval, mediator and MOM6
RESTART_INTERVAL="86400"
# CICE
DUMPFREQ='s'
DUMPFREQ_N="@[RESTART_INTERVAL]"

# - set component and coupling timesteps
DT_CICE="@[DT_ATMOS]"
CPL_SLOW="@[DT_THERM_MOM6]"
CPL_FAST="@[DT_ATMOS]"

build=datm_mom6_cice.exe

prep=datmprep(
RUNDIR="@[RUNDIR]",
modules="@[build%modules.nems]",
CNTL="@[CNTL]")

# - set total number of tasks to satisfy coupled application need
TASKS=280

# - nems.configure ---
nems_configure='med_atm_ocn_ice'
coupling_interval_slow_sec="@[CPL_SLOW]"
coupling_interval_fast_sec="@[CPL_FAST]"

filters input {
# WORK FILE <=filter= SOURCE FILE
'input.nml' <=atparse= "@[PARMnems]/input.mom6.nml.IN"
'model_configure' <=atparse= "@[PARMnems]/model_configure.IN"
'nems.configure' <=atparse= "@[PARMnems]/nems.configure.@[nems_configure].IN"
'INPUT/*' <=copyfrom= "@[BL_INPUTS]/MOM6_FIX_025deg"
'data_table' <=copy= "@[PARMnems]/data_table"
'datm_data_table' <=copy= "@[PARMnems]/datm_data_table.IN"
'DATM_INPUT/*' <=copyfrom= "@[BL_INPUTS]/DATM/@[DATM_SRC]/@[SYEAR]@[SMONTH]"
'DATM_INPUT/' <=copy= "@[BL_INPUTS]/DATM/@[FILENAME_BASE]SCRIP.nc"
'grid_cice_NEMS_mx025.nc' <=copy= "@[BL_INPUTS]/CICE_FIX_mx025/grid_cice_NEMS_mx025.nc"
'kmtu_cice_NEMS_mx025.nc' <=copy= "@[BL_INPUTS]/CICE_FIX_mx025/kmtu_cice_NEMS_mx025.nc"
'cice5_model.res.nc' <=copy= "@[BL_INPUTS]/CICE_IC/cice5_model_0.25.@[ICEICSOURCE].res_@[CDATE].nc"
'INPUT/*' <=copyfrom= "@[BL_INPUTS]/MOM6_IC/@[CDATE]"
'ice_in_template' <=copy= "@[PARMnems]/ice_in_template"
'diag_table_template' <=copy= "@[PARMnems]/diag_table_template"
'INPUT/MOM_input_template' <=copy= "@[PARMnems]/MOM_input_template"
'*' <=copyfrom= "@[BL_INPUTS]/MEDIATOR_@[DATM_SRC]"
}


# Edit the templates for the compset parameters
prerun=edit_inputs(CDATE="@[CDATE]",
DT_CICE="@[DT_CICE]",
NPROC_ICE="@[NPROC_ICE]",
RUNTYPE="@[RUNTYPE]",
USE_RESTART_TIME="@[USE_RESTART_TIME]",
FRAZIL_FWSALT="@[FRAZIL_FWSALT]",
RUNID="@[RUNID]",
CICE_HIST_AVG="@[CICE_HIST_AVG]",
DUMPFREQ_N="@[DUMPFREQ_N]",
DUMPFREQ="@[DUMPFREQ]",
DT_THERM="@[DT_THERM_MOM6]",
DT_DYNAM="@[DT_DYNAM_MOM6]",
MOM6_RIVER_RUNOFF="@[MOM6_RIVER_RUNOFF]")

# Specify output files:
criteria output {
# WORKFILE .comparison. TARGET
'mediator_FBAtmOcn_o_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBAtm_a_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBIce_i_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBOcn_o_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBaccumAtmOcn_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBaccumAtm_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBaccumIce_restart.nc' .bitcmp. "@[CNTL]"
'mediator_FBaccumOcn_restart.nc' .bitcmp. "@[CNTL]"
'RESTART/MOM.res.nc' .bitcmp. "@[CNTL]"
'RESTART/MOM.res.nc' .bitcmp. "@[CNTL]"
'RESTART/MOM.res_1.nc' .bitcmp. "@[CNTL]"
'RESTART/MOM.res_2.nc' .bitcmp. "@[CNTL]"
'RESTART/MOM.res_3.nc' .bitcmp. "@[CNTL]"
'RESTART/iced.2011-10-03-00000.nc' .bitcmp. "@[CNTL]"
# Executable validation. This makes an MD5 sum of the datm.exe
# for comparison against the MD5 sum made in the build job.
# This is to ensure the executable did not change during the
# test suite.
"@[build%target]" .md5cmp. "@[datm_mom6_cice.exe%md5sum]"
}

spawn execute {
# Run the
{"@[build%target]", ranks="@[TASKS]" }
}

}
Original file line number Diff line number Diff line change
@@ -1,87 +1,41 @@
###########################################################################
#
###########################################################################

load 'runsetup.input'

############################################################################
# cold start @CDATE
############################################################################

test cpld_datm_mom6_cice_cold: datm_mom6_cice.exe {
test cpld_datm_mom6_cice5_cold: datm_mom6_cice.exe {
use plat
use plat%default_cpl
use datm_defaults

TEST_DESCR="datm-mom6-cice5 - cold start"
CNTL_NAME='RT-Baselines_cold_start'
CNTL_NAME="RT-Baselines_cold_start_@[DATM_SRC]"

COM="@[plat%COMrt]/@[TEST_NAME]" # Test result area
RUNDIR="@[plat%TMPrt]/@[TEST_NAME]" # Test work area
CNTL="@[plat%BASELINE]/@[CNTL_NAME]" # Control baseline area
CNTLMED="@[plat%BASELINE]/MEDIATOR_@[DATM_SRC]" # Control/Mediator area
BL_INPUTS="@[plat%INPUTS]"

CPLFLX='.T.'
CPL='.true.'
DAYS='0.041666666'
FHMAX='1'
DT_ATMOS='450'
USE_RESTART_TIME='.false.'

#DATM Variables:
IATM='1760' #lon
JATM='880' #lat
DATM_SRC="CFSR" #source of datm
FILENAME_BASE='cfsr.' #prefix
NFHOUT='6' #forecast hour increment

SYEAR='2011'
SMONTH='10'
SDAY='01'
SHOUR='00'
CDATE="@[SYEAR]@[SMONTH]@[SDAY]@[SHOUR]"
YYYYMM="@[SYEAR]@[SMONTH]"


#For CICE5 ice_in coldstart
DT_CICE="@[DT_ATMOS]"
RUNTYPE='initial'
NPROC_ICE='48'
# to dump a restart at the end of coldstart
DUMPFREQ_N='3600'
DUMPFREQ='s'
USE_RESTART_TIME='.false.'
FRAZIL_FWSALT='.true.' #setting to true will allow Frazil FW and Salt to be included in fluxes sent to ocean
ICEICSOURCE='cfsr'

#For MOM6
DT_THERM_MOM6='1800'
DT_DYNAM_MOM6='900'
MOM6_RESTART_SETTING='r'

# - set component and coupling timesteps
DT_CICE="@[DT_ATMOS]"
CPL_SLOW="@[DT_THERM_MOM6]"
CPL_FAST="@[DT_ATMOS]"

COM="@[plat%COMrt]/@[TEST_NAME]" # Test result area
RUNDIR="@[plat%TMPrt]/@[TEST_NAME]" # Test work area
CNTL="@[plat%BASELINE]/@[CNTL_NAME]" # Control baseline area
CNTLMED="@[plat%BASELINE]/MEDIATOR_@[CDATE]" # Control/Mediator area

BL_INPUTS="@[plat%INPUTS]"

build=datm_mom6_cice.exe

prep=runprep(
prep=datmprep(
RUNDIR="@[RUNDIR]",
modules="@[build%modules.nems]",
CNTL="@[CNTL]")

# - set total number of tasks to satisfy coupled application need
TASKS=360
TASKS=280

# - nems.configure ---
nems_configure='medcold_atm_ocn_ice'
med_model='nems'
med_petlist_bounds="0 71"
atm_model='datm'
atm_petlist_bounds="0 71"
ocn_model='mom6'
ocn_petlist_bounds="72 311"
ice_model='cice'
ice_petlist_bounds="312 359"
coupling_interval_slow_sec="@[CPL_SLOW]"
coupling_interval_fast_sec="@[CPL_FAST]"

Expand All @@ -91,42 +45,46 @@ test cpld_datm_mom6_cice_cold: datm_mom6_cice.exe {
'model_configure' <=atparse= "@[PARMnems]/model_configure.IN"
'nems.configure' <=atparse= "@[PARMnems]/nems.configure.@[nems_configure].IN"
'INPUT/*' <=copyfrom= "@[BL_INPUTS]/MOM6_FIX_025deg"
'data_table' <=copy= "@[PARMnems]/data_table.IN"
'data_table' <=copy= "@[PARMnems]/data_table"
'datm_data_table' <=copy= "@[PARMnems]/datm_data_table.IN"
'DATM_INPUT/*' <=copyfrom= "@[BL_INPUTS]/DATM/@[DATM_SRC]/@[YYYYMM]"
'DATM_INPUT/*' <=copyfrom= "@[BL_INPUTS]/DATM/@[DATM_SRC]/@[SYEAR]@[SMONTH]"
'DATM_INPUT/' <=copy= "@[BL_INPUTS]/DATM/@[FILENAME_BASE]SCRIP.nc"
'grid_cice_NEMS_mx025.nc' <=copy= "@[BL_INPUTS]/CICE_FIX_mx025/grid_cice_NEMS_mx025.nc"
'kmtu_cice_NEMS_mx025.nc' <=copy= "@[BL_INPUTS]/CICE_FIX_mx025/kmtu_cice_NEMS_mx025.nc"
'cice5_model.res.nc' <=copy= "@[BL_INPUTS]/CICE_IC/cice5_model_0.25.@[ICEICSOURCE].res_@[CDATE].nc"
'INPUT/*' <=copyfrom= "@[BL_INPUTS]/MOM6_IC/@[CDATE]"
'ice_in_template' <=copy= "@[PARMnems]/ice_in_template"
'diag_table_template' <=copy= "@[PARMnems]/diag_table_template"
'INPUT/MOM_input_template' <=copy= "@[PARMnems]/MOM_input_template"
'INPUT/MOM_override' <=copy= "@[PARMnems]/MOM_override"
}

# Edit the templates for the compset parameters
prerun=edit_inputs(CDATE="@[CDATE]",
DT_CICE="@[DT_CICE]",
NPROC_ICE="@[NPROC_ICE]",
RUNTYPE="@[RUNTYPE]",
USE_RESTART_TIME="@[USE_RESTART_TIME]",
FRAZIL_FWSALT="@[FRAZIL_FWSALT]",
RUNID="@[RUNID]",
CICE_HIST_AVG="@[CICE_HIST_AVG]",
DUMPFREQ_N="@[DUMPFREQ_N]",
DUMPFREQ="@[DUMPFREQ]",
DT_THERM="@[DT_THERM_MOM6]",
DT_DYNAM="@[DT_DYNAM_MOM6]")

DT_DYNAM="@[DT_DYNAM_MOM6]",
MOM6_RIVER_RUNOFF="@[MOM6_RIVER_RUNOFF]")

# Specify output files:
criteria output {
# WORKFILE .comparison. TARGET
'mediator_FBaccumAtmOcn_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBaccumAtm_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBaccumIce_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBaccumOcn_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBAtm_a_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBAtmOcn_o_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBIce_i_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_FBOcn_o_restart.nc' .bitcmp. "@[CNTLMED]/"
'mediator_scalars_restart.txt' .bitcmp. "@[CNTLMED]/"
'mediator_FBaccumAtmOcn_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBaccumAtm_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBaccumIce_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBaccumOcn_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBAtm_a_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBAtmOcn_o_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBIce_i_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_FBOcn_o_restart.nc' .bitcmp. "@[CNTLMED]"
'mediator_scalars_restart.txt' .bitcmp. "@[CNTLMED]"
# Executable validation. This makes an MD5 sum of the datm.exe
# for comparison against the MD5 sum made in the build job.
# This is to ensure the executable did not change during the
Expand Down
Loading