MetPy 0.8.0 has been released. This release has a wide collection of new features as well as minor bug fixes, including several contributions from our community.
Highlights
- MetPy now requires XArray. Using XArray, MetPy provides some custom accessors under the
.metpy
attribute onDataset
andDataArray
. This allows simplified access to the underlying grid projection as a CartoPy projection, as well as simplified access to data as an array with units attached. (See theXArray_Projections.py
example) MetPy calculation functions will also now automatically convert an XArrayDataArray
with units metadata into a proper array with units. Future releases of MetPy will improve the integration with XArray. GINIFile
now works directly as an XArray storage backend. See the updatedGINI_Water_Vapor.py
example for details. Support for Unidata NEXRAD composites in GINI format was also added.- MetPy's colortables are now available from
metpy.plots.colortables
rather than needing to dometpy.plots.ctables.registry
. - Fixed a few corner cases with isentropic interpolation, including problems with columns of entirely missing data (frequently encountered with NARR data)
lfc
andel
now work with arbitrary parcel profiles- Gradient and related functions now properly propagate masked values
- Text and time formatting for
add_timestamp()
are now configurable - New calculations
- Absolute vorticity
- Ageostrophic wind
- Apparent temperature (combines wind chill and heat index)
- Brunt-Väisälä frequency and period
- Critical angle (severe weather parameter)
- Dewpoint (from specific humidity)
- Exner function
- Inertial advective wind
- Parse angle (converts strings like "ESE" to degree values)
- Potential temperature to temperature
- Potential vorticity
- Q Vector
- Saturation equivalent potential temperature
- Static stability
- Wet bulb temperature
- Other assorted bug fixes
- Reminder: MetPy plans to drop support for Python 2.7 in Fall 2019
API Changes
lat_lon_grid_spacing
has been deprecated in favor oflat_lon_grid_deltas
. The latter gives properly signed values depending on the ordering of points in the lat/lon grid.- The deprecated upper air data reading support has been removed. Use the upper air support in siphon instead.
- The function
delete_masked_points
has been renamed to_delete_masked_points
, as it was not intended to be part of the supported API. GINIFile.to_dataset()
, which gives a netCDF4-python-like interface to the information in the file, has been deprecated. Instead, now an instance ofGINIFile
can be passed directly toxarray.open_dataset()
to provide a similar interface.to_dataset()
(as well as the non-publiccdm
module) will be removed in 0.11.
Contributors
@ahuang11, @akrherz, @asselapathirana, @eliteuser26, @jthielen, @kishan3, @Meteodan, @mwilson14, @shofer16450, @tjwixtrom, @WEP11, @jrleeman, and @dopplershift all contributed commits to this release.
For full release notes see the GitHub Release Page.
MetPy packages are available for Conda on the conda-forge channel and for pip from the Python Package Index.
Let us know if you run into any problems, either at MetPy issue tracker, using support-python@unidata.ucar.edu, or on the python-users list. You can also ask questions using the "MetPy" tag on Stack Overflow.