Skip to content

Unify BAM and MAM/CARMA paths in microp_aero (ice nucleation, ndrop?) #1525

@jimmielin

Description

@jimmielin

Issue Type

Infrastructure Update

Issue Description

As discussed April 3 during the aerosol refactoring discussion with @tilmes, @fvitt, and @dmleung:

BAM (bulk aerosol model) and MAM/CARMA have parallel code paths in nucleate_ice_cam.F90 (and other parts called from microp_aero) gated by clim_modal_carma. The BAM path hardcodes assumptions inline, while MAM uses the abstract aerosol interface (aerosol_state, aerosol_properties). The BAM stubs in bulk_aerosol_state_mod.F90 all call endrun.

Refactoring can fill in BAM stubs in the abstract aerosol interface so that nucleate_ice_cam can use a single code path (nuclice_get_numdens) for all aerosol models. This eliminates ~100 lines of BAM-specific code from nucleate_ice_cam and centralizes BAM assumptions in the aerosol interface where they belong.

This will serve CCPP-ization of microp_aero by allowing us to bring in all-aerosol-model code instead of the BAM path only, saving work for the future to bring in CARMA and MAM into CAM-SIMA.

Will this change answers?

No

Will you be implementing this yourself?

Yes, but I will need some help

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

To Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions