Skip to content

Commit

Permalink
Updating RRTMG cloud overlap capability to add EXP and ER
Browse files Browse the repository at this point in the history
  • Loading branch information
mjiacono committed Jul 16, 2020
1 parent 01c2257 commit 9430133
Show file tree
Hide file tree
Showing 9 changed files with 831 additions and 369 deletions.
308 changes: 92 additions & 216 deletions physics/GFS_rrtmg_pre.F90

Large diffs are not rendered by default.

80 changes: 14 additions & 66 deletions physics/GFS_rrtmg_pre.meta
Original file line number Diff line number Diff line change
Expand Up @@ -70,51 +70,6 @@
type = GFS_radtend_type
intent = inout
optional = F
[f_ice]
standard_name = fraction_of_ice_water_cloud
long_name = fraction of ice water cloud
units = frac
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[f_rain]
standard_name = fraction_of_rain_water_cloud
long_name = fraction of rain water cloud
units = frac
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[f_rimef]
standard_name = rime_factor
long_name = rime factor
units = frac
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[flgmin]
standard_name = minimum_large_ice_fraction
long_name = minimum large ice fraction in F-A mp scheme
units = frac
dimensions = (2)
type = real
kind = kind_phys
intent = in
optional = F
[cwm]
standard_name = total_cloud_condensate_mixing_ratio_updated_by_physics
long_name = total cloud condensate mixing ratio (except water vapor) updated by physics
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = out
optional = F
[lm]
standard_name = number_of_vertical_layers_for_radiation_calculations
long_name = number of vertical layers for radiation calculation
Expand Down Expand Up @@ -270,22 +225,6 @@
kind = kind_phys
intent = out
optional = F
[imfdeepcnv]
standard_name = flag_for_mass_flux_deep_convection_scheme
long_name = flag for mass-flux deep convection scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[imfdeepcnv_gf]
standard_name = flag_for_gf_deep_convection_scheme
long_name = flag for Grell-Freitas deep convection scheme
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[gasvmr_co2]
standard_name = volume_mixing_ratio_co2
long_name = CO2 volume mixing ratio
Expand Down Expand Up @@ -446,7 +385,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
intent = out
optional = F
[clouds2]
standard_name = cloud_liquid_water_path
Expand All @@ -455,7 +394,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
intent = out
optional = F
[clouds3]
standard_name = mean_effective_radius_for_liquid_cloud
Expand All @@ -464,7 +403,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
intent = out
optional = F
[clouds4]
standard_name = cloud_ice_water_path
Expand All @@ -473,7 +412,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
intent = out
optional = F
[clouds5]
standard_name = mean_effective_radius_for_ice_cloud
Expand All @@ -482,7 +421,7 @@
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
intent = out
optional = F
[clouds6]
standard_name = cloud_rain_water_path
Expand Down Expand Up @@ -554,6 +493,15 @@
kind = kind_phys
intent = out
optional = F
[alpha]
standard_name = cloud_overlap_decorrelation_parameter
long_name = cloud overlap decorrelation parameter
units = frac
dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation)
type = real
kind = kind_phys
intent = out
optional = F
[alb1d]
standard_name = surface_albedo_perturbation
long_name = surface albedo perturbation
Expand Down
3 changes: 3 additions & 0 deletions physics/physcons.F90
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,9 @@ module physcons
real(kind=kind_phys),parameter:: rhosnow = 100._kind_phys !< density of snow (kg/m^3)
real(kind=kind_phys),parameter:: rhoair = 1.28_kind_phys !< density of air near surface (kg/m^3)

! Decorrelation length constant (km) for iovrlw/iovrsw = 4 or 5 and idcor = 0
real(kind=kind_phys),parameter:: decorr_con = 2.50_kind_phys

!........................................!
end module physcons !
!========================================!
17 changes: 12 additions & 5 deletions physics/physparam.f
Original file line number Diff line number Diff line change
Expand Up @@ -234,28 +234,35 @@ module physparam
!!\n =1:use maximum-random cloud overlapping method
!!\n =2:use maximum cloud overlapping method
!!\n =3:use decorrelation length overlapping method
!!\n =4:use exponential overlapping method
!!\n =5:use exponential-random overlapping method
!!\n Opr GFS/CFS=1; see IOVR_SW in run scripts
integer, save :: iovrsw = 1
integer, save :: iovrsw = 5
!> cloud overlapping control flag for LW
!!\n =0:use random cloud overlapping method
!!\n =1:use maximum-random cloud overlapping method
!!\n =2:use maximum cloud overlapping method
!!\n =3:use decorrelation length overlapping method
!!\n =4:use exponential overlapping method
!!\n =5:use exponential-random overlapping method
!!\n Opr GFS/CFS=1; see IOVR_LW in run scripts
integer, save :: iovrlw = 1

integer, save :: iovrlw = 5
!!\n Decorrelation length type for iovrlw/iovrsw = 4 or 5
!!\n =0:use constant decorrelation length defined by decorr_con (in module physcons)
!!\n =1:use day of year and latitude-varying decorrelation length
integer, save :: idcor = 1
!> sub-column cloud approx flag in SW radiation
!!\n =0:no McICA approximation in SW radiation
!!\n =1:use McICA with precribed permutation seeds (test mode)
!!\n =2:use McICA with randomly generated permutation seeds
!!\n Opr GFS/CFS=2; see ISUBC_SW in run scripts
integer, save :: isubcsw = 0
integer, save :: isubcsw = 2
!> sub-column cloud approx flag in LW radiation
!!\n =0:no McICA approximation in LW radiation
!!\n =1:use McICA with prescribed permutation seeds (test mode)
!!\n =2:use McICA with randomly generatedo
!!\n Opr GFS/CFS=2; see ISUBC_LW in run scripts
integer, save :: isubclw = 0
integer, save :: isubclw = 2

!> eliminating CRICK control flag
logical, save :: lcrick =.false.
Expand Down
Loading

0 comments on commit 9430133

Please sign in to comment.