Skip to content

Commit

Permalink
Cellular automata perturbations of emissions (NOAA-EMC#85)
Browse files Browse the repository at this point in the history
This adds cellular automata perturbations of emissions. It points to a new gsl/develop-chem branch of stochastic_physics.
  • Loading branch information
SamuelTrahanNOAA committed Jun 11, 2021
1 parent 43ff567 commit 99b900f
Show file tree
Hide file tree
Showing 12 changed files with 221 additions and 33 deletions.
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion stochastic_physics
1 change: 1 addition & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
23 changes: 23 additions & 0 deletions tests/parm/v16_c96_gsd_chem.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
20 changes: 19 additions & 1 deletion tests/rt_ccpp_dev.conf
Original file line number Diff line number Diff line change
@@ -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 #
############################################################################################################################################################

Expand Down
85 changes: 85 additions & 0 deletions tests/tests/fv3_gfs_v16_ca_emis
Original file line number Diff line number Diff line change
@@ -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
85 changes: 85 additions & 0 deletions tests/tests/fv3_gfs_v16_ca_emis_debug
Original file line number Diff line number Diff line change
@@ -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
8 changes: 1 addition & 7 deletions tests/tests/fv3_gfs_v16_gsd_chem
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
8 changes: 1 addition & 7 deletions tests/tests/fv3_gfs_v16_gsd_chem_debug
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
8 changes: 1 addition & 7 deletions tests/tests/fv3_gfs_v16_sppt_emis
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
8 changes: 1 addition & 7 deletions tests/tests/fv3_gfs_v16_sppt_emis_debug
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down

0 comments on commit 99b900f

Please sign in to comment.