Skip to content

Commit

Permalink
Merge pull request NOAA-EMC#34 from climbfuji/cleanup_radiation_tende…
Browse files Browse the repository at this point in the history
…ncies

Cleanup radiation tendencies (standard names and allocation)
  • Loading branch information
climbfuji authored Apr 2, 2020
2 parents 3ffe2b4 + 18f7cef commit 59e02cc
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 52 deletions.
4 changes: 2 additions & 2 deletions ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@
},
'rrtmg_sw' : {
'rrtmg_sw_run' : [
'tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step',
'tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels',
'components_of_surface_downward_shortwave_fluxes',
'cloud_liquid_water_path',
'mean_effective_radius_for_liquid_cloud',
Expand All @@ -402,7 +402,7 @@
},
'rrtmg_lw' : {
'rrtmg_lw_run' : [
'tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step',
'tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels',
'cloud_liquid_water_path',
'mean_effective_radius_for_liquid_cloud',
'cloud_ice_water_path',
Expand Down
36 changes: 19 additions & 17 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1225,12 +1225,6 @@ module GFS_typedefs
#endif

#ifdef CCPP
!--- radiation variables that need to be carried over from radiation to physics
real (kind=kind_phys), pointer :: htlwc(:,:) => null() !<
real (kind=kind_phys), pointer :: htlw0(:,:) => null() !<
real (kind=kind_phys), pointer :: htswc(:,:) => null() !<
real (kind=kind_phys), pointer :: htsw0(:,:) => null() !<

!--- dynamical forcing variables for Grell-Freitas convection
real (kind=kind_phys), pointer :: forcet (:,:) => null() !<
real (kind=kind_phys), pointer :: forceq (:,:) => null() !<
Expand Down Expand Up @@ -1743,6 +1737,12 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: hflx_ice(:) => null() !<
real (kind=kind_phys), pointer :: hflx_land(:) => null() !<
real (kind=kind_phys), pointer :: hflx_ocean(:) => null() !<
!--- radiation variables that need to be carried over from radiation to physics
real (kind=kind_phys), pointer :: htlwc(:,:) => null() !<
real (kind=kind_phys), pointer :: htlw0(:,:) => null() !<
real (kind=kind_phys), pointer :: htswc(:,:) => null() !<
real (kind=kind_phys), pointer :: htsw0(:,:) => null() !<
!
real (kind=kind_phys), pointer :: icemp(:) => null() !<
logical, pointer :: dry(:) => null() !<
integer, pointer :: idxday(:) => null() !<
Expand Down Expand Up @@ -5073,16 +5073,6 @@ subroutine tbd_create (Tbd, IM, Model)
#endif

#ifdef CCPP
allocate (Tbd%htlwc (IM,Model%levr+LTP))
allocate (Tbd%htlw0 (IM,Model%levr+LTP))
allocate (Tbd%htswc (IM,Model%levr+LTP))
allocate (Tbd%htsw0 (IM,Model%levr+LTP))

Tbd%htlwc = clear_val
Tbd%htlw0 = clear_val
Tbd%htswc = clear_val
Tbd%htsw0 = clear_val

if (Model%imfdeepcnv == Model%imfdeepcnv_gf .or. Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke) then
allocate(Tbd%forcet(IM, Model%levs))
allocate(Tbd%forceq(IM, Model%levs))
Expand Down Expand Up @@ -5992,13 +5982,17 @@ subroutine interstitial_create (Interstitial, IM, Model)
allocate (Interstitial%hflx_ice (IM))
allocate (Interstitial%hflx_land (IM))
allocate (Interstitial%hflx_ocean (IM))
allocate (Interstitial%htlwc (IM,Model%levr+LTP))
allocate (Interstitial%htlw0 (IM,Model%levr+LTP))
allocate (Interstitial%htswc (IM,Model%levr+LTP))
allocate (Interstitial%htsw0 (IM,Model%levr+LTP))
allocate (Interstitial%dry (IM))
allocate (Interstitial%idxday (IM))
allocate (Interstitial%icy (IM))
allocate (Interstitial%lake (IM))
allocate (Interstitial%ocean (IM))
allocate (Interstitial%islmsk (IM))
allocate (Interstitial%islmsk_cice (IM))
allocate (Interstitial%islmsk_cice (IM))
allocate (Interstitial%wet (IM))
allocate (Interstitial%kbot (IM))
allocate (Interstitial%kcnv (IM))
Expand Down Expand Up @@ -6427,6 +6421,10 @@ subroutine interstitial_rad_reset (Interstitial, Model)
Interstitial%faerlw = clear_val
Interstitial%faersw = clear_val
Interstitial%gasvmr = clear_val
Interstitial%htlwc = clear_val
Interstitial%htlw0 = clear_val
Interstitial%htswc = clear_val
Interstitial%htsw0 = clear_val
Interstitial%idxday = 0
Interstitial%kb = 0
Interstitial%kd = 0
Expand Down Expand Up @@ -6945,6 +6943,10 @@ subroutine interstitial_print(Interstitial, Model, mpirank, omprank, blkno)
write (0,*) 'sum(Interstitial%hflx_ice ) = ', sum(Interstitial%hflx_ice )
write (0,*) 'sum(Interstitial%hflx_land ) = ', sum(Interstitial%hflx_land )
write (0,*) 'sum(Interstitial%hflx_ocean ) = ', sum(Interstitial%hflx_ocean )
write (0,*) 'sum(Interstitial%htlwc ) = ', sum(Interstitial%htlwc )
write (0,*) 'sum(Interstitial%htlw0 ) = ', sum(Interstitial%htlw0 )
write (0,*) 'sum(Interstitial%htswc ) = ', sum(Interstitial%htswc )
write (0,*) 'sum(Interstitial%htsw0 ) = ', sum(Interstitial%htsw0 )
write (0,*) 'Interstitial%dry(:)==.true. = ', count(Interstitial%dry(:) )
write (0,*) 'sum(Interstitial%idxday ) = ', sum(Interstitial%idxday )
write (0,*) 'Interstitial%icy(:)==.true. = ', count(Interstitial%icy(:) )
Expand Down
64 changes: 32 additions & 32 deletions gfsphysics/GFS_layer/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -4465,34 +4465,6 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
[htlwc]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step
long_name = total sky heating rate due to longwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htlw0]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step
long_name = clear sky heating rate due to longwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htswc]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_time_step
long_name = total sky heating rate due to shortwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htsw0]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step
long_name = clear sky heating rates due to shortwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[forcet]
standard_name = temperature_tendency_due_to_dynamics
long_name = temperature tendency due to dynamics only
Expand Down Expand Up @@ -4718,14 +4690,14 @@
dimensions = (horizontal_dimension)
type = sfcflw_type
[htrsw]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_time_step
long_name = total sky sw heating rate
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
[htrlw]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep
standard_name = tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step
long_name = total sky lw heating rate
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
Expand Down Expand Up @@ -4767,14 +4739,14 @@
type = real
kind = kind_phys
[swhc]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_timestep
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step
long_name = clear sky sw heating rates
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
[lwhc]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_timestep
standard_name = tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step
long_name = clear sky lw heating rates
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
Expand Down Expand Up @@ -7251,6 +7223,34 @@
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
[htlwc]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step_and_radiation_levels
long_name = total sky heating rate due to longwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htlw0]
standard_name = tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels
long_name = clear sky heating rate due to longwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htswc]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_time_step_and_radiation_levels
long_name = total sky heating rate due to shortwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[htsw0]
standard_name = tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_time_step_and_radiation_levels
long_name = clear sky heating rates due to shortwave radiation
units = K s-1
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
[icemp]
standard_name = lwe_thickness_of_ice_amount
long_name = explicit ice fall on physics timestep
Expand Down

0 comments on commit 59e02cc

Please sign in to comment.