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

Implement constituents infrastructure in analytic IC routines #299

Merged
merged 6 commits into from
Sep 13, 2024

Conversation

nusbaume
Copy link
Collaborator

@nusbaume nusbaume commented Sep 10, 2024

Originator(s): nusbaume, adamrher

Summary:

Adds in the subroutine/function hooks needed for the analytic ICs to properly interact with the CCPP constituents object. This PR also contains some bug fixes for the air composition and SE dycore dynamics-physics coupling routines that were found via testing with the FKESSLER and FHS94 compsets. Finally, this PR also includes some slight cleanup of the use of the water vapor constituent standard name within the core CAM-SIMA host code.

Fixes #287

cod reviewed by: adamrher, peverwhee

Describe any changes made to build system: N/A

Describe any changes made to the namelist:

M src/dynamics/tests/namelist_definition_analy_ic.xml
- Added the US standard atmosphere option to the analytic IC types.

List any changes to the defaults for the input datasets (e.g. boundary datasets): N/A

List all files eliminated and why: N/A

List all files added and what they do: N/A

List all existing files that have been modified, and describe the changes:

M src/control/cam_comp.F90
M src/control/runtime_obj.F90
- Added new "wv_stdname" parameter to cleanup water vapor standard name usage.

M src/data/air_composition.F90
- Fix cpair bug when no dry air species are listed, and use new "wv_stdname" parameter.

M src/dynamics/se/dp_coupling.F90
- Implement qneg and remaining constituents infrastructure, and add missing wet-to-dry conversion step.

M src/dynamics/se/dycore/prim_state_mod.F90
- Whitespace cleanup.

M src/dynamics/se/dyn_comp.F90
M src/dynamics/tests/initial_conditions/ic_baro_dry_jw06.F90
M src/dynamics/tests/initial_conditions/ic_baroclinic.F90
M src/dynamics/tests/initial_conditions/ic_held_suarez.F90
M src/dynamics/tests/initial_conditions/ic_us_standard_atm.F90
- Implement new constituents infrastructure in analytic IC routines.

If there are new failures (compare to the existing-test-failures.txt file),
have them OK'd by the gatekeeper, note them here, and add them to the file.
If there are baseline differences, include the test and the reason for the
diff. What is the nature of the change? Roundoff?

derecho/intel/aux_sima: All Pass

derecho/gnu/aux_sima: All Pass

CAM-SIMA date used for the baseline comparison tests if different than latest:

@nusbaume nusbaume self-assigned this Sep 10, 2024
@nusbaume nusbaume added enhancement New feature or request bug-fix This PR was created to fix a specific bug. code clean-up Made code simpler, better, and/or easier to read. labels Sep 10, 2024
Copy link
Collaborator

@adamrher adamrher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I think I understand how you're using the new constituent infrastructure to get indices and get defaults constituent values in these ic_xxx.F90 modules. But I did have a question below about what exactly was wrong with the FKESSLER compset, and how this fixes it.

Copy link
Collaborator

@peverwhee peverwhee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two small things!

src/dynamics/se/dyn_comp.F90 Outdated Show resolved Hide resolved
Copy link
Collaborator

@peverwhee peverwhee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me!

@nusbaume nusbaume merged commit c99c034 into ESCOMP:development Sep 13, 2024
8 checks passed
@nusbaume nusbaume deleted the analytic_ic_const_fix branch September 16, 2024 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-fix This PR was created to fix a specific bug. code clean-up Made code simpler, better, and/or easier to read. enhancement New feature or request
Projects
Status: Tag
Development

Successfully merging this pull request may close these issues.

3 participants