ENH: Add missing ECAD indices
bzah opened this issue · 2 comments
icclim proposes an ECAD catalog but only ~49 indices are available.
With generic indices from #189 , it becomes trivial to implement new indices, as long as they follow a generic indicator pattern.
For the ECAD catalog we must add indices of radiation, pressure, cloud cover, sunshine, humidity
We should implement at least every generic indicator compatible index.
Missing ecad indices after merge of #230 :
- GSL - Growing season length
Cannot be generified easily ; exist in xclim : growing_season_length
Added by #235 - PP - Mean of daily sea level pressure
Generic indicator -> Average - SPI3 - 3-Month Standardized Precipitation Index ;
Cannot be generified easily ; exist in xclim: standardized_precipitation_index
Added by #235 - SPI6 - 6-Month Standardized Precipitation Index
Cannot be generified easily ; exist in xclim: standardized_precipitation_index
Added by #235 - SS - Sunshine duration
Generic indicator -> Sum - SSp - Sunshine duration fraction with respect to daylength
Cannot be generified easily ; does not exist in xclim - PET - Potential EvapoTranspiration
Cannot be generified easily ; exist in xclim: potential_evapotranspiration - RH - Mean of daily relative humidity
Generic indicator -> Average - CC - Mean of daily cloud cover
New Unit (oktas/octas) ; Generic indicator -> Average
The conversion from%
tookta
might not be straightforward to add to the pint registry (to do in xclim or/and cf-xarray) - CC2 - Mostly sunny days (cloud cover ≤ 2 oktas)
New Unit (oktas/octas) ; Generic indicator -> count_occurrences(threshold="<= 2 oktas") - CC6 - Mostly cloudy days (cloud cover ≥ 6 oktas)
New Unit (oktas/octas) ; Generic indicator -> count_occurrences(threshold=">= 6 oktas") - UTCI - Mean of the Universal Thermal Climate Index
Cannot be generified easily ; exist in xclim: universal_thermal_climate_index - TCI - Mean of the Tourism Climatic Index
Cannot be generified easily ; does not exist in xclim - TCI60 - Days where the Tourism Climatic Index ≥ 60
Need a newTCI
(unitless ?) StandardVariable ; Generic indicator -> count_occurrences(threshold=">= 60") ; - TCI80 - Days where the Tourism Climatic Index ≥ 80
Need a newTCI
(unitless ?) StandardVariable ; Generic indicator -> count_occurrences(threshold=">= 60") ; - HI - Huglin Index (index specifically aimed at grap growth)
Cannot be generified easily ; exist in xclim: huglin_index - BEDD - Biologically Effective Degree Days (grape growth again)
Could be generified ; exist in xclim: biologically_effective_degree_days
As we can see from the list above, it would be quite useful to (re)do a binding between icclim standard indices toward xclim indicators so that we would have access to most ecad indices without having the burden of gentrifying them.
Related issues:
PR:
xclim indicators (link to latest!): https://xclim.readthedocs.io/en/latest/xclim.indicators.atmos.html
@pagecp I was looking into adding the cloudiness indices but I have issues with the oktas (aka octas) unit.
The ATBD says oktas should be computed with ROUND((cloud cover in percents/100)*8)
:
Daily mean cloud cover CC Whenever synoptical cloud cover data is available at 00, 06, 12 and/or 18 UT, mean daily cloud cover is calculated as the average of the available values.
This value in percent is converted to octas by ROUND((cloud cover in percents/100)*8)
But I wonder if we should keep the rounding operator because:
- It's fairly difficult to implement a rounding for automatic conversion with Pint, our unit library.
- I don't see the value in reducing the accuracy of the measure by rounding it.
Also, when we look at CF cloud_area_fraction
which is based on CMIP6 Total Cloud Cover Percentage
unit is percents.
We could simply convert the cloudiness indices [ CC, CC2, CC6 ] that are based on oktas to be based on percents, as long as we display the proper unit.
What do you think ?
conclusion: we should really try to add oktas as a unit in our pint registry