E3SM-Project / E3SM-Project/scream
Found a bug in routine back_to_cell_average and a bug in routine p3_main_part3 in P3 microphysics SCREAM F90 version
- Dominant language
- No language data
- Stars
- 79
- Forks
- 54
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.