From 2887d5ed7f0f5ca45a4e87f5cfde49ceddcc9f95 Mon Sep 17 00:00:00 2001 From: haiqinli <38666296+haiqinli@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:57:58 -0600 Subject: [PATCH] [production/RRFS.v1] The final physics update PR to RRFS.v1 (#841) * "Update to scale the RAVE fire emission and duirnal cycle of agriculute fire" * update physics hash update --------- --- .gitmodules | 6 ++++-- ccpp/data/GFS_typedefs.F90 | 19 ++++++++++++++----- ccpp/data/GFS_typedefs.meta | 22 ++++++++++++++++++---- ccpp/physics | 2 +- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/.gitmodules b/.gitmodules index 22c723ac1..b946641fd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,10 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + #url = https://github.com/ufs-community/ccpp-physics + #branch = ufs/dev + url = https://github.com/grantfirl/ccpp-physics + branch = rrfsv1-to-ufs/dev8 [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index f904b2f24..15833c91c 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -1577,7 +1577,9 @@ module GFS_typedefs integer :: addsmoke_flag integer :: plumerisefire_frq integer :: n_dbg_lines - integer :: smoke_forecast + integer :: hwp_method + logical :: add_fire_moist_flux ! Flag to add moisture fluxes based on PM2.5 emissions + real(kind=kind_phys) :: sc_factor logical :: aero_ind_fdb ! WFA/IFA indirect logical :: aero_dir_fdb ! smoke/dust direct logical :: rrfs_smoke_debug @@ -3993,10 +3995,12 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: extended_sd_diags = .false. integer :: wetdep_ls_opt = 1 logical :: do_plumerise = .false. + logical :: add_fire_moist_flux = .false. + real(kind=kind_phys) :: sc_factor = 1.0 integer :: addsmoke_flag = 1 integer :: plumerisefire_frq = 60 integer :: n_dbg_lines = 3 - integer :: smoke_forecast = 0 ! RRFS-sd read in ebb_smoke + integer :: hwp_method = 2 ! RRFS-sd read in ebb_smoke logical :: aero_ind_fdb = .false. ! RRFS-sd wfa/ifa emission logical :: aero_dir_fdb = .false. ! RRFS-sd smoke/dust radiation feedback logical :: rrfs_smoke_debug = .false. ! RRFS-sd plumerise debug @@ -4183,10 +4187,11 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & dust_alpha, dust_gamma, wetdep_ls_alpha, & seas_opt, dust_opt, drydep_opt, coarsepm_settling, & plume_wind_eff,ebb_dcycle, extended_sd_diags, & - wetdep_ls_opt, smoke_forecast, aero_ind_fdb, aero_dir_fdb, & + wetdep_ls_opt, hwp_method, aero_ind_fdb, aero_dir_fdb, & rrfs_smoke_debug, do_plumerise, plumerisefire_frq, & addsmoke_flag, enh_mix, mix_chem, smoke_dir_fdb_coef, & do_smoke_transport,smoke_conv_wet_coef,n_dbg_lines, & + add_fire_moist_flux, sc_factor, & !--- C3/GF closures ichoice,ichoicem,ichoice_s, & !--- (DFI) time ranges with radar-prescribed microphysics tendencies @@ -4445,7 +4450,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%n_dbg_lines = n_dbg_lines Model%plumerisefire_frq = plumerisefire_frq Model%addsmoke_flag = addsmoke_flag - Model%smoke_forecast = smoke_forecast + Model%add_fire_moist_flux = add_fire_moist_flux + Model%sc_factor = sc_factor + Model%hwp_method = hwp_method Model%aero_ind_fdb = aero_ind_fdb Model%aero_dir_fdb = aero_dir_fdb Model%rrfs_smoke_debug = rrfs_smoke_debug @@ -6591,8 +6598,10 @@ subroutine control_print(Model) print *, 'wetdep_ls_opt : ',Model%wetdep_ls_opt print *, 'do_plumerise : ',Model%do_plumerise print *, 'plumerisefire_frq: ',Model%plumerisefire_frq + print *, 'add_fire_moist_flux: ',Model%add_fire_moist_flux + print *, 'sc_factor : ',Model%sc_factor print *, 'addsmoke_flag : ',Model%addsmoke_flag - print *, 'smoke_forecast : ',Model%smoke_forecast + print *, 'hwp_method : ',Model%hwp_method print *, 'aero_ind_fdb : ',Model%aero_ind_fdb print *, 'aero_dir_fdb : ',Model%aero_dir_fdb print *, 'rrfs_smoke_debug : ',Model%rrfs_smoke_debug diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 567d0e37e..d4c9f57a7 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -4957,6 +4957,19 @@ units = flag dimensions = () type = logical +[add_fire_moist_flux] + standard_name = flag_for_fire_moisture_flux + long_name = flag to add fire moisture flux + units = flag + dimensions = () + type = logical +[sc_factor] + standard_name = scale_factor_for_wildfire_emissions + long_name = scale factor for wildfire emissions + units = 1 + dimensions = () + type = real + kind = kind_phys [isncond_opt] standard_name = control_for_soil_thermal_conductivity_option_in_ruc_lsm long_name = control for soil thermal conductivity option in RUC land surface model @@ -6956,10 +6969,11 @@ units = index dimensions = () type = integer -[smoke_forecast] - standard_name = do_smoke_forecast - long_name = index for rrfs smoke forecast - units = index + active = (do_smoke_coupling) +[hwp_method] + standard_name = control_for_HWP_equation + long_name = control for HWP equation + units = 1 dimensions = () type = integer [aero_ind_fdb] diff --git a/ccpp/physics b/ccpp/physics index 6e0467ad0..409df9bf8 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 6e0467ad07a2231d298dc3be91a923c934354a7f +Subproject commit 409df9bf8511d3dc189afc1ff80d93c25152740a