Replies: 3 comments 1 reply
-
@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.
0 replies
-
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.
1 reply
This comment was marked as spam.
This comment was marked as spam.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
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_vorticity
mpcalc.equivalent_potential_temperature
mpcalc.cape_cin
mpcalc.cape_cin
.max('bottom_top')
on reflectivity DataArraympcalc.storm_relative_helicity
mpcalc.vertical_velocity_pressure
mpcalc.potential_vorticity_baroclinic
mpcalc.precipitable_water
mpcalc.relative_humidity_from_mixing_ratio
mpcalc.relative_humidity_from_mixing_ratio
.metpy.convert_units('degC')
or.pint.to('degC')
on temperature DataArraympcalc.potential_temperature
mpcalc.virtual_temperature
mpcalc.wet_bulb_temperature
mpcalc.wind_speed
andmpcalc.wind_direction
mpcalc.wind_speed
andmpcalc.wind_direction
mpcalc.wind_speed
andmpcalc.wind_direction
(PyProj/cartopy vector transforms could use some helpers with xarray)mpcalc.wind_speed
andmpcalc.wind_direction
(PyProj/cartopy vector transforms could use some helpers with xarray)Interpolation
wrf.interplevel()
wrf.vertcross()
mpinterp.cross_section
ormpinterp.interpolate_to_slice
wrf.interpline()
mpinterp.cross_section
ormpinterp.interpolate_to_slice
wrf.vinterp()
Lat/Lon <-> XY Routines
These packages have different approaches to coordinate handling. Ideally,
xwrf
should 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_top
dimension coordinatesxr.Dataset
through 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