CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC

◆ gfs_rrtmg_pre_run()

subroutine, public gfs_rrtmg_pre::gfs_rrtmg_pre_run ( integer, intent(in)  im,
integer, intent(in)  levs,
integer, intent(in)  lm,
integer, intent(in)  lmk,
integer, intent(in)  lmp,
integer, intent(in)  n_var_lndp,
integer, intent(in)  imfdeepcnv,
integer, intent(in)  imfdeepcnv_gf,
integer, intent(in)  me,
integer, intent(in)  ncnd,
integer, intent(in)  ntrac,
integer, intent(in)  num_p3d,
integer, intent(in)  npdf3d,
integer, intent(in)  ncnvcld3d,
integer, intent(in)  ntqv,
integer, intent(in)  ntcw,
integer, intent(in)  ntiw,
integer, intent(in)  ntlnc,
integer, intent(in)  ntinc,
integer, intent(in)  ntrnc,
integer, intent(in)  ntsnc,
integer, intent(in)  ntccn,
integer, intent(in)  ntrw,
integer, intent(in)  ntsw,
integer, intent(in)  ntgl,
integer, intent(in)  nthl,
integer, intent(in)  ntwa,
integer, intent(in)  ntoz,
integer, intent(in)  ntclamt,
integer, intent(in)  nleffr,
integer, intent(in)  nieffr,
integer, intent(in)  nseffr,
integer, intent(in)  lndp_type,
integer, intent(in)  kdt,
integer, intent(in)  imp_physics,
integer, intent(in)  imp_physics_nssl,
logical, intent(in)  nssl_ccn_on,
logical, intent(in)  nssl_invertccn,
integer, intent(in)  imp_physics_thompson,
integer, intent(in)  imp_physics_gfdl,
integer, intent(in)  imp_physics_zhao_carr,
integer, intent(in)  imp_physics_zhao_carr_pdf,
integer, intent(in)  imp_physics_mg,
integer, intent(in)  imp_physics_wsm6,
integer, intent(in)  imp_physics_fer_hires,
integer, intent(in)  iovr_rand,
integer, intent(in)  iovr_maxrand,
integer, intent(in)  iovr_max,
integer, intent(in)  iovr_dcorr,
integer, intent(in)  iovr_exp,
integer, intent(in)  iovr_exprand,
integer, intent(in)  idcor_con,
integer, intent(in)  idcor_hogan,
integer, intent(in)  idcor_oreopoulos,
real(kind=kind_phys), intent(in)  julian,
integer, intent(in)  yearlen,
character(len=3), dimension(:), intent(in)  lndp_var_list,
logical, intent(in)  lsswr,
logical, intent(in)  lslwr,
logical, intent(in)  ltaerosol,
logical, intent(in)  lgfdlmprad,
logical, intent(in)  uni_cld,
logical, intent(in)  effr_in,
logical, intent(in)  do_mynnedmf,
logical, intent(in)  lmfshal,
logical, intent(in)  lmfdeep2,
real(kind=kind_phys), intent(in)  fhswr,
real(kind=kind_phys), intent(in)  fhlwr,
real(kind=kind_phys), intent(in)  solhr,
real(kind=kind_phys), intent(in)  sup,
real(kind=kind_phys), intent(in)  con_eps,
real(kind=kind_phys), intent(in)  epsm1,
real(kind=kind_phys), intent(in)  fvirt,
real(kind=kind_phys), intent(in)  rog,
real(kind=kind_phys), intent(in)  rocp,
real(kind=kind_phys), intent(in)  con_rd,
real(kind=kind_phys), dimension(:), intent(in)  xlat_d,
real(kind=kind_phys), dimension(:), intent(in)  xlat,
real(kind=kind_phys), dimension(:), intent(in)  xlon,
real(kind=kind_phys), dimension(:), intent(in)  coslat,
real(kind=kind_phys), dimension(:), intent(in)  sinlat,
real(kind=kind_phys), dimension(:), intent(in)  tsfc,
real(kind=kind_phys), dimension(:), intent(in)  slmsk,
real(kind=kind_phys), dimension(:,:), intent(in)  prsi,
real(kind=kind_phys), dimension(:,:), intent(in)  prsl,
real(kind=kind_phys), dimension(:,:), intent(in)  prslk,
real(kind=kind_phys), dimension(:,:), intent(in)  tgrs,
real(kind=kind_phys), dimension(:,:), intent(in)  sfc_wts,
real(kind=kind_phys), dimension(:,:), intent(in)  mg_cld,
real(kind=kind_phys), dimension(:,:), intent(in)  effrr_in,
logical, intent(in)  pert_clds,
real(kind=kind_phys), dimension(:,:), intent(in)  sppt_wts,
real(kind=kind_phys), intent(in)  sppt_amp,
real(kind=kind_phys), dimension(:,:), intent(in)  cnvw_in,
real(kind=kind_phys), dimension(:,:), intent(in)  cnvc_in,
real(kind=kind_phys), dimension(:,:,:), intent(in)  qgrs,
real(kind=kind_phys), dimension(:,:,:), intent(in)  aer_nm,
real(kind=kind_phys), dimension(:), intent(in)  dx,
integer, intent(in)  icloud,
real(kind=kind_phys), dimension(:), intent(inout)  coszen,
real(kind=kind_phys), dimension(:), intent(inout)  coszdg,
real(kind=kind_phys), dimension(:,:), intent(inout)  effrl_inout,
real(kind=kind_phys), dimension(:,:), intent(inout)  effri_inout,
real(kind=kind_phys), dimension(:,:), intent(inout)  effrs_inout,
real(kind=kind_phys), dimension(:,:), intent(inout)  clouds1,
real(kind=kind_phys), dimension(:,:), intent(inout)  clouds2,
real(kind=kind_phys), dimension(:,:), intent(inout)  clouds3,
real(kind=kind_phys), dimension(:,:), intent(inout)  clouds4,
real(kind=kind_phys), dimension(:,:), intent(inout)  clouds5,
real(kind=kind_phys), dimension(:,:), intent(in)  qci_conv,
integer, intent(out)  kd,
integer, intent(out)  kt,
integer, intent(out)  kb,
integer, dimension(:,:), intent(out)  mtopa,
integer, dimension(:,:), intent(out)  mbota,
real(kind=kind_phys), intent(out)  raddt,
real(kind=kind_phys), dimension(:), intent(out)  tsfg,
real(kind=kind_phys), dimension(:), intent(out)  tsfa,
real(kind=kind_phys), dimension(:), intent(out)  de_lgth,
real(kind=kind_phys), dimension(:), intent(out)  alb1d,
real(kind=kind_phys), dimension(:,:), intent(out)  delp,
real(kind=kind_phys), dimension(:,:), intent(out)  dz,
real(kind=kind_phys), dimension(:,:), intent(out)  plvl,
real(kind=kind_phys), dimension(:,:), intent(out)  plyr,
real(kind=kind_phys), dimension(:,:), intent(out)  tlvl,
real(kind=kind_phys), dimension(:,:), intent(out)  tlyr,
real(kind=kind_phys), dimension(:,:), intent(out)  qlyr,
real(kind=kind_phys), dimension(:,:), intent(out)  olyr,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_co2,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_n2o,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_ch4,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_o2,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_co,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_cfc11,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_cfc12,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_cfc22,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_ccl4,
real(kind=kind_phys), dimension(:,:), intent(out)  gasvmr_cfc113,
real(kind=kind_phys), dimension(:,:), intent(out)  aerodp,
real(kind=kind_phys), dimension(:,:), intent(out)  clouds6,
real(kind=kind_phys), dimension(:,:), intent(out)  clouds7,
real(kind=kind_phys), dimension(:,:), intent(out)  clouds8,
real(kind=kind_phys), dimension(:,:), intent(out)  clouds9,
real(kind=kind_phys), dimension(:,:), intent(out)  cldsa,
real(kind=kind_phys), dimension(:,:), intent(out)  cldfra,
real(kind=kind_phys), dimension(:), intent(out)  cldfra2d,
real(kind=kind_phys), dimension(:), intent(out)  lwp_ex,
real(kind=kind_phys), dimension(:), intent(out)  iwp_ex,
real(kind=kind_phys), dimension(:), intent(out)  lwp_fc,
real(kind=kind_phys), dimension(:), intent(out)  iwp_fc,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faersw1,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faersw2,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faersw3,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faerlw1,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faerlw2,
real(kind=kind_phys), dimension(:,:,:), intent(out)  faerlw3,
real(kind=kind_phys), dimension(:,:), intent(out)  alpha,
real(kind_phys), dimension(:,:), intent(in)  spp_wts_rad,
integer, intent(in)  spp_rad,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

Argument Table

GFS_rrtmg_pre_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
levsvertical_layer_dimensionnumber of vertical levelscountinteger()in
lmvertical_dimension_for_radiationnumber of vertical layers for radiation calculationcountinteger()in
lmkadjusted_vertical_layer_dimension_for_radiationnumber of vertical layers for radiationcountinteger()in
lmpadjusted_vertical_level_dimension_for_radiationnumber of vertical levels for radiationcountinteger()in
n_var_lndpnumber_of_perturbed_land_surface_variablesnumber of land surface variables perturbedcountinteger()in
imfdeepcnvcontrol_for_deep_convection_schemeflag for mass-flux deep convection schemeflaginteger()in
imfdeepcnv_gfidentifier_for_grell_freitas_deep_convectionflag for Grell-Freitas deep convection schemeflaginteger()in
mempi_rankcurrent MPI-rankindexinteger()in
ncndnumber_of_condensate_speciesnumber of cloud condensate typescountinteger()in
ntracnumber_of_tracersnumber of tracerscountinteger()in
num_p3dnumber_of_microphysics_variables_in_xyz_dimensioned_restart_arraynumber of 3D arrays needed for microphysicscountinteger()in
npdf3dnumber_of_pdf_based_variables_in_xyz_dimensioned_restart_arraynumber of 3d arrays associated with pdf based clouds/mpcountinteger()in
ncnvcld3dnumber_of_convective_cloud_variables_in_xyz_dimensioned_restart_arraynumber of convective 3d clouds fieldscountinteger()in
ntqvindex_of_specific_humidity_in_tracer_concentration_arraytracer index for water vapor (specific humidity)indexinteger()in
ntcwindex_of_cloud_liquid_water_mixing_ratio_in_tracer_concentration_arraytracer index for cloud condensate (or liquid water)indexinteger()in
ntiwindex_of_cloud_ice_mixing_ratio_in_tracer_concentration_arraytracer index for ice waterindexinteger()in
ntlncindex_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_arraytracer index for liquid number concentrationindexinteger()in
ntincindex_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_arraytracer index for ice number concentrationindexinteger()in
ntrncindex_of_mass_number_concentration_of_rain_in_tracer_concentration_arraytracer index for rain number concentrationindexinteger()in
ntsncindex_of_mass_number_concentration_of_snow_in_tracer_concentration_arraytracer index for snow number concentrationindexinteger()in
ntrwindex_of_rain_mixing_ratio_in_tracer_concentration_arraytracer index for rain waterindexinteger()in
ntswindex_of_snow_mixing_ratio_in_tracer_concentration_arraytracer index for snow waterindexinteger()in
ntglindex_of_graupel_mixing_ratio_in_tracer_concentration_arraytracer index for graupelindexinteger()in
nthlindex_of_hail_mixing_ratio_in_tracer_concentration_arraytracer index for hailindexinteger()in
ntccnindex_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_arraytracer index for cloud condensation nuclei number concentrationindexinteger()in
ntwaindex_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_arraytracer index for water friendly aerosolindexinteger()in
ntozindex_of_ozone_mixing_ratio_in_tracer_concentration_arraytracer index for ozone mixing ratioindexinteger()in
nssl_ccn_onnssl_ccn_onCCN activation flag in NSSL microflaglogical()in
nssl_invertccnnssl_invertccnflag to invert CCN in NSSL microflaglogical()in
ntclamtindex_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_arraytracer index for cloud amount integerindexinteger()in
nleffrindex_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_arraythe index of cloud liquid water effective radius in phy_f3dindexinteger()in
nieffrindex_of_cloud_ice_effective_radius_in_xyz_dimensioned_restart_arraythe index of ice effective radius in phy_f3dindexinteger()in
nseffrindex_of_snow_effective_radius_in_xyz_dimensioned_restart_arraythe index of snow effective radius in phy_f3dindexinteger()in
lndp_typecontrol_for_stochastic_land_surface_perturbationindex for stochastic land surface perturbations typeindexinteger()in
kdtindex_of_timestepcurrent forecast iterationindexinteger()in
imp_physicscontrol_for_microphysics_schemechoice of microphysics schemeflaginteger()in
imp_physics_nsslidentifier_for_nssl_microphysics_schemechoice of NSSL 2-moment microphysics schemeflaginteger()in
imp_physics_thompsonidentifier_for_thompson_microphysics_schemechoice of Thompson microphysics schemeflaginteger()in
imp_physics_gfdlidentifier_for_gfdl_microphysics_schemechoice of GFDL microphysics schemeflaginteger()in
imp_physics_zhao_carridentifier_for_zhao_carr_microphysics_schemechoice of Zhao-Carr microphysics schemeflaginteger()in
imp_physics_zhao_carr_pdfidentifier_for_zhao_carr_pdf_microphysics_schemechoice of Zhao-Carr microphysics scheme with PDF cloudsflaginteger()in
imp_physics_mgidentifier_for_morrison_gettelman_microphysics_schemechoice of Morrison-Gettelman microphysics schemeflaginteger()in
imp_physics_wsm6identifier_for_wsm6_microphysics_schemechoice of WSM6 microphysics schemeflaginteger()in
imp_physics_fer_hiresidentifier_for_fer_hires_microphysics_schemechoice of Ferrier-Aligo microphysics schemeflaginteger()in
iovr_randflag_for_random_cloud_overlap_methodchoice of random cloud overlap methodflaginteger()in
iovr_maxrandflag_for_maximum_random_cloud_overlap_methodchoice of maximum-random cloud overlap methodflaginteger()in
iovr_maxflag_for_maximum_cloud_overlap_methodchoice of maximum cloud overlap methodflaginteger()in
iovr_dcorrflag_for_decorrelation_length_cloud_overlap_methodchoice of decorrelation-length cloud overlap methodflaginteger()in
iovr_expflag_for_exponential_cloud_overlap_methodchoice of exponential cloud overlap methodflaginteger()in
iovr_exprandflag_for_exponential_random_cloud_overlap_methodchoice of exponential-random cloud overlap methodflaginteger()in
idcor_conflag_for_constant_decorrelation_length_methodchoice of decorrelation length computation (costant)flaginteger()in
idcor_hoganflag_for_hogan_decorrelation_length_methodchoice of decorrelation length computation (hogan)flaginteger()in
idcor_oreopoulosflag_for_oreopoulos_decorrelation_length_methodchoice of decorrelation length computation (oreopoulos)flaginteger()in
julianforecast_julian_dayjulian daydaysreal()kind_physin
yearlennumber_of_days_in_current_yearnumber of days in a yeardaysinteger()in
lndp_var_listland_surface_perturbation_variablesvariables to be perturbed for landpertsnonecharacter(ccpp_constant_one:number_of_perturbed_land_surface_variables)len=3in
lsswrflag_for_calling_shortwave_radiationlogical flags for sw radiation callsflaglogical()in
lslwrflag_for_calling_longwave_radiationlogical flags for lw radiation callsflaglogical()in
ltaerosolflag_for_aerosol_physicsflag for aerosol physicsflaglogical()in
lgfdlmpradflag_for_gfdl_microphysics_radiation_interactionflag for GFDL microphysics-radiation interactionflaglogical()in
uni_cldflag_for_shoc_cloud_area_fraction_for_radiationflag for uni_cldflaglogical()in
effr_inflag_for_cloud_effective_radiiflag for cloud effective radii calculations in GFDL microphysicsflaglogical()in
do_mynnedmfflag_for_mellor_yamada_nakanishi_niino_pbl_schemeflag to activate MYNN-EDMFflaglogical()in
lmfshalflag_for_cloud_area_fraction_option_for_radiationflag for lmfshalflaglogical()in
lmfdeep2flag_for_scale_aware_mass_flux_deep_convection_for_radiationflag for some scale-aware mass-flux convection scheme activeflaglogical()in
fhswrperiod_of_shortwave_radiation_callsfrequency for shortwave radiationsreal()kind_physin
fhlwrperiod_of_longwave_radiation_callsfrequency for longwave radiationsreal()kind_physin
solhrforecast_utc_hourtime in hours after 00z at the current timestephreal()kind_physin
suptunable_parameter_for_ice_supersaturationice supersaturation parameter for PDF cloudsnonereal()kind_physin
con_epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
fvirtratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
rogratio_of_gas_constant_dry_air_to_gravitational_acceleration(rd/g)J s2 K-1 kg-1 m-1real()kind_physin
rocpratio_of_gas_constant_dry_air_to_specific_heat_of_dry_air_at_constant_pressure(rd/cp)nonereal()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
xlat_dlatitude_in_degreelatitude in degree northdegree_northreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
xlatlatitudelatituderadianreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
xlonlongitudelongituderadianreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
coslatcosine_of_latitudecosine of latitudenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sinlatsine_of_latitudesine of latitudenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
tsfcsurface_skin_temperaturesurface skin temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
slmskarea_typelandmask: sea/land/ice=0/1/2flagreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
prsiair_pressure_at_interfaceair pressure at model layer interfacesPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physin
prslair_pressuremean layer pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
prslkdimensionless_exner_functiondimensionless Exner function at model layer centersnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
tgrsair_temperaturemodel layer mean temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
sfc_wtssurface_stochastic_weights_from_coupled_processweights for stochastic surface physics perturbation1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:number_of_perturbed_land_surface_variables)kind_physin
mg_cldcloud_fraction_for_mgcloud fraction used by Morrison-Gettelman MPfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
effrr_ineffective_radius_of_stratiform_cloud_rain_particleeffective radius of cloud rain particle in micrometersumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
pert_cldsflag_for_stochastic_cloud_fraction_perturbationsflag for stochastic cloud fraction physics perturbationsflaglogical()in
sppt_wtssppt_weights_from_coupled_processweights for stochastic sppt perturbationnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
sppt_amptotal_amplitude_of_sppt_perturbationtotal ampltidue of stochastic sppt perturbationnonereal()kind_physin
cnvw_inconvective_cloud_condensate_mixing_ratioconvective cloud water mixing ratio in the phy_f3d arraykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
cnvc_inconvective_cloud_area_fractionconvective cloud cover in the phy_f3d arrayfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
qgrstracer_concentrationmodel layer mean tracer concentrationkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_tracers)kind_physin
aer_nmmass_number_concentration_of_aerosol_from_gocart_climatologyGOCART aerosol climatology number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_aerosol_tracers_MG)kind_physin
dxcharacteristic_grid_lengthscalerelative dx for the grid cellmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
icloudcontrol_for_cloud_area_fraction_optioncloud effect to the optical depth and cloud fraction in radiationflaginteger()in
coszencosine_of_solar_zenith_angle_for_daytime_points_on_radiation_timestepmean cos of zenith angle over rad call periodnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
coszdgcosine_of_solar_zenith_angle_on_radiation_timestepdaytime mean cosz over rad call periodnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
effrl_inouteffective_radius_of_stratiform_cloud_liquid_water_particleeff. radius of cloud liquid water particle in micrometerumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
effri_inouteffective_radius_of_stratiform_cloud_ice_particleeff. radius of cloud ice water particle in micrometerumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
effrs_inouteffective_radius_of_stratiform_cloud_snow_particleeffective radius of cloud snow particle in micrometersumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
clouds1total_cloud_fractionlayer total cloud fractionfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physinout
clouds2cloud_liquid_water_pathlayer cloud liquid water pathg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physinout
clouds3mean_effective_radius_for_liquid_cloudmean effective radius for liquid cloudumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physinout
clouds4cloud_ice_water_pathlayer cloud ice water pathg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physinout
clouds5mean_effective_radius_for_ice_cloudmean effective radius for ice cloudumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physinout
qci_convconvective_cloud_condesate_after_rainoutconvective cloud condesate after rainoutkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
kdvertical_index_difference_between_inout_and_localvertical index difference between in/out and localindexinteger()out
ktvertical_index_difference_between_layer_and_upper_boundvertical index difference between layer and upper boundindexinteger()out
kbvertical_index_difference_between_layer_and_lower_boundvertical index difference between layer and lower boundindexinteger()out
mtopamodel_layer_number_at_cloud_topvertical indices for low, middle and high cloud topsindexinteger(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:3)out
mbotamodel_layer_number_at_cloud_basevertical indices for low, middle and high cloud basesindexinteger(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:3)out
raddttime_step_for_radiationradiation time stepsreal()kind_physout
tsfgsurface_ground_temperature_for_radiationsurface ground temperature for radiationKreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
tsfasurface_air_temperature_for_radiationlowest model layer air temperature for radiationKreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
de_lgthcloud_decorrelation_lengthcloud decorrelation lengthkmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
alb1dsurface_albedo_perturbationsurface albedo perturbationfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
delplayer_pressure_thickness_for_radiationlayer pressure thickness on radiation levelshPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
dzlayer_thickness_for_radiationlayer thickness on radiation levelskmreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
plvlair_pressure_at_interface_for_radiation_in_hpaair pressure at vertical interface for radiation calculationhPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_level_dimension_for_radiation)kind_physout
plyrair_pressure_at_layer_for_radiation_in_hpaair pressure at vertical layer for radiation calculationhPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
tlvlair_temperature_at_interface_for_radiationair temperature at vertical interface for radiation calculationKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_level_dimension_for_radiation)kind_physout
tlyrair_temperature_at_layer_for_radiationair temperature at vertical layer for radiation calculationKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
qlyrwater_vapor_specific_humidity_at_layer_for_radiationwater vapor specific humidity at vertical layer for radiation calculationkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
olyrozone_concentration_at_layer_for_radiationozone concentrationkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_co2volume_mixing_ratio_of_co2CO2 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_n2ovolume_mixing_ratio_of_n2oN2O volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_ch4volume_mixing_ratio_of_ch4CH4 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_o2volume_mixing_ratio_of_o2O2 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_covolume_mixing_ratio_of_coCO volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_cfc11volume_mixing_ratio_of_cfc11CFC11 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_cfc12volume_mixing_ratio_of_cfc12CFC12 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_cfc22volume_mixing_ratio_of_cfc22CFC22 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_ccl4volume_mixing_ratio_of_ccl4CCL4 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
gasvmr_cfc113volume_mixing_ratio_of_cfc113CFC113 volume mixing ratiom3 m-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
aerodpatmosphere_optical_thickness_due_to_ambient_aerosol_particlesvertical integrated optical depth for various aerosol speciesnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:number_of_species_for_aerosol_optical_depth)kind_physout
clouds6cloud_rain_water_pathcloud rain water pathg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
clouds7mean_effective_radius_for_rain_dropmean effective radius for rain dropumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
clouds8cloud_snow_water_pathcloud snow water pathg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
clouds9mean_effective_radius_for_snow_flakemean effective radius for snow flakeumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
cldsacloud_area_fraction_for_radiationfraction of clouds for low, middle,high, total and BLfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:5)kind_physout
cldfrainstantaneous_3d_cloud_fractioninstantaneous 3D cloud fraction for all MPsfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
cldfra2dmax_in_column_cloud_fractioninstantaneous 2D (max-in-column) cloud fractionfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
lwp_exliq_water_path_from_microphysicstotal liquid water path from explicit microphysicskg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
iwp_exice_water_path_from_microphysicstotal ice water path from explicit microphysicskg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
lwp_fcliq_water_path_from_cloud_fractiontotal liquid water path from cloud fraction schemekg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
iwp_fcice_water_path_from_cloud_fractiontotal ice water path from cloud fraction schemekg m-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
faersw1aerosol_optical_depth_for_shortwave_bands_01_16aerosol optical depth for shortwave bands 01-16nonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_shortwave_radiation)kind_physout
faersw2aerosol_single_scattering_albedo_for_shortwave_bands_01_16aerosol single scattering albedo for shortwave bands 01-16fracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_shortwave_radiation)kind_physout
faersw3aerosol_asymmetry_parameter_for_shortwave_bands_01_16aerosol asymmetry parameter for shortwave bands 01-16nonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_shortwave_radiation)kind_physout
faerlw1aerosol_optical_depth_for_longwave_bands_01_16aerosol optical depth for longwave bands 01-16nonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_longwave_radiation)kind_physout
faerlw2aerosol_single_scattering_albedo_for_longwave_bands_01_16aerosol single scattering albedo for longwave bands 01-16fracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_longwave_radiation)kind_physout
faerlw3aerosol_asymmetry_parameter_for_longwave_bands_01_16aerosol asymmetry parameter for longwave bands 01-16nonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation, ccpp_constant_one:number_of_aerosol_bands_for_longwave_radiation)kind_physout
alphacloud_overlap_decorrelation_parametercloud overlap decorrelation parameterfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:adjusted_vertical_layer_dimension_for_radiation)kind_physout
spp_wts_radspp_weights_for_radiation_schemespp weights for radiation scheme1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
spp_radcontrol_for_radiation_spp_perturbationscontrol for radiation spp perturbationscountinteger()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

General Algorithm

  • Setup surface ground temperature and ground/air skin temperature if required.
  • Prepare atmospheric profiles for radiation input.
  • Compute relative humidity.
  • Recast remaining all tracers (except sphum) forcing them all to be positive.
  • Get layer ozone mass mixing ratio (if use ozone climatology data, call getozn()).
  • Call coszmn(), to compute cosine of zenith angle (only when SW is called)
  • Call getgases(), to set up non-prognostic gas volume mixing ratioes (gasvmr).
  • Get temperature at layer interface, and layer moisture.
  • Call module_radiation_aerosols::setaer(),to setup aerosols property profile for radiation.
  • Obtain cloud information for radiation calculations (clouds,cldsa,mtopa,mbota)
  • Call Thompson's subroutine calc_effectRad() to compute effective radii
  • Call radiation_clouds_prop() to calculate cloud properties.
  • Call ppfbet() to perturb cld cover.
  • Call cdfnor() to pert surface albedo.

References module_radiation_clouds::adjust_cloudfinal(), module_radiation_clouds::adjust_cloudh2o(), module_radiation_clouds::adjust_cloudice(), module_radiation_clouds::cal_cldfra3(), module_mp_thompson::calc_effectrad(), surface_perturbation::cdfnor(), module_radiation_astronomy::coszmn(), module_radiation_gases::getgases(), module_radiation_gases::getozn(), module_mp_thompson_make_number_concentrations::make_dropletnumber(), module_mp_thompson_make_number_concentrations::make_icenumber(), module_mp_thompson_make_number_concentrations::make_rainnumber(), module_radiation_clouds::nf_clds, module_radiation_gases::nf_vgas, surface_perturbation::ppfbet(), and module_radiation_clouds::radiation_clouds_prop().

Here is the call graph for this function: