Make cloud diagnostics comparable between UM and LFRic
- Dominant language
- Python
- Stars
- 33
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 30
Description
All items ticked in blue can be compared between UM and LFRic now. Unticked require further work.
### Make cloud diagnostics comparable between LFRic and UM
1. **Problem:**
We need to compare cloud properties between LFRic and UM, however it is not clear if all or just some low, medium and high cloud diagnostics are comparable between LFRic and the UM.
We think that
- UM cloud diagnostics are measured from above ground.
- LFRic cloud is measured above sea level.
2. **Check already available diagnostics in CSET via stash_to_lfric, colourbar and rose-suite.conf**
According to Ian and Adrian the following diagnostics should be comparable between UM and LFRic:
Check these are available in CSET
**UM**(left) = **LFRic**(right)
- [x] CEILOMETER CLD AMT MAX/RANDOM OVERLP (9233) = ceilometer_cloud_amount_maxrnd
this is listed in _stash_to_lfric.py as 9233 = ceilometer_filtered_combined_cloud_amount_maximum_random_overlap
- [x] TOTAL CLOUD AMOUNT MAX/RANDOM OVERLP (9217) = combined_cloud_amount_maximum_random_overlap
- [x] CLOUD BASE ASL COVER.GT.2.5 OCTA KFT (9210) = cloud_base_altitude
**um_cf_map.py gives:**
- 'm01s09i210': CFName(None, cloud_base_altitude_assuming_only_consider_cloud_area_fraction_greater_than_2p5_oktas', 'kft'),
- 'm01s09i219': CFName('cloud_base_altitude', None, 'ft'),
**_stash_to_lfric.py gives inconsistent lfric diagnostics:**
We assume that cloud_base_altitude_asl_combined_cloud_amount_greater_than_2p5_okta and cloud_base_altitude are not the same in lfric. We assume that cloud_base_altitude includes also less than 2p5 okta. We assume the latter is not used regularly.
We suggest to compare mean vertical profiles on model levels to compare these variables. Need to be aware that heights will differ.
- "m01s09i210": (
"cloud_base_altitude_asl_combined_cloud_amount_greater_than_2p5_okta",
"face",
- "m01s09i210": ("cloud_base_altitude", "face"),
- [x] ceilometer_cloud_amount_maxrnd needs adding to SURFACE_FIELDS list, but is coded in the stash_to_lfric.py (as ceilometer_filtered_combined_cloud_amount_maximum_random_overlap)
3. **Processed/corrected diagnostics:**
- [ ] suggest to LFRic team to create comparable variables
we may be able to calculate the above-sea-level low/med/high cloud amounts for the UM from the multi-level data:
**UM**(left) = **LFRic**(right)
- [ ] COMBINED CLOUD AMOUNT IN EACH LAYER 9231 = combined_cloud_amount
**_stash_to_lfric.py gives:**
Needs height correction. Not available on pressure levels.
"m01s09i231": ("combined_cloud_amount", "face"),
- [ ] TOTAL COLUMN Q (WATER VAPOUR PATH) (30461) = tot_col_m_v
**_stash_to_lfric.py gives:**
We need to check if they refer to the same variable.
- "m01s30i461": ("atmosphere_mass_content_of_water_vapor", "face"),
- [ ] Calculate ice water path from QCF2 in UM = ice water path in LFRic
4. **Assessing cloud impact indirectly:**
- [x] TOA radiation diagnostics
5. **Masking of no cloud needs callback function**
No cloud data points in the Um are defined as missing (masked), whereas in LFRic no cloud is given 144.36 kft. This impacts any aggregation cloud diagnostics.
This has been solved.
- [x] Solution: Include callback function to mask areas with the LFRic missing cloud areas.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.