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

◆ 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), optional cactiv,
integer, dimension(:), intent(inout), optional 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), optional forcet,
real(kind=kind_phys), dimension( : , : ), intent(in), optional 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), optional 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), optional 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), optional 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), optional cap_suppress,
integer, intent(in) dfi_radar_max_intervals,
logical, intent(in) ldiag3d,
real(kind=kind_phys), dimension( : , : ), intent(inout), optional qci_conv,
logical, intent(in) do_cap_suppress,
real(kind=kind_phys), dimension (:), intent(out), optional maxupmf,
real(kind=kind_phys), dimension (:), intent(in), optional 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), optional spp_wts_cu_deep,
integer, intent(in) nchem,
real(kind_phys), dimension(:,:,:), intent(inout), optional chem3d,
real(kind_phys), dimension(:), intent(in) fscav,
real(kind_phys), dimension(:,:), intent(inout), optional wetdpc_deep,
logical, intent(in) do_smoke_transport,
integer, intent(in) kdt,
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
nchemnumber_of_chemical_species_vertically_mixednumber of chemical species vertically mixedcountinteger()in
chem3dchem3d_mynn_pbl_transportmynn pbl transport of smoke and dustvariousreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_chemical_species_vertically_mixed)kind_physinout
fscavsmoke_dust_conv_wet_coefsmoke dust convetive wet scavanging coefficentsnonereal(ccpp_constant_one:3)kind_physin
do_smoke_transportdo_smoke_conv_transportflag for rrfs smoke convective transportflaglogical()in
wetdpc_deepconv_wet_deposition_smoke_dustconvective wet removal of smoke and dustkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:number_of_chemical_species_vertically_mixed)kind_physinout
kdtindex_of_timestepcurrent forecast iterationindexinteger()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

  • Set tuning constants for radiation coupling
  • Call neg_check() for GF shallow convection
  • Call cu_gf_deep_run() for middle GF convection
  • Call neg_check() for middle GF convection
  • Call cu_gf_deep_run() for deep GF convection
  • Call neg_check() for deep GF convection
  • FCT treats subsidence effect to cloud ice/water (begin)

Definition at line 59 of file cu_gf_driver.F90.

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: