[ccpp-table-properties] name = cires_ugwp type = scheme # DH* 20200804 - this is a result of the nasty hack to call gwdps from within ugwp-v0! dependencies=cires_ugwp_triggers.F90,cires_ugwp_initialize.F90 dependencies=cires_orowam2017.f,cires_ugwp_module.F90,gwdps.f,machine.F,ugwp_driver_v0.F ######################################################################## [ccpp-arg-table] name = cires_ugwp_init type = scheme [me] standard_name = mpi_rank long_name = MPI rank of current process units = index dimensions = () type = integer intent = in [master] standard_name = mpi_root long_name = MPI rank of master process units = index dimensions = () type = integer intent = in [nlunit] standard_name = iounit_of_namelist long_name = fortran unit number for opening namelist file units = none dimensions = () type = integer intent = in [input_nml_file] standard_name = filename_of_internal_namelist long_name = character string to store full namelist contents units = none dimensions = (number_of_lines_in_internal_namelist) type = character kind = len=* intent = in [logunit] standard_name = iounit_of_log long_name = fortran unit number for writing logfile units = none dimensions = () type = integer intent = in [fn_nml2] standard_name = filename_of_namelist long_name = namelist filename for ugwp units = none dimensions = () type = character kind = len=* intent = in [lonr] standard_name = number_of_equatorial_longitude_points long_name = number of global points in x-dir (i) along the equator units = count dimensions = () type = integer intent = in [latr] standard_name = number_of_latitude_points long_name = number of global points in y-dir (j) along the meridian units = count dimensions = () type = integer intent = in [levs] standard_name = vertical_layer_dimension long_name = number of vertical levels units = count dimensions = () type = integer intent = in [ak] standard_name = sigma_pressure_hybrid_coordinate_a_coefficient long_name = a parameter for sigma pressure level calculations units = Pa dimensions = (vertical_interface_dimension) type = real kind = kind_phys intent = in [bk] standard_name = sigma_pressure_hybrid_coordinate_b_coefficient long_name = b parameter for sigma pressure level calculations units = none dimensions = (vertical_interface_dimension) type = real kind = kind_phys intent = in [dtp] standard_name = timestep_for_physics long_name = physics timestep units = s dimensions = () type = real kind = kind_phys intent = in [cdmbgwd] standard_name = multiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_drag long_name = multiplication factors for cdmb and gwd units = none dimensions = (4) type = real kind = kind_phys intent = in [cgwf] standard_name = tunable_parameters_for_convective_gravity_wave_drag long_name = multiplication factor for convective GWD units = none dimensions = (2) type = real kind = kind_phys intent = in [pa_rf_in] standard_name = air_pressure_at_bottom_extent_of_rayleigh_damping long_name = pressure level from which Rayleigh Damping is applied units = Pa dimensions = () type = real kind = kind_phys intent = in [tau_rf_in] standard_name = timescale_for_rayleigh_damping long_name = time scale for Rayleigh damping in days units = d dimensions = () type = real kind = kind_phys intent = in [con_p0] standard_name = standard_atmospheric_pressure long_name = standard atmospheric pressure units = Pa dimensions = () type = real kind = kind_phys intent = in [gwd_opt] standard_name = control_for_drag_suite_gravity_wave_drag long_name = flag to choose gwd scheme units = flag dimensions = () type = integer intent = in [do_ugwp] standard_name = flag_for_unified_gravity_wave_physics_gravity_wave_drag_scheme long_name = flag to activate CIRES UGWP units = flag dimensions = () type = logical intent = in [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP units = none dimensions = () type = character kind = len=* intent = out [errflg] standard_name = ccpp_error_code long_name = error code for error handling in CCPP units = 1 dimensions = () type = integer intent = out ######################################################################## [ccpp-arg-table] name = cires_ugwp_finalize type = scheme [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP units = none dimensions = () type = character kind = len=* intent = out [errflg] standard_name = ccpp_error_code long_name = error code for error handling in CCPP units = 1 dimensions = () type = integer intent = out ######################################################################## [ccpp-arg-table] name = cires_ugwp_run type = scheme [do_ugwp] standard_name = flag_for_unified_gravity_wave_physics_gravity_wave_drag_scheme long_name = flag to activate CIRES UGWP units = flag dimensions = () type = logical intent = in [me] standard_name = mpi_rank long_name = MPI rank of current process units = index dimensions = () type = integer intent = in [master] standard_name = mpi_root long_name = MPI rank of master process units = index dimensions = () type = integer intent = in [im] standard_name = horizontal_loop_extent long_name = horizontal units = count dimensions = () type = integer intent = in [levs] standard_name = vertical_layer_dimension long_name = number of vertical levels units = count dimensions = () type = integer intent = in [ntrac] standard_name = number_of_tracers long_name = number of tracers units = count dimensions = () type = integer intent = in [dtp] standard_name = timestep_for_physics long_name = physics timestep units = s dimensions = () type = real kind = kind_phys intent = in [kdt] standard_name = index_of_timestep long_name = current forecast iteration units = index dimensions = () type = integer intent = in [lonr] standard_name = number_of_equatorial_longitude_points long_name = number of global points in x-dir (i) along the equator units = count dimensions = () type = integer intent = in [oro] standard_name = height_above_mean_sea_level long_name = height_above_mean_sea_level units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [oro_uf] standard_name = unfiltered_height_above_mean_sea_level long_name = unfiltered height_above_mean_sea_level units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [hprime] standard_name = standard_deviation_of_subgrid_orography long_name = standard deviation of subgrid height_above_mean_sea_level units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [nmtvr] standard_name = number_of_statistical_measures_of_subgrid_orography long_name = number of topographic variables in GWD units = count dimensions = () type = integer intent = in [oc] standard_name = convexity_of_subgrid_orography long_name = convexity of subgrid height_above_mean_sea_level units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [theta] standard_name = angle_from_east_of_maximum_subgrid_orographic_variations long_name = angle with_respect to east of maximum subgrid orographic variations units = degree dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [sigma] standard_name = slope_of_subgrid_orography long_name = slope of subgrid height_above_mean_sea_level units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [gamma] standard_name = anisotropy_of_subgrid_orography long_name = anisotropy of subgrid height_above_mean_sea_level units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [elvmax] standard_name = maximum_subgrid_orography long_name = maximum of subgrid height_above_mean_sea_level units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [clx] standard_name = fraction_of_grid_box_with_subgrid_orography_higher_than_critical_height long_name = horizontal fraction of grid box covered by subgrid height_above_mean_sea_level higher than critical height units = frac dimensions = (horizontal_loop_extent,4) type = real kind = kind_phys intent = in [oa4] standard_name = asymmetry_of_subgrid_orography long_name = asymmetry of subgrid height_above_mean_sea_level units = none dimensions = (horizontal_loop_extent,4) type = real kind = kind_phys intent = in [do_tofd] standard_name = flag_for_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravitiy_wave_drag_scheme long_name = flag for turbulent orographic form drag units = flag dimensions = () type = logical intent = in [ldiag_ugwp] standard_name = flag_for_unified_gravity_wave_physics_diagnostics long_name = flag for CIRES UGWP Diagnostics units = flag dimensions = () type = logical intent = in [cdmbgwd] standard_name = multiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_drag long_name = multiplication factors for cdmb and gwd units = none dimensions = (4) type = real kind = kind_phys intent = in [xlat] standard_name = latitude long_name = grid latitude units = radian dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [xlat_d] standard_name = latitude_in_degree long_name = latitude in degree north units = degree_north dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [sinlat] standard_name = sine_of_latitude long_name = sine of the grid latitude units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [coslat] standard_name = cosine_of_latitude long_name = cosine of the grid latitude units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [area] standard_name = cell_area long_name = area of the grid cell units = m2 dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [ugrs] standard_name = x_wind long_name = zonal wind units = m s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [vgrs] standard_name = y_wind long_name = meridional wind units = m s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [tgrs] standard_name = air_temperature long_name = model layer mean temperature units = K dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [qgrs] standard_name = tracer_concentration long_name = model layer mean tracer concentration units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_tracers) type = real kind = kind_phys intent = in [prsi] standard_name = air_pressure_at_interface long_name = air pressure at model layer interfaces units = Pa dimensions = (horizontal_loop_extent,vertical_interface_dimension) type = real kind = kind_phys intent = in [prsl] standard_name = air_pressure long_name = mean layer pressure units = Pa dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [prslk] standard_name = dimensionless_exner_function long_name = dimensionless Exner function at model layer centers units = none dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [phii] standard_name = geopotential_at_interface long_name = geopotential at model layer interfaces units = m2 s-2 dimensions = (horizontal_loop_extent,vertical_interface_dimension) type = real kind = kind_phys intent = in [phil] standard_name = geopotential long_name = geopotential at model layer centers units = m2 s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [del] standard_name = air_pressure_difference_between_midlayers long_name = air pressure difference between midlayers units = Pa dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [kpbl] standard_name = vertical_index_at_top_of_atmosphere_boundary_layer long_name = vertical index at top atmospheric boundary layer units = index dimensions = (horizontal_loop_extent) type = integer intent = in [dusfcg] standard_name = instantaneous_x_stress_due_to_gravity_wave_drag long_name = zonal surface stress due to orographic gravity wave drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dvsfcg] standard_name = instantaneous_y_stress_due_to_gravity_wave_drag long_name = meridional surface stress due to orographic gravity wave drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [gw_dudt] standard_name = tendency_of_x_wind_due_to_gravity_wave_drag long_name = zonal wind tendency due to UGWP units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [gw_dvdt] standard_name = tendency_of_y_wind_due_to_gravity_wave_drag long_name = meridional wind tendency due to UGWP units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [gw_dtdt] standard_name = tendency_of_air_temperature_due_to_gravity_wave_drag long_name = air temperature tendency due to UGWP units = K s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [gw_kdis] standard_name = atmosphere_momentum_diffusivity_due_to_gravity_wave_drag long_name = eddy mixing due to UGWP units = m2 s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [tau_tofd] standard_name = instantaneous_momentum_flux_due_to_turbulent_orographic_form_drag long_name = momentum flux or stress due to TOFD units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [tau_mtb] standard_name = instantaneous_momentum_flux_due_to_mountain_blocking_drag long_name = momentum flux or stress due to mountain blocking drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [tau_ogw] standard_name = instantaneous_momentum_flux_due_to_orographic_gravity_wave_drag long_name = momentum flux or stress due to orographic gravity wave drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [tau_ngw] standard_name = instantaneous_momentum_flux_due_to_nonstationary_gravity_wave long_name = momentum flux or stress due to nonstationary gravity waves units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [zmtb] standard_name = height_of_mountain_blocking long_name = height of mountain blocking drag units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [zlwb] standard_name = height_of_low_level_wave_breaking long_name = height of low level wave breaking units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [zogw] standard_name = height_of_launch_level_of_orographic_gravity_wave long_name = height of launch level of orographic gravity wave units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dusfc_ms] standard_name = vertically_integrated_x_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = integrated x momentum flux from mesoscale gwd units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dvsfc_ms] standard_name = vertically_integrated_y_momentum_flux_due_to_mesoscale_orographic_gravity_wave_drag long_name = integrated y momentum flux from mesoscale gwd units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dusfc_bl] standard_name = vertically_integrated_x_momentum_flux_due_to_blocking_drag long_name = integrated x momentum flux from blocking drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dvsfc_bl] standard_name = vertically_integrated_y_momentum_flux_due_to_blocking_drag long_name = integrated y momentum flux from blocking drag units = Pa dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [dudt_ogw] standard_name = tendency_of_x_wind_due_to_mesoscale_orographic_gravity_wave_drag long_name = instantaneous change in x wind due to orographic gw drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [dtauy2d_ms] standard_name = tendency_of_y_wind_due_to_mesoscale_orographic_gravity_wave_drag long_name = instantaneous change in y wind due to orographic gw drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [dtaux2d_bl] standard_name = tendency_of_x_wind_due_to_blocking_drag long_name = x wind tendency from blocking drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [dtauy2d_bl] standard_name = tendency_of_y_wind_due_to_blocking_drag long_name = y wind tendency from blocking drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [dudt_mtb] standard_name = instantaneous_change_in_x_wind_due_to_mountain_blocking_drag long_name = instantaneous change in x wind due to mountain blocking drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [dudt_tms] standard_name = tendency_of_x_wind_due_to_turbulent_orographic_form_drag long_name = instantaneous change in x wind due to TOFD units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [du3dt_mtb] standard_name = time_integral_of_change_in_x_wind_due_to_mountain_blocking_drag long_name = time integral of change in x wind due to mountain blocking drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [du3dt_ogw] standard_name = time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag long_name = time integral of change in x wind due to orographic gw drag units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [du3dt_tms] standard_name = time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag long_name = time integral of change in x wind due to TOFD units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [dudt] standard_name = process_split_cumulative_tendency_of_x_wind long_name = zonal wind tendency due to model physics units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [dvdt] standard_name = process_split_cumulative_tendency_of_y_wind long_name = meridional wind tendency due to model physics units = m s-2 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [dtdt] standard_name = process_split_cumulative_tendency_of_air_temperature long_name = air temperature tendency due to model physics units = K s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [rdxzb] standard_name = level_of_dividing_streamline long_name = level of the dividing streamline units = none dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = out [con_g] standard_name = gravitational_acceleration long_name = gravitational acceleration units = m s-2 dimensions = () type = real kind = kind_phys intent = in [con_pi] standard_name = pi long_name = ratio of a circle's circumference to its diameter units = none dimensions = () type = real kind = kind_phys intent = in [con_cp] standard_name = specific_heat_of_dry_air_at_constant_pressure long_name = specific heat !of dry air at constant pressure units = J kg-1 K-1 dimensions = () type = real kind = kind_phys intent = in [con_rd] standard_name = gas_constant_of_dry_air long_name = ideal gas constant for dry air units = J kg-1 K-1 dimensions = () type = real kind = kind_phys intent = in [con_rv] standard_name = gas_constant_water_vapor long_name = ideal gas constant for water vapor units = J kg-1 K-1 dimensions = () type = real kind = kind_phys intent = in [con_fvirt] standard_name = ratio_of_vapor_to_dry_air_gas_constants_minus_one long_name = rv/rd - 1 (rv = ideal gas constant for water vapor) units = none dimensions = () type = real kind = kind_phys intent = in [con_omega] standard_name = angular_velocity_of_earth long_name = angular velocity of earth units = s-1 dimensions = () type = real kind = kind_phys intent = in [rain] standard_name = lwe_thickness_of_precipitation_amount_on_dynamics_timestep long_name = total rain at this time step units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [ntke] standard_name = index_of_turbulent_kinetic_energy_in_tracer_concentration_array long_name = tracer index for turbulent kinetic energy units = index dimensions = () type = integer intent = in [q_tke] standard_name = turbulent_kinetic_energy long_name = turbulent kinetic energy units = J dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [dqdt_tke] standard_name = process_split_cumulative_tendency_of_turbulent_kinetic_energy long_name = turbulent kinetic energy tendency due to model physics units = J s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [lprnt] standard_name = flag_print long_name = control flag for diagnostic print out units = flag dimensions = () type = logical intent = in [ipr] standard_name = horizontal_index_of_printed_column long_name = horizontal index of printed column units = index dimensions = () type = integer intent = in [dtend] standard_name = cumulative_change_of_state_variables long_name = diagnostic tendencies for state variables units = mixed dimensions = (horizontal_loop_extent,vertical_layer_dimension,cumulative_change_of_state_variables_outer_index_max) type = real kind = kind_phys active = (flag_for_diagnostics_3D) intent = inout [dtidx] standard_name = cumulative_change_of_state_variables_outer_index long_name = index of state-variable and process in last dimension of diagnostic tendencies array AKA cumulative_change_index units = index dimensions = (number_of_tracers_plus_one_hundred,number_of_cumulative_change_processes) type = integer intent = in [index_of_x_wind] standard_name = index_of_x_wind_in_cumulative_change_index long_name = index of x-wind in first dimension of array cumulative change index units = index dimensions = () type = integer intent = in [index_of_y_wind] standard_name = index_of_y_wind_in_cumulative_change_index long_name = index of x-wind in first dimension of array cumulative change index units = index dimensions = () type = integer intent = in [index_of_temperature] standard_name = index_of_temperature_in_cumulative_change_index long_name = index of temperature in first dimension of array cumulative change index units = index dimensions = () type = integer intent = in [index_of_process_orographic_gwd] standard_name = index_of_orographic_gravity_wave_drag_process_in_cumulative_change_index long_name = index of orographic gravity wave drag process in second dimension of array cumulative change index units = index dimensions = () type = integer intent = in [index_of_process_nonorographic_gwd] standard_name = index_of_nonorographic_gravity_wave_drag_process_in_cumulative_change_index long_name = index of nonorographic gravity wave drag process in second dimension of array cumulative change index units = index dimensions = () type = integer intent = in [ldiag3d] standard_name = flag_for_diagnostics_3D long_name = flag for 3d diagnostic fields units = flag dimensions = () type = logical intent = in [lssav] standard_name = flag_for_diagnostics long_name = logical flag for storing diagnostics units = flag dimensions = () type = logical intent = in [flag_for_gwd_generic_tend] standard_name = flag_for_generic_tendency_due_to_gravity_wave_drag long_name = true if GFS_GWD_generic should calculate tendencies units = flag dimensions = () type = logical intent = in [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP units = none dimensions = () type = character kind = len=* intent = out [errflg] standard_name = ccpp_error_code long_name = error code for error handling in CCPP units = 1 dimensions = () type = integer intent = out