diff --git a/.gitmodules b/.gitmodules index 2d76a23c98..98634a69a5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,8 +16,8 @@ branch = develop [submodule "stochastic_physics"] path = stochastic_physics - url = https://github.com/noaa-gsl/stochastic_physics - branch = gsl/develop + url = https://github.com/NOAA-GSL/stochastic_physics + branch = gsl/develop-chem [submodule "gocart"] path = gocart-interface/gocart url = https://github.com/NOAA-GSL/GOCART diff --git a/FV3 b/FV3 index 42849b53e7..6bf1f0e38d 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit 42849b53e7307650a4991ab452eaa19f0bc5c162 +Subproject commit 6bf1f0e38dfcac33e540ebd050e255bb6b0a20d7 diff --git a/stochastic_physics b/stochastic_physics index 6985b5fb6f..3b39f4e2b5 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit 6985b5fb6f04cf3ba6bda20d883522fd5a1de55a +Subproject commit 3b39f4e2b596399bb7e7e952feedef556d16d71a diff --git a/tests/default_vars.sh b/tests/default_vars.sh index c51fee14f7..d9c31693d6 100755 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -468,6 +468,7 @@ export IAU_DRYMASSFIXER=.false. # Chemistry variables: export GSD_CHEM=.F. # must be .F. or .T. +export CA_SGS_EMIS=.F. export DO_SPPT_EMIS=.F. # Regional diff --git a/tests/parm/v16_c96_gsd_chem.nml.IN b/tests/parm/v16_c96_gsd_chem.nml.IN index 050521ca61..da814a5656 100644 --- a/tests/parm/v16_c96_gsd_chem.nml.IN +++ b/tests/parm/v16_c96_gsd_chem.nml.IN @@ -122,6 +122,29 @@ deflate_level=1 &gfs_physics_nml do_sppt = @[DO_SPPT] do_sppt_emis = @[DO_SPPT_EMIS] + +do_ca = @[DO_CA] ! Main flag to turn on and apply CA +ca_sgs_emis = @[CA_SGS_EMIS] ! Call cellular_automata_sgs_emis +ca_global = .False. ! Call cellular_automata_global +nca = 4 ! Number of CA’s to be run +ncells = 8 ! CA grid setting, e.g 5 = 5x5 times the resolution of the FV3 grid +nlives = 50 ! A “newborn” cell gets assigned nlives*condition/max(condition) +nseed = 1 ! Seed the CA with new cells every nseed timestep +nfracseed = 0.5 ! distribution of CA cells at initial time - 0.5 = half the grid will have value 1 +nthresh = 8 ! Convection specific setting +ca_trigger = .False. ! Apply CA on convective triggering +ca_entr = .False. ! Apply CA on convective entrainment +ca_closure = .False. ! Apply CA on convective closure +nca_g = 1 ! only applies if ca_global = true +ncells_g = 1 ! only applies if ca_global = true +nlives_g = 100 ! only applies if ca_global = true +nseed_g = 100 ! only applies if ca_global = true +ca_smooth = .True. ! only applies if ca_global = true +nspinup = 100 ! spin up of CA - I recommend spinning the CA up at least 100 iterations +iseed_ca = 12345 ! seed for random number generator for initial CA grid +nsmooth = 100 ! only applies if ca_global and ca_smooth = true +ca_amplitude = 0.35 ! only applies if ca_global = true + fhzero = 6 h2o_phys = .true. ldiag3d = .false. diff --git a/tests/rt_ccpp_dev.conf b/tests/rt_ccpp_dev.conf index a8d5ccd9c9..f0c82e0d88 100644 --- a/tests/rt_ccpp_dev.conf +++ b/tests/rt_ccpp_dev.conf @@ -1,6 +1,24 @@ ############################################################################################################################################################ # Note: this file has been used for testing additional physics on Hera and Cheyenne with both Intel and GNU # -# # +############################################################################################################################################################ + +############################################################################################################################################################ +# GSD-CHEM tests with gfs v16 # +############################################################################################################################################################ +COMPILE | APP=ATM SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP,FV3_GFS_v16_gsd_chem | | fv3 | +RUN | fv3_gfs_v16 | | fv3 | +RUN | fv3_gfs_v16_gsd_chem | | fv3 | +RUN | fv3_gfs_v16_sppt_emis | | fv3 | +RUN | fv3_gfs_v16_ca_emis | | fv3 | + +COMPILE | APP=ATM DEBUG=Y SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP,FV3_GFS_v16_gsd_chem | | fv3 | +RUN | fv3_gfs_v16_debug | | fv3 | +RUN | fv3_gfs_v16_gsd_chem_debug | | fv3 | +RUN | fv3_gfs_v16_sppt_emis_debug | | fv3 | +RUN | fv3_gfs_v16_ca_emis_debug | | fv3 | + + +############################################################################################################################################################ # CCPP REPRO tests # ############################################################################################################################################################ diff --git a/tests/tests/fv3_gfs_v16_ca_emis b/tests/tests/fv3_gfs_v16_ca_emis new file mode 100644 index 0000000000..60ff0371e0 --- /dev/null +++ b/tests/tests/fv3_gfs_v16_ca_emis @@ -0,0 +1,85 @@ +############################################################################### +# +# FV3 CCPP GFS v16 compiled with 32-bit dynamics test +# +############################################################################### + +export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry with previous version" + +export CNTL_DIR=fv3_gfs_v16_ca_emis + +export LIST_FILES="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/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 + +DT_ATMOS="1200" + +export FHMAX=24 +export RESTART_INTERVAL=0 +export GSD_CHEM=.T. +export CA_SGS_EMIS=.true. +export DO_CA=.true. +export NSTF_NAME=2,1,0,0,0 + +export FV3_RUN=gfs_v16_run.IN +export CCPP_SUITE=FV3_GFS_v16_gsd_chem +export INPUT_NML=v16_c96_gsd_chem.nml.IN +export IAER=1111 + +export WLCLK=30 diff --git a/tests/tests/fv3_gfs_v16_ca_emis_debug b/tests/tests/fv3_gfs_v16_ca_emis_debug new file mode 100644 index 0000000000..47f09cb386 --- /dev/null +++ b/tests/tests/fv3_gfs_v16_ca_emis_debug @@ -0,0 +1,85 @@ +############################################################################### +# +# FV3 CCPP GFS v16 compiled with 32-bit dynamics test +# +############################################################################### + +export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry with previous version" + +export CNTL_DIR=fv3_gfs_v16_ca_emis_debug + +export LIST_FILES="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/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 + +DT_ATMOS="1200" + +export FHMAX=24 +export RESTART_INTERVAL=0 +export GSD_CHEM=.T. +export CA_SGS_EMIS=.true. +export DO_CA=.true. +export NSTF_NAME=2,1,0,0,0 + +export FV3_RUN=gfs_v16_run.IN +export CCPP_SUITE=FV3_GFS_v16_gsd_chem +export INPUT_NML=v16_c96_gsd_chem.nml.IN +export IAER=1111 + +export WLCLK=30 diff --git a/tests/tests/fv3_gfs_v16_gsd_chem b/tests/tests/fv3_gfs_v16_gsd_chem index 701d043cef..c864ae97ee 100644 --- a/tests/tests/fv3_gfs_v16_gsd_chem +++ b/tests/tests/fv3_gfs_v16_gsd_chem @@ -8,13 +8,7 @@ export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry with previous v export CNTL_DIR=fv3_gfs_v16_gsd_chem -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 \ +export LIST_FILES="phyf000.tile1.nc \ phyf000.tile2.nc \ phyf000.tile3.nc \ phyf000.tile4.nc \ diff --git a/tests/tests/fv3_gfs_v16_gsd_chem_debug b/tests/tests/fv3_gfs_v16_gsd_chem_debug index 6bfc0ab550..99bca4eef2 100644 --- a/tests/tests/fv3_gfs_v16_gsd_chem_debug +++ b/tests/tests/fv3_gfs_v16_gsd_chem_debug @@ -8,13 +8,7 @@ export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry with previous v export CNTL_DIR=fv3_gfs_v16_gsd_chem_debug -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 \ +export LIST_FILES="phyf000.tile1.nc \ phyf000.tile2.nc \ phyf000.tile3.nc \ phyf000.tile4.nc \ diff --git a/tests/tests/fv3_gfs_v16_sppt_emis b/tests/tests/fv3_gfs_v16_sppt_emis index 4489f4a573..cbdf10763a 100644 --- a/tests/tests/fv3_gfs_v16_sppt_emis +++ b/tests/tests/fv3_gfs_v16_sppt_emis @@ -8,13 +8,7 @@ export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry and emissions p export CNTL_DIR=fv3_gfs_v16_sppt_emis -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 \ +export LIST_FILES="phyf000.tile1.nc \ phyf000.tile2.nc \ phyf000.tile3.nc \ phyf000.tile4.nc \ diff --git a/tests/tests/fv3_gfs_v16_sppt_emis_debug b/tests/tests/fv3_gfs_v16_sppt_emis_debug index a8bc9b961b..9648be2e2e 100644 --- a/tests/tests/fv3_gfs_v16_sppt_emis_debug +++ b/tests/tests/fv3_gfs_v16_sppt_emis_debug @@ -8,13 +8,7 @@ export TEST_DESCR="Compare FV3 32bit CCPP GFS v16 with chemistry and emissions p export CNTL_DIR=fv3_gfs_v16_sppt_emis_debug -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 \ +export LIST_FILES="phyf000.tile1.nc \ phyf000.tile2.nc \ phyf000.tile3.nc \ phyf000.tile4.nc \