Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CAM diagnostic schemes #105

Merged
merged 13 commits into from
Oct 17, 2024
225 changes: 117 additions & 108 deletions doc/NamesNotInDictionary.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,47 @@

#######################
Date/time of when script was run:
2024-09-18 19:06:50.047235
2024-10-02 17:21:48.293385
#######################

Non-dictionary standard names found in the following metadata files:

--------------------------

atmospheric_physics/tj2016/tj2016_precip.meta
atmospheric_physics/sima_diagnostics/sima_state_diagnostics.meta

- gas_constant_of_water_vapor
- lwe_large_scale_precipitation_rate_at_surface
- ratio_of_water_vapor_to_dry_air_molecular_weights
- sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient
- air_pressure_at_interface
- air_pressure_of_dry_air_at_interface
- ln_air_pressure_at_interface
- ln_air_pressure_of_dry_air_at_interface

--------------------------

atmospheric_physics/tj2016/tj2016_sfc_pbl_hs.meta
atmospheric_physics/sima_diagnostics/tropopause_diagnostics.meta

- air_pressure_at_interface
- eddy_heat_diffusivity
- eddy_momentum_diffusivity
- gas_constant_of_water_vapor
- ln_air_pressure_at_interface
- pi_constant
- ratio_of_water_vapor_to_dry_air_molecular_weights
- sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient
- surface_eastward_wind_stress
- surface_evaporation_rate
- surface_northward_wind_stress
- surface_upward_sensible_heat_flux
- tendency_of_air_temperature_due_to_diabatic_heating
- tendency_of_air_temperature_due_to_vertical_diffusion
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_vertical_diffusion
- tropopause_air_pressure
- tropopause_air_pressure_from_climatological_method
- tropopause_air_pressure_from_cold_point_method
- tropopause_air_pressure_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_pressure_from_lapse_rate_method
- tropopause_air_temperature
- tropopause_air_temperature_from_climatological_method
- tropopause_air_temperature_from_cold_point_method
- tropopause_air_temperature_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_temperature_from_lapse_rate_method
- tropopause_geopotential_height_wrt_surface
- tropopause_geopotential_height_wrt_surface_from_climatological_method
- tropopause_geopotential_height_wrt_surface_from_cold_point_method
- tropopause_geopotential_height_wrt_surface_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_geopotential_height_wrt_surface_from_lapse_rate_method
- tropopause_vertical_layer_index
- tropopause_vertical_layer_index_from_climatological_method
- tropopause_vertical_layer_index_from_cold_point_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method_for_chemistry
- tropopause_vertical_layer_index_from_lapse_rate_method
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_linearized_ozone_chemistry
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_stratospheric_chemistry

--------------------------

Expand All @@ -53,6 +61,52 @@ atmospheric_physics/dry_adiabatic_adjust/dadadj_apply_qv_tendency.meta

--------------------------

atmospheric_physics/utilities/geopotential_temp.meta

- air_pressure_at_interface
- ln_air_pressure_at_interface

--------------------------

atmospheric_physics/tropopause_find/tropopause_find.meta

- air_pressure_at_interface
- fill_value_for_diagnostic_output
- fractional_calendar_days_on_end_of_current_timestep
- pi_constant
- ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure
- tropopause_air_pressure
- tropopause_air_pressure_from_chemical_method
- tropopause_air_pressure_from_climatological_method
- tropopause_air_pressure_from_climatology_dataset
- tropopause_air_pressure_from_cold_point_method
- tropopause_air_pressure_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_pressure_from_lapse_rate_method
- tropopause_air_temperature
- tropopause_air_temperature_from_chemical_method
- tropopause_air_temperature_from_climatological_method
- tropopause_air_temperature_from_cold_point_method
- tropopause_air_temperature_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_temperature_from_lapse_rate_method
- tropopause_calendar_days_from_climatology
- tropopause_geopotential_height_wrt_surface
- tropopause_geopotential_height_wrt_surface_from_chemical_method
- tropopause_geopotential_height_wrt_surface_from_climatological_method
- tropopause_geopotential_height_wrt_surface_from_cold_point_method
- tropopause_geopotential_height_wrt_surface_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_geopotential_height_wrt_surface_from_lapse_rate_method
- tropopause_vertical_layer_index
- tropopause_vertical_layer_index_from_chemical_method
- tropopause_vertical_layer_index_from_climatological_method
- tropopause_vertical_layer_index_from_cold_point_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method_for_chemistry
- tropopause_vertical_layer_index_from_lapse_rate_method
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_linearized_ozone_chemistry
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_stratospheric_chemistry

--------------------------

atmospheric_physics/zhang_mcfarlane/zm_conv_momtran.meta

- atmosphere_detrainment_convective_mass_flux_for_deep_convection_for_convective_columns
Expand Down Expand Up @@ -80,32 +134,6 @@ atmospheric_physics/zhang_mcfarlane/zm_conv_momtran.meta

--------------------------

atmospheric_physics/zhang_mcfarlane/zm_conv_evap.meta

-
- cloud_area_fraction
- flag_for_zhang_mcfarlane_convective_organization_parameterization?
- freezing_point_of_water?
- frozen_precipitation_mass_flux_at_interface_due_to_deep_convection?
- heating_rate
- latent_heat_of_fusion_of_water_at_0c?
- latent_heat_of_vaporization_of_water_at_0c?
- lwe_frozen_precipitation_rate_at_surface_due_to_deep_convection
- lwe_precipitation_rate_at_surface_due_to_deep_convection
- precipitation_mass_flux_at_interface_due_to_deep_convection?
- pressure_thickness
- specific_heat_of_dry_air_at_constant_pressure?
- tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_melt?
- tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_in_deep_convection?
- tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection?
- tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection?
- tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection_excluding_subcloud_evaporation
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air and_condensed_water?
- tunable_evaporation_efficiency_for_land_in_zhang_mcfarlane_deep_convection_scheme?
- tunable_evaporation_efficiency_in_zhang_mcfarlane_deep_convection_scheme?

--------------------------

atmospheric_physics/zhang_mcfarlane/zm_convr.meta

- air_pressure_at_interface
Expand Down Expand Up @@ -184,76 +212,57 @@ atmospheric_physics/zhang_mcfarlane/zm_conv_convtran.meta

--------------------------

atmospheric_physics/utilities/geopotential_temp.meta
atmospheric_physics/zhang_mcfarlane/zm_conv_evap.meta

- air_pressure_at_interface
- ln_air_pressure_at_interface
-
- cloud_area_fraction
- flag_for_zhang_mcfarlane_convective_organization_parameterization?
- freezing_point_of_water?
- frozen_precipitation_mass_flux_at_interface_due_to_deep_convection?
- heating_rate
- latent_heat_of_fusion_of_water_at_0c?
- latent_heat_of_vaporization_of_water_at_0c?
- lwe_frozen_precipitation_rate_at_surface_due_to_deep_convection
- lwe_precipitation_rate_at_surface_due_to_deep_convection
- precipitation_mass_flux_at_interface_due_to_deep_convection?
- pressure_thickness
- specific_heat_of_dry_air_at_constant_pressure?
- tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_melt?
- tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_in_deep_convection?
- tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection?
- tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection?
- tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection_excluding_subcloud_evaporation
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air and_condensed_water?
- tunable_evaporation_efficiency_for_land_in_zhang_mcfarlane_deep_convection_scheme?
- tunable_evaporation_efficiency_in_zhang_mcfarlane_deep_convection_scheme?

--------------------------

atmospheric_physics/cam_diagnostics/tropopause_diagnostics.meta
atmospheric_physics/tj2016/tj2016_precip.meta

- tropopause_air_pressure
- tropopause_air_pressure_from_climatological_method
- tropopause_air_pressure_from_cold_point_method
- tropopause_air_pressure_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_pressure_from_lapse_rate_method
- tropopause_air_temperature
- tropopause_air_temperature_from_climatological_method
- tropopause_air_temperature_from_cold_point_method
- tropopause_air_temperature_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_temperature_from_lapse_rate_method
- tropopause_geopotential_height_wrt_surface
- tropopause_geopotential_height_wrt_surface_from_climatological_method
- tropopause_geopotential_height_wrt_surface_from_cold_point_method
- tropopause_geopotential_height_wrt_surface_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_geopotential_height_wrt_surface_from_lapse_rate_method
- tropopause_vertical_layer_index
- tropopause_vertical_layer_index_from_climatological_method
- tropopause_vertical_layer_index_from_cold_point_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method_for_chemistry
- tropopause_vertical_layer_index_from_lapse_rate_method
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_linearized_ozone_chemistry
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_stratospheric_chemistry
- gas_constant_of_water_vapor
- lwe_large_scale_precipitation_rate_at_surface
- ratio_of_water_vapor_to_dry_air_molecular_weights
- sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient

--------------------------

atmospheric_physics/tropopause_find/tropopause_find.meta
atmospheric_physics/tj2016/tj2016_sfc_pbl_hs.meta

- air_pressure_at_interface
- fill_value_for_diagnostic_output
- fractional_calendar_days_on_end_of_current_timestep
- eddy_heat_diffusivity
- eddy_momentum_diffusivity
- gas_constant_of_water_vapor
- ln_air_pressure_at_interface
- pi_constant
- ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure
- tropopause_air_pressure
- tropopause_air_pressure_from_chemical_method
- tropopause_air_pressure_from_climatological_method
- tropopause_air_pressure_from_climatology_dataset
- tropopause_air_pressure_from_cold_point_method
- tropopause_air_pressure_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_pressure_from_lapse_rate_method
- tropopause_air_temperature
- tropopause_air_temperature_from_chemical_method
- tropopause_air_temperature_from_climatological_method
- tropopause_air_temperature_from_cold_point_method
- tropopause_air_temperature_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_air_temperature_from_lapse_rate_method
- tropopause_calendar_days_from_climatology
- tropopause_geopotential_height_wrt_surface
- tropopause_geopotential_height_wrt_surface_from_chemical_method
- tropopause_geopotential_height_wrt_surface_from_climatological_method
- tropopause_geopotential_height_wrt_surface_from_cold_point_method
- tropopause_geopotential_height_wrt_surface_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_geopotential_height_wrt_surface_from_lapse_rate_method
- tropopause_vertical_layer_index
- tropopause_vertical_layer_index_from_chemical_method
- tropopause_vertical_layer_index_from_climatological_method
- tropopause_vertical_layer_index_from_cold_point_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method
- tropopause_vertical_layer_index_from_hybrid_stobie_linoz_with_climatological_backup_method_for_chemistry
- tropopause_vertical_layer_index_from_lapse_rate_method
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_linearized_ozone_chemistry
- vertical_layer_index_lower_bound_from_hybrid_stobie_linoz_with_climatological_backup_method_for_stratospheric_chemistry
- ratio_of_water_vapor_to_dry_air_molecular_weights
- sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient
- surface_eastward_wind_stress
- surface_evaporation_rate
- surface_northward_wind_stress
- surface_upward_sensible_heat_flux
- tendency_of_air_temperature_due_to_diabatic_heating
- tendency_of_air_temperature_due_to_vertical_diffusion
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_vertical_diffusion

#######################
58 changes: 58 additions & 0 deletions sima_diagnostics/kessler_diagnostics.F90
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
module kessler_diagnostics
!
! Diagnostics for use by the Kessler physics suite only
!

use ccpp_kinds, only: kind_phys

implicit none
private
save

public :: kessler_diagnostics_init ! init routine
public :: kessler_diagnostics_run ! main routine

CONTAINS

!> \section arg_table_kessler_diagnostics_init Argument Table
!! \htmlinclude kessler_diagnostics_init.html
subroutine kessler_diagnostics_init(errmsg, errflg)
use cam_history, only: history_add_field
use cam_history_support, only: horiz_only

character(len=512), intent(out) :: errmsg
integer, intent(out) :: errflg

! Local variables:

errmsg = ''
errflg = 0

call history_add_field('PRECT', 'total_precipitation_rate_at_surface', horiz_only, 'avg', 'm s-1')

end subroutine kessler_diagnostics_init

!> \section arg_table_kessler_diagnostics_run Argument Table
!! \htmlinclude kessler_diagnostics_run.html
subroutine kessler_diagnostics_run(precl, errmsg, errflg)

use cam_history, only: history_out_field
!------------------------------------------------
! Input / output parameters
!------------------------------------------------
! State variables
real(kind_phys), intent(in) :: precl(:) ! Total precipitation
! CCPP error handling variables
character(len=512), intent(out) :: errmsg
integer, intent(out) :: errflg

errmsg = ''
errflg = 0

call history_out_field('PRECT', precl)

end subroutine kessler_diagnostics_run

!=======================================================================

end module kessler_diagnostics
41 changes: 41 additions & 0 deletions sima_diagnostics/kessler_diagnostics.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
[ccpp-table-properties]
name = kessler_diagnostics
type = scheme

[ccpp-arg-table]
name = kessler_diagnostics_init
type = scheme
[ errmsg ]
standard_name = ccpp_error_message
units = none
type = character | kind = len=512
dimensions = ()
intent = out
[ errflg ]
standard_name = ccpp_error_code
units = 1
type = integer
dimensions = ()
intent = out

[ccpp-arg-table]
name = kessler_diagnostics_run
type = scheme
[ precl ]
standard_name = total_precipitation_rate_at_surface
units = m s-1
type = real | kind = kind_phys
dimensions = (horizontal_loop_extent)
intent = in
[ errmsg ]
standard_name = ccpp_error_message
units = none
type = character | kind = len=512
dimensions = ()
intent = out
[ errflg ]
standard_name = ccpp_error_code
units = 1
type = integer
dimensions = ()
intent = out
Loading