Skip to content

Conversation

haakon-e
Copy link
Member

@haakon-e haakon-e commented Aug 20, 2025

This pull request adds support for the 2-moment microphysics scheme with P3 ice microphysics ("2MP3") to the codebase, including a new test configuration, initial condition, diagnostics, and all required model infrastructure. The changes ensure that the new scheme is handled correctly throughout the precipitation, cache, initial condition, and diagnostic modules, and integrates it into CI and post-processing.

Support for 2MP3 microphysics scheme:

New test configuration and initial condition:

  • Added a new single-column test configuration file for the 2MP3 scheme (single_column_precipitation_2MP3_test.yml), and created the corresponding initial condition ColdPrecipitatingColumn and state types (PrecipState2MP3). [1] [2] [3] [4]

Continuous integration and post-processing updates:

  • Integrated the new test into the CI pipeline and post-processing plotting routines, ensuring automated testing and visualization for the 2MP3 scheme. (.buildkite/pipeline.yml, post_processing/ci_plots.jlR627)

Parameter infrastructure updates:

  • Extended the parameters struct to include microphysics_2mp3_params for the new scheme. [1] [2]

Diagnostics and output compatibility:

  • Updated diagnostics functions to correctly handle the new scheme, ensuring all relevant output variables are available for 2MP3 runs. [1] [2] [3] [4] [5] [6] [7] [8]

@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch 2 times, most recently from 0c445d7 to 5beb6bb Compare August 20, 2025 04:36
@haakon-e
Copy link
Member Author

@trontrytel @sajjadazimi could you take a quick look at this PR?

It's probably not quite ready to merge, but it does successfully take one time step (on my local machine).

Let me know if the overall design is reasonable enough to be merged.

In future PRs, I aspire to refactor the 2M as to remove the need for q_sno. For now, I (hope) q_sno is always zero there should be no impact carrying this variable around when in reality doing P3.

@haakon-e haakon-e mentioned this pull request Aug 21, 2025
1 task
@haakon-e haakon-e changed the base branch from main to he/rft-conditionally-load August 21, 2025 01:17
@haakon-e
Copy link
Member Author

haakon-e commented Aug 21, 2025

This change is part of the following stack:

Change managed by git-spice.

@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch from f7d5e45 to 9d9d84c Compare August 21, 2025 01:17
@haakon-e
Copy link
Member Author

Feedback from microphysics team: Once this is done,

  • delete the 2M-only option.
  • remove the distinct non-equil / equil options.

We want:

  • equil, 0M
  • non-equil 1M
  • non-equil 2M+P3

@haakon-e haakon-e force-pushed the he/rft-conditionally-load branch from 0e3801b to 22ade88 Compare August 22, 2025 18:45
@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch from 9d9d84c to 823af6c Compare August 22, 2025 18:47
@haakon-e haakon-e force-pushed the he/rft-conditionally-load branch from 22ade88 to a973ebb Compare August 23, 2025 00:30
@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch 2 times, most recently from f8620b8 to 99ca766 Compare August 24, 2025 00:38
@haakon-e haakon-e force-pushed the he/rft-conditionally-load branch from a973ebb to 143dfca Compare August 25, 2025 18:42
@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch from 4a2715d to fbcac84 Compare August 25, 2025 18:42
Base automatically changed from he/rft-conditionally-load to main August 25, 2025 22:48
@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch from fbcac84 to 8a41dc9 Compare August 25, 2025 22:59
@haakon-e haakon-e force-pushed the he/feat-add-p3-ice-microphysics branch from 8a41dc9 to b09b5c5 Compare August 27, 2025 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants