CCPP Scientific Documentation
v5.0.0
subroutine sgscloud_radpre::sgscloud_radpre_run ( integer, intent(in)  im,
integer, intent(in)  levs,
logical, intent(in)  flag_init,
logical, intent(in)  flag_restart,
logical, intent(in)  do_mynnedmf,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qc,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qi,
real(kind=kind_phys), dimension(im,levs), intent(in)  qv,
real(kind=kind_phys), dimension(im,levs), intent(in)  T3D,
real(kind=kind_phys), dimension(im,levs), intent(in)  P3D,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qr,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qs,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qg,
real(kind=kind_phys), dimension(:,:), intent(inout)  qci_conv,
integer, intent(in)  imfdeepcnv,
integer, intent(in)  imfdeepcnv_gf,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qc_save,
real(kind=kind_phys), dimension(im,levs), intent(inout)  qi_save,
real(kind=kind_phys), dimension(im,levs), intent(in)  qc_bl,
real(kind=kind_phys), dimension(im,levs), intent(in)  qi_bl,
real(kind=kind_phys), dimension(im,levs), intent(in)  cldfra_bl,
real(kind=kind_phys), dimension(im,levs), intent(in)  delp,
real(kind=kind_phys), dimension(im,levs), intent(inout)  clouds1,
real(kind=kind_phys), dimension(im,levs), intent(inout)  clouds2,
real(kind=kind_phys), dimension(im,levs), intent(inout)  clouds3,
real(kind=kind_phys), dimension(im,levs), intent(inout)  clouds4,
real(kind=kind_phys), dimension(im,levs), intent(inout)  clouds5,
real(kind=kind_phys), dimension(im), intent(in)  slmsk,
integer, intent(in)  nlay,
real(kind=kind_phys), dimension(im,nlay), intent(in)  plyr,
real(kind=kind_phys), dimension(im), intent(in)  xlat,
real(kind=kind_phys), dimension(im,nlay), intent(in)  dz,
real(kind=kind_phys), dimension(im), intent(in)  de_lgth,
real(kind=kind_phys), dimension(im,5), intent(inout)  cldsa,
integer, dimension(im,3), intent(inout)  mtopa,
integer, dimension(im,3), intent(inout)  mbota,
integer, intent(in)  imp_physics,
integer, intent(in)  imp_physics_gfdl,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

Argument Table

sgscloud_radpre_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintentoptional
imhorizontal_loop_extenthorizontal loop extentcountinteger()inFalse
levsvertical_dimensionvertical layer dimensioncountinteger()inFalse
flag_initflag_for_first_time_stepflag signaling first time step for time integration loopflaglogical()inFalse
flag_restartflag_for_restartflag for restart (warmstart) or coldstartflaglogical()inFalse
qccloud_condensed_water_mixing_ratioratio of mass of cloud water to mass of dry air plus vapor (without condensates)kg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qiice_water_mixing_ratioratio of mass of ice water to mass of dry air plus vapor (without condensates)kg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qvwater_vapor_specific_humiditywater vapor specific humiditykg kg-1real(horizontal_dimension, vertical_dimension)kind_physinFalse
T3Dair_temperaturelayer mean air temperatureKreal(horizontal_dimension, vertical_dimension)kind_physinFalse
P3Dair_pressuremean layer pressurePareal(horizontal_dimension, vertical_dimension)kind_physinFalse
qrrain_water_mixing_ratiomoist (dry+vapor, no condensates) mixing ratio of rain waterkg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qssnow_water_mixing_ratiomoist (dry+vapor, no condensates) mixing ratio of snow waterkg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qggraupel_mixing_ratiograupel mixing ratio wrt dry+vapor (no condensates)kg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qci_convconvective_cloud_condesate_after_rainoutconvective cloud condesate after rainoutkg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
imfdeepcnvflag_for_mass_flux_deep_convection_schemeflag for mass-flux deep convection schemeflaginteger()inFalse
imfdeepcnv_gfflag_for_gf_deep_convection_schemeflag for Grell-Freitas deep convection schemeflaginteger()inFalse
qc_savecloud_condensed_water_mixing_ratio_saveratio of mass of cloud water to mass of dry air plus vapor (without condensates) before entering a physics schemekg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qi_saveice_water_mixing_ratio_saveratio of mass of ice water to mass of dry air plus vapor (without condensates) before entering a physics schemekg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
QC_BLsubgrid_cloud_water_mixing_ratio_pblsubgrid cloud water mixing ratio from PBL schemekg kg-1real(horizontal_dimension, vertical_dimension)kind_physinFalse
QI_BLsubgrid_cloud_ice_mixing_ratio_pblsubgrid cloud ice mixing ratio from PBL schemekg kg-1real(horizontal_dimension, vertical_dimension)kind_physinFalse
CLDFRA_BLsubgrid_cloud_fraction_pblsubgrid cloud fraction from PBL schemefracreal(horizontal_dimension, vertical_dimension)kind_physinFalse
delplayer_pressure_thickness_for_radiationlayer pressure thickness on radiation levelshPareal(horizontal_dimension, adjusted_vertical_layer_dimension_for_radiation)kind_physinFalse
clouds1total_cloud_fractionlayer total cloud fractionfracreal(horizontal_dimension, vertical_dimension)kind_physinoutFalse
clouds2cloud_liquid_water_pathlayer cloud liquid water pathg m-2real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
clouds3mean_effective_radius_for_liquid_cloudmean effective radius for liquid cloudmicronreal(horizontal_dimension, vertical_dimension)kind_physinoutFalse
clouds4cloud_ice_water_pathlayer cloud ice water pathg m-2real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
clouds5mean_effective_radius_for_ice_cloudmean effective radius for ice cloudmicronreal(horizontal_dimension, vertical_dimension)kind_physinoutFalse
slmsksea_land_ice_mask_reallandmask: sea/land/ice=0/1/2flagreal(horizontal_dimension)kind_physinFalse
nlayadjusted_vertical_layer_dimension_for_radiationnumber of vertical layers for radiationcountinteger()inFalse
plyrair_pressure_at_layer_for_radiation_in_hPaair pressure at vertical layer for radiation calculationhPareal(horizontal_dimension, adjusted_vertical_layer_dimension_for_radiation)kind_physinFalse
xlatlatitudegrid latituderadianreal(horizontal_dimension)kind_physinFalse
dzlayer_thickness_for_radiationlayer thickness on radiation levelskmreal(horizontal_dimension, adjusted_vertical_layer_dimension_for_radiation)kind_physinFalse
de_lgthcloud_decorrelation_lengthcloud decorrelation lengthkmreal(horizontal_dimension)kind_physinFalse
cldsacloud_area_fraction_for_radiationfraction of clouds for low, middle,high, total and BLfracreal(horizontal_dimension, 5)kind_physinoutFalse
mtopamodel_layer_number_at_cloud_topvertical indices for low, middle and high cloud topsindexinteger(horizontal_dimension, 3)inoutFalse
mbotamodel_layer_number_at_cloud_basevertical indices for low, middle and high cloud basesindexinteger(horizontal_dimension, 3)inoutFalse
do_mynnedmfdo_mynnedmfflag to activate MYNN-EDMFflaglogical()inFalse
imp_physicsflag_for_microphysics_schemechoice of microphysics schemeflaginteger()inFalse
imp_physics_gfdlflag_for_gfdl_microphysics_schemechoice of GFDL microphysics schemeflaginteger()inFalse
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*outFalse
errflgccpp_error_flagerror flag for error handling in CCPPflaginteger()outFalse

cloud array description: ! clouds(:,:,1) - layer total cloud fraction ! clouds(:,:,2) - layer cloud liq water path ! clouds(:,:,3) - mean effective radius for liquid cloud ! clouds(:,:,4) - layer cloud ice water path ! clouds(:,:,5) - mean effective radius for ice cloud !

GSD SGS Scheme General Algorithm

  • Compute SFC/low/middle/high cloud top pressure for each cloud domain for given latitude.
  • Recompute the diagnostic high, mid, low, total and bl cloud fraction

References physcons::con_eps, physcons::con_g, physcons::con_pi, funcphys::fpvs(), module_radiation_clouds::gethml(), and radcons::qmin.

Here is the call graph for this function: