Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable customizable idealized, doubly-periodic tests #2559

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "FV3"]
path = FV3
url = https://github.com/NOAA-EMC/fv3atm
branch = develop
url = https://github.com/LarissaReames-NOAA/fv3atm
branch = ideal-periodic
[submodule "WW3"]
path = WW3
url = https://github.com/NOAA-EMC/WW3
Expand Down
48 changes: 48 additions & 0 deletions tests/fv3_conf/ideal_run.IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
rm -rf INPUT RESTART
mkdir INPUT RESTART

rsync -arv @[INPUTDATA_ROOT]/FV3_regional/INPUT/. INPUT/.

cp @[INPUTDATA_ROOT]/FV3_fix/CCN_ACTIVATE.BIN .

cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m01.nc aeroclim.m01.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m02.nc aeroclim.m02.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m03.nc aeroclim.m03.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m04.nc aeroclim.m04.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m05.nc aeroclim.m05.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m06.nc aeroclim.m06.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m07.nc aeroclim.m07.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m08.nc aeroclim.m08.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m09.nc aeroclim.m09.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m10.nc aeroclim.m10.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m12.nc aeroclim.m11.nc
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2/merra2.aerclim.2003-2014.m12.nc aeroclim.m12.nc

cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_BC.v1_3.dat optics_BC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_DU.v15_3.dat optics_DU.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_OC.v1_3.dat optics_OC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SS.v3_3.dat optics_SS.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SU.v1_3.dat optics_SU.dat

cp ${PATHRT}/parm/ideal_supercell.snd.IN input_sounding

if [ $WARM_START = .true. ]; then
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.coupler.res INPUT/coupler.res
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.fv_core.res.nc INPUT/fv_core.res.nc
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.fv_core.res.tile1.nc INPUT/fv_core.res.tile1.nc
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.fv_srf_wnd.res.tile1.nc INPUT/fv_srf_wnd.res.tile1.nc
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.fv_tracer.res.tile1.nc INPUT/fv_tracer.res.tile1.nc
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.phy_data.nc INPUT/phy_data.nc
cp ../${DEP_RUN}${RT_SUFFIX}/RESTART/20220824.030000.sfc_data.nc INPUT/sfc_data.nc
fi
if [ $WRITE_RESTART_WITH_BCS = .true. ]; then
cp @[INPUTDATA_ROOT]/FV3_regional/RESTART/fv_core.res.tile1_new.nc RESTART/fv_core.res.tile1_new.nc
cp @[INPUTDATA_ROOT]/FV3_regional/RESTART/fv_tracer.res.tile1_new.nc RESTART/fv_tracer.res.tile1_new.nc
fi

if [[ $POSTAPP = 'lam' ]]; then
cp ${PATHRT}/parm/post_itag_fv3lam itag
cp ${PATHRT}/parm/postxconfig-NT-fv3lam.txt postxconfig-NT.txt
cp ${PATHRT}/parm/postxconfig-NT-fv3lam.txt postxconfig-NT_FH00.txt
cp ${PATHRT}/parm/params_grib2_tbl_new params_grib2_tbl_new
fi
449 changes: 15 additions & 434 deletions tests/logs/RegressionTests_hera.log

Large diffs are not rendered by default.

345 changes: 345 additions & 0 deletions tests/parm/diag_table/diag_table_ideal

Large diffs are not rendered by default.

283 changes: 283 additions & 0 deletions tests/parm/ideal_supercell.nml.IN
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
&atmos_model_nml
avg_max_length = 3600.0
blocksize = 32
ccpp_suite = 'FV3_ideal_mp_nssl'
chksum_debug = .false.
dycore_only = .false.
/

&cires_ugwp_nml
knob_ugwp_azdir = 2, 4, 4, 4
knob_ugwp_doaxyz = 1
knob_ugwp_doheat = 1
knob_ugwp_dokdis = 1
knob_ugwp_effac = 1, 1, 1, 1
knob_ugwp_ndx4lh = 1
knob_ugwp_solver = 2
knob_ugwp_source = 1, 1, 0, 0
knob_ugwp_stoch = 0, 0, 0, 0
knob_ugwp_version = 0
knob_ugwp_wvspec = 1, 25, 25, 25
launch_level = 25
/

&diag_manager_nml
prepend_date = .false.
/

&external_ic_nml
checker_tr = .false.
filtered_terrain = .true.
gfs_dwinds = .true.
levp = 65
nt_checker = 0
/

&fms_nml
clock_grain = 'ROUTINE'
domains_stack_size = 3000000
print_memory_usage = .false.
/

&fms2_io_nml
netcdf_default_format = "netcdf4"
/

&fv_core_nml
a_imp = 1.0
adjust_dry_mass = .false.
bc_update_interval = 3
beta = 0.0
consv_am = .false.
consv_te = 0.0
d2_bg = 0.0
d2_bg_k1 = 0.2
d2_bg_k2 = 0.04
d4_bg = 0.12
d_con = 1.0
d_ext = 0.0
dddmp = 0.1
deglat = 35.
deglon = -95.
delt_max = 0.008
dnats = 0
do_sat_adj = .false.
do_schmidt = .true.
do_vort_damp = .true.
dwind_2d = .false.
dx_const = 3000.
dy_const = 3000.
dz_min = 2
external_eta = .false.
external_ic = .false.
fill = .true.
full_zs_filter = .false.
fv_debug = .false.
fv_sg_adj = 300
gfs_phil = .false.
grid_type = 4
hord_dp = 6
hord_mt = 6
hord_tm = 6
hord_tr = 10
hord_vt = 6
hydrostatic = .false.
io_layout = 1, 1
k_split = 3
ke_bg = 0.0
kord_mt = 9
kord_tm = -9
kord_tr = 9
kord_wz = 9
layout = @[INPES],@[JNPES]
make_nh = .true.
mountain = .false.
n_split = 2
n_sponge = 9
n_zs_filter = 0
na_init = 1
ncep_ic = .false.
nggps_ic = .true.
no_dycore = .false.
nord = 3
npx = 99
npy = 99
npz = 60
npz_type = 'meso'
nrows_blend = 0
ntiles = 1
nudge_qv = .false.
nwat = 7
p_fac = 0.1
phys_hydrostatic = .false.
print_freq = 6
psm_bc = 1
range_warn = .true.
read_increment = .false.
regional = .false.
regional_bcs_from_gsi = .false.
res_latlon_dynamics = 'fv3_increment.nc'
reset_eta = .false.
rf_cutoff = 2000.0
stretch_fac = 0.999
target_lat = 38.0
target_lon = -120.0
tau = 5.0
use_hydro_pressure = .false.
vtdm4 = 0.02
warm_start = .false.
write_restart_with_bcs = .false.
z_tracer = .true.
/

&fv_grid_nml
grid_file = 'INPUT/grid_spec.nc'
/

&gfs_physics_nml
bl_mynn_edmf = 0
bl_mynn_edmf_mom = 0
bl_mynn_tkeadvect = .false.
cal_pre = .false.
cdmbgwd = 3.5, 0.25
cnvcld = .false.
cnvgwd = .false.
cplflx = .false.
debug = .false.
do_deep = .false.
do_mynnedmf = .false.
do_mynnsfclay = .false.
do_shum = .false.
do_skeb = .false.
do_spp = .false.
do_sppt = .false.
dspheat = .true.
effr_in = .true.
fhcyc = 0.0
fhlwr = 1200.0
fhswr = 1200.0
fhzero = 1.0
h2o_phys = .false.
hybedmf = .false.
iaer = 111
ialb = 1
iau_delthrs = 6
iau_inc_files = ''
iaufhrs = 30
icloud_bl = 1
ico2 = 2
iems = 1
imfdeepcnv = 0
imfshalcnv = 0
imp_physics = 17
iopt_alb = 2
iopt_btr = 1
iopt_crs = 1
iopt_dveg = 2
iopt_frz = 1
iopt_inf = 1
iopt_rad = 1
iopt_run = 1
iopt_sfc = 1
iopt_snf = 4
iopt_stc = 1
iopt_tbot = 2
isol = 2
isot = 1
isubc_lw = 2
isubc_sw = 2
ivegsrc = 1
ldiag3d = .false.
lheatstrg = .false.
lndp_type = 0
lradar = .true.
lsm = 1
lsoil = 4
lsoil_lsm = 4
ltaerosol = .false.
lwhtr = .true.
n_var_lndp = 0
n_var_spp = 0
nsfullradar_diag = 3600
nssl_cccn = 0.6e9
nssl_ccn_on = .true.
nssl_hail_on = .true.
nst_anl = .true.
nstf_name = 2, 1, 1, 0, 5
oz_phys = .false.
oz_phys_2015 = .false.
pdfcld = .false.
pre_rad = .false.
print_diff_pgr = .true.
prslrd0 = 5000.0
random_clds = .false.
redrag = .true.
satmedmf = .false.
shal_cnv = .false.
swhtr = .true.
trans_trac = .false.
ttendlim = -999
use_ufo = .true.
/

&interpolator_nml
interp_method = 'conserve_great_circle'
/

&namsfc
fabsl = 99999
faisl = 99999
faiss = 99999
fnabsc = 'C3337.maximum_snow_albedo.tileX.nc'
fnacna = ''
fnaisc = 'CFSR.SEAICE.1982.2012.monthly.clim.grb'
fnalbc = 'C3337.snowfree_albedo.tileX.nc'
fnalbc2 = 'C3337.facsf.tileX.nc'
fnglac = 'global_glacier.2x2.grb'
fnmskh = 'seaice_newland.grb'
fnmxic = 'global_maxice.2x2.grb'
fnslpc = 'C3337.slope_type.tileX.nc'
fnsmcc = 'global_soilmgldas.t126.384.190.grb'
fnsnoa = ''
fnsnoc = 'global_snoclim.1.875.grb'
fnsotc = 'C3337.soil_type.tileX.nc'
fntg3c = 'C3337.substrate_temperature.tileX.nc'
fntsfa = ''
fntsfc = 'RTGSST.1982.2012.monthly.clim.grb'
fnvegc = 'C3337.vegetation_greenness.tileX.nc'
fnvetc = 'C3337.vegetation_type.tileX.nc'
fnvmnc = 'C3337.vegetation_greenness.tileX.nc'
fnvmxc = 'C3337.vegetation_greenness.tileX.nc'
fnzorc = 'igbp'
fsicl = 99999
fsics = 99999
fslpl = 99999
fsmcl = 99999, 99999, 99999
fsnol = 99999
fsnos = 99999
fsotl = 99999
ftsfl = 99999
ftsfs = 90
fvetl = 99999
fvmnl = 99999
fvmxl = 99999
ldebug = .true.
/

&test_case_nml
test_case = 60
bubble_type = 3
n_bub = 1
jcenters = 50
icenters = 50
t_profile = -1
q_profile = -1
ws_profile = -1
bubble_t = 3.
bubble_q = 0.
bubble_rad_x = 5000.
bubble_rad_y = 5000.
bubble_zc = 1500.
us0 = 12.

/
Loading
Loading