CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC

◆ unified_ugwp_run()

subroutine, public unified_ugwp::unified_ugwp_run ( integer, intent(in)  me,
integer, intent(in)  master,
integer, intent(in)  im,
integer, intent(in)  levs,
integer, intent(in)  ntrac,
real(kind=kind_phys), intent(in)  dtp,
real(kind=kind_phys), intent(in)  fhzero,
integer, intent(in)  kdt,
integer, intent(in)  lonr,
real(kind=kind_phys), dimension(:), intent(in)  oro,
real(kind=kind_phys), dimension(:), intent(in)  oro_uf,
real(kind=kind_phys), dimension(:), intent(in)  hprime,
integer, intent(in)  nmtvr,
real(kind=kind_phys), dimension(:), intent(in)  oc,
real(kind=kind_phys), dimension(:), intent(in)  theta,
real(kind=kind_phys), dimension(:), intent(in)  sigma,
real(kind=kind_phys), dimension(:), intent(in)  gamma,
real(kind=kind_phys), dimension(:), intent(inout)  elvmax,
real(kind=kind_phys), dimension(:,:), intent(in)  clx,
real(kind=kind_phys), dimension(:,:), intent(in)  oa4,
real(kind=kind_phys), dimension(:), intent(in)  varss,
real(kind=kind_phys), dimension(:), intent(in)  oc1ss,
real(kind=kind_phys), dimension(:,:), intent(in)  oa4ss,
real(kind=kind_phys), dimension(:,:), intent(in)  ol4ss,
real(kind=kind_phys), dimension(:), intent(in)  dx,
real(kind=kind_phys), dimension(:), intent(out)  dusfc_ls,
real(kind=kind_phys), dimension(:), intent(out)  dvsfc_ls,
real(kind=kind_phys), dimension(:), intent(out)  dusfc_bl,
real(kind=kind_phys), dimension(:), intent(out)  dvsfc_bl,
real(kind=kind_phys), dimension(:), intent(out)  dusfc_ss,
real(kind=kind_phys), dimension(:), intent(out)  dvsfc_ss,
real(kind=kind_phys), dimension(:), intent(out)  dusfc_fd,
real(kind=kind_phys), dimension(:), intent(out)  dvsfc_fd,
real(kind=kind_phys), dimension(:,:), intent(out)  dtaux2d_ls,
real(kind=kind_phys), dimension(:,:), intent(out)  dtauy2d_ls,
real(kind=kind_phys), dimension(:,:), intent(out)  dtaux2d_bl,
real(kind=kind_phys), dimension(:,:), intent(out)  dtauy2d_bl,
real(kind=kind_phys), dimension(:,:), intent(out)  dtaux2d_ss,
real(kind=kind_phys), dimension(:,:), intent(out)  dtauy2d_ss,
real(kind=kind_phys), dimension(:,:), intent(out)  dtaux2d_fd,
real(kind=kind_phys), dimension(:,:), intent(out)  dtauy2d_fd,
real(kind=kind_phys), dimension(:), intent(in)  br1,
real(kind=kind_phys), dimension(:), intent(in)  hpbl,
real(kind=kind_phys), dimension(:), intent(in)  slmsk,
logical, intent(in)  do_tofd,
logical, intent(in)  ldiag_ugwp,
real(kind=kind_phys), dimension(:), intent(in)  cdmbgwd,
integer, dimension(:), intent(in)  jdat,
real(kind=kind_phys), dimension(:), intent(in)  xlat,
real(kind=kind_phys), dimension(:), intent(in)  xlat_d,
real(kind=kind_phys), dimension(:), intent(in)  sinlat,
real(kind=kind_phys), dimension(:), intent(in)  coslat,
real(kind=kind_phys), dimension(:), intent(in)  area,
real(kind=kind_phys), dimension(:,:), intent(in)  ugrs,
real(kind=kind_phys), dimension(:,:), intent(in)  vgrs,
real(kind=kind_phys), dimension(:,:), intent(in)  tgrs,
real(kind=kind_phys), dimension(:,:), intent(in)  q1,
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)  phii,
real(kind=kind_phys), dimension(:,:), intent(in)  phil,
real(kind=kind_phys), dimension(:,:), intent(in)  del,
integer, dimension(:), intent(in)  kpbl,
real(kind=kind_phys), dimension(:), intent(out)  dusfcg,
real(kind=kind_phys), dimension(:), intent(out)  dvsfcg,
real(kind=kind_phys), dimension(:,:), intent(out)  gw_dudt,
real(kind=kind_phys), dimension(:,:), intent(out)  gw_dvdt,
real(kind=kind_phys), dimension(:,:), intent(out)  gw_dtdt,
real(kind=kind_phys), dimension(:,:), intent(out)  gw_kdis,
real(kind=kind_phys), dimension(:), intent(out)  tau_tofd,
real(kind=kind_phys), dimension(:), intent(out)  tau_mtb,
real(kind=kind_phys), dimension(:), intent(out)  tau_ogw,
real(kind=kind_phys), dimension(:), intent(out)  tau_ngw,
real(kind=kind_phys), dimension(:), intent(out)  zmtb,
real(kind=kind_phys), dimension(:), intent(out)  zlwb,
real(kind=kind_phys), dimension(:), intent(out)  zogw,
real(kind=kind_phys), dimension(:,:), intent(out)  dudt_mtb,
real(kind=kind_phys), dimension(:,:), intent(out)  dudt_tms,
real(kind=kind_phys), dimension(:,:), intent(inout)  du3dt_mtb,
real(kind=kind_phys), dimension(:,:), intent(inout)  du3dt_ogw,
real(kind=kind_phys), dimension(:,:), intent(inout)  du3dt_tms,
real(kind=kind_phys), dimension(:,:), intent(inout)  dudt,
real(kind=kind_phys), dimension(:,:), intent(inout)  dvdt,
real(kind=kind_phys), dimension(:,:), intent(inout)  dtdt,
real(kind=kind_phys), dimension(:), intent(out)  rdxzb,
real(kind=kind_phys), intent(in)  con_g,
real(kind=kind_phys), intent(in)  con_omega,
real(kind=kind_phys), intent(in)  con_pi,
real(kind=kind_phys), intent(in)  con_cp,
real(kind=kind_phys), intent(in)  con_rd,
real(kind=kind_phys), intent(in)  con_rv,
real(kind=kind_phys), intent(in)  con_rerth,
real(kind=kind_phys), intent(in)  con_fvirt,
real(kind=kind_phys), dimension(:), intent(in)  rain,
integer, intent(in)  ntke,
real(kind=kind_phys), dimension(:,:), intent(in)  q_tke,
real(kind=kind_phys), dimension(:,:), intent(in)  dqdt_tke,
logical, intent(in)  lprnt,
integer, intent(in)  ipr,
real(kind=kind_phys), dimension(:,:,:), intent(inout)  dtend,
integer, dimension(:,:), intent(in)  dtidx,
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_orographic_gwd,
integer, intent(in)  index_of_process_nonorographic_gwd,
logical, intent(in)  ldiag3d,
logical, intent(in)  lssav,
logical, intent(in)  flag_for_gwd_generic_tend,
logical, intent(in)  do_ugwp_v0,
logical, intent(in)  do_ugwp_v0_orog_only,
logical, intent(in)  do_ugwp_v0_nst_only,
logical, intent(in)  do_gsl_drag_ls_bl,
logical, intent(in)  do_gsl_drag_ss,
logical, intent(in)  do_gsl_drag_tofd,
integer, intent(in)  gwd_opt,
real(kind=kind_phys), dimension(:,:), intent(in)  spp_wts_gwd,
integer, intent(in)  spp_gwd,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)

GFS Unified GWP Scheme General Algorithm

The physics of NGWs in the UGWP framework (Yudin et al. 2018 [193]) is represented by four GW-solvers, which is introduced in Lindzen (1981) [117], Hines (1997) [86], Alexander and Dunkerton (1999) [1], and Scinocca (2003) [170]. The major modification of these GW solvers is represented by the addition of the background dissipation of temperature and winds to the saturation criteria for wave breaking. This feature is important in the mesosphere and thermosphere for WAM applications and it considers appropriate scale-dependent dissipation of waves near the model top lid providing the momentum and energy conservation in the vertical column physics (Shaw and Shepherd 2009 [171]). In the UGWP-v0, the modification of Scinocca (2003) [170] scheme for NGWs with non-hydrostatic and rotational effects for GW propagations and backgroufnd dissipation is represented by the subroutine fv3_ugwp_solv2_v0. In the next release of UGWP, additional GW-solvers will be implemented along with physics-based triggering of waves and stochastic approaches for selection of GW modes characterized by horizontal phase velocities, azimuthal directions and magnitude of the vertical momentum flux (VMF).

In UGWP-v0, the specification for the VMF function is adopted from the GEOS-5 global atmosphere model of GMAO NASA/GSFC, as described in Molod et al. (2015) [137] and employed in the MERRRA-2 reanalysis (Gelaro et al., 2017 [70]). The Fortran subroutine slat_geos5_tamp_v0() describes the latitudinal shape of VMF-function as displayed in Figure 3 of Molod et al. (2015) [137]. It shows that the enhanced values of VMF in the equatorial region gives opportunity to simulate the QBO-like oscillations in the equatorial zonal winds and lead to more realistic simulations of the equatorial dynamics in GEOS-5 operational and MERRA-2 reanalysis products. For the first vertically extended version of FV3GFS in the stratosphere and mesosphere, this simplified function of VMF allows us to tune the model climate and to evaluate multi-year simulations of FV3GFS with the MERRA-2 and ERA-5 reanalysis products, along with temperature, ozone, and water vapor observations of current satellite missions. After delivery of the UGWP-code, the EMC group developed and tested approach to modulate the zonal mean NGW forcing by 3D-distributions of the total precipitation as a proxy for the excitation of NGWs by convection and the vertically-integrated (surface - tropopause) Turbulent Kinetic Energy (TKE). The verification scores with updated NGW forcing, as reported elsewhere by EMC researchers, display noticeable improvements in the forecast scores produced by FV3GFS configuration extended into the mesosphere.

Argument Table

unified_ugwp_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
mempi_rankMPI rank of current processindexinteger()in
mastermpi_rootMPI rank of master processindexinteger()in
imhorizontal_loop_extenthorizontalcountinteger()in
levsvertical_layer_dimensionnumber of vertical levelscountinteger()in
ntracnumber_of_tracersnumber of tracerscountinteger()in
dtptimestep_for_physicsphysics timestepsreal()kind_physin
fhzeroperiod_of_diagnostics_resethours between clearing of diagnostic bucketshreal()kind_physin
kdtindex_of_timestepcurrent forecast iterationindexinteger()in
lonrnumber_of_equatorial_longitude_pointsnumber of global points in x-dir (i) along the equatorcountinteger()in
oroheight_above_mean_sea_levelheight_above_mean_sea_levelmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
oro_ufunfiltered_height_above_mean_sea_levelunfiltered height_above_mean_sea_levelmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
hprimestandard_deviation_of_subgrid_orographystandard deviation of subgrid height_above_mean_sea_levelmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
nmtvrnumber_of_statistical_measures_of_subgrid_orographynumber of topographic variables in GWDcountinteger()in
occonvexity_of_subgrid_orographyconvexity of subgrid height_above_mean_sea_levelnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
thetaangle_from_east_of_maximum_subgrid_orographic_variationsangle with_respect to east of maximum subgrid orographic variationsdegreereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sigmaslope_of_subgrid_orographyslope of subgrid height_above_mean_sea_levelnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
gammaanisotropy_of_subgrid_orographyanisotropy of subgrid height_above_mean_sea_levelnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
elvmaxmaximum_subgrid_orographymaximum of subgrid height_above_mean_sea_levelmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
clxfraction_of_grid_box_with_subgrid_orography_higher_than_critical_heighthorizontal fraction of grid box covered by subgrid height_above_mean_sea_level higher than critical heightfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4)kind_physin
oa4asymmetry_of_subgrid_orographyasymmetry of subgrid height_above_mean_sea_levelnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4)kind_physin
varssstandard_deviation_of_subgrid_orography_small_scalestandard deviation of subgrid height_above_mean_sea_level small scalemreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
oc1ssconvexity_of_subgrid_orography_small_scaleconvexity of subgrid height_above_mean_sea_level small scalenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
oa4ssasymmetry_of_subgrid_orography_small_scaleasymmetry of subgrid height_above_mean_sea_level small scalenonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4)kind_physin
ol4ssfraction_of_grid_box_with_subgrid_orography_higher_than_critical_height_small_scalehorizontal fraction of grid box covered by subgrid height_above_mean_sea_level higher than critical height small scalefracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4)kind_physin
dxcharacteristic_grid_lengthscalesize of the grid cellmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
dusfc_lsvertically_integrated_x_momentum_flux_due_to_mesoscale_orographic_gravity_wave_dragintegrated x momentum flux from large scale gwdPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dvsfc_lsvertically_integrated_y_momentum_flux_due_to_mesoscale_orographic_gravity_wave_dragintegrated y momentum flux from large scale gwdPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dusfc_blvertically_integrated_x_momentum_flux_due_to_blocking_dragintegrated x momentum flux from blocking dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dvsfc_blvertically_integrated_y_momentum_flux_due_to_blocking_dragintegrated y momentum flux from blocking dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dusfc_ssvertically_integrated_x_momentum_flux_due_to_small_scale_gravity_wave_dragintegrated x momentum flux from small scale gwdPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dvsfc_ssvertically_integrated_y_momentum_flux_due_to_small_scale_gravity_wave_dragintegrated y momentum flux from small scale gwdPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dusfc_fdvertically_integrated_x_momentum_flux_due_to_form_dragintegrated x momentum flux from form dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dvsfc_fdvertically_integrated_y_momentum_flux_due_to_form_dragintegrated y momentum flux from form dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dtaux2d_lstendency_of_x_wind_due_to_mesoscale_orographic_gravity_wave_draginstantaneous change in x wind due to orographic gw dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtauy2d_lstendency_of_y_wind_due_to_mesoscale_orographic_gravity_wave_draginstantaneous change in y wind due to orographic gw dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtaux2d_bltendency_of_x_momentum_due_to_blocking_dragx momentum tendency from blocking dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtauy2d_bltendency_of_y_momentum_due_to_blocking_dragy momentum tendency from blocking dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtaux2d_sstendency_of_x_momentum_due_to_small_scale_gravity_wave_dragx momentum tendency from small scale gwdm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtauy2d_sstendency_of_y_momentum_due_to_small_scale_gravity_wave_dragy momentum tendency from small scale gwdm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtaux2d_fdtendency_of_x_momentum_due_to_form_dragx momentum tendency from form dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dtauy2d_fdtendency_of_y_momentum_due_to_form_dragy momentum tendency from form dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
br1bulk_richardson_number_at_lowest_model_levelbulk Richardson number at the surfacenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
hpblatmosphere_boundary_layer_thicknessPBL thicknessmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
slmskarea_typelandmask: sea/land/ice=0/1/2flagreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
do_tofdflag_for_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravitiy_wave_drag_schemeflag for turbulent orographic form dragflaglogical()in
ldiag_ugwpflag_for_unified_gravity_wave_physics_diagnosticsflag for CIRES UGWP Diagnosticsflaglogical()in
cdmbgwdmultiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_dragmultiplication factors for cdmb and gwdnonereal(ccpp_constant_one:4)kind_physin
jdatdate_and_time_of_forecast_in_united_states_ordercurrent forecast date and timenoneinteger(ccpp_constant_one:8)in
xlatlatitudegrid latituderadianreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
xlat_dlatitude_in_degreelatitude in degree northdegree_northreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
sinlatsine_of_latitudesine of the grid latitudenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
coslatcosine_of_latitudecosine of the grid latitudenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
areacell_areaarea of the grid cellm2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
ugrsx_windzonal windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
vgrsy_windmeridional windm s-1real(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
q1specific_humiditymid-layer specific humidity of water vaporkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)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
phiigeopotential_at_interfacegeopotential at model layer interfacesm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physin
philgeopotentialgeopotential at model layer centersm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
delair_pressure_difference_between_midlayersair pressure difference between midlayersPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
kpblvertical_index_at_top_of_atmosphere_boundary_layervertical index at top atmospheric boundary layerindexinteger(ccpp_constant_one:horizontal_loop_extent)in
dusfcginstantaneous_x_stress_due_to_gravity_wave_dragzonal surface stress due to orographic gravity wave dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dvsfcginstantaneous_y_stress_due_to_gravity_wave_dragmeridional surface stress due to orographic gravity wave dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
gw_dudttendency_of_x_wind_due_to_gravity_wave_dragzonal wind tendency due to UGWPm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
gw_dvdttendency_of_y_wind_due_to_gravity_wave_dragmeridional wind tendency due to UGWPm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
gw_dtdttendency_of_air_temperature_due_to_gravity_wave_dragair temperature tendency due to UGWPK s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
gw_kdisatmosphere_momentum_diffusivity_due_to_gravity_wave_drageddy mixing due to UGWPm2 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
tau_tofdinstantaneous_momentum_flux_due_to_turbulent_orographic_form_dragmomentum flux or stress due to TOFDPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
tau_mtbinstantaneous_momentum_flux_due_to_mountain_blocking_dragmomentum flux or stress due to mountain blocking dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
tau_ogwinstantaneous_momentum_flux_due_to_orographic_gravity_wave_dragmomentum flux or stress due to orographic gravity wave dragPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
tau_ngwinstantaneous_momentum_flux_due_to_nonstationary_gravity_wavemomentum flux or stress due to nonstationary gravity wavesPareal(ccpp_constant_one:horizontal_loop_extent)kind_physout
zmtbheight_of_mountain_blockingheight of mountain blocking dragmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
zlwbheight_of_low_level_wave_breakingheight of low level wave breakingmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
zogwheight_of_launch_level_of_orographic_gravity_waveheight of launch level of orographic gravity wavemreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
dudt_mtbinstantaneous_change_in_x_wind_due_to_mountain_blocking_draginstantaneous change in x wind due to mountain blocking dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
dudt_tmstendency_of_x_wind_due_to_turbulent_orographic_form_draginstantaneous change in x wind due to TOFDm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
du3dt_mtbtime_integral_of_change_in_x_wind_due_to_mountain_blocking_dragtime integral of change in x wind due to mountain blocking dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
du3dt_ogwtime_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_dragtime integral of change in x wind due to orographic gw dragm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
du3dt_tmstime_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_dragtime integral of change in x wind due to TOFDm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
dudtprocess_split_cumulative_tendency_of_x_windzonal wind tendency due to model physicsm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
dvdtprocess_split_cumulative_tendency_of_y_windmeridional wind tendency due to model physicsm s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
dtdtprocess_split_cumulative_tendency_of_air_temperatureair temperature tendency due to model physicsK s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
rdxzblevel_of_dividing_streamlinelevel of the dividing streamlinenonereal(ccpp_constant_one:horizontal_loop_extent)kind_physout
con_ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
con_omegaangular_velocity_of_earthangular velocity of earths-1real()kind_physin
con_pipiratio of a circle's circumference to its diameternonereal()kind_physin
con_cpspecific_heat_of_dry_air_at_constant_pressurespecific heat !of dry air at constant pressureJ kg-1 K-1real()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
con_rvgas_constant_water_vaporideal gas constant for water vaporJ kg-1 K-1real()kind_physin
con_rerthradius_of_earthradius of earthmreal()kind_physin
con_fvirtratio_of_vapor_to_dry_air_gas_constants_minus_onerv/rd - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
rainnonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timesteptotal precipitation amount in each time stepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physin
ntkeindex_of_turbulent_kinetic_energy_in_tracer_concentration_arraytracer index for turbulent kinetic energyindexinteger()in
q_tketurbulent_kinetic_energyturbulent kinetic energyJreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
dqdt_tkeprocess_split_cumulative_tendency_of_turbulent_kinetic_energyturbulent kinetic energy tendency due to model physicsJ s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
lprntflag_printcontrol flag for diagnostic print outflaglogical()in
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()in
ldiag3dflag_for_diagnostics_3dflag for 3d diagnostic fieldsflaglogical()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
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_orographic_gwdindex_of_orographic_gravity_wave_drag_process_in_cumulative_change_indexindex of orographic gravity wave drag process in second dimension of array cumulative change indexindexinteger()in
index_of_process_nonorographic_gwdindex_of_nonorographic_gravity_wave_drag_process_in_cumulative_change_indexindex of nonorographic gravity wave drag process in second dimension of array cumulative change indexindexinteger()in
lssavflag_for_diagnosticslogical flag for storing diagnosticsflaglogical()in
flag_for_gwd_generic_tendflag_for_generic_tendency_due_to_gravity_wave_dragtrue if GFS_GWD_generic should calculate tendenciesflaglogical()in
do_ugwp_v0flag_for_ugwp_version_0flag to activate ver 0 CIRES UGWPflaglogical()in
do_ugwp_v0_orog_onlyflag_for_ugwp_version_0_orographic_gwdflag to activate ver 0 CIRES UGWP - orographic GWD onlyflaglogical()in
do_ugwp_v0_nst_onlyflag_for_ugwp_version_0_nonorographic_gwdflag to activate ver 0 CIRES UGWP - non-stationary GWD onlyflaglogical()in
do_gsl_drag_ls_blflag_for_gsl_drag_suite_large_scale_orographic_and_blocking_dragflag to activate GSL drag suite - large-scale GWD and blockingflaglogical()in
do_gsl_drag_ssflag_for_gsl_drag_suite_small_scale_orographic_dragflag to activate GSL drag suite - small-scale GWDflaglogical()in
do_gsl_drag_tofdflag_for_gsl_drag_suite_turbulent_orographic_form_dragflag to activate GSL drag suite - turb orog form dragflaglogical()in
gwd_optcontrol_for_drag_suite_gravity_wave_dragflag to choose gwd schemeflaginteger()in
spp_wts_gwdspp_weights_for_gravity_wave_drag_schemespp weights for gravity wave drag scheme1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
spp_gwdcontrol_for_gravity_wave_drag_spp_perturbationscontrol for gravity wave drag spp perturbationscountinteger()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

References drag_suite::drag_suite_run(), fv3_ugwp_solv2_v0(), and gwdps::gwdps_run().

Here is the call graph for this function: