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

◆ cu_c3_driver_run()

subroutine, public cu_c3_driver::cu_c3_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,
logical, intent(in) do_ca,
logical, intent(in) progsigma,
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) fv,
real (kind=kind_phys), intent(in) r_d,
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(in) delp,
real(kind=kind_phys), dimension (:), intent(out) raincv,
real(kind=kind_phys), dimension ( : , : , :), intent(in) tmf,
real(kind=kind_phys), dimension ( : , : ), intent(in), optional qmicro,
real(kind=kind_phys), dimension ( : , : ), intent(in), optional sigmain,
real (kind=kind_phys), intent(in) betascu,
real (kind=kind_phys), intent(in) betamcu,
real (kind=kind_phys), intent(in) betadcu,
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), optional ca_deep,
real(kind=kind_phys), dimension (:), intent(out) rainevap,
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 sigmaout,
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,
character(len=*), intent(out) errmsg,
integer, intent(out) errflg )

Argument Table

cu_c3_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
do_caflag_for_cellular_automatacellular automata main switchflaglogical()in
progsigmado_prognostic_updraft_area_fractionflag for prognostic sigma in cumuls schemeflaglogical()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
fvratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()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
r_dgas_constant_of_dry_airideal gas constant for dry airJ 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
tmftendency_of_vertically_diffused_tracer_concentrationupdated tendency of the tracers due to vertical diffusion in PBL schemekg kg-1 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_vertical_diffusion_tracers)kind_physin
qmicroinstantaneous_tendency_of_specific_humidity_due_to_microphysicsmoisture tendency due to microphysicskg kg-1 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
sigmainprognostic_updraft_area_fraction_in_convectionconvective updraft area fractionfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
sigmaoutupdraft_area_fraction_updated_by_physicsconvective updraft area fraction updated by physicsfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
betascutuning_param_for_shallow_cutuning param for shallow cu in case prognostic closure is usednonereal()kind_physin
betamcutuning_param_for_midlevel_cutuning param for midlevel cu in case prognostic closure is usednonereal()kind_physin
betadcutuning_param_for_deep_cutuning param for deep cu in case prognostic closure is usednonereal()kind_physin
philgeopotentiallayer geopotentialm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
delpair_pressure_difference_between_midlayerspres(k) - pres(k+1)Pareal(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
ca_deepcellular_automata_area_fraction_for_deep_convection_from_coupled_processfraction of cellular automata for deep convectionfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
rainevapphysics_field_for_couplingphysics_field_for_couplingm2 s-2real(ccpp_constant_one:horizontal_loop_extent)kind_physout
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
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_c3_deep_run() for middle GF convection
  • Call neg_check() for middle GF convection
  • Call cu_c3_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 70 of file cu_c3_driver.F90.

References cu_c3_deep::cu_c3_deep_run(), cu_c3_sh::cu_c3_sh_run(), cu_c3_deep::fct1d3(), and cu_c3_deep::neg_check().

Here is the call graph for this function: