Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOM6 IAU and atmos stochy restart test #668

Merged
merged 19 commits into from
Jul 22, 2021
Merged
Show file tree
Hide file tree
Changes from 7 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: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
branch = emc/develop
[submodule "MOM6"]
path = MOM6-interface/MOM6
url = https://github.com/NOAA-EMC/MOM6
url = https://github.com/noaa-psd/MOM6
branch = dev/emc
[submodule "CICE"]
path = CICE-interface/CICE
Expand Down
2 changes: 1 addition & 1 deletion MOM6-interface/MOM6
Submodule MOM6 updated from b418ae to d05649
1 change: 1 addition & 0 deletions MOM6-interface/mom6_files.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ list(APPEND mom6_src_files
MOM6/src/user/user_revise_forcing.F90

MOM6/src/ocean_data_assim/MOM_oda_driver.F90
MOM6/src/ocean_data_assim/MOM_oda_incupd.F90

MOM6/config_src/external/GFDL_ocean_BGC/FMS_coupler_util.F90
MOM6/config_src/external/GFDL_ocean_BGC/generic_tracer.F90
Expand Down
2 changes: 1 addition & 1 deletion stochastic_physics
2,401 changes: 2,293 additions & 108 deletions tests/RegressionTests_hera.intel.log

Large diffs are not rendered by default.

11 changes: 11 additions & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,7 @@ export PRINT_DIFF_PGR=.false.
export MAX_OUTPUT_FIELDS=300

# Stochastic physics
export STOCHINI=.F.
export DO_SPPT=.F.
export DO_SHUM=.F.
export DO_SKEB=.F.
Expand All @@ -593,6 +594,7 @@ export LNDP_PRT_LISY=-999
#IAU
export IAU_INC_FILES="''"


#Cellular automata
export DO_CA=.F.
export CA_SGS=.F.
Expand Down Expand Up @@ -733,6 +735,9 @@ export MOM6_THERMO_SPAN='False'
# no WW3
export MOM6_USE_WAVES='False'
export MOM6_ALLOW_LANDMASK_CHANGES='False'
# MOM6 IAU
export MOM_IAU='False'
export MOM_IAU_HRS=6

# CICE6 defaults; 1 degree
export NPROC_ICE='12'
Expand Down Expand Up @@ -851,6 +856,9 @@ export MOM6_RESTART_SETTING='n'
export MOM6_RIVER_RUNOFF='False'
export FRUNOFF=""
export CHLCLIM='"seawifs_1998-2006_smoothed_2X.nc"'
# MOM6 IAU
export MOM_IAU='False'
export MOM_IAU_HRS=6
# this must be set False for restart repro
export MOM6_REPRO_LA='False'
# since CPL_SLOW is set to DT_THERM, this should be always be false
Expand Down Expand Up @@ -968,6 +976,9 @@ export MOM6_RESTART_SETTING='n'
export MOM6_RIVER_RUNOFF='False'
export FRUNOFF=""
export CHLCLIM='"seawifs_1998-2006_smoothed_2X.nc"'
# MOM6 IAU
export MOM_IAU='False'
export MOM_IAU_HRS=6
# this must be set False for restart repro
export MOM6_REPRO_LA='False'
# since CPL_SLOW is set to DT_THERM, this should be always be false
Expand Down
2 changes: 2 additions & 0 deletions tests/edit_inputs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ function edit_mom_input {
-e "s/MOM6_REPRO_LA/$MOM6_REPRO_LA/g" \
-e "s/MOM6_USE_WAVES/$MOM6_USE_WAVES/g" \
-e "s/MOM6_ALLOW_LANDMASK_CHANGES/$MOM6_ALLOW_LANDMASK_CHANGES/g" \
-e "s/MOM_IAU_HRS/$MOM_IAU_HRS/g" \
-e "s/MOM_IAU/$MOM_IAU/g" \
-e "s/NX_GLB/$NX_GLB/g" \
-e "s/NY_GLB/$NY_GLB/g" \
-e "s/CHLCLIM/$CHLCLIM/g"
Expand Down
2 changes: 2 additions & 0 deletions tests/fv3_conf/cpld_datm_gefs.IN
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ if [[ $OCNRES == '025' ]]; then
else
cp @[INPUTDATA_ROOT]/MOM6_IC/@[OCNRES]/2011100100/MOM6_IC_TS*.nc ./INPUT/MOM6_IC_TS.nc
cp @[INPUTDATA_ROOT]/CICE_IC/@[OCNRES]/cice_model_@[ICERES].cpc*.nc cice_model.res.nc
# MOM6 increment file
cp @[INPUTDATA_ROOT]/MOM6_IC/@[OCNRES]/2011100100/mom6_increment.nc ./INPUT/mom6_increment.nc
fi
25 changes: 25 additions & 0 deletions tests/parm/MOM_input_template_100
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,31 @@ WRITE_GEOM = 2 ! default = 1
SAVE_INITIAL_CONDS = True ! [Boolean] default = False
! If true, write the initial conditions to a file given by IC_OUTPUT_FILE.

! === module MOM_oda_incupd ===
ODA_INCUPD = MOM_IAU ! [Boolean] default = False
! If true, oda incremental updates will be applied
! everywhere in the domain.
ODA_INCUPD_FILE = "mom6_increment.nc" ! The name of the file with the T,S,h increments.

ODA_TEMPINC_VAR = "pt_inc" ! default = "ptemp_inc"
! The name of the potential temperature inc. variable in
! ODA_INCUPD_FILE.
ODA_SALTINC_VAR = "s_inc" ! default = "sal_inc"
! The name of the salinity inc. variable in
! ODA_INCUPD_FILE.
ODA_THK_VAR = "h_fg" ! default = "h"
! The name of the int. depth inc. variable in
! ODA_INCUPD_FILE.

ODA_UINC_VAR = "u_inc" ! default = "u_inc"
! The name of the zonal vel. inc. variable in
! ODA_INCUPD_UV_FILE.
ODA_VINC_VAR = "v_inc" ! default = "v_inc"
! The name of the meridional vel. inc. variable in
! ODA_INCUPD_UV_FILE.
ODA_INCUPD_NHOURS = MOM_IAU_HRS ! default=3.0
! Number of hours for full update (0=direct insertion).

! === module MOM_domains ===
TRIPOLAR_N = True ! [Boolean] default = False
! Use tripolar connectivity at the northern edge of the domain. With
Expand Down
1 change: 1 addition & 0 deletions tests/parm/control.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ deflate_level=1
/

&nam_stochy
STOCHINI=@[STOCHINI],
SKEBNORM=1,
SKEB_NPASS=30,
SKEB_VDOF=5,
Expand Down
2 changes: 2 additions & 0 deletions tests/rt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ RUN | control_c192
RUN | control_c384 | - gaea.intel wcoss_cray | fv3 |
RUN | control_c384gdas | - gaea.intel wcoss_cray | fv3 |
RUN | control_stochy | | fv3 |
RUN | control_stochy_restart | | fv3 | control_stochy
RUN | control_ca | | fv3 |
RUN | control_lndp | | fv3 |
RUN | control_lheatstrg | | fv3 |
Expand Down Expand Up @@ -151,6 +152,7 @@ COMPILE | -DAPP=NG-GODAS-NEMSDATM
RUN | datm_control_cfsr | - wcoss_cray | fv3 |
RUN | datm_restart_cfsr | - wcoss_cray | | datm_control_cfsr
RUN | datm_control_gefs | - wcoss_cray | fv3 |
RUN | datm_control_iau_gefs | - wcoss_cray | fv3 |

RUN | datm_bulk_cfsr | - wcoss_cray | fv3 |
RUN | datm_bulk_gefs | - wcoss_cray | fv3 |
Expand Down
3 changes: 2 additions & 1 deletion tests/tests/control_stochy
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,12 @@ export IAER=5111
export DO_SPPT=.T.
export DO_SHUM=.T.
export DO_SKEB=.T.
export RESTART_INTERVAL=6
export SKEB=0.3
export SHUM=0.003
export SPPT=0.2


export FV3_RUN=control_run.IN
export FV3_RUN=control_stochy_run.IN
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to me the only difference between the control_run.IN and control_stochy_run.IN is that the stochy is using 6hr restart files while control is using 12, maybe in the future we can add a restart file time to the script and unify the two scripts so that we don't need to maintain two scripts.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that can be added so we don't have 2 scripts.

export CCPP_SUITE=FV3_GFS_v16
export INPUT_NML=control.nml.IN
47 changes: 47 additions & 0 deletions tests/tests/control_stochy_restart
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
###############################################################################
#
# Global control stochy restart test
#
###############################################################################

export TEST_DESCR="Compare global restart wth stochsatics results with previous trunk version"

export CNTL_DIR=control_stochy

export LIST_FILES="sfcf012.nc \
atmf012.nc \
GFSFLX.GrbF12 \
GFSPRS.GrbF12 "

export_fv3
export NPZ=127
export NPZP=128
export DT_ATMOS=600
export SYEAR=2021
export SMONTH=03
export SDAY=22
export SHOUR=06
export FHMAX=12
export OUTPUT_GRID='gaussian_grid'
export NSTF_NAME='2,0,0,0,0'
export WRITE_DOPOST=.true.
export IAER=5111
export FHROT=06

export WARM_START=.T.
export NGGPS_IC=.F.
export EXTERNAL_IC=.F.
export MAKE_NH=.F.
export MOUNTAIN=.T.
export NA_INIT=0
export DO_SPPT=.T.
export DO_SHUM=.T.
export DO_SKEB=.T.
export SKEB=0.3
export SHUM=0.003
export SPPT=0.2
export STOCHINI=.T.

export FV3_RUN=control_stochy_run.IN
export CCPP_SUITE=FV3_GFS_v16
export INPUT_NML=control.nml.IN
16 changes: 16 additions & 0 deletions tests/tests/datm_control_iau_gefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# DATM_MOM6_CICE_CMEPS_GEFS test
#

export TEST_DESCR="DATM-MOM6-CICE-CMEPS_GEFS - IAU"

export CNTL_DIR="datm_control_iau_gefs"

export LIST_FILES="RESTART/MOM.res.nc \
RESTART/iced.2011-10-02-00000.nc \
RESTART/DATM_GEFS.cpl.r.2011-10-02-00000.nc"

export_datm
export FV3_RUN=cpld_datm_gefs.IN
export eps_imesh='2.5e-1'
export MOM_IAU="True"