Skip to content

Commit

Permalink
Merge pull request ufs-community#3 from climbfuji/add_sas_and_satmedm…
Browse files Browse the repository at this point in the history
…f_regression_tests

Add regression tests for sas deep/shallow convection and satmedmfvdifq (updated version of satmedmfvdif)
  • Loading branch information
climbfuji authored Nov 20, 2019
2 parents f7d4530 + 8d276ba commit bd76a74
Show file tree
Hide file tree
Showing 14 changed files with 311 additions and 18 deletions.
2 changes: 1 addition & 1 deletion FV3
Submodule FV3 updated 37 files
+17 −14 ccpp/CMakeLists.txt
+1 −1 ccpp/build_ccpp.sh
+5 −0 ccpp/config/ccpp_prebuild_config.py
+1 −1 ccpp/framework
+1 −1 ccpp/physics
+1 −1 ccpp/suites/suite_FV3_CPT_v0.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_csawmg.xml
+1 −0 ccpp/suites/suite_FV3_GFS_2017_csawmgshoc.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
+1 −0 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_myj.xml
+1 −0 ccpp/suites/suite_FV3_GFS_2017_ntiedtke.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml
+93 −0 ccpp/suites/suite_FV3_GFS_2017_sas.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml
+89 −0 ccpp/suites/suite_FV3_GFS_2017_satmedmfq.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_shinhong.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_stretched.xml
+1 −1 ccpp/suites/suite_FV3_GFS_2017_ysu.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15.xml
+1 −0 ccpp/suites/suite_FV3_GFS_v15_gf.xml
+1 −0 ccpp/suites/suite_FV3_GFS_v15_gf_thompson.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15_mynn.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15_thompson.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
+1 −1 ccpp/suites/suite_FV3_GFS_v15plus.xml
+1 −0 ccpp/suites/suite_FV3_GSD_noah.xml
+1 −0 ccpp/suites/suite_FV3_GSD_v0.xml
+2 −2 ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
+11 −6 gfsphysics/GFS_layer/GFS_physics_driver.F90
+60 −20 gfsphysics/GFS_layer/GFS_typedefs.F90
+90 −18 gfsphysics/GFS_layer/GFS_typedefs.meta
+4 −4 makefile
3 changes: 3 additions & 0 deletions compsets/fv3.input
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,10 @@ fv3_defaults = {
MAKE_NH='.T.'
MOUNTAIN='.F.'
SATMEDMF='.F.'
ISATMEDMF='0'
HYBEDMF='.T.'
IMFSHALCNV='2'
IMFDEEPCNV='2'
LHEATSTRG='.F.'
LGFDLMPRAD='.F.'
EFFR_IN='.F.'
Expand Down
2 changes: 1 addition & 1 deletion conf/configure.fv3.macosx.gnu
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ CPPDEFS += -DMULTI_GASES
endif

FFLAGS_OPT = -O2 -g -fno-range-check
FFLAGS_REPRO = -O2 -g -fbacktrace -fno-range-check
FFLAGS_REPRO = -O0 -g -fbacktrace -fno-range-check
FFLAGS_DEBUG = -g -O0 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -Wuninitialized -ffpe-trap=invalid,zero,overflow -fbounds-check -fbacktrace -fno-range-check

TRANSCENDENTALS :=
Expand Down
2 changes: 1 addition & 1 deletion parm/ccpp_control.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@
cnvcld = .true.
imfshalcnv = 2
imfdeepcnv = 2
isatmedmf = 0
isatmedmf = @[ISATMEDMF]
cdmbgwd = 3.5,0.25
prslrd0 = 0.
ivegsrc = 1
Expand Down
4 changes: 2 additions & 2 deletions parm/gfdlmp.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@
random_clds = .false.
trans_trac = .false.
cnvcld = .true.
imfshalcnv = 2
imfdeepcnv = 2
imfshalcnv = @[IMFSHALCNV]
imfdeepcnv = @[IMFDEEPCNV]
cdmbgwd = 3.5,0.25
prslrd0 = 0.
ivegsrc = 1
Expand Down
2 changes: 1 addition & 1 deletion parm/input.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@
cnvcld = .true.
imfshalcnv = 2
imfdeepcnv = 2
isatmedmf = 0
isatmedmf = @[ISATMEDMF]
cdmbgwd = 3.5,0.25
prslrd0 = 0.
ivegsrc = 1
Expand Down
2 changes: 1 addition & 1 deletion stochastic_physics
6 changes: 6 additions & 0 deletions tests/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@ cd "$PATHTR/../NEMS"
COMPONENTS="FMS,FV3"
if [[ "${MAKE_OPT}" == *"CCPP=Y"* ]]; then
COMPONENTS="CCPP,$COMPONENTS"
# FIXME - create CCPP include directory before building FMS to avoid
# gfortran warnings of non-existent include directory (adding
# -Wno-missing-include-dirs) to the GNU compiler flags does not work,
# see also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55534);
# this line can be removed once FMS becomes a pre-installed library
mkdir -p $PATHTR/ccpp/include
fi

if [[ "${MAKE_OPT}" == *"WW3=Y"* ]]; then
Expand Down
1 change: 1 addition & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ export GWD_OPT=1

# PBL
export SATMEDMF=.F.
export ISATMEDMF=0
export HYBEDMF=.T.
export SHINHONG=.F.
export DO_YSU=.F.
Expand Down
28 changes: 17 additions & 11 deletions tests/rt_ccpp_dtc.conf
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ RUN | fv3_gfdlmprad_gwd
RUN | fv3_gfdlmprad_noahmp | standard | | fv3 |
RUN | fv3_stochy | standard | | fv3 |
RUN | fv3_satmedmf | standard | | fv3 |
RUN | fv3_satmedmfq | standard | | fv3 |
RUN | fv3_lheatstrg | standard | | fv3 |
RUN | fv3_h2ophys | standard | | fv3 |
# Note: any suite that uses csawmg crashes with GNU and PGI (--> there must be something wrong with it)
Expand All @@ -44,6 +45,7 @@ COMPILE | REPRO=Y 32BIT=Y
# Run standard tests, 32-bit dynamics
RUN | fv3_control_32bit | standard | | fv3 |
RUN | fv3_gfdlmp_32bit | standard | | fv3 |
RUN | fv3_sas | standard | | fv3 |
RUN | fv3_stretched | standard | | fv3 |
RUN | fv3_stretched_nest | standard | gaea.intel | fv3 |
RUN | fv3_stretched_nest | standard | hera.intel | fv3 |
Expand Down Expand Up @@ -75,19 +77,20 @@ RUN | fv3_cpt
# CCPP static: CCPP, static option, repro mode #
##############################################################################################################################################################
# control-based tests
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | hera.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | cheyenne.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | cheyenne.gnu | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | stampede.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf | standard | jet.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | hera.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | cheyenne.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | cheyenne.gnu | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | stampede.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | standard | jet.intel | |
# Run tests with static CCPP add-on
RUN | fv3_ccpp_control | standard | | |
RUN | fv3_ccpp_decomp | standard | | |
RUN | fv3_ccpp_2threads | standard | | |
RUN | fv3_ccpp_stochy | standard | | |
RUN | fv3_ccpp_lheatstrg | standard | | |
RUN | fv3_ccpp_satmedmf | standard | | |
RUN | fv3_ccpp_satmedmfq | standard | | |
# gfdlmp-based tests
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp | standard | hera.intel | |
Expand All @@ -111,14 +114,15 @@ RUN | fv3_ccpp_gfdlmprad_noahmp
#RUN | fv3_ccpp_csawmgshoc | standard | cheyenne.intel | |
#RUN | fv3_ccpp_csawmgshoc | standard | jet.intel | |
# control- and gfdlmp-based tests, 32-bit dynamics
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp 32BIT=Y | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp 32BIT=Y | standard | hera.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp 32BIT=Y | standard | cheyenne.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp 32BIT=Y | standard | cheyenne.gnu | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp 32BIT=Y | standard | jet.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp,FV3_GFS_2017_sas 32BIT=Y | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp,FV3_GFS_2017_sas 32BIT=Y | standard | hera.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp,FV3_GFS_2017_sas 32BIT=Y | standard | cheyenne.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp,FV3_GFS_2017_sas 32BIT=Y | standard | cheyenne.gnu | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp,FV3_GFS_2017_sas 32BIT=Y | standard | jet.intel | |
# Run tests with static CCPP add-on, 32-bit dynamics
RUN | fv3_ccpp_control_32bit | standard | | |
RUN | fv3_ccpp_gfdlmp_32bit | standard | | |
RUN | fv3_ccpp_sas | standard | | |
# stretched- and stretched-nest based tests, 32-bit dynamics
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017_stretched 32BIT=Y | standard | gaea.intel | |
COMPILE | CCPP=Y REPRO=Y STATIC=Y SUITES=FV3_GFS_2017_stretched 32BIT=Y | standard | hera.intel | |
Expand Down Expand Up @@ -191,6 +195,7 @@ RUN | fv3_ccpp_gfdlmprad_gwd
RUN | fv3_ccpp_gfdlmprad_noahmp | standard | | |
RUN | fv3_ccpp_stochy | standard | | |
RUN | fv3_ccpp_satmedmf | standard | | |
RUN | fv3_ccpp_satmedmfq | standard | | |
RUN | fv3_ccpp_lheatstrg | standard | | |
RUN | fv3_ccpp_h2ophys | standard | | |
## Note: any suite that uses csawmg crashes with GNU and PGI (--> there must be something wrong with it)
Expand All @@ -207,6 +212,7 @@ COMPILE | CCPP=Y REPRO=Y 32BIT=Y
# Run tests with CCPP add-on, 32-bit dynamics
RUN | fv3_ccpp_control_32bit | standard | | |
RUN | fv3_ccpp_gfdlmp_32bit | standard | | |
RUN | fv3_ccpp_sas | standard | | |
RUN | fv3_ccpp_stretched | standard | | |
RUN | fv3_ccpp_stretched_nest | standard | gaea.intel | |
RUN | fv3_ccpp_stretched_nest | standard | hera.intel | |
Expand Down
71 changes: 71 additions & 0 deletions tests/tests/fv3_ccpp_sas
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
###############################################################################
#
# FV3 CCPP SAS test
#
###############################################################################

export TEST_DESCR="Compare FV3 CCPP SAS results with previous trunk version"

export CNTL_DIR=fv3_sas

export LIST_FILES="atmos_4xdaily.tile1.nc \
atmos_4xdaily.tile2.nc \
atmos_4xdaily.tile3.nc \
atmos_4xdaily.tile4.nc \
atmos_4xdaily.tile5.nc \
atmos_4xdaily.tile6.nc \
phyf000.nemsio \
phyf024.nemsio \
dynf000.nemsio \
dynf024.nemsio \
RESTART/coupler.res \
RESTART/fv_core.res.nc \
RESTART/fv_core.res.tile1.nc \
RESTART/fv_core.res.tile2.nc \
RESTART/fv_core.res.tile3.nc \
RESTART/fv_core.res.tile4.nc \
RESTART/fv_core.res.tile5.nc \
RESTART/fv_core.res.tile6.nc \
RESTART/fv_srf_wnd.res.tile1.nc \
RESTART/fv_srf_wnd.res.tile2.nc \
RESTART/fv_srf_wnd.res.tile3.nc \
RESTART/fv_srf_wnd.res.tile4.nc \
RESTART/fv_srf_wnd.res.tile5.nc \
RESTART/fv_srf_wnd.res.tile6.nc \
RESTART/fv_tracer.res.tile1.nc \
RESTART/fv_tracer.res.tile2.nc \
RESTART/fv_tracer.res.tile3.nc \
RESTART/fv_tracer.res.tile4.nc \
RESTART/fv_tracer.res.tile5.nc \
RESTART/fv_tracer.res.tile6.nc \
RESTART/sfc_data.tile1.nc \
RESTART/sfc_data.tile2.nc \
RESTART/sfc_data.tile3.nc \
RESTART/sfc_data.tile4.nc \
RESTART/sfc_data.tile5.nc \
RESTART/sfc_data.tile6.nc \
RESTART/phy_data.tile1.nc \
RESTART/phy_data.tile2.nc \
RESTART/phy_data.tile3.nc \
RESTART/phy_data.tile4.nc \
RESTART/phy_data.tile5.nc \
RESTART/phy_data.tile6.nc"


export_fv3
export NODES=$(expr $TASKS / $TPN + 1)

DT_ATMOS="1200"
export IMFSHALCNV=1
export IMFDEEPCNV=1
export OUTPUT_GRID="'gaussian_grid'"
export OUTPUT_FILE="'nemsio'"
export WRITE_NEMSIOFLIP=.true.
export WRITE_FSYNCFLAG=.true.

export FV3_RUN=ccpp_gfdlmp_run.IN
export CCPP_SUITE=FV3_GFS_2017_sas
export CCPP_LIB_DIR=ccpp/lib
export INPUT_NML=ccpp_gfdlmp.nml.IN

RUN_SCRIPT=rt_fv3.sh
70 changes: 70 additions & 0 deletions tests/tests/fv3_ccpp_satmedmfq
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
###############################################################################
#
# FV3 CCPP satmedmfq test
#
###############################################################################

export TEST_DESCR="Compare FV3 CCPP control with satmedmfq on Gaussian grid nemsio output results with previous trunk version"

export CNTL_DIR=fv3_satmedmfq

export LIST_FILES="atmos_4xdaily.tile1.nc \
atmos_4xdaily.tile2.nc \
atmos_4xdaily.tile3.nc \
atmos_4xdaily.tile4.nc \
atmos_4xdaily.tile5.nc \
atmos_4xdaily.tile6.nc \
phyf000.nemsio \
phyf024.nemsio \
dynf000.nemsio \
dynf024.nemsio \
RESTART/coupler.res \
RESTART/fv_core.res.nc \
RESTART/fv_core.res.tile1.nc \
RESTART/fv_core.res.tile2.nc \
RESTART/fv_core.res.tile3.nc \
RESTART/fv_core.res.tile4.nc \
RESTART/fv_core.res.tile5.nc \
RESTART/fv_core.res.tile6.nc \
RESTART/fv_srf_wnd.res.tile1.nc \
RESTART/fv_srf_wnd.res.tile2.nc \
RESTART/fv_srf_wnd.res.tile3.nc \
RESTART/fv_srf_wnd.res.tile4.nc \
RESTART/fv_srf_wnd.res.tile5.nc \
RESTART/fv_srf_wnd.res.tile6.nc \
RESTART/fv_tracer.res.tile1.nc \
RESTART/fv_tracer.res.tile2.nc \
RESTART/fv_tracer.res.tile3.nc \
RESTART/fv_tracer.res.tile4.nc \
RESTART/fv_tracer.res.tile5.nc \
RESTART/fv_tracer.res.tile6.nc \
RESTART/phy_data.tile1.nc \
RESTART/phy_data.tile2.nc \
RESTART/phy_data.tile3.nc \
RESTART/phy_data.tile4.nc \
RESTART/phy_data.tile5.nc \
RESTART/phy_data.tile6.nc \
RESTART/sfc_data.tile1.nc \
RESTART/sfc_data.tile2.nc \
RESTART/sfc_data.tile3.nc \
RESTART/sfc_data.tile4.nc \
RESTART/sfc_data.tile5.nc \
RESTART/sfc_data.tile6.nc"


export_fv3
export NODES=$(expr $TASKS / $TPN + 1)

export SATMEDMF=.T.
export ISATMEDMF=1
export HYBEDMF=.F.
export OUTPUT_GRID="'gaussian_grid'"
export OUTPUT_FILE="'nemsio'"
export WRITE_NEMSIOFLIP=.true.
export WRITE_FSYNCFLAG=.true.
export FV3_RUN=ccpp_satmedmf_run.IN
export CCPP_SUITE=FV3_GFS_2017_satmedmfq
export CCPP_LIB_DIR=ccpp/lib
export INPUT_NML=ccpp_control.nml.IN

RUN_SCRIPT=rt_fv3.sh
Loading

0 comments on commit bd76a74

Please sign in to comment.