E3SM-Project / E3SM-Project/scream
Should we have prescribed nc and ni modes in EAMxx?
- Dominant language
- No language data
- Stars
- 79
- Forks
- 54
- PR merge metrics
- No merged PRs in 30d
Description
Our DAG complains that `nc_nuceat_tend` [sic] and `ni_activated` are required by P3 but aren't initialized. It turns out these variables are only used if either `do_predict_nc` or `do_prescribed_CCN` are true. The only way we routinely run EAMxx is with SPA (do_predict_nc=false and do_prescribed_CCN=false... I think) but these other options *are* actually tested - see https://github.com/E3SM-Project/scream/blob/5bb0cc6f3374f4af80c8ae1821cb65c79fcaf80c/components/eamxx/src/physics/p3/tests/p3_main_unit_tests.cpp#L346
Comments:
1. My main goal for this git issue is to ask whether there's any way for users to set `nc_nuceat_tend` and/or `ni_activated` in yaml files... or even whether `do_predict_nc` and `do_prescribed_CCN` can be prescribed in yaml. If there's no way to use these features, we should delete them or make them no longer land-locked. The only reason our unit tests for these capabilities work now is because we're calling p3_main directly with values for them we're setting directly. @AaronDonahue or @bartgol - do you know?
2. The names for all this stuff are terrible - super misleading and inconsistent with each other. If we do keep these options, we should fix the names.
3. I think we need the ability to prescribe nc and ni for DP cases (right @bogensch @hassanbeydoun ?), but that's just one logical. I think the other logical was for runs using MAM. I'd rather delete the weird `do_predict_nc` flag for the time being and have EAGLES people implement something that makes sense when the time comes. Ultimately, I think it would make more sense to have a single `hydrometeor_number_treatment` enum which could take values of `spa`, `prescribed`, or `mam`.
4. Just for ease of reference, the only place `nc_nuceat_tend` is used is https://github.com/E3SM-Project/scream/blob/5bb0cc6f3374f4af80c8ae1821cb65c79fcaf80c/components/eamxx/src/physics/p3/impl/p3_main_impl_part1.hpp#L136 and the only place `ni_activated` is used is https://github.com/E3SM-Project/scream/blob/5bb0cc6f3374f4af80c8ae1821cb65c79fcaf80c/components/eamxx/src/physics/p3/impl/p3_ice_nucleation_impl.hpp#L53
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.