From bc41d8880a24da53316b58814bd42b69324f9d52 Mon Sep 17 00:00:00 2001 From: "samuel.trahan" Date: Wed, 22 May 2024 00:36:22 +0000 Subject: [PATCH] minor revisions for clarity and debugging 1. Remove duplicate variables. 2. Disable progsigma since the model disables it internally anyway. (Due to resolution) 3. Add some _NEST02 variables 4. Enable some gravity wave diagnostics 5. Write restart at time 1 and validate output at time 2. This way we can reduce the run length to 2 hours 6. Increase the run length to 24 hours, with hourly output, for debugging. Should shorten run length before merge. --- .../diag_table/diag_additional_ldiag3d_ugwp | 38 ++++++ tests/parm/input_global_nest.nml.IN | 6 +- tests/tests/gnv1_nested | 120 ++++++++++-------- 3 files changed, 105 insertions(+), 59 deletions(-) create mode 100644 tests/parm/diag_table/diag_additional_ldiag3d_ugwp diff --git a/tests/parm/diag_table/diag_additional_ldiag3d_ugwp b/tests/parm/diag_table/diag_additional_ldiag3d_ugwp new file mode 100644 index 0000000000..0391132f7a --- /dev/null +++ b/tests/parm/diag_table/diag_additional_ldiag3d_ugwp @@ -0,0 +1,38 @@ +# Diagnostic variables for Unified Gravity Wave Physics (UGWP) +"gfs_phys", "dws3dt_ogw", "dws3dt_ogw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dws3dt_obl", "dws3dt_obl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dws3dt_oss", "dws3dt_oss", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dws3dt_ofd", "dws3dt_ofd", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldu3dt_ogw", "ldu3dt_ogw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldu3dt_obl", "ldu3dt_obl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldu3dt_oss", "ldu3dt_oss", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldu3dt_ofd", "ldu3dt_ofd", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldu3dt_ngw", "ldu3dt_ngw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldv3dt_ngw", "ldv3dt_ngw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ldt3dt_ngw", "ldt3dt_ngw", "fv3_history2d", "all", .false., "none", 2 + +"gfs_phys", "dudt_ogw", "dudt_ogw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dvdt_ogw", "dvdt_ogw", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dudt_obl", "dudt_obl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dvdt_obl", "dvdt_obl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dudt_oss", "dudt_oss", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dvdt_oss", "dvdt_oss", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dudt_ofd", "dudt_ofd", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dvdt_ofd", "dvdt_ofd", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du_ogwcol", "du_ogwcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv_ogwcol", "dv_ogwcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du_oblcol", "du_oblcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv_oblcol", "dv_oblcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du_osscol", "du_osscol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv_osscol", "dv_osscol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du_ofdcol", "du_ofdcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv_ofdcol", "dv_ofdcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du3_ogwcol", "du3_ogwcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv3_ogwcol", "dv3_ogwcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du3_oblcol", "du3_oblcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv3_oblcol", "dv3_oblcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du3_osscol", "du3_osscol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv3_osscol", "dv3_osscol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "du3_ofdcol", "du3_ofdcol", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dv3_ofdcol", "dv3_ofdcol", "fv3_history2d", "all", .false., "none", 2 + diff --git a/tests/parm/input_global_nest.nml.IN b/tests/parm/input_global_nest.nml.IN index c8adb5c9a1..9cf4735067 100644 --- a/tests/parm/input_global_nest.nml.IN +++ b/tests/parm/input_global_nest.nml.IN @@ -41,8 +41,8 @@ n_zs_filter = @[N_ZS_FILTER_NEST02] nudge_qv = .false. nudge_dz = .false. - tau = @[FV_CORE_TAU] - rf_cutoff = @[RF_CUTOFF] + tau = @[FV_CORE_TAU_NEST02] + rf_cutoff = @[RF_CUTOFF_NEST02] rf_fast = @[RF_FAST] sg_cutoff = @[SG_CUTOFF] upoff = @[UPOFF] @@ -90,7 +90,7 @@ dry_mass = @[DRY_MASS] consv_te = @[CONSV_TE_NEST02] do_sat_adj = @[DO_SAT_ADJ] - fast_tau_w_sec = @[FAST_TAU_W_SEC] + fast_tau_w_sec = @[FAST_TAU_W_SEC_NEST02] consv_am = .false. fill = .true. full_zs_filter = @[FULL_ZS_FILTER] diff --git a/tests/tests/gnv1_nested b/tests/tests/gnv1_nested index 696118d988..a5e74b3661 100644 --- a/tests/tests/gnv1_nested +++ b/tests/tests/gnv1_nested @@ -8,48 +8,48 @@ export TEST_DESCR="Compare rotated C96 global with 1 nest and atmosphere only gl export CNTL_DIR=gnv1_nested -export LIST_FILES="atmf006.nc \ - sfcf006.nc \ - atm.nest02.f006.nc \ - sfc.nest02.f006.nc \ - RESTART/20230224.120000.coupler.res \ - RESTART/20230224.120000.fv_core.res.nc \ - RESTART/20230224.120000.fv_core.res.nest02.nc \ - RESTART/20230224.120000.fv_core.res.nest02.tile7.nc \ - RESTART/20230224.120000.fv_core.res.tile1.nc \ - RESTART/20230224.120000.fv_core.res.tile2.nc \ - RESTART/20230224.120000.fv_core.res.tile3.nc \ - RESTART/20230224.120000.fv_core.res.tile4.nc \ - RESTART/20230224.120000.fv_core.res.tile5.nc \ - RESTART/20230224.120000.fv_core.res.tile6.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.nest02.tile7.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile1.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile2.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile3.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile4.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile5.nc \ - RESTART/20230224.120000.fv_srf_wnd.res.tile6.nc \ - RESTART/20230224.120000.fv_tracer.res.nest02.tile7.nc \ - RESTART/20230224.120000.fv_tracer.res.tile1.nc \ - RESTART/20230224.120000.fv_tracer.res.tile2.nc \ - RESTART/20230224.120000.fv_tracer.res.tile3.nc \ - RESTART/20230224.120000.fv_tracer.res.tile4.nc \ - RESTART/20230224.120000.fv_tracer.res.tile5.nc \ - RESTART/20230224.120000.fv_tracer.res.tile6.nc \ - RESTART/20230224.120000.phy_data.nest02.tile7.nc \ - RESTART/20230224.120000.phy_data.tile1.nc \ - RESTART/20230224.120000.phy_data.tile2.nc \ - RESTART/20230224.120000.phy_data.tile3.nc \ - RESTART/20230224.120000.phy_data.tile4.nc \ - RESTART/20230224.120000.phy_data.tile5.nc \ - RESTART/20230224.120000.phy_data.tile6.nc \ - RESTART/20230224.120000.sfc_data.nest02.tile7.nc \ - RESTART/20230224.120000.sfc_data.tile1.nc \ - RESTART/20230224.120000.sfc_data.tile2.nc \ - RESTART/20230224.120000.sfc_data.tile3.nc \ - RESTART/20230224.120000.sfc_data.tile4.nc \ - RESTART/20230224.120000.sfc_data.tile5.nc \ - RESTART/20230224.120000.sfc_data.tile6.nc \ +export LIST_FILES="atmf002.nc \ + sfcf002.nc \ + atm.nest02.f002.nc \ + sfc.nest02.f002.nc \ + RESTART/20230224.010000.coupler.res \ + RESTART/20230224.010000.fv_core.res.nc \ + RESTART/20230224.010000.fv_core.res.nest02.nc \ + RESTART/20230224.010000.fv_core.res.nest02.tile7.nc \ + RESTART/20230224.010000.fv_core.res.tile1.nc \ + RESTART/20230224.010000.fv_core.res.tile2.nc \ + RESTART/20230224.010000.fv_core.res.tile3.nc \ + RESTART/20230224.010000.fv_core.res.tile4.nc \ + RESTART/20230224.010000.fv_core.res.tile5.nc \ + RESTART/20230224.010000.fv_core.res.tile6.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.nest02.tile7.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile1.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile2.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile3.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile4.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile5.nc \ + RESTART/20230224.010000.fv_srf_wnd.res.tile6.nc \ + RESTART/20230224.010000.fv_tracer.res.nest02.tile7.nc \ + RESTART/20230224.010000.fv_tracer.res.tile1.nc \ + RESTART/20230224.010000.fv_tracer.res.tile2.nc \ + RESTART/20230224.010000.fv_tracer.res.tile3.nc \ + RESTART/20230224.010000.fv_tracer.res.tile4.nc \ + RESTART/20230224.010000.fv_tracer.res.tile5.nc \ + RESTART/20230224.010000.fv_tracer.res.tile6.nc \ + RESTART/20230224.010000.phy_data.nest02.tile7.nc \ + RESTART/20230224.010000.phy_data.tile1.nc \ + RESTART/20230224.010000.phy_data.tile2.nc \ + RESTART/20230224.010000.phy_data.tile3.nc \ + RESTART/20230224.010000.phy_data.tile4.nc \ + RESTART/20230224.010000.phy_data.tile5.nc \ + RESTART/20230224.010000.phy_data.tile6.nc \ + RESTART/20230224.010000.sfc_data.nest02.tile7.nc \ + RESTART/20230224.010000.sfc_data.tile1.nc \ + RESTART/20230224.010000.sfc_data.tile2.nc \ + RESTART/20230224.010000.sfc_data.tile3.nc \ + RESTART/20230224.010000.sfc_data.tile4.nc \ + RESTART/20230224.010000.sfc_data.tile5.nc \ + RESTART/20230224.010000.sfc_data.tile6.nc \ RESTART/fv_BC_ne.res.nest02.nc \ RESTART/fv_BC_sw.res.nest02.nc" @@ -63,10 +63,10 @@ export SYEAR=2023 export SMONTH=02 export SDAY=24 export SHOUR=00 -export FHMAX=18 +export FHMAX=24 export FHROT=0 export DT_ATMOS=300 -export RESTART_INTERVAL='12 -1' +export RESTART_INTERVAL='1 -1' export WRITE_GROUP=2 export WRTTASK_PER_GROUP=12 export WRITE_DOPOST=.true. @@ -82,7 +82,7 @@ export JCHUNK3D=-1 export KCHUNK3D=1 export IMO=384 export JMO=192 -export OUTPUT_FH='6 -1' +export OUTPUT_FH='1 -1' export NTILES=6 export OUTPUT_GRID_2=regional_latlon @@ -113,7 +113,18 @@ export NPY=97 export NPZ=127 export DNATS=0 export DO_SAT_ADJ=.false. + +export FV_CORE_TAU=0. +export RF_CUTOFF=10. export FAST_TAU_W_SEC=0.2 + +export LDIAG3D=.true. +export LDIAG_UGWP=.true. + +export FV_CORE_TAU_NEST02=$FV_CORE_TAU +export RF_CUTOFF_NEST02=$RF_CUTOFF +export FAST_TAU_W_SEC_NEST02=$FAST_TAU_W_SEC + export TARGET_LON=-135.0 export TARGET_LAT=32.5 export TWOWAYNEST02=.true. @@ -145,14 +156,10 @@ export LSEASPRAY=.false. export IMFDEEPCNV=5 export IMFDEEPCNV_NEST02=5 export PROGSIGMA=.false. -export PROGSIGMA_NEST02=.true. -export BETASCU=0.5 -export BETAMCU=1.5 -export BETADCU=8.0 +export PROGSIGMA_NEST02=.false. export IOPT_DIAG=1 export NSTF_NAME=2,0,0,0,0 export EFFR_IN=.true. -export RF_CUTOFF=10.0 export RES_LATLON_DYNAMICS='""' export DOGP_CLDOPTICS_LUT=.false. export DOGP_LWSCAT=.false. @@ -204,15 +211,15 @@ export PSM_BC_NEST02=1 export UPOFF=2 export VTDM4=0.04 export BETADCU=2.0 -export BETAL_DEEP=0.05 export BETAMCU=1.0 -export BETAS_DEEP=0.05 export BETASCU=8.0 +export BETAL_DEEP=0.05 +export BETAS_DEEP=0.05 export BETADCU_NEST02=8.0 -export BETAL_DEEP_NEST02=0.05 export BETAMCU_NEST02=1.5 -export BETAS_DEEP_NEST02=0.05 export BETASCU_NEST02=8.0 +export BETAL_DEEP_NEST02=0.05 +export BETAS_DEEP_NEST02=0.05 export CDMBWD=20.0,2.5,1.0,1.0 export CDMBWD_NEST02=5.0,5.0,1.0,1.0 export CLAM_DEEP=0.15 @@ -229,7 +236,7 @@ export DO_DEEP=.true. export DO_DEEP_NEST02=.true. export FRAC_GRID=.false. export ELMX=300. -export KNOB_UGWP_TAUAMP=3.0e-3 +export KNOB_UGWP_TAUAMP=1.5e-3 export KNOB_UGWP_TAUAMP_NEST02=0.8e-3 export KNOB_UGWP_DOKDIS=2 export KNOB_UGWP_NDX4LH=4 @@ -273,6 +280,7 @@ export MODEL_CONFIGURE=model_configure_gnv1.IN export INPUT_NML=input_global_parent.nml.IN export INPUT_NEST02_NML=input_global_nest.nml.IN export TILEDFIX=.true. -export FIELD_TABLE=field_table_thompson_aero_tke_progsigma +export FIELD_TABLE=field_table_thompson_aero_tke +export DIAG_TABLE_ADDITIONAL=diag_additional_ldiag3d_ugwp ATM_compute_tasks=$(( INPES*JNPES*NTILES + INPES_NEST02*JNPES_NEST02 ))