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

Refactor dadadj for CCPP framework #91

Merged
merged 28 commits into from
Jul 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
63bab8e
commit initial dadadj mods for SIMA
jtruesdal Mar 27, 2024
9c8ed80
dadadj ccpp mods
jtruesdal Mar 30, 2024
54dc02f
bug fix in loop rewrite
jtruesdal Apr 4, 2024
9da3c51
Merge branch 'ESCOMP:main' into dadadj
jtruesdal Apr 12, 2024
ec51f8c
update main loop in dadadj to get rid of goto statement
jtruesdal Apr 13, 2024
25b52e8
Merge remote-tracking branch 'refs/remotes/jtruesdal/dadadj' into dadadj
jtruesdal Apr 13, 2024
6262dfb
Merge branch 'ESCOMP:main' into dadadj
jtruesdal Apr 30, 2024
8ad3e20
update doc/ChangeLog
jtruesdal May 2, 2024
9fd5230
Update dadadj/dadadj.F90
jtruesdal May 28, 2024
75568fa
Update dadadj/dadadj.F90
jtruesdal May 28, 2024
ff9c000
PR mods
jtruesdal May 28, 2024
ffd527a
rename dadadj dry_adiabatic_adjust
jtruesdal May 28, 2024
d2af285
PR updates
jtruesdal May 28, 2024
6ebbcd6
PR updates
jtruesdal May 28, 2024
e4ccb3e
PR updates - rename dadadj to dry_adiabatic_adjustment
jtruesdal May 30, 2024
eb6c886
Update suite_cam7.xml
jtruesdal May 30, 2024
5c1c3fb
more PR updates
jtruesdal May 30, 2024
3174426
forgot to add test/test_sdfs directory with dry_adiabatic_adjust suite
jtruesdal May 30, 2024
724f30c
PR errmsg update to indicate what column index failed to converge
jtruesdal Jun 4, 2024
4c0f723
PR updates to Changelog
jtruesdal Jun 20, 2024
c98d6ac
fix constituent update - add new update routine until standard one is…
jtruesdal Jul 10, 2024
26591e1
dry adiabatic suite moved to test_sdfs subdirectory, cam7 suite will …
jtruesdal Jul 11, 2024
4a27c3d
ChangeLog update
jtruesdal Jul 12, 2024
4500e60
update to latest atmospheric_physics, generate new NamesNotInDictiona…
jtruesdal Jul 12, 2024
23d7e14
ChangeLog update
jtruesdal Jul 12, 2024
01a0dc2
ChangeLog corr
jtruesdal Jul 12, 2024
9a44dbf
ChangeLog corr
jtruesdal Jul 12, 2024
1e70ee7
minor PR updates to comments, ChangeLog and meta data
jtruesdal Jul 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
===============================================================

Tag name: atmos_phys0_04_000
Originator(s): jet
Date: May 3, 2024
One-line Summary: dadadj CCPP mods
Github PR URL: https://github.com/ESCOMP/atmospheric_physics/pull/91

This PR fixes the following NCAR/atmospheric_physics Github issues:
- Creates the CCPP interface for the dadadj routine
- dadadj.F90 routine was slightly refactored to update the logic and syntax

Additionally it was discovered that the temporary variable for cappa interface was
not set properly each time through the loop that makes the dry adiabatic adjustment.
This bug was fixed as part of this PR with the following line.

cappaint = 0.5_kind_phys*(cappa(i,k+1) + cappa(i,k))

Code reviewed by: nusbaume, cacraigucar

List all existing files that have been added (A), modified (M), or deleted (D),
and describe the changes:

A dry_adiabatic_adjust/dadadj_apply_qv_tendency.F90 - temp file to update constituent tendency
A dry_adiabatic_adjust/dadadj_apply_qv_tendency.meta - SIMA meta file for F90 routine
A dry_adiabatic_adjust/dadadj.F90 - minor refactor to the cam routine - CCPP'ize
A dry_adiabatic_adjust/dadadj.meta - SIMA meta file for F90 routine
A dry_adiabatic_adjust/dadadj_namelist.xml
M doc/ChangeLog
A test/test_sdfs/suite_dry_adiabatic_adjust.xml - CCPP suite file for testing
M suite_cam7.xml - added dry adiabatic adjust to cam7 CCPP suite file
M NamesNotInDictionary.txt - updated with current set of names

List and Describe any test failures:
- Tested in CAM
Because dadadj doesn't normally get tripped I modified the Temp
profile to create an instability where the code would be exercised.
The snapshot files contain this instability. The modification adds
60 degrees to the layer 2 temperature.

--- /project/amp/jet/collections/cam6_3_160_dryadj.042924.1856/src/dynamics/se/dyn_comp.F90
2024-05-02 16:56:49.746341064 -0600
+++ SourceMods/src.cam/dyn_comp.F90 2024-05-02 16:37:13.171433366 -0600
@@ -1429,6 +1429,7 @@
do j = 1, np
do i = 1, np
elem(ie)%state%T(i,j,:,1) = dbuf3(indx,:,ie)
+ elem(ie)%state%T(i,j,2,1) = dbuf3(indx,2,ie) + 60._r8
indx = indx + 1
end do
end do

Summarize any changes to answers:
- none: base code includes the same mod above to exercise code.

===============================================================
===============================================================

Tag name: atmos_phys0_03_00
Originator(s): mwaxmonsky
Date: June 18, 2024
Expand Down Expand Up @@ -61,6 +117,7 @@ water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water
********** End Physics Check Data Results **********


===============================================================
===============================================================

Tag name: atmos_phys0_02_006
Expand Down
108 changes: 62 additions & 46 deletions doc/NamesNotInDictionary.txt
Original file line number Diff line number Diff line change
@@ -1,21 +1,43 @@

#######################
Date/time of when script was run:
2024-06-20 11:25:12.714233
2024-07-12 11:08:18.467654
#######################

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

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/utilities/geopotential_temp.meta
atmospheric_physics.jt.062024/utilities/geopotential_temp.meta

- air_pressure_at_interface
- ln_air_pressure_at_interface

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/zhang_mcfarlane/zm_conv_momtran.meta
atmospheric_physics.jt.062024/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
- atmosphere_downdraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_updraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- current_timestep_number
- flag_for_zhang_mcfarlane_deep_convective_transport?
- fraction_of_water_insoluble_convectively_transported_species
- horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns
- maximum_number_of_grid_cells_with_deep_convection?
- minimum_number_of_grid_cells_with_deep_convection?
- pressure_thickness_for_deep_convection_for_convective_columns
- pressure_thickness_for_subcloud_layer_for_deep_convection_for_convective_columns
- pressure_thickness_of_dry_air_for_deep_convection_for_convective_columns?
- tendency_of_ccpp_constituents?
- vertical_index_at_top_of_deep_convection_for_convective_columns
- vertical_index_of_deep_conveciton_launch_level_for_convective_columns

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

atmospheric_physics.jt.062024/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 @@ -42,7 +64,33 @@ Non-dictionary standard names found in the following metadata files:

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/zhang_mcfarlane/zm_convr.meta
atmospheric_physics.jt.062024/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.jt.062024/zhang_mcfarlane/zm_convr.meta

- air_pressure_at_interface
- atmosphere_convective_mass_flux_due_to all_convection?
Expand Down Expand Up @@ -98,55 +146,23 @@ Non-dictionary standard names found in the following metadata files:

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/zhang_mcfarlane/zm_conv_convtran.meta
atmospheric_physics.jt.062024/dry_adiabatic_adjust/dadadj.meta

- atmosphere_detrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_downdraft_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_downdraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns
- atmosphere_updraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns
- current_timestep_number
- flag_for_zhang_mcfarlane_deep_convective_transport?
- fraction_of_water_insoluble_convectively_transported_species
- horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns
- maximum_number_of_grid_cells_with_deep_convection?
- minimum_number_of_grid_cells_with_deep_convection?
- pressure_thickness_for_deep_convection_for_convective_columns
- pressure_thickness_for_subcloud_layer_for_deep_convection_for_convective_columns
- pressure_thickness_of_dry_air_for_deep_convection_for_convective_columns?
- tendency_of_ccpp_constituents?
- vertical_index_at_top_of_deep_convection_for_convective_columns
- vertical_index_of_deep_conveciton_launch_level_for_convective_columns
- air_pressure_at_interface
- binary_indicator_for_dry_adiabatic_adjusted_grid_cell
- number_of_iterations_for_dry_adiabatic_adjustment_algorithm_convergence
- number_of_vertical_levels_from_model_top_where_dry_adiabatic_adjustment_occurs
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/zhang_mcfarlane/zm_conv_evap.meta
atmospheric_physics.jt.062024/dry_adiabatic_adjust/dadadj_apply_qv_tendency.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?
- tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/tj2016/tj2016_precip.meta
atmospheric_physics.jt.062024/tj2016/tj2016_precip.meta

- gas_constant_of_water_vapor
- lwe_large_scale_precipitation_rate_at_surface
Expand All @@ -155,7 +171,7 @@ Non-dictionary standard names found in the following metadata files:

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

/home/mwaxmonsky/source/atmospheric_physics-mwaxmonsky/tj2016/tj2016_sfc_pbl_hs.meta
atmospheric_physics.jt.062024/tj2016/tj2016_sfc_pbl_hs.meta

- air_pressure_at_interface
- eddy_heat_diffusivity
Expand Down
Loading