Skip to content

Commit

Permalink
Merge pull request #105 from peverwhee/diagnostics
Browse files Browse the repository at this point in the history
Add CAM diagnostic schemes
  • Loading branch information
peverwhee authored Oct 17, 2024
2 parents 67bb908 + 17d4465 commit e95c172
Show file tree
Hide file tree
Showing 14 changed files with 786 additions and 113 deletions.
235 changes: 122 additions & 113 deletions doc/NamesNotInDictionary.txt
Original file line number Diff line number Diff line change
@@ -1,43 +1,51 @@

#######################
Date/time of when script was run:
2024-09-18 19:06:50.047235
2024-10-10 14:17:36.423628
#######################

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

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

atmospheric_physics/tj2016/tj2016_precip.meta
atmospheric_physics/schemes/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/schemes/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

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

atmospheric_physics/dry_adiabatic_adjust/dadadj.meta
atmospheric_physics/schemes/dry_adiabatic_adjust/dadadj.meta

- air_pressure_at_interface
- binary_indicator_for_dry_adiabatic_adjusted_grid_cell
Expand All @@ -47,13 +55,59 @@ atmospheric_physics/dry_adiabatic_adjust/dadadj.meta

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

atmospheric_physics/dry_adiabatic_adjust/dadadj_apply_qv_tendency.meta
atmospheric_physics/schemes/dry_adiabatic_adjust/dadadj_apply_qv_tendency.meta

- tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water

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

atmospheric_physics/zhang_mcfarlane/zm_conv_momtran.meta
atmospheric_physics/schemes/utilities/geopotential_temp.meta

- air_pressure_at_interface
- ln_air_pressure_at_interface

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

atmospheric_physics/schemes/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/schemes/zhang_mcfarlane/zm_conv_momtran.meta

- atmosphere_detrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_downdraft_convective_mass_flux_for_deep_convection_for_convective_columns
Expand All @@ -80,33 +134,7 @@ 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
atmospheric_physics/schemes/zhang_mcfarlane/zm_convr.meta

- air_pressure_at_interface
- atmosphere_convective_mass_flux_due_to all_convection?
Expand Down Expand Up @@ -162,7 +190,7 @@ atmospheric_physics/zhang_mcfarlane/zm_convr.meta

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

atmospheric_physics/zhang_mcfarlane/zm_conv_convtran.meta
atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_convtran.meta

- atmosphere_detrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_downdraft_convective_mass_flux_for_deep_convection_for_convective_columns
Expand All @@ -184,76 +212,57 @@ atmospheric_physics/zhang_mcfarlane/zm_conv_convtran.meta

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

atmospheric_physics/utilities/geopotential_temp.meta
atmospheric_physics/schemes/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/schemes/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/schemes/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 schemes/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 schemes/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

0 comments on commit e95c172

Please sign in to comment.