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?