Skip to content

Commit

Permalink
Update components and app (NOAA-EMC#14)
Browse files Browse the repository at this point in the history
* Update components. New baselines are created.
  • Loading branch information
DeniseWorthen authored May 12, 2020
1 parent e956923 commit 50315c3
Show file tree
Hide file tree
Showing 35 changed files with 2,853 additions and 779 deletions.
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

0 comments on commit 50315c3

Please sign in to comment.