IRI Seasonal Forecast ===================== Background ---------- The International Research Institute for Climate and Society (IRI) produces `seasonal climate forecasts `_. These forecasts predict measures of 3-monthly precipitation and temperature with leadtimes up to 4 months. They produce two types of forecasts, the flexible and tercile forecast. More information on their methodology can be found `here `_. Currently in OCHA AnticiPy, only the tercile precipitation forecast has been implemented. The tercile precipitation forecast is published in two formats. One only indicates the dominant tercile probability while the other format indicates the probability for each tercile. Both formats are implemented in OCHA AnticiPy. The data is downloaded from `IRI's maproom `_ Usage ----- To download data from the IRI API, a key is required for authentication, and must be set in the ``IRI_AUTH`` environment variable. To obtain this key config you need to create an account `here `_. Note that this key might be invalid after some time, after which you have to generate a new key `here `_. To use the IRI class, you first need to create a country configuration for the country you would like to get data for. For this example we will use Burkina Faso, which has the ISO3 "bfa": .. code-block:: python from ochanticipy import create_country_config country_config = create_country_config(iso3="bfa") The IRI class also requires a geographic area as input. A simple way to get the area around a country of interest is to use the COD administrative boundaries. The first step is to download them: .. code-block:: python from ochanticipy import CodAB codab = CodAB(country_config=country_config) codab.download() admin0 = codab.load(admin_level=0) Next, create a GeoBoundingBox for input to IRI: .. code-block:: python from ochanticipy import GeoBoundingBox geo_bounding_box = GeoBoundingBox.from_shape(admin0) Now we're ready to get the IRI data: .. code-block:: python from ochanticipy import IriForecastDominant iri_dominant = IriForecastDominant(country_config=country_config, geo_bounding_box=geo_bounding_box) iri_dominant.download() iri_dominant.process() iri_dominant_data = iri_dominant.load() We can take similar steps to get the data that indicates the probability per tercile: .. code-block:: python from ochanticipy import IriForecastProb iri_prob = IriForecastProb(country_config=country_config, geo_bounding_box=geo_bounding_box) iri_prob.download() iri_prob.process() iri_prob_data = iri_prob.load() The full code snippet is below in case you would like to copy it: .. code-block:: python from ochanticipy import create_country_config, CodAB, GeoBoundingBox, \ IriForecastDominant, IriForecastProb country_config = create_country_config(iso3="bfa") codab = CodAB(country_config=country_config) codab.download() admin0 = codab.load(admin_level=0) geo_bounding_box = GeoBoundingBox.from_shape(admin0) iri_dominant = IriForecastDominant(country_config=country_config, geo_bounding_box=geo_bounding_box) iri_dominant.download() iri_dominant.process() iri_dominant_data = iri_dominant.load() iri_prob = IriForecastProb(country_config=country_config, geo_bounding_box=geo_bounding_box) iri_prob.download() iri_prob.process() iri_prob_data = iri_prob.load()