Skip to content

Commit

Permalink
Feature: NSSL Microphysics support (#1032)
Browse files Browse the repository at this point in the history
* add new RT that uses NSSL MP; add new NSSL vars to default_vars.sh and rap.nml.IN; add new field table for using NSSL MP with hail on
  • Loading branch information
grantfirl authored Mar 4, 2022
1 parent 34a5895 commit 38aa634
Show file tree
Hide file tree
Showing 18 changed files with 5,283 additions and 4,677 deletions.
320 changes: 160 additions & 160 deletions tests/RegressionTests_cheyenne.gnu.log

Large diffs are not rendered by default.

1,332 changes: 688 additions & 644 deletions tests/RegressionTests_cheyenne.intel.log

Large diffs are not rendered by default.

1,300 changes: 672 additions & 628 deletions tests/RegressionTests_gaea.intel.log

Large diffs are not rendered by default.

324 changes: 162 additions & 162 deletions tests/RegressionTests_hera.gnu.log

Large diffs are not rendered by default.

1,334 changes: 689 additions & 645 deletions tests/RegressionTests_hera.intel.log

Large diffs are not rendered by default.

1,263 changes: 646 additions & 617 deletions tests/RegressionTests_jet.intel.log

Large diffs are not rendered by default.

1,318 changes: 681 additions & 637 deletions tests/RegressionTests_orion.intel.log

Large diffs are not rendered by default.

896 changes: 470 additions & 426 deletions tests/RegressionTests_wcoss_cray.log

Large diffs are not rendered by default.

1,559 changes: 807 additions & 752 deletions tests/RegressionTests_wcoss_dell_p3.log

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,13 @@ export LTAEROSOL=.true.
export EXT_DIAG_THOMPSON=.false.
export sedi_semi=.false.
export decfl=8
# NSSL MP
export NSSL_CCCN=0.6e9
export NSSL_ALPHAH=0.0
export NSSL_ALPHAHL=1.0
export NSSL_HAIL_ON=.false.
export NSSL_CCN_ON=.true.
export NSSL_INVERTCCN=.true.

# GWD
export LDIAG_UGWP=.false.
Expand Down
71 changes: 71 additions & 0 deletions tests/parm/field_table/field_table_nssl_nohailnoccn_tke
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# added by FRE: sphum must be present in atmos
# specific humidity for moist runs
"TRACER", "atmos_mod", "sphum"
"longname", "specific humidity"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=3.e-6" /
# prognostic cloud water mixing ratio
"TRACER", "atmos_mod", "liq_wat"
"longname", "cloud water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic ice water mixing ratio
"TRACER", "atmos_mod", "ice_wat"
"longname", "cloud ice mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic rain water mixing ratio
"TRACER", "atmos_mod", "rainwat"
"longname", "rain water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic snow water mixing ratio
"TRACER", "atmos_mod", "snowwat"
"longname", "snow water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic Grau water mixing ratio
"TRACER", "atmos_mod", "graupel"
"longname", "graupel mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic cloud water number concentration
"TRACER", "atmos_mod", "water_nc"
"longname", "cloud liquid water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic cloud ice number concentration
"TRACER", "atmos_mod", "ice_nc"
"longname", "cloud ice water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic rain number concentration
"TRACER", "atmos_mod", "rain_nc"
"longname", "rain number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic snow number concentration
"TRACER", "atmos_mod", "snow_nc"
"longname", "snow number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic graupel number concentration
"TRACER", "atmos_mod", "graupel_nc"
"longname", "graupel number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic graupel volume
"TRACER", "atmos_mod", "graupel_vol"
"longname", "graupel volume"
"units", "m3/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic ozone mixing ratio tracer
"TRACER", "atmos_mod", "o3mr"
"longname", "ozone mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic subgrid scale turbulent kinetic energy
"TRACER", "atmos_mod", "sgs_tke"
"longname", "subgrid scale turbulent kinetic energy"
"units", "m2/s2"
"profile_type", "fixed", "surface_value=0.0" /
91 changes: 91 additions & 0 deletions tests/parm/field_table/field_table_nssl_tke
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# added by FRE: sphum must be present in atmos
# specific humidity for moist runs
"TRACER", "atmos_mod", "sphum"
"longname", "specific humidity"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=3.e-6" /
# prognostic cloud water mixing ratio
"TRACER", "atmos_mod", "liq_wat"
"longname", "cloud water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic ice water mixing ratio
"TRACER", "atmos_mod", "ice_wat"
"longname", "cloud ice mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic rain water mixing ratio
"TRACER", "atmos_mod", "rainwat"
"longname", "rain water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic snow water mixing ratio
"TRACER", "atmos_mod", "snowwat"
"longname", "snow water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic Grau water mixing ratio
"TRACER", "atmos_mod", "graupel"
"longname", "graupel mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic hail water mixing ratio
"TRACER", "atmos_mod", "hailwat"
"longname", "hail mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic cloud water number concentration
"TRACER", "atmos_mod", "water_nc"
"longname", "cloud liquid water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic cloud ice number concentration
"TRACER", "atmos_mod", "ice_nc"
"longname", "cloud ice water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic rain number concentration
"TRACER", "atmos_mod", "rain_nc"
"longname", "rain number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic snow number concentration
"TRACER", "atmos_mod", "snow_nc"
"longname", "snow number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic graupel number concentration
"TRACER", "atmos_mod", "graupel_nc"
"longname", "graupel number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic hail number concentration
"TRACER", "atmos_mod", "hail_nc"
"longname", "hail number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic graupel volume
"TRACER", "atmos_mod", "graupel_vol"
"longname", "graupel volume"
"units", "m3/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic hail volume
"TRACER", "atmos_mod", "hail_vol"
"longname", "hail volume"
"units", "m3/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic CCN number concentration
"TRACER", "atmos_mod", "ccn_nc"
"longname", "CCN number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic ozone mixing ratio tracer
"TRACER", "atmos_mod", "o3mr"
"longname", "ozone mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic subgrid scale turbulent kinetic energy
"TRACER", "atmos_mod", "sgs_tke"
"longname", "subgrid scale turbulent kinetic energy"
"units", "m2/s2"
"profile_type", "fixed", "surface_value=0.0" /
9 changes: 7 additions & 2 deletions tests/parm/rap.nml.IN
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ deflate_level=1
p_fac = 0.1
k_split = 2
n_split = 6
nwat = 6
nwat = @[NWAT]
na_init = @[NA_INIT]
d_ext = 0.
dnats = @[DNATS]
Expand Down Expand Up @@ -118,6 +118,12 @@ deflate_level=1
imp_physics = @[IMP_PHYSICS]
ltaerosol = @[LTAEROSOL]
lradar = @[LRADAR]
nssl_cccn = @[NSSL_CCCN]
nssl_alphah = @[NSSL_ALPHAH]
nssl_alphahl = @[NSSL_ALPHAHL]
nssl_hail_on = @[NSSL_HAIL_ON]
nssl_ccn_on = @[NSSL_CCN_ON]
nssl_invertccn = @[NSSL_INVERTCCN]
dt_inner = 60
ttendlim = -999
pdfcld = .false.
Expand Down Expand Up @@ -377,4 +383,3 @@ deflate_level=1
knob_ugwp_version = 0
launch_level = 54
/

6 changes: 4 additions & 2 deletions tests/rt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ RUN | regional_hafs
RUN | regional_netcdf_parallel | - wcoss2 | fv3 |
RUN | regional_RRTMGP | | fv3 |

COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_RAP,FV3_RAP_sfcdiff,FV3_HRRR,FV3_RRFS_v1beta -D32BIT=ON | | fv3 |
COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_RAP,FV3_RAP_sfcdiff,FV3_HRRR,FV3_RRFS_v1beta,FV3_RRFS_v1nssl -D32BIT=ON | | fv3 |

RUN | rap_control | | fv3 |
RUN | regional_spp_sppt_shum_skeb | | fv3 |
# This test is not giving the same results (also not in REPRO mode) - needs to be fixed
Expand All @@ -79,6 +80,8 @@ RUN | rap_sfcdiff
RUN | rap_sfcdiff_restart | | | rap_sfcdiff
RUN | hrrr_control | | fv3 |
RUN | rrfs_v1beta | | fv3 |
RUN | rrfs_v1nssl | | fv3 |
RUN | rrfs_v1nssl_nohailnoccn | | fv3 |

RUN | rrfs_conus13km_hrrr_warm | | fv3 |
RUN | rrfs_conus13km_radar_tten_warm | | fv3 |
Expand Down Expand Up @@ -201,4 +204,3 @@ RUN | control_c384gdas_wav

COMPILE | -DAPP=ATMAERO -DCCPP_SUITES=FV3_GFS_v16 | + hera.intel | fv3 |
RUN | control_atm_aerosols | + hera.intel | fv3 |

2 changes: 1 addition & 1 deletion tests/rt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ if [[ $TESTS_FILE =~ '35d' ]] || [[ $TESTS_FILE =~ 'weekly' ]]; then
TEST_35D=true
fi

BL_DATE=20220224
BL_DATE=20220228
if [[ $MACHINE_ID = hera.* ]] || [[ $MACHINE_ID = orion.* ]] || [[ $MACHINE_ID = cheyenne.* ]] || [[ $MACHINE_ID = gaea.* ]] || [[ $MACHINE_ID = jet.* ]] || [[ $MACHINE_ID = s4.* ]]; then
RTPWD=${RTPWD:-$DISKNM/NEMSfv3gfs/develop-${BL_DATE}/${RT_COMPILER^^}}
else
Expand Down
63 changes: 63 additions & 0 deletions tests/tests/rrfs_v1nssl
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
#
# RRFS v1 NSSL test atmosphere only at C96L127
#
###############################################################################

export TEST_DESCR="Compare RRFS_v1nssl results with previous trunk version"

export CNTL_DIR=rrfs_v1nssl

export LIST_FILES="sfcf000.nc \
sfcf021.nc \
sfcf024.nc \
atmf000.nc \
atmf021.nc \
atmf024.nc \
GFSFLX.GrbF00 \
GFSFLX.GrbF21 \
GFSFLX.GrbF24 \
GFSPRS.GrbF00 \
GFSPRS.GrbF21 \
GFSPRS.GrbF24"

export_fv3
export NPZ=127
export NPZP=128
export DT_ATMOS=300
export SYEAR=2021
export SMONTH=03
export SDAY=22
export SHOUR=06
export RESTART_INTERVAL="12 -1"
export OUTPUT_GRID='gaussian_grid'
export NSTF_NAME='2,0,0,0,0'
export WRITE_DOPOST=.true.
export IAER=5111
export OUTPUT_FH='0 21 24'

export FV3_RUN=control_run.IN
export CCPP_SUITE=FV3_RRFS_v1nssl
export INPUT_NML=rap.nml.IN
export FIELD_TABLE=field_table_nssl_tke
export NEW_DIAGTABLE=diag_table_rap_noah

export IMP_PHYSICS=17
export DNATS=0
export NWAT=7
export NSSL_CCN_ON=.true.
export NSSL_HAIL_ON=.true.
export NSSL_INVERTCCN=.true.
export DO_SAT_ADJ=.false.
export LTAEROSOL=.false.
export IALB=2
export IEMS=2
export HYBEDMF=.false.
export DO_MYNNEDMF=.true.
export DO_MYNNSFCLAY=.true.
export DO_DEEP=.false.
export SHAL_CNV=.false.
export IMFSHALCNV=-1
export IMFDEEPCNV=-1
export LSM=2
export LSOIL_LSM=4
63 changes: 63 additions & 0 deletions tests/tests/rrfs_v1nssl_nohailnoccn
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
#
# RRFS v1 NSSL no hail no ccn test atmosphere only at C96L127
#
###############################################################################

export TEST_DESCR="Compare RRFS_v1nssl_nohailnoccn results with previous trunk version"

export CNTL_DIR=rrfs_v1nssl_nohailnoccn

export LIST_FILES="sfcf000.nc \
sfcf021.nc \
sfcf024.nc \
atmf000.nc \
atmf021.nc \
atmf024.nc \
GFSFLX.GrbF00 \
GFSFLX.GrbF21 \
GFSFLX.GrbF24 \
GFSPRS.GrbF00 \
GFSPRS.GrbF21 \
GFSPRS.GrbF24"

export_fv3
export NPZ=127
export NPZP=128
export DT_ATMOS=300
export SYEAR=2021
export SMONTH=03
export SDAY=22
export SHOUR=06
export RESTART_INTERVAL="12 -1"
export OUTPUT_GRID='gaussian_grid'
export NSTF_NAME='2,0,0,0,0'
export WRITE_DOPOST=.true.
export IAER=5111
export OUTPUT_FH='0 21 24'

export FV3_RUN=control_run.IN
export CCPP_SUITE=FV3_RRFS_v1nssl
export INPUT_NML=rap.nml.IN
export FIELD_TABLE=field_table_nssl_nohailnoccn_tke
export NEW_DIAGTABLE=diag_table_rap_noah

export IMP_PHYSICS=17
export DNATS=0
export NWAT=6
export NSSL_CCN_ON=.false.
export NSSL_HAIL_ON=.false.
export NSSL_INVERTCCN=.true.
export DO_SAT_ADJ=.false.
export LTAEROSOL=.false.
export IALB=2
export IEMS=2
export HYBEDMF=.false.
export DO_MYNNEDMF=.true.
export DO_MYNNSFCLAY=.true.
export DO_DEEP=.false.
export SHAL_CNV=.false.
export IMFSHALCNV=-1
export IMFDEEPCNV=-1
export LSM=2
export LSOIL_LSM=4

0 comments on commit 38aa634

Please sign in to comment.