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

RRTMG cloud overlap updates #476

Closed
wants to merge 2 commits into from
Closed
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
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