From 72d48f347831f1af910e67a4a04db08482f38827 Mon Sep 17 00:00:00 2001 From: DomHeinzeller <58610420+DomHeinzeller@users.noreply.github.com> Date: Fri, 8 Jan 2021 19:54:33 -0700 Subject: [PATCH] Land stochastic perturbations (#57) * Add regression tests with stochastic land perturbations for suites FV3_GSD_v0 and FV3_GSD_noah Co-authored-by: Dom Heinzeller --- FV3 | 2 +- stochastic_physics | 2 +- tests/default_vars.sh | 1 + tests/parm/ccpp_gsd.nml.IN | 3 + tests/parm/ccpp_lndp.nml.IN | 1 + tests/rt_ccpp_dev.conf | 2 + tests/tests/fv3_ccpp_gsd_lndp | 100 +++++++++++++++++++++++++++++ tests/tests/fv3_ccpp_gsd_noah_lndp | 99 ++++++++++++++++++++++++++++ 8 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 tests/tests/fv3_ccpp_gsd_lndp create mode 100644 tests/tests/fv3_ccpp_gsd_noah_lndp diff --git a/FV3 b/FV3 index b1e98cf2b9..6ecee94d0c 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit b1e98cf2b91a593203637115b85882c0ba198aa4 +Subproject commit 6ecee94d0cdc82def576d56633a8a1ec93da39bd diff --git a/stochastic_physics b/stochastic_physics index e4913c062b..aeb543dbc4 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit e4913c062b520cf8d76d9c82f90636aee19cbddb +Subproject commit aeb543dbc4eadb3e140db8246dee96877b69576f diff --git a/tests/default_vars.sh b/tests/default_vars.sh index 19f4fc20de..4764fa1fdd 100755 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -322,6 +322,7 @@ export DO_SHUM=.F. export DO_SKEB=.F. export LNDP_TYPE=0 export N_VAR_LNDP=0 +export LNDP_EACH_STEP=.F. export SKEB=-999. export SPPT=-999. export SHUM=-999. diff --git a/tests/parm/ccpp_gsd.nml.IN b/tests/parm/ccpp_gsd.nml.IN index 67e880a656..f4a2713f07 100644 --- a/tests/parm/ccpp_gsd.nml.IN +++ b/tests/parm/ccpp_gsd.nml.IN @@ -174,6 +174,7 @@ do_skeb = @[DO_SKEB] lndp_type = @[LNDP_TYPE] n_var_lndp = @[N_VAR_LNDP] + lndp_each_step = @[LNDP_EACH_STEP] lsm = @[LSM] lsoil_lsm = @[LSOIL_LSM] kice = @[KICE] @@ -325,6 +326,8 @@ LNDP_TAU=21600, LNDP_LSCALE=500000, ISEED_LNDP=2010, + lndp_var_list = 'vgf','alb','sal' + lndp_prt_list = 0.02,0.01,0.01 / &cires_ugwp_nml diff --git a/tests/parm/ccpp_lndp.nml.IN b/tests/parm/ccpp_lndp.nml.IN index 428be0fc23..8b6c0e2881 100644 --- a/tests/parm/ccpp_lndp.nml.IN +++ b/tests/parm/ccpp_lndp.nml.IN @@ -194,6 +194,7 @@ do_skeb = @[DO_SKEB] lndp_type = @[LNDP_TYPE] n_var_lndp = @[N_VAR_LNDP] + lndp_each_step = @[LNDP_EACH_STEP] do_ca = .false. ca_sgs = .false. nca = 1 diff --git a/tests/rt_ccpp_dev.conf b/tests/rt_ccpp_dev.conf index 89c9eadb34..47633dc20c 100644 --- a/tests/rt_ccpp_dev.conf +++ b/tests/rt_ccpp_dev.conf @@ -9,7 +9,9 @@ RUN | fv3_ccpp_gf_thompson RUN | fv3_ccpp_gsd | standard | | fv3 | RUN | fv3_ccpp_gsd_coldstart | standard | | | RUN | fv3_ccpp_gsd_warmstart | standard | | | fv3_ccpp_gsd_coldstart +RUN | fv3_ccpp_gsd_lndp | standard | | fv3 | RUN | fv3_ccpp_gsd_noah | standard | | fv3 | +RUN | fv3_ccpp_gsd_noah_lndp | standard | | fv3 | COMPILE | CCPP=Y REPRO=Y SUITES=FV3_GSD_v0_mynnsfc,FV3_GSD_noah_mynnsfc | standard | | fv3 | diff --git a/tests/tests/fv3_ccpp_gsd_lndp b/tests/tests/fv3_ccpp_gsd_lndp new file mode 100644 index 0000000000..1f2ee29b9b --- /dev/null +++ b/tests/tests/fv3_ccpp_gsd_lndp @@ -0,0 +1,100 @@ +######################################################################################### +# +# FV3 CCPP GSD (GF CU + Thompson MP + MYNN PBL + RUC LSM) with land stochastic pert test +# +######################################################################################### + +export TEST_DESCR="Compare FV3 CCPP GSD lndp results with previous trunk version" + +export CNTL_DIR=fv3_gsd_lndp + +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.tile1.nc \ + phyf000.tile2.nc \ + phyf000.tile3.nc \ + phyf000.tile4.nc \ + phyf000.tile5.nc \ + phyf000.tile6.nc \ + phyf024.tile1.nc \ + phyf024.tile2.nc \ + phyf024.tile3.nc \ + phyf024.tile4.nc \ + phyf024.tile5.nc \ + phyf024.tile6.nc \ + dynf000.tile1.nc \ + dynf000.tile2.nc \ + dynf000.tile3.nc \ + dynf000.tile4.nc \ + dynf000.tile5.nc \ + dynf000.tile6.nc \ + dynf024.tile1.nc \ + dynf024.tile2.nc \ + dynf024.tile3.nc \ + dynf024.tile4.nc \ + dynf024.tile5.nc \ + dynf024.tile6.nc \ + 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 DT_ATMOS="600" +export IMP_PHYSICS=8 +export DNATS=0 +export DO_SAT_ADJ=.F. +export LRADAR=.T. +export LTAEROSOL=.T. + +export FV3_RUN=ccpp_gsd_run.IN +export CCPP_SUITE=FV3_GSD_v0 +export CCPP_LIB_DIR=ccpp/lib +export INPUT_NML=ccpp_gsd.nml.IN + +export HYBEDMF=.F. +export DO_MYNNEDMF=.T. +export IMFSHALCNV=3 +export IMFDEEPCNV=3 +export LSM=3 +export LSOIL_LSM=9 +export KICE=9 + +export LNDP_TYPE=2 +export N_VAR_LNDP=3 +export LNDP_EACH_STEP=.T. + +#export WLCLK=30 diff --git a/tests/tests/fv3_ccpp_gsd_noah_lndp b/tests/tests/fv3_ccpp_gsd_noah_lndp new file mode 100644 index 0000000000..deb060e09e --- /dev/null +++ b/tests/tests/fv3_ccpp_gsd_noah_lndp @@ -0,0 +1,99 @@ +########################################################################################## +# +# FV3 CCPP GSD (GF CU + Thompson MP + MYNN PBL + NOAH LSM) with land stochastic pert test +# +########################################################################################## + +export TEST_DESCR="Compare FV3 CCPP GSD lndp results with previous trunk version" + +export CNTL_DIR=fv3_gsd_noah_lndp + +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.tile1.nc \ + phyf000.tile2.nc \ + phyf000.tile3.nc \ + phyf000.tile4.nc \ + phyf000.tile5.nc \ + phyf000.tile6.nc \ + phyf024.tile1.nc \ + phyf024.tile2.nc \ + phyf024.tile3.nc \ + phyf024.tile4.nc \ + phyf024.tile5.nc \ + phyf024.tile6.nc \ + dynf000.tile1.nc \ + dynf000.tile2.nc \ + dynf000.tile3.nc \ + dynf000.tile4.nc \ + dynf000.tile5.nc \ + dynf000.tile6.nc \ + dynf024.tile1.nc \ + dynf024.tile2.nc \ + dynf024.tile3.nc \ + dynf024.tile4.nc \ + dynf024.tile5.nc \ + dynf024.tile6.nc \ + 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 DT_ATMOS="600" +export IMP_PHYSICS=8 +export DNATS=0 +export DO_SAT_ADJ=.F. +export LRADAR=.T. +export LTAEROSOL=.T. + +export FV3_RUN=ccpp_gsd_run.IN +export CCPP_SUITE=FV3_GSD_noah +export CCPP_LIB_DIR=ccpp/lib +export INPUT_NML=ccpp_gsd.nml.IN + +export HYBEDMF=.F. +export DO_MYNNEDMF=.T. +export IMFSHALCNV=3 +export IMFDEEPCNV=3 +export LSM=1 +export LSOIL_LSM=4 + +export LNDP_TYPE=2 +export N_VAR_LNDP=3 +export LNDP_EACH_STEP=.T. + +#export WLCLK=30