CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ 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,
logical, intent(in) lextop,
integer, intent(in) ltp,
integer, intent(in) imfdeepcnv,
integer, intent(in) imfdeepcnv_gf,
integer, intent(in) imfdeepcnv_c3,
integer, intent(in) me,
integer, intent(in) ncnd,
integer, intent(in) ntrac,
integer, intent(in) num_p3d,
integer, intent(in) npdf3d,
logical, intent(in) xr_cnvcld,
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,
logical, intent(in) top_at_1,
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) ntsmoke,
integer, intent(in) ntdust,
integer, intent(in) ntcoarsepm,
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) ntdu1,
integer, intent(in) ntdu2,
integer, intent(in) ntdu3,
integer, intent(in) ntdu4,
integer, intent(in) ntdu5,
integer, intent(in) ntss1,
integer, intent(in) ntss2,
integer, intent(in) ntss3,
integer, intent(in) ntss4,
integer, intent(in) ntss5,
integer, intent(in) ntsu,
integer, intent(in) ntbcb,
integer, intent(in) ntbcl,
integer, intent(in) ntocb,
integer, intent(in) ntocl,
integer, intent(in) ntchm,
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,
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,
integer, intent(in) idcor_con,
integer, intent(in) idcor_hogan,
integer, intent(in) idcor_oreopoulos,
real(kind=kind_phys), intent(in) dcorr_con,
real(kind=kind_phys), intent(in) julian,
integer, intent(in) yearlen,
character(len=3), dimension(:), intent(in), optional lndp_var_list,
logical, intent(in) lsswr,
logical, intent(in) lslwr,
logical, intent(in) ltaerosol,
logical, intent(in) mraerosol,
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) lcnorm,
logical, intent(in) lmfdeep2,
logical, intent(in) lcrick,
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), optional sfc_wts,
real(kind=kind_phys), dimension(:,:), intent(in), optional mg_cld,
real(kind=kind_phys), dimension(:,:), intent(in), optional effrr_in,
logical, intent(in) pert_clds,
real(kind=kind_phys), dimension(:,:), intent(in), optional sppt_wts,
real(kind=kind_phys), intent(in) sppt_amp,
real(kind=kind_phys), dimension(:,:), intent(in), optional cnvw_in,
real(kind=kind_phys), dimension(:,:), intent(in), optional cnvc_in,
real(kind=kind_phys), dimension(:,:,:), intent(in) qgrs,
real(kind=kind_phys), dimension(:,:,:), intent(inout) aer_nm,
real(kind=kind_phys), dimension(:), intent(in) dx,
integer, intent(in) icloud,
integer, intent(in) iaermdl,
integer, intent(in) iaerflg,
real(kind=kind_phys), intent(in) con_pi,
real(kind=kind_phys), intent(in) con_g,
real(kind=kind_phys), intent(in) con_ttp,
real(kind=kind_phys), intent(in) con_thgni,
real(kind=kind_phys), dimension(:), intent(in) si,
real(kind=kind_phys), dimension(:), intent(inout) coszen,
real(kind=kind_phys), dimension(:), intent(inout) coszdg,
real(kind=kind_phys), dimension(:,:), intent(inout), optional effrl_inout,
real(kind=kind_phys), dimension(:,:), intent(inout), optional effri_inout,
real(kind=kind_phys), dimension(:,:), intent(inout), optional 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), optional 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) ext550,
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,
logical, intent(in) rrfs_sd,
logical, intent(in) aero_dir_fdb,
real(kind=kind_phys), dimension(:), intent(in) fdb_coef,
real(kind_phys), dimension(:,:), intent(in), optional spp_wts_rad,
integer, intent(in) spp_rad,
integer, intent(in) ico2,
type(ty_ozphys), intent(in) ozphys,
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
lextopdo_extra_top_layer_for_radiationuse an extra top layer for radiationflaglogical()in
xr_cnvcldflag_for_suspended_convective_clouds_in_xu_randallflag for using suspended convective clouds in Xu Randallflaglogical()in
ltpextra_top_layerextra top layer 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
imfdeepcnv_c3identifier_for_c3_deep_convectionflag for C3 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
ntsmokeindex_for_smoke_in_tracer_concentration_arraytracer index for smokeindexinteger()in
ntdustindex_for_dust_in_tracer_concentration_arraytracer index for dustindexinteger()in
ntcoarsepmindex_for_coarse_particulate_matter_in_tracer_concentration_arraytracer index for coarse particulate matterindexinteger()in
ozphysdataset_for_ozone_physicsdataset for NRL ozone physicsmixedty_ozphys()ty_ozphysin
iaermdlcontrol_for_aerosol_radiation_schemecontrol of aerosol scheme in radiation1integer()in
iaerflgcontrol_for_aerosol_effects_in_radiationcontrol of aerosol effects in radiation1integer()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
ntdu1index_for_dust_bin1index for dust bin1indexinteger()in
ntdu2index_for_dust_bin2index for dust bin2indexinteger()in
ntdu3index_for_dust_bin3index for dust bin3indexinteger()in
ntdu4index_for_dust_bin4index for dust bin4indexinteger()in
ntdu5index_for_dust_bin5index for dust bin5indexinteger()in
ntss1index_for_seasalt_bin1index for seasalt bin1indexinteger()in
ntss2index_for_seasalt_bin2index for seasalt bin2indexinteger()in
ntss3index_for_seasalt_bin3index for seasalt bin3indexinteger()in
ntss4index_for_seasalt_bin4index for seasalt bin4indexinteger()in
ntss5index_for_seasalt_bin5index for seasalt bin5indexinteger()in
ntsuindex_for_sulfateindex for sulfateindexinteger()in
ntbcbindex_for_bcphobicindex for bcphobicindexinteger()in
ntbclindex_for_bcphilicindex for bcphilicindexinteger()in
ntocbindex_for_ocphobicindex for ocphobicindexinteger()in
ntoclindex_for_ocphilicindex for ocphilicindexinteger()in
ntchmnumber_of_chemical_tracersnumber of chemical tracerscountinteger()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
iovrflag_for_cloud_overlap_method_for_radiationmax-random overlap cloudsflaginteger()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
dcorr_condecorrelation_length_used_by_overlap_methoddecorrelation length (default) used by cloud overlap method (iovr)kmreal()kind_physin
idcorflag_for_decorrelation_length_methodflag for decorrelation length method used in cloud overlap method (iovr)flaginteger()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
mraerosoldo_merra2_aerosol_awarenessflag for merra2 aerosol-aware physics for example the thompson microphysicsflaglogical()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
lcrickflag_for_crick_proof_cloud_waterflag for CRICK-Proof cloud waterflaglogical()in
lcnormflag_for_in_cloud_condensateflag for cloud condensate normalized by cloud coverflaglogical()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
con_pipiratio of a circle's circumference to its diameternonereal()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
con_ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
con_ttptriple_point_temperature_of_watertriple point temperature of waterKreal()kind_physin
con_thgnitemperature_ice_nucleation_startstemperature the H.G.Nuc. ice startsKreal()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
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_mixing_ratio_of_aerosol_from_gocart_or_merra2mass mixing ratio of aerosol from gocart or merra2kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_aerosol_tracers_MG)kind_physinout
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
ext550aerosol_optical_depth_at_550nm3d optical extinction for total aerosol speciesnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)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
top_at_1flag_for_vertical_ordering_in_radiationflag for vertical ordering in radiationflaglogical()in
sisigma_pressure_hybrid_vertical_coordinatevertical sigma coordinate for radiation initializationnonereal(ccpp_constant_one:vertical_interface_dimension)kind_physin
ico2control_for_co2prescribed global mean value (old opernl)flaginteger()in
rrfs_sddo_smoke_couplingflag controlling rrfs_sd collection (default off)flaglogical()in
aero_dir_fdbdo_smoke_aerosol_direct_feedbackflag for smoke and dust radiation feedbackflaglogical()in
fdb_coefsmoke_dust_direct_fdb_coefsmoke dust direct feedback coefficentsnonereal(ccpp_constant_one:7)kind_physin
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 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.
  • Initialize mass mixing ratio of aerosols from NASA GOCART or NASA MERRA-2

— add smoke and dust —

  • 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.

Definition at line 20 of file GFS_rrtmg_pre.F90.

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_clouds::find_cloudlayers(), module_radiation_gases::getgases(), 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: