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
No fields configured for issues without a type.

Projects

Status

To Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions