CCPP SciDoc for UFS-SRW v2.2.0  SRW v2.2.0
Common Community Physics Package Developed at DTC

◆ cu_gf_driver_run()

subroutine, public cu_gf_driver::cu_gf_driver_run ( integer, intent(in)  ntracer,
real(kind=kind_phys), dimension(:), intent(in)  garea,
integer, intent(in)  im,
integer, intent(in)  km,
real(kind=kind_phys), intent(in)  dt,
logical, intent(in)  flag_init,
logical, intent(in)  flag_restart,
integer, dimension(:), intent(inout)  cactiv,
integer, dimension(:), intent(inout)  cactiv_m,
real (kind=kind_phys), intent(in)  g,
real (kind=kind_phys), intent(in)  cp,
real (kind=kind_phys), intent(in)  xlv,
real (kind=kind_phys), intent(in)  r_v,
real(kind=kind_phys), dimension( : , : ), intent(in)  forcet,
real(kind=kind_phys), dimension( : , : ), intent(in)  forceqv_spechum,
real(kind=kind_phys), dimension( : , : ), intent(in)  phil,
real(kind=kind_phys), dimension (:), intent(out)  raincv,
real(kind=kind_phys), dimension (:,:), intent(inout)  qv_spechum,
real(kind=kind_phys), dimension( : , : ), intent(inout)  t,
real(kind=kind_phys), dimension (:), intent(out)  cld1d,
real(kind=kind_phys), dimension( : , : ), intent(inout)  us,
real(kind=kind_phys), dimension( : , : ), intent(inout)  vs,
real(kind=kind_phys), dimension (:,:), intent(in)  t2di,
real(kind=kind_phys), dimension( : , : ), intent(in)  w,
real(kind=kind_phys), dimension (:,:), intent(in)  qv2di_spechum,
real(kind=kind_phys), dimension (:,:), intent(in)  p2di,
real(kind=kind_phys), dimension (:), intent(in)  psuri,
integer, dimension (:), intent(out)  hbot,
integer, dimension (:), intent(out)  htop,
integer, dimension (:), intent(out)  kcnv,
integer, dimension (:), intent(in)  xland,
real(kind=kind_phys), dimension (:), intent(in)  hfx2,
real(kind=kind_phys), dimension (:), intent(in)  qfx2,
real(kind=kind_phys), dimension (:), intent(inout)  aod_gf,
real(kind=kind_phys), dimension( : , : ), intent(inout)  cliw,
real(kind=kind_phys), dimension( : , : ), intent(inout)  clcw,
real(kind=kind_phys), dimension (:), intent(in)  pbl,
real(kind=kind_phys), dimension (:,:), intent(out)  ud_mf,
real(kind=kind_phys), dimension (:,:), intent(out)  dd_mf,
real(kind=kind_phys), dimension (:,:), intent(out)  dt_mf,
real(kind=kind_phys), dimension( : , : ), intent(out)  cnvw_moist,
real(kind=kind_phys), dimension( : , : ), intent(out)  cnvc,
integer, intent(in)  imfshalcnv,
logical, intent(in)  flag_for_scnv_generic_tend,
logical, intent(in)  flag_for_dcnv_generic_tend,
real(kind=kind_phys), dimension(:,:,:), intent(inout)  dtend,
integer, dimension(:,:), intent(in)  dtidx,
integer, intent(in)  ntqv,
integer, intent(in)  ntiw,
integer, intent(in)  ntcw,
integer, intent(in)  index_of_temperature,
integer, intent(in)  index_of_x_wind,
integer, intent(in)  index_of_y_wind,
integer, intent(in)  index_of_process_scnv,
integer, intent(in)  index_of_process_dcnv,
real(kind=kind_phys), intent(in)  fhour,
real(kind=kind_phys), dimension(:), intent(in)  fh_dfi_radar,
integer, dimension(:), intent(in)  ix_dfi_radar,
integer, intent(in)  num_dfi_radar,
real(kind=kind_phys), dimension(:,:), intent(in)  cap_suppress,
integer, intent(in)  dfi_radar_max_intervals,
logical, intent(in)  ldiag3d,
real(kind=kind_phys), dimension( : , : ), intent(inout)  qci_conv,
logical, intent(in)  do_cap_suppress,
real(kind=kind_phys), dimension (:), intent(out)  maxupmf,
real(kind=kind_phys), dimension (:), intent(in)  maxMF,
logical, intent(in)  do_mynnedmf,
integer, intent(in)  ichoice_in,
integer, intent(in)  ichoicem_in,
integer, intent(in)  ichoice_s_in,
integer, intent(in)  spp_cu_deep,
real(kind_phys), dimension(:,:), intent(in)  spp_wts_cu_deep,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

Argument Table

cu_gf_driver_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
ntracernumber_of_tracersnumber of tracerscountinteger()in
gareacell_areagrid cell aream2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
kmvertical_layer_dimensionvertical layer dimensioncountinteger()in
dttimestep_for_physicsphysics time stepsreal()kind_physin
flag_initflag_for_first_timestepflag signaling first time step for time integration loopflaglogical()in
flag_restartflag_for_restartflag for restart (warmstart) or coldstartflaglogical()in
cactivcounter_for_grell_freitas_convectionconvective activity memorynoneinteger(ccpp_constant_one:horizontal_loop_extent)inout
cactiv_mcounter_for_grell_freitas_mid_level_convectionmid-level cloud convective activity memorynoneinteger(ccpp_constant_one:horizontal_loop_extent)inout
ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat !of dry air at constant pressureJ kg-1 K-1real()kind_physin
xlvlatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
r_vgas_constant_water_vaporideal gas constant for water vaporJ kg-1 K-1real()kind_physin
forcettendency_of_air_temperature_due_to_nonphysicstemperature tendency due to dynamics onlyK s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
forceqv_spechumtendendy_of_specific_humidity_due_to_nonphysicsmoisture tendency due to dynamics onlykg kg-1 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
philgeopotentiallayer geopotentialm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
raincvlwe_thickness_of_deep_convective_precipitation_amountdeep convective rainfall amount on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
qv_spechumspecific_humidity_of_new_statewater vapor specific humidity updated by physicskg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
tair_temperature_of_new_stateupdated temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
cld1dcloud_work_functioncloud work functionm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
usx_wind_of_new_stateupdated x-direction windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vsy_wind_of_new_stateupdated y-direction windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
t2diair_temperaturemid-layer temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
wlagrangian_tendency_of_air_pressurelayer mean vertical velocityPa s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
qv2di_spechumspecific_humiditywater vapor specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
p2diair_pressuremean layer pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
psurisurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
hbotvertical_index_at_cloud_baseindex for cloud baseindexinteger(ccpp_constant_one:horizontal_loop_extent)out
htopvertical_index_at_cloud_topindex for cloud topindexinteger(ccpp_constant_one:horizontal_loop_extent)out
kcnvflag_deep_convectiondeep convection: 0=no, 1=yesflaginteger(ccpp_constant_one:horizontal_loop_extent)out
xlandsea_land_ice_masklandmask: sea/land/ice=0/1/2flaginteger(ccpp_constant_one:horizontal_loop_extent)in
hfx2kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness_and_vegetationkinematic surface upward sensible heat flux reduced by surface roughness and vegetationK m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
qfx2surface_upward_specific_humidity_fluxkinematic surface upward latent heat fluxkg kg-1 m s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
aod_gfaerosol_optical_depth_for_grell_freitas_deep_convectionaerosol optical depth used in Grell-Freitas Convective Parameterizationnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
cliwice_water_mixing_ratio_convective_transport_tracerratio of mass of ice water to mass of dry air plus vapor (without condensates) in the convectively transported tracer arraykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
clcwcloud_condensed_water_mixing_ratio_convective_transport_tracerratio of mass of cloud water to mass of dry air plus vapor (without condensates) in the convectively transported tracer arraykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
pblatmosphere_boundary_layer_thicknessPBL thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
ud_mfinstantaneous_atmosphere_updraft_convective_mass_flux(updraft mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dd_mfinstantaneous_atmosphere_downdraft_convective_mass_flux(downdraft mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dt_mfinstantaneous_atmosphere_detrainment_convective_mass_flux(detrainment mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnvw_moistconvective_cloud_water_mixing_ratiomoist convective cloud water mixing ratiokg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnvcconvective_cloud_coverconvective cloud coverfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
imfshalcnvcontrol_for_shallow_convection_schemeflag for mass-flux shallow convection schemeflaginteger()in
flag_for_scnv_generic_tendflag_for_generic_tendency_due_to_shallow_convectiontrue if GFS_SCNV_generic should calculate tendenciesflaglogical()in
flag_for_dcnv_generic_tendflag_for_generic_tendency_due_to_deep_convectiontrue if GFS_DCNV_generic should calculate tendenciesflaglogical()in
dtendcumulative_change_of_state_variablesdiagnostic tendencies for state variablesmixedreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:cumulative_change_of_state_variables_outer_index_max)kind_physinout
dtidxcumulative_change_of_state_variables_outer_indexindex of state-variable and process in last dimension of diagnostic tendencies array AKA cumulative_change_indexindexinteger(ccpp_constant_one:number_of_tracers_plus_one_hundred, ccpp_constant_one:number_of_cumulative_change_processes)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
index_of_temperatureindex_of_temperature_in_cumulative_change_indexindex of temperature in first dimension of array cumulative change indexindexinteger()in
index_of_x_windindex_of_x_wind_in_cumulative_change_indexindex of x-wind in first dimension of array cumulative change indexindexinteger()in
index_of_y_windindex_of_y_wind_in_cumulative_change_indexindex of x-wind in first dimension of array cumulative change indexindexinteger()in
index_of_process_scnvindex_of_shallow_convection_process_process_in_cumulative_change_indexindex of shallow convection process in second dimension of array cumulative change indexindexinteger()in
index_of_process_dcnvindex_of_deep_convection_process_process_in_cumulative_change_indexindex of deep convection process in second dimension of array cumulative change indexindexinteger()in
dfi_radar_max_intervalsmaximum_number_of_radar_derived_temperature_or_convection_suppression_intervalsmaximum allowed number of time ranges with radar-derived microphysics temperature tendencies or radar-derived convection suppressioncountinteger()in
ldiag3dflag_for_diagnostics_3dflag for 3d diagnostic fieldsflaglogical()in
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_physinout
fhourforecast_timecurrent forecast timehreal()kind_physin
do_cap_suppressflag_for_radar_derived_convection_suppressionflag for radar-derived convection suppressionflaglogical()in
fh_dfi_radarforecast_lead_times_bounding_radar_derived_temperature_or_convection_suppression_intervalsforecast lead times bounding radar derived temperature or convection suppression intervalshreal(ccpp_constant_one:maximum_number_of_radar_derived_temperature_or_convection_suppression_intervals_plus_one)kind_physin
ix_dfi_radarindices_with_radar_derived_temperature_or_convection_suppression_dataindices with radar derived temperature or convection suppression dataindexinteger(ccpp_constant_one:maximum_number_of_radar_derived_temperature_or_convection_suppression_intervals)in
num_dfi_radarnumber_of_radar_derived_temperature_or_convection_suppression_intervalsnumber of time ranges with radar-derived microphysics temperature tendencies or radar-derived convection suppressioncountinteger()in
cap_suppressradar_derived_convection_suppressionradar-derived convection suppressionunitlessreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:number_of_radar_derived_temperature_or_convection_suppression_intervals)kind_physin
maxupmfmaximum_convective_updraft_mass_fluxmaximum convective updraft mass flux within a columnm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physout
maxMFmaximum_mass_fluxmaximum mass flux within a columnm s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
do_mynnedmfflag_for_mellor_yamada_nakanishi_niino_pbl_schemeflag to activate MYNN-EDMFflaglogical()in
ichoice_inidentifier_for_c3_or_gf_deep_convection_closureflag for C3 or GF deep convection closureflaginteger()in
ichoicem_inidentifier_for_c3_or_gf_mid_convection_closureflag for C3 or GF mid convection closureflaginteger()in
ichoice_s_inidentifier_for_c3_or_gf_shallow_convection_closureflag for C3 or GF shallow convection closureflaginteger()in
spp_wts_cu_deepspp_weights_for_cu_deep_schemespp weights for cu deep scheme1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
spp_cu_deepcontrol_for_deep_convection_spp_perturbationscontrol for deep convection spp perturbationscountinteger()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

Grell-Freitas Cumulus Scheme Driver General Algorithm

References cu_gf_deep::cu_gf_deep_run(), cu_gf_sh::cu_gf_sh_run(), cu_gf_deep::fct1d3(), and cu_gf_deep::neg_check().

Here is the call graph for this function: