Skip to content

Found a bug in routine back_to_cell_average and a bug in routine p3_main_part3 in P3 microphysics SCREAM F90 version #2897

@linlintamu

Description

@linlintamu

Here we report two bugs found in the P3 microphysics SCREAM F90 version code.
1- in routine back_to_cell_average, the one line code that converts in-cloud immersion freezing of cloud drops mass into grid cell mean value: qc2qi_hetero_freeze_tend = qc2qi_hetero_freeze_tend***il_cldm** ! Immersion freezing of cloud drops.

The cloud fraction that is multiplied by should be liquid cloud fraction "cld_frac_l" rather than the intersection of liquid and ice cloud "il_cldm".

The corresponding conversion of in-cloud immersion freezing of cloud drop number into grid cell mean value: nc2ni_immers_freeze_tend = nc2ni_immers_freeze_tend*cld_frac_l ! Number change associated with freexzing of cld drops use the correct cloud fraction to multiply by.

2- in routine p3_main_part3, when diagnosing the rain effective radius: diag_eff_radius_qr(k) = 1.5_rtype/lamr(k).
Now it is hard-coded using constant 1.5 divided by lamr(k). This is correct only when the spectral width parameter (mu_r) in the rain gamma size distribution is set to zero. However, the model now use mu_r = mu_r_constant set in routine get_rain_dsd2. And mu_r_constant = 1 set in micro_p3_utils.F90. As a result, the rain effective radius is no longer 1.5/lamr(k). To be highly flexible in accepting any given mu_r values and automate the diagnosis of rain effective radius, I suggest the equation should be diag_eff_radius_qr(k) = 0.5_rtype*(mu_r(k)+3._rtype)/lamr(k). This equation gives you diag_eff_radius_qr(k) = 2_rtype/lamr(k) when mu_r(k) = 1.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions