Skip to content

Wrong rfac_oc, rfac_bc (aerosol growth factor) in BAM aero_model computed in interpolation #1597

Description

@jimmielin

What happened?

Observe aero_model.F90 for BAM

factor = (relhum(i,k) - table_rh(rh_l))/(table_rh(rh_u) - table_rh(rh_l))
rfac_sulf = table_rfac_sulf(rh_l) + factor*(table_rfac_sulf(rh_u) - table_rfac_sulf(rh_l))
rfac_oc = table_rfac_oc(rh_u) + factor*(table_rfac_oc(rh_u) - table_rfac_oc(rh_l))
rfac_bc = table_rfac_bc(rh_u) + factor*(table_rfac_bc(rh_u) - table_rfac_bc(rh_l))

rfac_sulf and the computation for rfac_{oc,bc} are inconsistent. Looking at the intent of this code it is an interpolation table.

The rfac_oc, rfac_bc are wrongly using table_rfac_oc(rh_u) (note rh_u, not rh_l as base) - should be rh_l

What are the steps to reproduce the bug?

Observe the code above.

I think this will be an answer changing fix for compsets using BAM.

What CAM tag were you using?

cam6_4_183

What machine were you running CAM on?

CISL machine (e.g. derecho)

What compiler were you using?

Intel

Path to a case directory, if applicable

No response

Will you be addressing this bug yourself?

Any CAM SE can do this

Extra info

No response

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Bug.

Projects

Status
To Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions