Training Workshop (19th and 20th September, 2018) - Ouranosinc/pavics-sdi GitHub Wiki
Content
A GitHub repository for source material relevant to the workshop can be found here:
https://github.com/Ouranosinc/pavics-ogc-training
Note that there is material already developed by the Birdhouse team: http://birdhouse-workshop.readthedocs.io/en/latest/
I think it would be good to integrate our own training material with the Birdhouse stuff.
Pre-requisites
- Trainees
- Basic understanding of Python (2 or 3)
Anaconda/Miniconda3(Easier to manage with PyCharm)- QGIS
- PyCharm - Community Edition (see Training)
- Laptop
- Ouranos
- JupyterHub/JupyterLab instance with dependencies installed and account created for users
- Notebooks with examples, tutorials and exercises
- Test framework
Prep work
Mourad has already installed a JupyterHub server on Medus. OWSlib is installed, we can test stuff.
It would be good to send out a survey to get a sense of what participants are expecting. A link to one can be found here: https://docs.google.com/forms/d/1SYen8EZ_WQpaUB5xMYDGRifOsJKwr7gbV4w-DbcrcIU/edit
https://docs.google.com/presentation/d/1ASsWtblcKljKl76WnFDVnRJw_xn5rUmpn50WXZUJEBI/edit?usp=sharing https://docs.google.com/presentation/d/1ZLY_xthawKyJPbD3HNpLw4kdXmca4BIRsBgFTtYxm1s/edit?usp=sharing
Day 1 AM: Climate informatics landscape [1h] (DH, TJS)
Provide an overview of what other institutions are doing to improve how climate data sets are accessed and processed. The presentation by Nils is a good starting point. See Climate Informatics Landscape in google slides.
Topics:
- Open Source/Data Movement (TJS)
- Copernicus
- NASA EDAS (TJS)
- NCAR (TJS)
- Pangeo
- NCI
- Canadian Geospatial Data Infrastructure (TJS)
- GeoMet
- Intro to PAVICS: What do we gain from it?
Day 1 AM: Standards for interoperability - overview [1.5h] (TL, TJS)
You've got all these different initiatives going, and one approach to make those different solutions accessible is to provide them through standards. See Standards for Interoperability in google slides.
Topics:
- What's an API ? (TJS)
- The Open Geospatial Consortium: what is it, how does it work ? (TJS)
- WFS (TL)
- WMS (TL)
- WCS (TL)
- WPS (TL)
Day 1 PM: Hands-on exersices with clients [3h]
Practice accessing open climate resources (e.g. GeoMET) using different clients Write as Jupyter notebooks in the birdhouse-workshop repo. See https://github.com/bird-house/birdhouse-workshop/blob/master/tutorials/31_owslib/owslib-wps.ipynb
- OWSlib and console access (Python) (TL)
- QGIS (TJS, TL)
- OWSlib and Folium (TJS)
- List of exercises to complete in class [TL, TJS]
Day 1 Evening
- Organize social event (pick location, make reservations, etc).
Day 2 AM: Writing WPS processes with PyWPS [3h] (TJS)
Notebook ?
Topics:
- PyCharm installation (TJS)
- PyCharm and Conda training [40m] (TJS)
- Writing a process + exercises [30m]
- Study simple processes [15m]
- Process definition [5m]
- Inputs definition [10m]
- Output definition [5m]
- Testing processes + exercises [30m]
- Development workflow (Git Training) [45m] (TJS)
- GitHub intro
- Submitting issues
- Submitting a pull request to GitHub
- Reviewing code
- Automated testing tools (Continuous Integration)
Day 2 PM: PAVICS processes [1h]
Present a few examples of programmatic workflows (access, subset, indices, download, mapping). Create exercises based on that...
Hands-on exercises
- CDO processes (cat,...) (TL)
- ICCLIM processes (TL)
- Subsetting and averaging processes (TL)
- Access to ESGF catalog with pyesgf (DH)
- Run processes on nrcan data (TL)
- Run processes on EC station obs ???? (TL)
Day 2 PM: PAVICS user interface (TJS)
Topics:
- UI tour
- Search data
- Visualize NetCDF files
- Launch processes
- Workflows
- Monitor execution
Day 2 PM: Feedback (DH)
Collect feedback from participants
- SurveyMonkey? Google Form?