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

Fourth reconciliation PR from production/RRFS.v1 #883

Merged
merged 14 commits into from
Dec 6, 2024
Merged
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
2 changes: 1 addition & 1 deletion atmos_cubed_sphere
4 changes: 2 additions & 2 deletions ccpp/data/CCPP_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1620,8 +1620,8 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd
else
Interstitial%ngas = 0
end if
allocate(Interstitial%rilist(0:Interstitial%ngas))
allocate(Interstitial%cpilist(0:Interstitial%ngas))
allocate (Interstitial%rilist(0:Interstitial%ngas))
allocate (Interstitial%cpilist(0:Interstitial%ngas))
if (present(rilist)) then
Interstitial%rilist = rilist(0:Interstitial%ngas)
Interstitial%cpilist = cpilist(0:Interstitial%ngas)
Expand Down
176 changes: 97 additions & 79 deletions ccpp/data/GFS_typedefs.F90

Large diffs are not rendered by default.

35 changes: 31 additions & 4 deletions ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,7 @@
standard_name = emission_smoke_prvd_RRFS
long_name = emission fire RRFS daily
units = various
dimensions = (horizontal_dimension,4)
dimensions = (horizontal_dimension,5)
type = real
kind = kind_phys
active = (do_smoke_coupling)
Expand Down Expand Up @@ -2369,23 +2369,23 @@
standard_name = kinematic_surface_upward_sensible_heat_flux_of_fire
long_name = kinematic surface upward sensible heat flux of fire
units = K m s-1
dimensions = (horizontal_loop_extent)
jkbk2004 marked this conversation as resolved.
Show resolved Hide resolved
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_fire_coupling)
[evap_fire]
standard_name = surface_upward_specific_humidity_flux_of_fire
long_name = kinematic surface upward latent heat flux of fire
units = kg kg-1 m s-1
dimensions = (horizontal_loop_extent)
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_fire_coupling)
[smoke_fire]
standard_name = smoke_emission_of_fire
long_name = smoke emission of fire
units = kg m-2
dimensions = (horizontal_loop_extent)
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_fire_coupling)
Expand Down Expand Up @@ -3244,6 +3244,14 @@
type = real
kind = kind_phys
active = (do_smoke_coupling)
[rho_dry]
standard_name = dry_air_density
long_name = dry air density
units = kg m-3
dimensions = (horizontal_dimension,vertical_layer_dimension)
type = real
kind = kind_phys
active = (do_smoke_coupling)
[uspdavg]
standard_name = mean_wind_speed_in_boundary_layer
long_name = average wind speed within the boundary layer
Expand Down Expand Up @@ -4957,6 +4965,12 @@
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
[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
Expand Down Expand Up @@ -5659,6 +5673,12 @@
units = none
dimensions = ()
type = integer
[conv_cf_opt]
standard_name = option_for_convection_scheme_cloud_fraction_computation
long_name = option for convection scheme cloud fraction computation
units = flag
dimensions = ()
type = integer
[nmtvr]
standard_name = number_of_statistical_measures_of_subgrid_orography
long_name = number of topographic variables in GWD
Expand Down Expand Up @@ -6884,6 +6904,13 @@
dimensions = ()
type = real
kind = kind_phys
[plume_alpha]
standard_name = alpha_for_plumerise_scheme
long_name = alpha paramter for plumerise scheme
units = none
dimensions = ()
type = real
kind = kind_phys
[ebb_dcycle]
standard_name = control_for_diurnal_cycle_of_biomass_burning_emissions
long_name = rrfs smoke diurnal cycle option
Expand Down
12 changes: 12 additions & 0 deletions ccpp/driver/GFS_diagnostics.F90
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,18 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%data(nb)%var2 => IntDiag%fluxr(Model%chunk_begin(nb):Model%chunk_end(nb),32)
enddo

idx = idx + 1
ExtDiag(idx)%axes = 2
ExtDiag(idx)%name = 'csdsf'
ExtDiag(idx)%desc = 'Clear Sky Instantateous Downward Short Wave Flux'
ExtDiag(idx)%unit = 'W/m**2'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%intpl_method = 'bilinear'
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
ExtDiag(idx)%data(nb)%var2 => IntDiag%fluxr(Model%chunk_begin(nb):Model%chunk_end(nb),32)
enddo

idx = idx + 1
ExtDiag(idx)%axes = 2
ExtDiag(idx)%name = 'csulf_ave'
Expand Down
2 changes: 1 addition & 1 deletion ccpp/framework
Submodule framework updated 1 files
+1 −1 CMakeLists.txt
2 changes: 2 additions & 0 deletions ccpp/suites/suite_RRFSens_phy1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>GFS_radiation_surface</scheme>
<scheme>rad_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
2 changes: 2 additions & 0 deletions ccpp/suites/suite_RRFSens_phy4.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>GFS_radiation_surface</scheme>
<scheme>rad_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
Expand Down
4 changes: 3 additions & 1 deletion io/fv3atm_rrfs_sd_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ module fv3atm_rrfs_sd_io
integer, private :: nvar_dust12m = 5
integer, private :: nvar_emi = 1
integer, private :: nvar_fire = 2
integer, private :: nvar_fire2d = 4
integer, private :: nvar_fire2d = 5

character(len=32), pointer, dimension(:), private :: dust12m_name => null()
character(len=32), pointer, dimension(:), private :: emi_name => null()
Expand Down Expand Up @@ -578,6 +578,7 @@ subroutine rrfs_sd_emissions_register_fire(data, Model, restart, Atm_block)
data%fire_name2d(2) = 'frp_davg'
data%fire_name2d(3) = 'fire_end_hr'
data%fire_name2d(4) = 'hwp_davg'
data%fire_name2d(5) = 'totprcp_24hrs'

!--- register axis
call register_axis(restart, 'lon', 'X')
Expand Down Expand Up @@ -637,6 +638,7 @@ subroutine rrfs_sd_emissions_copy_fire(data, Model, Sfcprop, Atm_block)
Sfcprop%smoke2d_RRFS(im,2) = data%fire_var2d(i,j,2)
Sfcprop%smoke2d_RRFS(im,3) = data%fire_var2d(i,j,3)
Sfcprop%smoke2d_RRFS(im,4) = data%fire_var2d(i,j,4)
Sfcprop%smoke2d_RRFS(im,5) = data%fire_var2d(i,j,5)
else
! -- user define their own fire emission
endif
Expand Down
Loading