we want to show (or at least test the feasibility of showing) global/regional maps of the forecast data to add spatial context to the city comparison
e.g. if the forecast "misses" some pollution event in some cities, the dashboard can give us an idea about what went wrong (e.g. winds blew the pollutants too far north)
to handle/visualise the data easily in the frontend, we need to convert the GRIB data into a data texture (bitmap)
conversion is done in Python, necessary steps:
reading global GRIB files
normalise the data to [0,255] range
write the data to bitmap (WebP format for efficient, lossless compression)
one variable per texture for incremental loading by the frontend (winds U and V components can be saved as red and green channels in RGB)
all time steps are stitched together horizontally as a movie strip to allow efficient time interpolation on the frontend GPU
Acceptance Criteria
process to create data textures added to ETL pipeline
one data texture each for variables: overall AQI, PM2.5, PM10, O3, NO2, SO2, winds
textures are added to MongoDB in a new collection "textures" with key and
conversion metadata (units, dynamical min and max values to convert back from [0,255] range) added to collection
GRIB to bitmap conversion is tested with mock data
Rationale
Acceptance Criteria
example data texture