CHIRPS
CHIRPS has two associated models integrated into MaaS:
- CHIRPS
- CHIRPS-GEFS
These models are provied as a data service by UCSB. They are “executable” in MaaS in so far as a new set of parameters can be provided to the /run_model
endpoint and the corresponding data, if not in MaaS already, will be fetched from UCSB, normalized, and pulled into the MaaS DB. To accomplish this, MaaS relies on UCSB’s REST service.
Format
After MaaS makes an API call to the CHIRPS (or CHIRPS-GEFS) service, UCSB sends back (synchronously) a .GeoTIFF
based on the specified parameters.
Resolution
These models are provided at the 5km resolution. CHIRPS is provided as 10-day (dekadal) historic data. CHIRPS-GEFS is provided as a 10-day (dekadal) forward looking forecast. Currently, MaaS does not collapse these model outputs into higher-level (e.g. monthly) outputs.
Processing
CHIRPS and CHIRPS-GEFS are normalized and ingested into MaaS through the chirps.py
controller in the MaaS REST Service.
This does a few things:
- converts the user’s
/run_model
request into a format that can be interpreted by UCSB’s data service. This includes reprojecting thebbox
(geo bounding box) parameter provided by the user fromWGS84 coordinate system
toWeb Mercator
. - obtains results from UCSB in
.GeoTIFF
and converts it to point based vector data - stores the raw data to S3, the normalized data to PostGres, and stores the run information to Redis
Issues/Lessons Learned
- The time resolution is a major issue for Uncharted. These models have time (
year
anddekad
) as parameters for their runs. Uncharted would prefer that time parameters are abstracted for them, so that each model run is a whole time series, instead of each run being part of a time series - MaaS is reliant on UCSB’s data service. During the lead-up to the January, 2020 experiment the data service URI changed and the MaaS integration (briefly) broke