owned this note
owned this note
Published
Linked with GitHub
# xWRF Discussion
## Introductions (Name / Organization / @Github)
* Max Grover / NCAR / @mgrover1
* Jon Thielen / CSU / @jthielen
* Kevin Paul / NCAR / @kmpaul
* Julia Kent / NCAR / @jukent
* Orhan Eroglu / NCAR / @erogluorhan
* Michaela Sizemore / NCAR / @michaelavs
* Fabien Maussion / University of Innsbruck / @fmaussion
* Lukas Pilz / Heidelberg University / @lpilz
* Anderson Banihirwe / NCAR / @andersy005
## Agenda
* Why create a new package
* Just a prototype for now
* Helping Cindy in MMM with her workflow
* Using wrf-python to read in a bunch of files
* Required to load everything into memory
* Want to make it easier to integrate with Pangeo community
* Focus is on **lightweight** - just get it into an xarray dataset
* Doesn't have full functionality of wrf-python
* Xarray backends
* Could add our own decoder here
* How xwrf is currently implemented
* [Additional features desired](#Desired-Features-for-a-WRF-Analysis-Package-in-the-Pangeo-Ecosystem)
* Support of WRF users with Python
* GeoCAT team - NCAR's Pivot to Python efforts
* Team of 4
* Maintain wrf-python, develop GeoCAT-comp/GeoCAT-viz
* wrf-python
* Could improve on this - team of 4, several toolkits
* In mature position compared to other toolkits, not neccessarily priority
* Should **support, maintain, actively develop**
* Mostly supporting end-users
* Everything could be developed in tandem
* Share experience + knowledge, make decisions down the road
* **Should get MMM involved** - they are the primary stakeholder
* Key summary points
* Only so many people who can give resources to this
* wrf-python in maintenance mode, original developer left
* Developed pre-pangeo
* New prototype - what value does wrf-python add? How can we integrate with Pangeo?
* Limited resources - quick, somewhat dirty
* Want external help with this too - open-source
* External collaborators
* Strong need within the university community
* **Need** to be able to work with Dask for scalability
* Focus should be on getting external collaborators too
* At some point, add user stories
* What could be done with this?
* How bad is it now? How awesome can we make it?
* Xdev's role
* Going to add this onto the schedule - the next project!
* Plan is to roll with these short-term, agile projects
* What falls within the scope of this package?
* Data access through xarray
* Interfacing with xGCM
* Dask compatibility
* Diagnositc variable calculations
* Who is interested in helping with development?
* Lukas Pilz - will chat with PI, but would be very interested in contributing
* Jon Thielen - provide user stories, development efforts
* Long-term dev
* This is where MMM can come in... thinking about sustainability
* Reaching out to them now - find someone with free cycles
* What is the best way of collaborating with the GeoCAT team?
* GeoCAT team chatted about where xwrf will go
* How to integrate with wrf-python
* Would xwrf be redundant?
* How do we bring in what we already have? How can we upgrade and move forward?
* wrf-python users want xarray-compatibility
* ncl users complain
* Not easy to get rid of a tool
* 1300 monthly visits to wrf-python
* Responsibility to respect existing user base
* wrf-python can use xwrf for now - can help transition
* Thoughts
* Might be beter to think of xwrf first, integrate later - the api might be a limiting step
* **Lots of technical debt** with wrf-python
* Starting from scratch is an investment, but could get contributors
* If pure python - get more people that can jump in
* Split dev path
* xwrf - meet the user community need, keep wrf-python as is, re-evaluate later on
* User api with wrf-python
* Elements that don't belong in the same package
* Ex. many plotting elements that fit into geocat-viz
## Next Steps
* Planning on meeting again in a few weeks
* User stories
* Examples of workflow, what the need is
* Why would someone use this package?
* Get feedback from current wrf-python community
* **Jon has some sample stories/sample code!**
* API design
* What already exists and where?
* What doesn't exist and where should it go?
* Send out survey once we think this has value
## Additional Notes
### Desired Features for a WRF Analysis Package in the Pangeo Ecosystem
(see https://github.com/fmaussion/salem/issues/205)
- Pythonic, xarray-centric API
- Full Pangeo stack integration, particularly Dask for parallelization and lazy-loading
- Large collection of performant diagnostic routine calculations that remain portable (i.e., use numba rather than cython or f2py if vectorized NumPy code is insufficient) and are automatically available (i.e., Dask delayed)
- Support for both automatic destaggering (for typical analysis workflows) and working on staggered grid (with xgcm)
- CF compliant metadata with geospatial dimension coordinates (i.e., Salem-like, as needed for integration with other packages like MetPy, cf-xarray, xesmf, etc.)
- Community-oriented development philosophy (e.g.; integrate with existing packages where functionality exists rather than rolling our own; any new, non-WRF-specific functionality needed here gets contributed upstream then reused here)