CCPP SciDoc for UFS-SRW v3.0.0  SRW v3.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ gfs_rrtmgp_pre_run()

subroutine, public gfs_rrtmgp_pre::gfs_rrtmgp_pre_run ( integer, intent(in) me,
integer, intent(in) ncol,
integer, intent(in) nlev,
integer, intent(in) i_o3,
logical, intent(in) doswrad,
logical, intent(in) dolwrad,
real(kind_phys), intent(in) fhswr,
real(kind_phys), intent(in) fhlwr,
real(kind_phys), dimension(:), intent(in) xlat,
real(kind_phys), dimension(:), intent(in) xlon,
real(kind_phys), dimension(:,:), intent(in) prsl,
real(kind_phys), dimension(:,:), intent(in) tgrs,
real(kind_phys), dimension(:,:), intent(in) prslk,
real(kind_phys), dimension(:,:), intent(in) prsi,
real(kind_phys), dimension(:,:,:), intent(in) qgrs,
real(kind_phys), dimension(:), intent(in) tsfc,
real(kind_phys), dimension(:), intent(in) coslat,
real(kind_phys), dimension(:), intent(in) sinlat,
real(kind_phys), intent(in) con_g,
real(kind_phys), intent(in) con_rd,
real(kind_phys), intent(in) con_eps,
real(kind_phys), intent(in) con_epsm1,
real(kind_phys), intent(in) con_fvirt,
real(kind_phys), intent(in) con_epsqs,
real(kind_phys), intent(in) solhr,
real(kind_phys), intent(inout) raddt,
real(kind_phys), dimension(:,:), intent(inout), optional p_lay,
real(kind_phys), dimension(:,:), intent(inout), optional t_lay,
real(kind_phys), dimension(:,:), intent(inout), optional p_lev,
real(kind_phys), dimension(:,:), intent(inout), optional t_lev,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_o2,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_h2o,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_o3,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_ch4,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_n2o,
real(kind_phys), dimension(:,:), intent(inout), optional vmr_co2,
real(kind_phys), dimension(:), intent(inout) tsfg,
real(kind_phys), dimension(:), intent(inout) tsfa,
real(kind_phys), dimension(:,:), intent(inout), optional qs_lay,
real(kind_phys), dimension(:,:), intent(inout), optional q_lay,
real(kind_phys), dimension(:,:), intent(inout), optional tv_lay,
real(kind_phys), dimension(:,:), intent(inout), optional relhum,
real(kind_phys), dimension(:,:), intent(inout), optional deltaz,
real(kind_phys), dimension(:,:), intent(inout), optional deltazc,
real(kind_phys), dimension(:,:), intent(inout), optional deltap,
character(len=*), dimension(:), intent(in), optional active_gases_array,
real(kind_phys), dimension(:), intent(inout) tsfc_radtime,
real(kind_phys), dimension(:), intent(inout) coszen,
real(kind_phys), dimension(:), intent(inout) coszdg,
logical, intent(inout) top_at_1,
integer, intent(inout) isfc,
integer, intent(inout) itoa,
integer, intent(out) nday,
integer, dimension(:), intent(inout) idxday,
real(kind_phys), dimension(:), intent(in) semis,
real(kind_phys), dimension(:,:), intent(inout), optional sfc_emiss_byband,
integer, intent(in) ico2,
type(ty_ozphys), intent(in) ozphys,
real(kind_phys), intent(in) con_pi,
character(len=*), intent(out) errmsg,
integer, intent(out) errflg )

Argument Table

GFS_rrtmgp_pre_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
mempi_rankcurrent MPI-rankindexinteger()in
ncolhorizontal_loop_extenthorizontal dimensioncountinteger()in
nLevvertical_layer_dimensionnumber of vertical levelscountinteger()in
doSWradflag_for_calling_shortwave_radiationlogical flags for sw radiation callsflaglogical()in
doLWradflag_for_calling_longwave_radiationlogical flags for lw radiation callsflaglogical()in
i_o3index_of_ozone_mixing_ratio_in_tracer_concentration_arraytracer index for ozone mixing ratioindexinteger()in
fhswrperiod_of_shortwave_radiation_callsfrequency for shortwave radiationsreal()kind_physin
fhlwrperiod_of_longwave_radiation_callsfrequency for longwave radiationsreal()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
solhrforecast_utc_hourtime in hours after 00z at the current timestephreal()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
prslkdimensionless_exner_functiondimensionless Exner function at model layer centersnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
prslair_pressuremean layer pressurePareal(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
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
tsfcsurface_skin_temperaturesurface skin temperatureKreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
con_ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
con_epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
con_epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
con_fvirtratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
con_epsqsminimum_value_of_saturation_mixing_ratiofloor value for saturation mixing ratiokg kg-1real()kind_physin
con_pipiratio of a circle's circumference to its diameternonereal()kind_physin
ico2control_for_co2prescribed global mean value (old opernl)flaginteger()in
raddttime_step_for_radiationradiation time stepsreal()kind_physinout
p_layair_pressure_at_layer_for_rrtmgpair pressure at vertical layer for radiation calculationPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
p_levair_pressure_at_interface_for_rrtmgpair pressure at vertical interface for radiation calculationPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physinout
t_layair_temperature_at_layer_for_rrtmgpair temperature at vertical layer for radiation calculationKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
t_levair_temperature_at_interface_for_rrtmgpair temperature at vertical interface for radiation calculationKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physinout
deltaZlayer_thicknesslayer_thicknessmreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
deltaZclayer_thickness_from_layer_centerlayer_thicknessmreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
deltaPlayer_thickness_in_palayer_thickness_in_PaPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
top_at_1flag_for_vertical_ordering_in_radiationflag for vertical ordering in radiationflaglogical()inout
iSFCvertical_index_for_surface_in_rrtmgpindex for surface layer in RRTMGPflaginteger()inout
iTOAvertical_index_for_toa_in_rrtmgpindex for TOA layer in RRTMGPflaginteger()inout
tsfc_radtimesurface_skin_temperature_on_radiation_timestepsurface skin temperature on radiation timestepKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsfgsurface_ground_temperature_for_radiationsurface ground temperature for radiationKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tsfasurface_air_temperature_for_radiationlowest model layer air temperature for radiationKreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
tv_layvirtual_temperaturelayer virtual temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
relhumrelative_humiditylayer relative humidityfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qs_laysaturation_vapor_pressuresaturation vapor pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
q_laywater_vapor_mixing_ratiowater vaport mixing ratiokg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_o2volume_mixing_ratio_for_o2molar mixing ratio of o2 in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_h2ovolume_mixing_ratio_for_h2omolar mixing ratio of h2o in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_o3volume_mixing_ratio_for_o3molar mixing ratio of o3 in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_ch4volume_mixing_ratio_for_ch4molar mixing ratio of ch4 in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_n2ovolume_mixing_ratio_for_n2omolar mixing ratio of n2o in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vmr_co2volume_mixing_ratio_for_co2molar mixing ratio of co2 in with respect to dry air1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
active_gases_arraylist_of_active_gases_used_by_rrtmgplist of active gases used by RRTMGPnonecharacter(ccpp_constant_one:number_of_active_gases_used_by_RRTMGP)len=*in
coszdgcosine_of_solar_zenith_angle_on_radiation_timestepdaytime mean cosz over rad call periodnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
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
semissurface_longwave_emissivitysurface lw emissivity in fractionfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sfc_emiss_bybandsurface_emissivity_in_each_rrtmgp_lw_bandsurface emissivity in each RRTMGP LW bandnonereal(ccpp_constant_one:number_of_longwave_bands, ccpp_constant_one:horizontal_loop_extent)kind_physinout
ndaydaytime_points_dimensiondaytime points dimensioncountinteger()inout
idxdaydaytime_pointsdaytime pointsindexinteger(ccpp_constant_one:horizontal_loop_extent)inout
ozphysdataset_for_ozone_physicsdataset for NRL ozone physicsmixedty_ozphys()ty_ozphysin
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

Sanitize inputs for use in RRTMGP.

Parameters
[in]i_o3Index into tracer array for ozone
[in]dolwradCall LW radiation
[in]fhlwrFrequency of LW radiation call.
[in]solhrTime in hours after 00z at the current timestep
[in]prsiPressure at model-interfaces (Pa)
[in]qgrsTracer concentrations (kg/kg)
[in]active_gases_arrayList of active gases from namelist as array
[out]errmsgError message
[in,out]itoaVertical index for TOA
[in,out]top_at_1Vertical ordering flag
[in,out]raddtRadiation time-step
[in,out]coszdgCosine of SZA, daytime
[in,out]idxdayIndices for daylit points
Parameters
meMPI rank
ncolNumber of horizontal grid points
nlevNumber of vertical layers
doswradCall SW radiation?
fhswrFrequency of SW radiation call.
xlatLatitude
xlonLongitude
prslPressure at model-layer centers (Pa)
tgrsTemperature at model-layer centers (K)
prslkExner function at model layer centers (1)
tsfcSurface skin temperature (K)
coslatCosine(latitude)
sinlatSine(latitude)
con_gPhysical constant: gravitational constant
con_rdPhysical constant: gas-constant for dry air
con_epsPhysical constant: Epsilon (Rd/Rv)
con_epsm1Physical constant: Epsilon (Rd/Rv) minus one
con_fvirtPhysical constant: Inverse of epsilon minus one
con_epsqsPhysical constant: Minimum saturation mixing-ratio (kg/kg)
p_layPressure at model-layer
t_layTemperature at model layer
p_levPressure at model-interface
t_levTemperature at model-interface
tsfgGround temperature
tsfaSkin temperature
qs_laySaturation vapor pressure at model-layers
q_layWater-vapor mixing ratio (kg/kg)
tv_layVirtual temperature at model-layers
relhumRelative-humidity at model-layers
deltazLayer thickness (m)
deltazcLayer thickness (m) (between layer centers)
deltapLayer thickness (Pa)
tsfc_radtimeSurface temperature at radiation timestep
coszenCosine of SZA
isfcVertical index for surface
sfc_emiss_byband
ico2Flag for co2 radiation scheme
con_piPhysical constant: Pi
errflgError flag

References module_radiation_astronomy::coszmn(), module_radiation_gases::getgases(), and merge().

Here is the call graph for this function: