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 | ||
) |
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.
local_name | standard_name | long_name | units | type | dimensions | kind | intent |
---|---|---|---|---|---|---|---|
me | mpi_rank | MPI rank of current process | index | integer | () | in | |
master | mpi_root | MPI rank of master process | index | integer | () | in | |
im | horizontal_loop_extent | horizontal | count | integer | () | in | |
levs | vertical_layer_dimension | number of vertical levels | count | integer | () | in | |
ntrac | number_of_tracers | number of tracers | count | integer | () | in | |
dtp | timestep_for_physics | physics timestep | s | real | () | kind_phys | in |
fhzero | period_of_diagnostics_reset | hours between clearing of diagnostic buckets | h | real | () | kind_phys | in |
kdt | index_of_timestep | current forecast iteration | index | integer | () | in | |
lonr | number_of_equatorial_longitude_points | number of global points in x-dir (i) along the equator | count | integer | () | in | |
oro | height_above_mean_sea_level | height_above_mean_sea_level | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
oro_uf | unfiltered_height_above_mean_sea_level | unfiltered height_above_mean_sea_level | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
hprime | standard_deviation_of_subgrid_orography | standard deviation of subgrid height_above_mean_sea_level | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
nmtvr | number_of_statistical_measures_of_subgrid_orography | number of topographic variables in GWD | count | integer | () | in | |
oc | convexity_of_subgrid_orography | convexity of subgrid height_above_mean_sea_level | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
theta | angle_from_east_of_maximum_subgrid_orographic_variations | angle with_respect to east of maximum subgrid orographic variations | degree | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sigma | slope_of_subgrid_orography | slope of subgrid height_above_mean_sea_level | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
gamma | anisotropy_of_subgrid_orography | anisotropy of subgrid height_above_mean_sea_level | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
elvmax | maximum_subgrid_orography | maximum of subgrid height_above_mean_sea_level | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | inout |
clx | fraction_of_grid_box_with_subgrid_orography_higher_than_critical_height | horizontal fraction of grid box covered by subgrid height_above_mean_sea_level higher than critical height | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4) | kind_phys | in |
oa4 | asymmetry_of_subgrid_orography | asymmetry of subgrid height_above_mean_sea_level | none | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4) | kind_phys | in |
varss | standard_deviation_of_subgrid_orography_small_scale | standard deviation of subgrid height_above_mean_sea_level small scale | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
oc1ss | convexity_of_subgrid_orography_small_scale | convexity of subgrid height_above_mean_sea_level small scale | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
oa4ss | asymmetry_of_subgrid_orography_small_scale | asymmetry of subgrid height_above_mean_sea_level small scale | none | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4) | kind_phys | in |
ol4ss | fraction_of_grid_box_with_subgrid_orography_higher_than_critical_height_small_scale | horizontal fraction of grid box covered by subgrid height_above_mean_sea_level higher than critical height small scale | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:4) | kind_phys | in |
dx | characteristic_grid_lengthscale | size of the grid cell | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
dusfc_ls | vertically_integrated_x_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag | integrated x momentum flux from large scale gwd | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dvsfc_ls | vertically_integrated_y_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag | integrated y momentum flux from large scale gwd | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dusfc_bl | vertically_integrated_x_momentum_flux_due_to_blocking_drag | integrated x momentum flux from blocking drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dvsfc_bl | vertically_integrated_y_momentum_flux_due_to_blocking_drag | integrated y momentum flux from blocking drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dusfc_ss | vertically_integrated_x_momentum_flux_due_to_small_scale_gravity_wave_drag | integrated x momentum flux from small scale gwd | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dvsfc_ss | vertically_integrated_y_momentum_flux_due_to_small_scale_gravity_wave_drag | integrated y momentum flux from small scale gwd | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dusfc_fd | vertically_integrated_x_momentum_flux_due_to_form_drag | integrated x momentum flux from form drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dvsfc_fd | vertically_integrated_y_momentum_flux_due_to_form_drag | integrated y momentum flux from form drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dtaux2d_ls | tendency_of_x_wind_due_to_mesoscale_orographic_gravity_wave_drag | instantaneous change in x wind due to orographic gw drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtauy2d_ls | tendency_of_y_wind_due_to_mesoscale_orographic_gravity_wave_drag | instantaneous change in y wind due to orographic gw drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtaux2d_bl | tendency_of_x_momentum_due_to_blocking_drag | x momentum tendency from blocking drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtauy2d_bl | tendency_of_y_momentum_due_to_blocking_drag | y momentum tendency from blocking drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtaux2d_ss | tendency_of_x_momentum_due_to_small_scale_gravity_wave_drag | x momentum tendency from small scale gwd | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtauy2d_ss | tendency_of_y_momentum_due_to_small_scale_gravity_wave_drag | y momentum tendency from small scale gwd | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtaux2d_fd | tendency_of_x_momentum_due_to_form_drag | x momentum tendency from form drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dtauy2d_fd | tendency_of_y_momentum_due_to_form_drag | y momentum tendency from form drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
br1 | bulk_richardson_number_at_lowest_model_level | bulk Richardson number at the surface | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
hpbl | atmosphere_boundary_layer_thickness | PBL thickness | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
slmsk | area_type | landmask: sea/land/ice=0/1/2 | flag | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
do_tofd | flag_for_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravitiy_wave_drag_scheme | flag for turbulent orographic form drag | flag | logical | () | in | |
ldiag_ugwp | flag_for_unified_gravity_wave_physics_diagnostics | flag for CIRES UGWP Diagnostics | flag | logical | () | in | |
cdmbgwd | multiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_drag | multiplication factors for cdmb and gwd | none | real | (ccpp_constant_one:4) | kind_phys | in |
jdat | date_and_time_of_forecast_in_united_states_order | current forecast date and time | none | integer | (ccpp_constant_one:8) | in | |
xlat | latitude | grid latitude | radian | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
xlat_d | latitude_in_degree | latitude in degree north | degree_north | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
sinlat | sine_of_latitude | sine of the grid latitude | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
coslat | cosine_of_latitude | cosine of the grid latitude | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
area | cell_area | area of the grid cell | m2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
ugrs | x_wind | zonal wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
vgrs | y_wind | meridional wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
tgrs | air_temperature | model layer mean temperature | K | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
q1 | specific_humidity | mid-layer specific humidity of water vapor | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
prsi | air_pressure_at_interface | air pressure at model layer interfaces | Pa | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension) | kind_phys | in |
prsl | air_pressure | mean layer pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
prslk | dimensionless_exner_function | dimensionless Exner function at model layer centers | none | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension) | kind_phys | in |
phil | geopotential | geopotential at model layer centers | m2 s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
del | air_pressure_difference_between_midlayers | air pressure difference between midlayers | Pa | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
kpbl | vertical_index_at_top_of_atmosphere_boundary_layer | vertical index at top atmospheric boundary layer | index | integer | (ccpp_constant_one:horizontal_loop_extent) | in | |
dusfcg | instantaneous_x_stress_due_to_gravity_wave_drag | zonal surface stress due to orographic gravity wave drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dvsfcg | instantaneous_y_stress_due_to_gravity_wave_drag | meridional surface stress due to orographic gravity wave drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
gw_dudt | tendency_of_x_wind_due_to_gravity_wave_drag | zonal wind tendency due to UGWP | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
gw_dvdt | tendency_of_y_wind_due_to_gravity_wave_drag | meridional wind tendency due to UGWP | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
gw_dtdt | tendency_of_air_temperature_due_to_gravity_wave_drag | air temperature tendency due to UGWP | K s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
gw_kdis | atmosphere_momentum_diffusivity_due_to_gravity_wave_drag | eddy mixing due to UGWP | m2 s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
tau_tofd | instantaneous_momentum_flux_due_to_turbulent_orographic_form_drag | momentum flux or stress due to TOFD | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
tau_mtb | instantaneous_momentum_flux_due_to_mountain_blocking_drag | momentum flux or stress due to mountain blocking drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
tau_ogw | instantaneous_momentum_flux_due_to_orographic_gravity_wave_drag | momentum flux or stress due to orographic gravity wave drag | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
tau_ngw | instantaneous_momentum_flux_due_to_nonstationary_gravity_wave | momentum flux or stress due to nonstationary gravity waves | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
zmtb | height_of_mountain_blocking | height of mountain blocking drag | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
zlwb | height_of_low_level_wave_breaking | height of low level wave breaking | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
zogw | height_of_launch_level_of_orographic_gravity_wave | height of launch level of orographic gravity wave | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
dudt_mtb | instantaneous_change_in_x_wind_due_to_mountain_blocking_drag | instantaneous change in x wind due to mountain blocking drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dudt_tms | tendency_of_x_wind_due_to_turbulent_orographic_form_drag | instantaneous change in x wind due to TOFD | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
du3dt_mtb | time_integral_of_change_in_x_wind_due_to_mountain_blocking_drag | time integral of change in x wind due to mountain blocking drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
du3dt_ogw | time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag | time integral of change in x wind due to orographic gw drag | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
du3dt_tms | time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag | time integral of change in x wind due to TOFD | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
dudt | process_split_cumulative_tendency_of_x_wind | zonal wind tendency due to model physics | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
dvdt | process_split_cumulative_tendency_of_y_wind | meridional wind tendency due to model physics | m s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
dtdt | process_split_cumulative_tendency_of_air_temperature | air temperature tendency due to model physics | K s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
rdxzb | level_of_dividing_streamline | level of the dividing streamline | none | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
con_g | gravitational_acceleration | gravitational acceleration | m s-2 | real | () | kind_phys | in |
con_omega | angular_velocity_of_earth | angular velocity of earth | s-1 | real | () | kind_phys | in |
con_pi | pi | ratio of a circle's circumference to its diameter | none | real | () | kind_phys | in |
con_cp | specific_heat_of_dry_air_at_constant_pressure | specific heat !of dry air at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
con_rd | gas_constant_of_dry_air | ideal gas constant for dry air | J kg-1 K-1 | real | () | kind_phys | in |
con_rv | gas_constant_water_vapor | ideal gas constant for water vapor | J kg-1 K-1 | real | () | kind_phys | in |
con_rerth | radius_of_earth | radius of earth | m | real | () | kind_phys | in |
con_fvirt | ratio_of_vapor_to_dry_air_gas_constants_minus_one | rv/rd - 1 (rv = ideal gas constant for water vapor) | none | real | () | kind_phys | in |
rain | nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep | total precipitation amount in each time step | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
ntke | index_of_turbulent_kinetic_energy_in_tracer_concentration_array | tracer index for turbulent kinetic energy | index | integer | () | in | |
q_tke | turbulent_kinetic_energy | turbulent kinetic energy | J | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
dqdt_tke | process_split_cumulative_tendency_of_turbulent_kinetic_energy | turbulent kinetic energy tendency due to model physics | J s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
lprnt | flag_print | control flag for diagnostic print out | flag | logical | () | in | |
ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | integer | () | in | |
ldiag3d | flag_for_diagnostics_3d | flag for 3d diagnostic fields | flag | logical | () | in | |
dtend | cumulative_change_of_state_variables | diagnostic tendencies for state variables | mixed | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:cumulative_change_of_state_variables_outer_index_max) | kind_phys | inout |
dtidx | cumulative_change_of_state_variables_outer_index | index of state-variable and process in last dimension of diagnostic tendencies array AKA cumulative_change_index | index | integer | (ccpp_constant_one:number_of_tracers_plus_one_hundred, ccpp_constant_one:number_of_cumulative_change_processes) | in | |
index_of_temperature | index_of_temperature_in_cumulative_change_index | index of temperature in first dimension of array cumulative change index | index | integer | () | in | |
index_of_x_wind | index_of_x_wind_in_cumulative_change_index | index of x-wind in first dimension of array cumulative change index | index | integer | () | in | |
index_of_y_wind | index_of_y_wind_in_cumulative_change_index | index of x-wind in first dimension of array cumulative change index | index | integer | () | in | |
index_of_process_orographic_gwd | index_of_orographic_gravity_wave_drag_process_in_cumulative_change_index | index of orographic gravity wave drag process in second dimension of array cumulative change index | index | integer | () | in | |
index_of_process_nonorographic_gwd | index_of_nonorographic_gravity_wave_drag_process_in_cumulative_change_index | index of nonorographic gravity wave drag process in second dimension of array cumulative change index | index | integer | () | in | |
lssav | flag_for_diagnostics | logical flag for storing diagnostics | flag | logical | () | in | |
flag_for_gwd_generic_tend | flag_for_generic_tendency_due_to_gravity_wave_drag | true if GFS_GWD_generic should calculate tendencies | flag | logical | () | in | |
do_ugwp_v0 | flag_for_ugwp_version_0 | flag to activate ver 0 CIRES UGWP | flag | logical | () | in | |
do_ugwp_v0_orog_only | flag_for_ugwp_version_0_orographic_gwd | flag to activate ver 0 CIRES UGWP - orographic GWD only | flag | logical | () | in | |
do_ugwp_v0_nst_only | flag_for_ugwp_version_0_nonorographic_gwd | flag to activate ver 0 CIRES UGWP - non-stationary GWD only | flag | logical | () | in | |
do_gsl_drag_ls_bl | flag_for_gsl_drag_suite_large_scale_orographic_and_blocking_drag | flag to activate GSL drag suite - large-scale GWD and blocking | flag | logical | () | in | |
do_gsl_drag_ss | flag_for_gsl_drag_suite_small_scale_orographic_drag | flag to activate GSL drag suite - small-scale GWD | flag | logical | () | in | |
do_gsl_drag_tofd | flag_for_gsl_drag_suite_turbulent_orographic_form_drag | flag to activate GSL drag suite - turb orog form drag | flag | logical | () | in | |
gwd_opt | control_for_drag_suite_gravity_wave_drag | flag to choose gwd scheme | flag | integer | () | in | |
spp_wts_gwd | spp_weights_for_gravity_wave_drag_scheme | spp weights for gravity wave drag scheme | 1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
spp_gwd | control_for_gravity_wave_drag_spp_perturbations | control for gravity wave drag spp perturbations | count | integer | () | in | |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | character | () | len=* | out |
errflg | ccpp_error_code | error code for error handling in CCPP | 1 | integer | () | out |
References drag_suite::drag_suite_run(), fv3_ugwp_solv2_v0(), and gwdps::gwdps_run().