Replies: 4 comments 5 replies
-
|
@jthielen @lpilz @michaelavs @dopplershift @LejoFlores @jukent @andersy005 @erogluorhan @mgrover1 @bsu-wrudisill: Please chime in on this discussion! When the plans get solidified, perhaps we can move this to a design document (GitHub Project?) that we can all modify and share. |
Beta Was this translation helpful? Give feedback.
-
|
This is a great outline of the work ahead of us. Do I understand correctly that all the |
Beta Was this translation helpful? Give feedback.
This comment was marked as spam.
This comment was marked as spam.
-
|
Is it possible to add a temporary middleware to place the computation results of wrf-python into the xwrf data?" |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Here is the first of my promised write-ups from #2! It is a little messy, but hopefully is sufficient to be a good reference.
I plan on having the initial "user stories" write-up ready before next week's meeting.Motivation: How do features in existing purpose-built tools (wrf-python, salem) compare with those currently in more general purpose packages (xgcm, MetPy, etc.)? What are the gaps in the existing ecosystem in meeting user needs?
Comparison of general-purpose tools against wrf-python feature stack
The following goes through all wrf-python's features and compares them to what is available in MetPy (or other general-purpose packages). The goal is to identify what features are needed either in xwrf or added to MetPy/elsewhere to be able to supersede all current wrf-python features.
Diagnostics
mpcalc.absolute_vorticitympcalc.equivalent_potential_temperaturempcalc.cape_cinmpcalc.cape_cin.max('bottom_top')on reflectivity DataArraympcalc.storm_relative_helicitympcalc.vertical_velocity_pressurempcalc.potential_vorticity_baroclinicmpcalc.precipitable_watermpcalc.relative_humidity_from_mixing_ratiompcalc.relative_humidity_from_mixing_ratio.metpy.convert_units('degC')or.pint.to('degC')on temperature DataArraympcalc.potential_temperaturempcalc.virtual_temperaturempcalc.wet_bulb_temperaturempcalc.wind_speedandmpcalc.wind_directionmpcalc.wind_speedandmpcalc.wind_directionmpcalc.wind_speedandmpcalc.wind_direction(PyProj/cartopy vector transforms could use some helpers with xarray)mpcalc.wind_speedandmpcalc.wind_direction(PyProj/cartopy vector transforms could use some helpers with xarray)Interpolation
wrf.interplevel()wrf.vertcross()mpinterp.cross_sectionormpinterp.interpolate_to_slicewrf.interpline()mpinterp.cross_sectionormpinterp.interpolate_to_slicewrf.vinterp()Lat/Lon <-> XY Routines
These packages have different approaches to coordinate handling. Ideally,
xwrfshould provide both grid projection space xy dimension coordinates and auxillary lat lon coordinates, with the WRF-specific coordinate metadata translated to CF conventions so that MetPy, xgcm, and cf-xarray can interpret it and nothing special needs to be handled in-package.Mapping Helper Routines
Should be obviated by good dataset metadata interpretable by xarray.
Meeting User Needs
Here's the list of the "core features" needed/requested in a Pangeo-centric WRF package:
Where do these features exist currently and where are further developments needed?
xarray-centric API
Currently
getvar()-routine-based, and reliance on netcdf-python datasets, rather thanxr.Dataset-based APIUnmet Needs
Compatibility layer to
west_east,south_north, andbottom_topdimension coordinatesxr.Datasetthrough xarray backend and/or xarray accessor APIThese are the essential goals for xwrf!
Pangeo stack integration (particularly Dask)
Currently
Unmet Needs
Diagnostic routines
Currently
Upcoming Developments
Unmet Needs
Staggered and Unstaggered Grids
Currently
xwrf goals
CF compliant metadata with geospatial dimension coordinates
Covered above...but see salem for example of what to provide, and MetPy for what is needed
Beta Was this translation helpful? Give feedback.
All reactions