carbonplan / cmip6-downscaling

Climate downscaling using CMIP6 data
https://docs.carbonplan.org/cmip6-downscaling
MIT License
168 stars 24 forks source link

Analysis routines #46

Open orianac opened 2 years ago

orianac commented 2 years ago

Here are some initial thoughts about design for the analysis routines. Feedback (wish lists? prioritization? reorganization?) is heartily welcomed! @jhamman @tcchiao @norlandrhagen

Structure: qaqc.py Will include checking for:

metrics.py Will include:

plotting.py Will include:

analysis.py Will include:

orianac commented 2 years ago

More design for the analysis routines.

analysis.py will include tasks that perform

  1. QAQC (drawn from qaqc.py). It would be great to also include functionality to check for missing chunks.
  2. Assessment of performance with respect to a benchmark. This is dataset agnostic and will take as input a pointer to a benchmark dataset. For example, it could either be of a historical downscaled GCM dataset compared to the historical training dataset (which will be what will run automatically after every downscaled run) or comparing GCM to a coarsened historical training dataset (how good was raw GCM)
  3. Future changes for a given GCM (across three different climatic periods: 2030s, 2050s, 2080s)
  4. Comparisons across multiple datasets (e.g. multiple GCMs, multiple downscaling methods)

1-3 will run automatically as part of every downscaling flow execution. 4 will run on demand to compare multiple selected datasets.

Some other things to think about:

Plots: For regional averages (SREX regions) and selection of individual points (tower locations?)

Maps: For different time periods (historical, future):

This doesn't include analyses specific to a given downscaling method. The structure also assumes it is post-processing of a complete global dataset.