diff --git a/cmake/configure_gaea.cmake b/cmake/configure_gaea.cmake index e6dbc3cfe0..3d56634f56 100644 --- a/cmake/configure_gaea.cmake +++ b/cmake/configure_gaea.cmake @@ -17,6 +17,8 @@ option(32BIT "Enable 32BIT (single precision arithmetic in dycore)" OFF) option(OPENMP "Enable OpenMP threading" ON) option(AVX2 "Enable AVX2 instruction set" ON) +option(INLINE_POST "Enable inline post" OFF) + include( cmake/${CMAKE_Fortran_COMPILER_ID}.cmake ) set(NEMSIO_INC $ENV{NEMSIO_INC}) diff --git a/conf/configure.fv3.gaea.intel b/conf/configure.fv3.gaea.intel index 37cb3acb91..b8ff966a3b 100644 --- a/conf/configure.fv3.gaea.intel +++ b/conf/configure.fv3.gaea.intel @@ -66,6 +66,10 @@ else CPPDEFS += -DMOIST_CAPPA -DUSE_COND endif +ifeq ($(NAM_phys),Y) +CPPDEFS += -DNAM_phys +endif + ifeq ($(32BIT),Y) CPPDEFS += -DOVERLOAD_R4 -DOVERLOAD_R8 FFLAGS += -i4 -real-size 32 diff --git a/conf/configure.fv3.macosx.gnu b/conf/configure.fv3.macosx.gnu index 3b32c0edb1..15e7db6937 100644 --- a/conf/configure.fv3.macosx.gnu +++ b/conf/configure.fv3.macosx.gnu @@ -1,7 +1,7 @@ ## NEMS configuration file ## ## Platform: Darwin Mac OS X -## Compiler: GNU (clang/gfortran) with MPICH +## Compiler: GNU (gcc/clang+gfortran) with MPICH SHELL=/bin/sh diff --git a/parm/ccpp_v15p2_c96.nml.IN b/parm/ccpp_v15p2_c96.nml.IN index 334d887db6..ef7186f6fa 100644 --- a/parm/ccpp_v15p2_c96.nml.IN +++ b/parm/ccpp_v15p2_c96.nml.IN @@ -151,18 +151,18 @@ ivegsrc = 1 isot = 1 debug = .false. - oz_phys = .F. - oz_phys_2015 = .T. + oz_phys = .F. + oz_phys_2015 = .T. nstf_name = 2,1,0,0,0 nst_anl = .true. psautco = 0.0008,0.0005 prautco = 0.00015,0.00015 lgfdlmprad = .true. effr_in = .true. - do_sppt = .T. - do_shum = .T. - do_skeb = .T. - do_sfcperts = .F. + do_sppt = .true. + do_shum = .true. + do_skeb = .true. + do_sfcperts = .false. / &gfdl_cloud_microphysics_nml @@ -244,11 +244,15 @@ FSMCL(2) = 99999 FSMCL(3) = 99999 FSMCL(4) = 99999 + LANDICE = .true. FTSFS = 90 + FAISL = 99999 + FAISS = 99999 FSNOL = 99999 + FSNOS = 99999 FSICL = 99999 + FSICS = 99999 FTSFL = 99999 - FAISL = 99999 FVETL = 99999 FSOTL = 99999 FvmnL = 99999 diff --git a/parm/ccpp_v16beta_c96.nml.IN b/parm/ccpp_v16beta_c96.nml.IN index a51fc7089c..db6af718c4 100644 --- a/parm/ccpp_v16beta_c96.nml.IN +++ b/parm/ccpp_v16beta_c96.nml.IN @@ -176,8 +176,8 @@ deflate_level=1 iopt_tbot = 2 iopt_stc = 1 debug = .false. - oz_phys = .F. - oz_phys_2015 = .T. + oz_phys = .F. + oz_phys_2015 = .T. nstf_name = 2,1,0,0,0 nst_anl = .true. psautco = 0.0008,0.0005 @@ -190,7 +190,7 @@ deflate_level=1 do_sppt = .true. do_shum = .true. do_skeb = .true. - do_sfcperts = .false. + do_sfcperts = .false. / &gfdl_cloud_microphysics_nml diff --git a/parm/v15p2_c96.nml.IN b/parm/v15p2_c96.nml.IN new file mode 100644 index 0000000000..dedfb2b42f --- /dev/null +++ b/parm/v15p2_c96.nml.IN @@ -0,0 +1,306 @@ +&amip_interp_nml + interp_oi_sst = .true. + use_ncep_sst = .true. + use_ncep_ice = .false. + no_anom_sst = .false. + data_set = 'reynolds_oi' + date_out_of_range = 'climo' +/ + +&atmos_model_nml + blocksize = 32 + chksum_debug = .false. + dycore_only = .false. + fdiag = 1 + fhmax = 384 + fhout = 3 + fhmaxhf = 120 + fhouthf = 1 +/ + +&diag_manager_nml + prepend_date = .false. +/ + +&fms_io_nml + checksum_required = .false. + max_files_r = 100 + max_files_w = 100 +/ + +&fms_nml + clock_grain = 'ROUTINE' + domains_stack_size = 3000000 + print_memory_usage = .false. +/ + +&fv_core_nml + layout = 3,8 + io_layout = 1,1 + npx = 97 + npy = 97 + ntiles = 6 + npz = 64 + grid_type = -1 + make_nh = .false. + fv_debug = .false. + range_warn = .false. + reset_eta = .false. + n_sponge = 10 + nudge_qv = .true. + nudge_dz = .false. + tau = 10. + rf_cutoff = 7.5e2 + d2_bg_k1 = 0.15 + d2_bg_k2 = 0.02 + kord_tm = -9 + kord_mt = 9 + kord_wz = 9 + kord_tr = 9 + hydrostatic = .false. + phys_hydrostatic = .false. + use_hydro_pressure = .false. + beta = 0. + a_imp = 1. + p_fac = 0.1 + k_split = 2 + n_split = 6 + nwat = 6 + na_init = 0 + d_ext = 0. + dnats = 1 + fv_sg_adj = 450 + d2_bg = 0. + nord = 2 + dddmp = 0.1 + d4_bg = 0.12 + vtdm4 = 0.02 + delt_max = 0.002 + ke_bg = 0. + do_vort_damp = .true. + external_ic = .true. + external_eta = .true. + gfs_phil = .false. + nggps_ic = .true. + mountain = .false. + ncep_ic = .false. + d_con = 1. + hord_mt = 5 + hord_vt = 5 + hord_tm = 5 + hord_dp = -5 + hord_tr = 8 + adjust_dry_mass = .false. + consv_te = 1. + do_sat_adj = .true. + consv_am = .false. + fill = .true. + dwind_2d = .false. + print_freq = 6 + warm_start = .false. + no_dycore = .false. + z_tracer = .true. + agrid_vel_rst = .true. + read_increment = .false. + res_latlon_dynamics = "" +/ + +&external_ic_nml + filtered_terrain = .true. + levp = 65 + gfs_dwinds = .true. + checker_tr = .false. + nt_checker = 0 +/ + +&gfs_physics_nml + fhzero = 6 + h2o_phys = .true. + ldiag3d = .false. + fhcyc = 24 + use_ufo = .true. + pre_rad = .false. + ncld = 5 + imp_physics = 11 + pdfcld = .false. + fhswr = 3600. + fhlwr = 3600. + ialb = 1 + iems = 1 + iaer = 111 + ico2 = 2 + isubc_sw = 2 + isubc_lw = 2 + isol = 2 + lwhtr = .true. + swhtr = .true. + cnvgwd = .true. + shal_cnv = .true. + cal_pre = .false. + redrag = .true. + dspheat = .true. + hybedmf = .true. + random_clds = .false. + trans_trac = .true. + cnvcld = .true. + imfshalcnv = 2 + imfdeepcnv = 2 + cdmbgwd = 3.5,0.25 + prslrd0 = 0. + ivegsrc = 1 + isot = 1 + debug = .false. + nstf_name = 2,1,0,0,0 + nst_anl = .true. + psautco = 0.0008,0.0005 + prautco = 0.00015,0.00015 + lgfdlmprad = .true. + effr_in = .true. + do_sppt = .true. + do_shum = .true. + do_skeb = .true. + do_sfcperts = .false. +/ + +&gfdl_cloud_microphysics_nml + sedi_transport = .true. + do_sedi_heat = .false. + rad_snow = .true. + rad_graupel = .true. + rad_rain = .true. + const_vi = .F. + const_vs = .F. + const_vg = .F. + const_vr = .F. + vi_max = 1. + vs_max = 2. + vg_max = 12. + vr_max = 12. + qi_lim = 1. + prog_ccn = .false. + do_qa = .true. + fast_sat_adj = .true. + tau_l2v = 225. + tau_v2l = 150. + tau_g2v = 900. + rthresh = 10.e-6 ! This is a key parameter for cloud water + dw_land = 0.16 + dw_ocean = 0.10 + ql_gen = 1.0e-3 + ql_mlt = 1.0e-3 + qi0_crt = 8.0E-5 + qs0_crt = 1.0e-3 + tau_i2s = 1000. + c_psaci = 0.05 + c_pgacs = 0.01 + rh_inc = 0.30 + rh_inr = 0.30 + rh_ins = 0.30 + ccn_l = 300. + ccn_o = 100. + c_paut = 0.5 + c_cracw = 0.8 + use_ppm = .false. + use_ccn = .true. + mono_prof = .true. + z_slope_liq = .true. + z_slope_ice = .true. + de_ice = .false. + fix_negative = .true. + icloud_f = 1 + mp_time = 150. +/ + +&interpolator_nml + interp_method = 'conserve_great_circle' +/ + +&namsfc + FNGLAC = 'global_glacier.2x2.grb' + FNMXIC = 'global_maxice.2x2.grb' + FNTSFC = 'RTGSST.1982.2012.monthly.clim.grb' + FNSNOC = 'global_snoclim.1.875.grb' + FNZORC = 'igbp' + FNALBC = 'global_snowfree_albedo.bosu.t126.384.190.rg.grb' + FNALBC2 = 'global_albedo4.1x1.grb' + FNAISC = 'CFSR.SEAICE.1982.2012.monthly.clim.grb' + FNTG3C = 'global_tg3clim.2.6x1.5.grb' + FNVEGC = 'global_vegfrac.0.144.decpercent.grb' + FNVETC = 'global_vegtype.igbp.t126.384.190.rg.grb' + FNSOTC = 'global_soiltype.statsgo.t126.384.190.rg.grb' + FNSMCC = 'global_soilmgldas.t126.384.190.grb' + FNMSKH = 'seaice_newland.grb' + FNTSFA = '' + FNACNA = '' + FNSNOA = '' + FNVMNC = 'global_shdmin.0.144x0.144.grb' + FNVMXC = 'global_shdmax.0.144x0.144.grb' + FNSLPC = 'global_slope.1x1.grb' + FNABSC = 'global_mxsnoalb.uariz.t126.384.190.rg.grb' + LDEBUG = .false. + FSMCL(2) = 99999 + FSMCL(3) = 99999 + FSMCL(4) = 99999 + LANDICE = .true. + FTSFS = 90 + FAISL = 99999 + FAISS = 99999 + FSNOL = 99999 + FSNOS = 99999 + FSICL = 99999 + FSICS = 99999 + FTSFL = 99999 + FVETL = 99999 + FSOTL = 99999 + FvmnL = 99999 + FvmxL = 99999 + FSLPL = 99999 + FABSL = 99999 +/ + +&fv_grid_nml + grid_file = 'INPUT/grid_spec.nc' +/ + +&nam_stochy + ntrunc = 766 + lon_s = 1536 + lat_s = 768 + skeb = 0.3 + iseed_skeb = 2019102712451 + iseed_shum = 2019102712452 + iseed_sppt = 2019102712453 + skeb_tau = 21600. + skeb_lscale = 500000. + skebnorm = 0 + skeb_npass = 30 + skeb_vdof = 5 + shum = 0.005 + shum_tau = 21600. + shum_lscale = 500000. + sppt = 0.5 + sppt_tau = 21600. + sppt_lscale = 500000. + sppt_logit = .true. + sppt_sfclimit = .true. + use_zmtnblck = .true. +/ + +&nam_sfcperts +/ + +&cires_ugwp_nml + knob_ugwp_solver = 2 + knob_ugwp_source = 1,1,0,0 + knob_ugwp_wvspec = 1,25,25,25 + knob_ugwp_azdir = 2,4,4,4 + knob_ugwp_stoch = 0,0,0,0 + knob_ugwp_effac = 1,1,1,1 + knob_ugwp_doaxyz = 1 + knob_ugwp_doheat = 1 + knob_ugwp_dokdis = 1 + knob_ugwp_ndx4lh = 1 + knob_ugwp_version = 0 + launch_level = 25 +/ + diff --git a/parm/v16beta_c96.nml.IN b/parm/v16beta_c96.nml.IN new file mode 100644 index 0000000000..bc29afd5aa --- /dev/null +++ b/parm/v16beta_c96.nml.IN @@ -0,0 +1,335 @@ +&amip_interp_nml + interp_oi_sst = .true. + use_ncep_sst = .true. + use_ncep_ice = .false. + no_anom_sst = .false. + data_set = 'reynolds_oi' + date_out_of_range = 'climo' +/ + +&atmos_model_nml + blocksize = 32 + chksum_debug = .false. + dycore_only = .false. + fdiag = 1 + fhmax = 384 + fhout = 3 + fhmaxhf = 120 + fhouthf = 1 +/ + +&diag_manager_nml + prepend_date = .false. +/ + +&fms_io_nml + checksum_required = .false. + max_files_r = 100 + max_files_w = 100 +/ + +&mpp_io_nml +shuffle=1 +deflate_level=1 +/ + +&fms_nml + clock_grain = 'ROUTINE' + domains_stack_size = 3000000 + print_memory_usage = .false. +/ + +&fv_core_nml + layout = 3,8 + io_layout = 1,1 + npx = 97 + npy = 97 + ntiles = 6 + npz = 64 + grid_type = -1 + make_nh = .false. + fv_debug = .false. + range_warn = .false. + reset_eta = .false. + n_sponge = 10 + nudge_qv = .true. + nudge_dz = .false. + tau = 10. + rf_cutoff = 7.5e2 + d2_bg_k1 = 0.20 + d2_bg_k2 = 0.0 + kord_tm = -9 + kord_mt = 9 + kord_wz = 9 + kord_tr = 9 + hydrostatic = .false. + phys_hydrostatic = .false. + use_hydro_pressure = .false. + beta = 0. + a_imp = 1. + p_fac = 0.1 + k_split = 2 + n_split = 6 + nwat = 6 + na_init = 0 + d_ext = 0. + dnats = 1 + fv_sg_adj = 450 + d2_bg = 0. + nord = 2 + dddmp = 0.1 + d4_bg = 0.12 + vtdm4 = 0.02 + delt_max = 0.002 + ke_bg = 0. + do_vort_damp = .true. + external_ic = .true. + external_eta = .true. + gfs_phil = .false. + nggps_ic = .true. + mountain = .false. + ncep_ic = .false. + d_con = 1. + hord_mt = 5 + hord_vt = 5 + hord_tm = 5 + hord_dp = -5 + hord_tr = 8 + adjust_dry_mass = .false. + consv_te = 1. + do_sat_adj = .true. + consv_am = .false. + fill = .true. + dwind_2d = .false. + print_freq = 6 + warm_start = .false. + no_dycore = .false. + z_tracer = .true. + agrid_vel_rst = .true. + read_increment = .false. + res_latlon_dynamics = "" +/ + +&external_ic_nml + filtered_terrain = .true. + levp = 65 + gfs_dwinds = .true. + checker_tr = .false. + nt_checker = 0 +/ + +&gfs_physics_nml + fhzero = 6 + h2o_phys = .true. + ldiag3d = .false. + fhcyc = 24 + use_ufo = .true. + pre_rad = .false. + ncld = 5 + imp_physics = 11 + pdfcld = .false. + fhswr = 3600. + fhlwr = 3600. + ialb = 1 + iems = 1 + iaer = 5111 + icliq_sw = 2 + iovr_lw = 3 + iovr_sw = 3 + ico2 = 2 + isubc_sw = 2 + isubc_lw = 2 + isol = 2 + lwhtr = .true. + swhtr = .true. + cnvgwd = .true. + shal_cnv = .true. + cal_pre = .false. + redrag = .true. + dspheat = .true. + hybedmf = .false. + satmedmf = .true. + isatmedmf = 1 + lheatstrg = .true. + random_clds = .false. + trans_trac = .true. + cnvcld = .true. + imfshalcnv = 2 + imfdeepcnv = 2 + cdmbgwd = 4.0,0.15,1.0,1.0 + prslrd0 = 0. + ivegsrc = 1 + isot = 1 + lsoil = 4 + lsm = 1 + iopt_dveg = 1 + iopt_crs = 1 + iopt_btr = 1 + iopt_run = 1 + iopt_sfc = 1 + iopt_frz = 1 + iopt_inf = 1 + iopt_rad = 1 + iopt_alb = 2 + iopt_snf = 4 + iopt_tbot = 2 + iopt_stc = 1 + debug = .false. + nstf_name = 2,1,0,0,0 + nst_anl = .true. + psautco = 0.0008,0.0005 + prautco = 0.00015,0.00015 + lgfdlmprad = .true. + effr_in = .true. + ldiag_ugwp = .false. + do_ugwp = .false. + do_tofd = .true. + do_sppt = .true. + do_shum = .true. + do_skeb = .true. + do_sfcperts = .false. +/ + +&gfdl_cloud_microphysics_nml + sedi_transport = .true. + do_sedi_heat = .false. + rad_snow = .true. + rad_graupel = .true. + rad_rain = .true. + const_vi = .F. + const_vs = .F. + const_vg = .F. + const_vr = .F. + vi_max = 1. + vs_max = 2. + vg_max = 12. + vr_max = 12. + qi_lim = 1. + prog_ccn = .false. + do_qa = .true. + fast_sat_adj = .true. + tau_l2v = 225. + tau_v2l = 150. + tau_g2v = 900. + rthresh = 10.e-6 ! This is a key parameter for cloud water + dw_land = 0.16 + dw_ocean = 0.10 + ql_gen = 1.0e-3 + ql_mlt = 1.0e-3 + qi0_crt = 8.0E-5 + qs0_crt = 1.0e-3 + tau_i2s = 1000. + c_psaci = 0.05 + c_pgacs = 0.01 + rh_inc = 0.30 + rh_inr = 0.30 + rh_ins = 0.30 + ccn_l = 300. + ccn_o = 100. + c_paut = 0.5 + c_cracw = 0.8 + use_ppm = .false. + use_ccn = .true. + mono_prof = .true. + z_slope_liq = .true. + z_slope_ice = .true. + de_ice = .false. + fix_negative = .true. + icloud_f = 1 + mp_time = 150. + reiflag = 2 +/ + +&interpolator_nml + interp_method = 'conserve_great_circle' +/ + +&namsfc + FNGLAC = 'global_glacier.2x2.grb' + FNMXIC = 'global_maxice.2x2.grb' + FNTSFC = 'RTGSST.1982.2012.monthly.clim.grb' + FNSNOC = 'global_snoclim.1.875.grb' + FNZORC = 'igbp' + FNALBC = 'global_snowfree_albedo.bosu.t126.384.190.rg.grb' + FNALBC2 = 'global_albedo4.1x1.grb' + FNAISC = 'CFSR.SEAICE.1982.2012.monthly.clim.grb' + FNTG3C = 'global_tg3clim.2.6x1.5.grb' + FNVEGC = 'global_vegfrac.0.144.decpercent.grb' + FNVETC = 'global_vegtype.igbp.t126.384.190.rg.grb' + FNSOTC = 'global_soiltype.statsgo.t126.384.190.rg.grb' + FNSMCC = 'global_soilmgldas.t126.384.190.grb' + FNMSKH = 'seaice_newland.grb' + FNTSFA = '' + FNACNA = '' + FNSNOA = '' + FNVMNC = 'global_shdmin.0.144x0.144.grb' + FNVMXC = 'global_shdmax.0.144x0.144.grb' + FNSLPC = 'global_slope.1x1.grb' + FNABSC = 'global_mxsnoalb.uariz.t126.384.190.rg.grb' + LDEBUG = .false. + FSMCL(2) = 99999 + FSMCL(3) = 99999 + FSMCL(4) = 99999 + LANDICE = .true. + FTSFS = 90 + FAISL = 99999 + FAISS = 99999 + FSNOL = 99999 + FSNOS = 99999 + FSICL = 99999 + FSICS = 99999 + FTSFL = 99999 + FVETL = 99999 + FSOTL = 99999 + FvmnL = 99999 + FvmxL = 99999 + FSLPL = 99999 + FABSL = 99999 +/ + +&fv_grid_nml + grid_file = 'INPUT/grid_spec.nc' +/ + +&nam_stochy + ntrunc = 766 + lon_s = 1536 + lat_s = 768 + skeb = 0.3 + iseed_skeb = 2019102712451 + iseed_shum = 2019102712452 + iseed_sppt = 2019102712453 + skeb_tau = 21600. + skeb_lscale = 500000. + skebnorm = 0 + skeb_npass = 30 + skeb_vdof = 5 + shum = 0.005 + shum_tau = 21600. + shum_lscale = 500000. + sppt = 0.5 + sppt_tau = 21600. + sppt_lscale = 500000. + sppt_logit = .true. + sppt_sfclimit = .true. + use_zmtnblck = .true. +/ + +&nam_sfcperts +/ + +&cires_ugwp_nml + knob_ugwp_solver = 2 + knob_ugwp_source = 1,1,0,0 + knob_ugwp_wvspec = 1,25,25,25 + knob_ugwp_azdir = 2,4,4,4 + knob_ugwp_stoch = 0,0,0,0 + knob_ugwp_effac = 1,1,1,1 + knob_ugwp_doaxyz = 1 + knob_ugwp_doheat = 1 + knob_ugwp_dokdis = 1 + knob_ugwp_ndx4lh = 1 + knob_ugwp_version = 0 + launch_level = 27 +/ + diff --git a/tests/fv3_conf/gfs_v15_run.IN b/tests/fv3_conf/gfs_v15_run.IN index e33b9fce8d..c21f88d948 100644 --- a/tests/fv3_conf/gfs_v15_run.IN +++ b/tests/fv3_conf/gfs_v15_run.IN @@ -1,4 +1,4 @@ - +rm -fr INPUT RESTART if [ $WARM_START = .F. ]; then cp -r @[RTPWD]/FV3_input_data/INPUT . mkdir RESTART @@ -15,5 +15,5 @@ cp @[RTPWD]/FV3_input_data/global_h2o_pltc.f77 ./global_h2oprdlos.f77 cp @[RTPWD]/FV3_input_data/*grb . cp @[RTPWD]/FV3_input_data/*_table . cp @[RTPWD]/FV3_input_data/diag_table_gfdlmp diag_table -cp @[RTPWD]/FV3_input_data_gsd/field_table_suite2 field_table +cp @[RTPWD]/FV3_input_data/field_table_gfdlmp field_table cp @[RTPWD]/FV3_input_data/*configure . diff --git a/tests/fv3_conf/gfs_v16_run.IN b/tests/fv3_conf/gfs_v16_run.IN new file mode 100644 index 0000000000..ac23e518f4 --- /dev/null +++ b/tests/fv3_conf/gfs_v16_run.IN @@ -0,0 +1,19 @@ +rm -fr INPUT RESTART +if [ $WARM_START = .F. ]; then + cp -r @[RTPWD]/FV3_input_data/INPUT . + mkdir RESTART +else + mkdir INPUT RESTART + cp -r @[RTPWD]/FV3_input_data/RESTART/* ./INPUT +fi +cp @[RTPWD]/FV3_input_data/INPUT/aerosol.dat . +cp @[RTPWD]/FV3_input_data/INPUT/co2historicaldata_201*.txt . +cp @[RTPWD]/FV3_input_data/INPUT/sfc_emissivity_idx.txt . +cp @[RTPWD]/FV3_input_data/INPUT/solarconstant_noaa_an.txt . +cp @[RTPWD]/FV3_input_data/ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77 ./global_o3prdlos.f77 +cp @[RTPWD]/FV3_input_data/global_h2o_pltc.f77 ./global_h2oprdlos.f77 +cp @[RTPWD]/FV3_input_data/*grb . +cp @[RTPWD]/FV3_input_data/*_table . +cp @[RTPWD]/FV3_input_data/diag_table_gfdlmp diag_table +cp @[RTPWD]/FV3_input_data_gsd/field_table_suite2 field_table +cp @[RTPWD]/FV3_input_data/*configure . diff --git a/tests/rt.conf b/tests/rt.conf index 8008a23485..cfee4c830f 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -376,3 +376,21 @@ COMPILE | CCPP=Y STATIC=Y SUITES=FV3_GFS_v15p2,FV3_GFS_v16beta DEBUG=Y RUN | fv3_ccpp_gfs_v15p2_debug | standard | hera.intel | fv3 | RUN | fv3_ccpp_gfs_v16beta_debug | standard | hera.intel | fv3 | + +####################################################################################################################################################################################### +# CCPP REPRO tests # +####################################################################################################################################################################################### + +COMPILE | CCPP=Y STATIC=Y SUITES=FV3_GFS_v15p2,FV3_GFS_v16beta REPRO=Y | standard | hera.intel | fv3 | + +RUN | fv3_ccpp_gfs_v15p2 | standard | hera.intel | fv3 | +RUN | fv3_ccpp_gfs_v16beta | standard | hera.intel | fv3 | + +####################################################################################################################################################################################### +# IPD REPRO tests (verify against CCPP REPRO tests) # +####################################################################################################################################################################################### + +COMPILE | REPRO=Y | standard | hera.intel | | + +RUN | fv3_gfs_v15p2 | standard | hera.intel | | +RUN | fv3_gfs_v16beta | standard | hera.intel | | diff --git a/tests/tests/fv3_ccpp_gfs_v15p2 b/tests/tests/fv3_ccpp_gfs_v15p2 index 78ca1fa8bd..bb0bceacf7 100644 --- a/tests/tests/fv3_ccpp_gfs_v15p2 +++ b/tests/tests/fv3_ccpp_gfs_v15p2 @@ -77,7 +77,7 @@ export NODES=$(expr $TASKS / $TPN + 1) DT_ATMOS="1200" -export FV3_RUN=ccpp_gfs_v15_run.IN +export FV3_RUN=gfs_v15_run.IN export CCPP_SUITE=FV3_GFS_v15p2 export CCPP_LIB_DIR=ccpp/lib export INPUT_NML=ccpp_v15p2_c96.nml.IN diff --git a/tests/tests/fv3_ccpp_gfs_v15p2_debug b/tests/tests/fv3_ccpp_gfs_v15p2_debug index e1a0fac782..78ba7ebf75 100644 --- a/tests/tests/fv3_ccpp_gfs_v15p2_debug +++ b/tests/tests/fv3_ccpp_gfs_v15p2_debug @@ -6,9 +6,70 @@ export TEST_DESCR="Run FV3 32bit CCPP GFS v15.2 in DEBUG mode" -export CNTL_DIR=fv3_gfs_v15p2 +export CNTL_DIR=fv3_gfs_v15p2_debug -export LIST_FILES="" +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 \ + phyf000.tile2.nc \ + phyf000.tile3.nc \ + phyf000.tile4.nc \ + phyf000.tile5.nc \ + phyf000.tile6.nc \ + phyf006.tile1.nc \ + phyf006.tile2.nc \ + phyf006.tile3.nc \ + phyf006.tile4.nc \ + phyf006.tile5.nc \ + phyf006.tile6.nc \ + dynf000.tile1.nc \ + dynf000.tile2.nc \ + dynf000.tile3.nc \ + dynf000.tile4.nc \ + dynf000.tile5.nc \ + dynf000.tile6.nc \ + dynf006.tile1.nc \ + dynf006.tile2.nc \ + dynf006.tile3.nc \ + dynf006.tile4.nc \ + dynf006.tile5.nc \ + dynf006.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/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 \ + 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" export_fv3 export NODES=$(expr $TASKS / $TPN + 1) @@ -16,7 +77,7 @@ export NODES=$(expr $TASKS / $TPN + 1) export FHMAX="06" DT_ATMOS="1200" -export FV3_RUN=ccpp_gfs_v15_run.IN +export FV3_RUN=gfs_v15_run.IN export CCPP_SUITE=FV3_GFS_v15p2 export CCPP_LIB_DIR=ccpp/lib export INPUT_NML=ccpp_v15p2_c96.nml.IN diff --git a/tests/tests/fv3_ccpp_gfs_v16beta b/tests/tests/fv3_ccpp_gfs_v16beta index 23b3c98806..2b5014f364 100644 --- a/tests/tests/fv3_ccpp_gfs_v16beta +++ b/tests/tests/fv3_ccpp_gfs_v16beta @@ -77,7 +77,7 @@ export NODES=$(expr $TASKS / $TPN + 1) DT_ATMOS="1200" -export FV3_RUN=ccpp_gfs_v15_run.IN +export FV3_RUN=gfs_v16_run.IN export CCPP_SUITE=FV3_GFS_v16beta export CCPP_LIB_DIR=ccpp/lib export INPUT_NML=ccpp_v16beta_c96.nml.IN diff --git a/tests/tests/fv3_ccpp_gfs_v16beta_debug b/tests/tests/fv3_ccpp_gfs_v16beta_debug index 546aa31808..a7b6be5cc9 100644 --- a/tests/tests/fv3_ccpp_gfs_v16beta_debug +++ b/tests/tests/fv3_ccpp_gfs_v16beta_debug @@ -6,9 +6,70 @@ export TEST_DESCR="Run FV3 32bit CCPP GFS v16beta in DEBUG mode" -export CNTL_DIR=fv3_gfs_v16beta +export CNTL_DIR=fv3_gfs_v16beta_debug -export LIST_FILES="" +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 \ + phyf000.tile2.nc \ + phyf000.tile3.nc \ + phyf000.tile4.nc \ + phyf000.tile5.nc \ + phyf000.tile6.nc \ + phyf006.tile1.nc \ + phyf006.tile2.nc \ + phyf006.tile3.nc \ + phyf006.tile4.nc \ + phyf006.tile5.nc \ + phyf006.tile6.nc \ + dynf000.tile1.nc \ + dynf000.tile2.nc \ + dynf000.tile3.nc \ + dynf000.tile4.nc \ + dynf000.tile5.nc \ + dynf000.tile6.nc \ + dynf006.tile1.nc \ + dynf006.tile2.nc \ + dynf006.tile3.nc \ + dynf006.tile4.nc \ + dynf006.tile5.nc \ + dynf006.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/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 \ + 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" export_fv3 export NODES=$(expr $TASKS / $TPN + 1) @@ -16,7 +77,7 @@ export NODES=$(expr $TASKS / $TPN + 1) export FHMAX="06" DT_ATMOS="1200" -export FV3_RUN=ccpp_gfs_v15_run.IN +export FV3_RUN=gfs_v16_run.IN export CCPP_SUITE=FV3_GFS_v16beta export CCPP_LIB_DIR=ccpp/lib export INPUT_NML=ccpp_v16beta_c96.nml.IN diff --git a/tests/tests/fv3_gfs_v15p2 b/tests/tests/fv3_gfs_v15p2 new file mode 100644 index 0000000000..baf1701934 --- /dev/null +++ b/tests/tests/fv3_gfs_v15p2 @@ -0,0 +1,83 @@ +############################################################################### +# +# FV3 GFS v15.2 compiled with 32-bit dynamics test +# +############################################################################### + +export TEST_DESCR="Compare FV3 32bit GFS v15.2 results with previous trunk version" + +export CNTL_DIR=fv3_gfs_v15p2 + +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 \ + 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 +export NODES=$(expr $TASKS / $TPN + 1) + +DT_ATMOS="1200" + +export FV3_RUN=gfs_v15_run.IN +export INPUT_NML=v15p2_c96.nml.IN + +RUN_SCRIPT=rt_fv3.sh diff --git a/tests/tests/fv3_gfs_v16beta b/tests/tests/fv3_gfs_v16beta new file mode 100644 index 0000000000..6a6bc3d419 --- /dev/null +++ b/tests/tests/fv3_gfs_v16beta @@ -0,0 +1,83 @@ +############################################################################### +# +# FV3 GFS v16beta compiled with 32-bit dynamics test +# +############################################################################### + +export TEST_DESCR="Compare FV3 32bit GFS v16beta results with previous trunk version" + +export CNTL_DIR=fv3_gfs_v16beta + +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 \ + 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 +export NODES=$(expr $TASKS / $TPN + 1) + +DT_ATMOS="1200" + +export FV3_RUN=gfs_v16_run.IN +export INPUT_NML=v16beta_c96.nml.IN + +RUN_SCRIPT=rt_fv3.sh