Releases: Unidata/MetPy
1.2.0
Highlights
- Added K-Index and Totals Totals sounding index functions
- Added wind gusts to parse METAR output
- Significant performance increase for moist lapse and a variety of related functions
- GEMPAK sounding reader is much faster now
- Fixed SkewT compatibility with Matplotlib 3.5
- Fixes for a variety of edge cases in
moist_lapse
- Variety of bugs fixed in METAR and GEMPAK readers
- Full support for Python 3.10
New Features 🎉
- Add K Index calculate function. by @C2oWisComing in #1990
- SPC convective outlook example by @23ccozad in #2021
- Add a fixture that provides numpy, masked, and dask array functions by @rpmanser in #1935
- NHC wind probabilities example by @23ccozad in #2034
- Add TT, VT and CT calculate function. by @C2oWisComing in #2113
Enhancements 😄
- Avoid error when wind and vis groups are in the wrong order by @sgdecker in #2019
- Documentation equation improvements by @dopplershift in #2035
- Improve the error message when metpy_crs is missing by @sgdecker in #2056
- Add note showing real-world case to upper-air example by @sgdecker in #2054
- Infer name of station ID key in add_station_lat_lon by @sgdecker in #2053
- Add wind gusts to parsed METAR output by @dopplershift in #2076
- Fix lifted_index cannot calculate when data at 500 hpa is missing by @C2oWisComing in #2110
- Doc fixes in kinematics.py by @sgdecker in #2168
- allow range for contours by @kgoebber in #2152
- add smoothing for declarative by @kgoebber in #2156
- Readme Tweaks by @dopplershift in #2206
- Add zoom interpolation function by @kgoebber in #2155
- Add description of
scale
to declarative tutorial by @sgdecker in #2273 - Refactor moist_lapse by @dopplershift in #2263
- Validate declarative interface attributes by @sgdecker in #2170
Bugs Fixed 🐛
- Swap "See Also" and "Notes" section in docs by @brianlo747 in #2036
- Clarify degree to which DDT is implemented by @sgdecker in #2048
- Fix name of time_window attribute in declarative tutorial by @sgdecker in #2058
- Fix UnboundLocalError in snxarray by @nawendt in #2057
- Add argument name check in preprocess_and_wrap, and fix dewpoint_from_specific_humidity by @jthielen in #2073
- Fix broken links in GEMPAK Comparison Guide by @sgdecker in #2085
- Allow adjacent points in sounding to have the same pressure by @sgdecker in #2089
- A couple of doc fixes by @dopplershift in #2068
- Store grid mapping on metpy_crs coord rather than DataArray attrs in GEMPAK reader by @jthielen in #2066
- Updated URL for beginner issues by @wxman22 in #2114
- Convert instances of boolean indexing to ndarrays to pass dask tests in basic module by @rpmanser in #2090
- fix bug 2137 use scale with barbs by @kgoebber in #2140
- Fix plot_kwargs bug by @kgoebber in #2148
- Fix incorrect name in Declarative Tutorial by @sgdecker in #2172
- Correct docs for search_radius in interpolate functions by @dopplershift in #2184
- Correct array shape typos in natural_neighbor_to_grid by @jthielen in #2216
- Fix GEMPAK date parsing by @sgdecker in #2231
- BUG: Fix handling of reference level for moist_lapse (Fixes #2128) by @dopplershift in #2239
- Update stations.txt by @russ-schumacher in #2274
- Handle truncated vertical visibility by @sgdecker in #2270
- Unit support for interpolation functions by @dopplershift in #2271
Other Changes
- Denote unused return value as such by @dopplershift in #2026
- Misc cleanups by @dopplershift in #2029
CITATION.cff
1.2.0 by @dcamron in #2143- Ejssm citations by @dcamron in #2142
- Python 3.10 by @dopplershift in #2177
- run conda tests on python 3.10 by @akrherz in #2214
- Matplotlib Updates by @dopplershift in #2179
- Fix linkchecker build by @dopplershift in #2221
- Ignore flaky AMS meeting link by @dopplershift in #2223
- DOC: Fix redirecting link (Fixes #2234) by @dopplershift in #2236
- Reduce warning to a debug log message by @dopplershift in #2241
- MNT: Update test images by @dopplershift in #2249
- Sourcery refactored main branch by @sourcery-ai in #1848
- Replace pytest.warns(None) by @dopplershift in #2245
- Fix up xarray doc links redirecting by @dopplershift in #2260
- Math tweaks by @dopplershift in #2261
- Add
__repr__
to TreeNode objects by @sgdecker in #2269 - support versions like x.y in docs/conf.py by @akrherz in #2291
- Improve some thermo calculation bottlenecks by refactoring how units are handled by @jthielen in #2064
New Contributors
- @C2oWisComing made their first contribution in #1990
- @brianlo747 made their first contribution in #2036
- @wxman22 made their first contribution in #2114
- @russ-schumacher made their first contribution in #2274
Full Changelog: v1.1.0...v1.2.0
1.1.0
This is the first feature release since 1.0.
Highlights
- Added classes to read a variety of data in GEMPAK-formatted files
- Added
showalter_index
calculation - Added
PlotGeometry
to the simplified plotting interface, which makes it easy to plot a variety of geospatial data (e.g. SPC convective outlooks or NHC hurricane wind swaths in geojson format). See this notebook for examples. - Significantly improved METAR parser to output both the visibility and remarks part of the reports, as well as better handle more weather codes (like 'FU')
- Improvements to simplified plotting interface including better notebook tab completion, support for controlling font size, and GEMPAK-like zooming on areas (e.g. '+us')
- Improved detection of problematic soundings in calculations
- Dropped support for Python <3.7 and NumPy <1.17
- Reduced the time it takes to import
metpy.io
- Fixed up a variety of unit issues in calculations
Contributors
@dopplershift, @joejoezz, @dcamron, @C2oWisComing, @jthielen, @github-actions[bot], @lswenson, @kgoebber, @23ccozad, @sgdecker, @ShunsukeHoshino, @jrleeman, @albernsrya, @lbunting, @dlaw, @akrherz, @mabaxter, @michaelavs, @nawendt, @eliteuser26 contributed code to this release.
Issues Closed
- Issue 2005 - calc.moist_lapse returns incorrect values for Fahrenheit
- Issue 1999 - Showalter Index calculation difference from value in Wyoming upperair website
- Issue 1981 - Nightly build is failing
- Issue 1970 - Fix unit-handling in azimuth_range_to_lat_lon
- Issue 1951 - METAR parser not handling 'FU' code
- Issue 1948 - Error in absolute_momentum (bug in normal_component?)
- Issue 1945 - Plotting geoJSON and shapefiles
- Issue 1938 - get_layer heights unit issue
- Issue 1916 - Nightly build is failing
- Issue 1901 -
Level3File
import is a bit bloated - Issue 1881 - Getting started information missing
- Issue 1839 - Sync dependencies in setup.cfg
- Issue 1805 - Ability to change fontsize in declarative interface
- Issue 1791 - Support pyproj 3
- Issue 1775 - reduce_point_density and bad points
- Issue 1719 - copy() method for declarative interface
- Issue 1674 - Refactor mean_pressure_weighted
- Issue 1549 - Bounds issue with precipitable water
- Issue 1546 - Drop Python 3.6
- Issue 1306 - Visibility and Remarks in metar decoder not available in Pandas dataframe
- Issue 1288 - Declarative extent zooming in/out
- Issue 1278 - Declarative Plotting Tab Completion
- Issue 968 - Set module on exported functions, etc.
- Issue 630 - Add Showalter and Modified Showalter Index
24 issues were closed in this release.
Pull Requests Merged
- PR 2009 - Clean up some lint in the GEMPAK reader, by @dopplershift
- PR 2008 - Fix passing degF values to some thermo calculations, by @dopplershift
- PR 2007 - Fix up Showalter Index calculation, by @dopplershift
- PR 2006 - ENH: Ignore bad points in reduce_point_density, by @dopplershift
- PR 2004 - Add check_units to
geopotential_to_height
, by @dcamron - PR 1991 - Create initial CITATION.cff, by @dcamron
- PR 1989 - DOC: Fix some equations, by @dopplershift
- PR 1986 - Specify coords as dict rather than tuple of tuples in tests, by @jthielen
- PR 1978 - Added equation to relative_humidity_from_dewpoint, by @lswenson
- PR 1977 - Add unit-awareness to azimuth_range_to_lat_lon function, by @kgoebber
- PR 1973 - Plotting Shapely objects in declarative interface, by @23ccozad
- PR 1967 - Check that pressure decreases monotonically in parcel calculations, by @sgdecker
- PR 1956 - Absolute momentum units bug fix, by @23ccozad
- PR 1953 - Large refactoring and improvement to METAR parser, by @dopplershift
- PR 1947 - Set up isort, by @dopplershift
- PR 1943 - Units bug fix for _get_bound_pressure_height, by @23ccozad
- PR 1942 - Hodograph fixes, by @dopplershift
- PR 1939 - Codespell, by @dopplershift
- PR 1937 - Cleaning up analysis warnings, by @dopplershift
- PR 1934 - Code scanning, by @dopplershift
- PR 1932 - Update test_declarative.py, by @albernsrya
- PR 1931 - Update xarray git install for nightly build, by @dopplershift
- PR 1928 - Improve some import handling, by @dopplershift
- PR 1926 - More descriptive errors for precipitable_water, by @23ccozad
- PR 1925 - Improve nightly build logs, by @dopplershift
- PR 1924 - Refactor dimensionality comparisons to check(), by @23ccozad
- PR 1921 - Remove any Pint objects from METAR parser output, by @23ccozad
- PR 1920 - Interpret inverse_flattening = 0 as spherical datum in mapping.py, by @lbunting
- PR 1914 - Refactor mean_pressure_weighted(), by @23ccozad
- PR 1913 - CI: Add flake8-continuation to our plugin suite, by @dopplershift
- PR 1908 - Improved formatting of notes section of METAR parser, by @23ccozad
- PR 1907 - Region modifiers with '+' or '-' suffix, by @23ccozad
- PR 1903 - Clean up declarative
dir
and tab-completion, by @dcamron - PR 1899 - Add font size traits to various classes, by @23ccozad
- PR 1896 - Drop our explicit pillow dependency for sphinx-gallery, by @dcamron
- PR 1885 - Minor simplifications for the IO code, by @dopplershift
- PR 1884 - Copy method for declarative interface, by @23ccozad
- PR 1882 - Clarify environment installation steps in CONTRIBUTING, by @dcamron
- PR 1879 - Reorganization of declarative syntax, by @kgoebber
- PR 1876 - fixes bug in issue 1758, by @kgoebber
- PR 1869 - BUG: Fix unit-handling in heat_index (Fixes #1867), by @dopplershift
- PR 1866 - Fix assign milestone action, by @dopplershift
- PR 1861 - Bump minimum dependency NumPy to >=1.17, by @dcamron
- PR 1842 - Reduce duplication in minimum dependencies, by @dopplershift
- PR 1841 - Drop support for Python 3.6, by @dopplershift
- PR 1840 - lazy load station_info only when used #1320, by @akrherz
- PR 1673 - Adding Showalter Index to Thermo Functions, by @michaelavs
- PR 1656 - Add GEMPAK IO module, by @nawendt
- PR 985 - Set module for exported functions., by @dopplershift
49 pull requests were closed in this release.
1.0.1
Bug fixes for 1.0
Highlights
- Fixed issue with passing masked arrays to
get_layer
. Also standardized internal unit handling to avoid more of these issues - Fixed nan-handling and
wet_bulb_temperature
- Fixed NEXRAD parsing with legacy-formatted files
- Fixed declarative contour plotting with global data
- Fixed issue where
.metpy.units
would break lazy loading of xarray data - Fixed Bunkers storm motion to properly non-pressure-weighted means
- Fixed unit behavior in
mean_pressure_weighted
Contributors
@dopplershift, @dcamron, @akrherz, @jthielen, @zmoon, @jsillin, @kgoebber, @ddirks, @aschueth, @jrleeman contributed code to this release.
Issues Closed
- Issue 1748 -
parse_cf
loads all data into memory when grid_mapping is missing since.metpy.units
checks.data
- Issue 1737 - Address numpy 1.20 DeprecationWarning for np.{bool,int,float}
- Issue 1726 - Release note links incorrect
- Issue 1716 - Copyright in footer 2021-2020
- Issue 1705 - Wet Bulb Sounding Computation fails to converge after 50 iterations, value is nan
- Issue 1648 - Fix incorrect cross-section coordinates
- Issue 1635 - mean_pressure_weighted unit behavior
- Issue 1628 - Release docs action
- Issue 1361 - Bunkers motion using pressure-weighted mean instead of normal mean
In this release 9 issues were closed.
Pull Requests Merged
- PR 1837 - Misc release items, by @dopplershift
- PR 1836 - CI: Add workflow for managing version listing, by @dopplershift
- PR 1833 - NEXRAD fixes, by @dopplershift
- PR 1832 - Fix
.metpy.units
checking.data
for units and loading data into memory, by @dcamron - PR 1819 - Fix up internal multiplication by units, by @dopplershift
- PR 1811 - Fix wet_bulb_temperature with nans, by @dopplershift
- PR 1810 - Remove stray viridis.tbl file, by @dopplershift
- PR 1809 - Use HTML API for release note links, by @dopplershift
- PR 1796 - MNT: remove upper bound on pyproj version, by @akrherz
- PR 1738 - address numpy 1.20 deprecation of np.{bool,int,float}, by @akrherz
- PR 1736 - use set_yticklabels in examples/meteogram_metpy, by @akrherz
- PR 1732 - Fix copyright in docs, by @dopplershift
- PR 1725 - Update for rename of
master
branch tomain
, by @dopplershift - PR 1681 - fix declarative contour plotting of global data, by @kgoebber
- PR 1680 - Reduce the size of the "new" and "old" icons, by @ddirks
- PR 1679 - Non-pressure weighted bunkers storm motion, by @aschueth
- PR 1675 - MNT: Update readme for 1.0 release, by @dopplershift
- PR 1651 - Remove misleading fallback to lat/lon CRS when only 2D lat/lon present, by @jthielen
- PR 1639 - fix bug in issue 1635, by @kgoebber
In this release 19 pull requests were closed.
1.0.0
Our first stable API release. Crux of it will be eliminating all deprecated functionality (like dim_order
), ironing out the XArray/units integration, and making sure function calls are something we're willing to support for a few years.
API Changes
dx
/dy
anddim_x
/dim_y
argumentsdivergence
andvorticity
are now only passable as keyword arguments- Can no longer set values in a
DataArray
using theunit_array
accessor attribute - When
DataArray
instances are passed as inputs, the returned values are almost always alsoDataArray
instances rather than PintQuantity
instances. lat_lon_grid_deltas
now takes apyproj.Geod
instance directly rather than keyword arguments for constructing one.- Removed
dim_order
argument--all functions either rely on DataArray metadata or assume data have trailing dimensions as y, x - Remove previously deprecated items
bounds
argument toplot_colormapped
tmpk_out
argument toisentropic_interpolation
dewpoint_rh
- Viridis colortable
- Rename many function arguments to be consistent and clear (e.g.
potential_temperature
instead ofthta
) - Re-order function arguments to (pressure, temperature, moisture) to be consistent with rest of library:
relative_humidity_wet_psychrometric
psychrometric_vapor_pressure_wet
mixing_ratio_from_relative_humidity
relative_humidity_from_mixing_ratio
relative_humidity_from_specific_humidity
dewpoint_from_specific_humidity
specific_humidity_from_dewpoint
- Update signatures for
ageostrophic_wind
,precipitable_water
, andstorm_relative_helicity
(as warned previously)
Highlights
- New documentation layout and theme
- Add 1.0 upgrade guide
- Update constant values from more robust sources
- Better support for taking in xarray
DataArray
s - Add capability to limit shading of CIN on
SkewT
- Function to add longitude/latitude to Pandas
DataFrame
- Support for
%
as a unit abbreviation in a string - Support for changing barb size on station plots in simplified plotting interface
- Fixed up declarative interface docs
- Support for returning xarray
DataArrays
instances from calculations when the inputs are alsoDataArray
instances - Support for inputs where Pint
Quantity
instances are stored withinDataArray
instances - Fixes errors when passing masked arrays to various CAPE calculations
- Support for Albers Equal Area projection
- Many fixes updates for NEXRAD format support, including direct reading of file objects from the NEXRAD S3 archive (from e.g. boto3) and using
pathlib.Path
instances, as well as some updates for NEXRAD ORPG Build 19.0 changes. - Improve default date handling in
parse_metar_file
- PyProj >= 2.3 is now a required dependency for calculations, and CartoPy is only needed for related plotting capabilities.
PlotObs.level
now defaults toNone
, or no subsetting.- Using standard library modules
importlib.resources
andimportlib.metadata
(and their backports) rather thanpkg_resources
from setuptools. This fixes errors getting MetPy's version from unconventional installs.
Contributors
@dcamron, @dopplershift, @jthielen, @DanielAdriaansen, @kgoebber, @gewitterblitz, @marcinkawka, @raybellwaves, @MinchinWeb contributed code to this release.
Issues Closed
- Issue 1603 - precipitable_water with xarray objects throws dimension error in rc2
- Issue 1594 - Citing MetPy in AMS v5.0 latex template
- Issue 1590 - Contour interpolation problem
- Issue 1588 - Declarative figure size only takes ints
- Issue 1574 - Declarative Plotting Error with Unit Conversion and Format Function
- Issue 1567 - DOC: startingguide doesn't run
- Issue 1550 - Crashing with CartoPy 0.14.1
- Issue 1548 - RC2 advection calculation does not get coordinate data from DataArray
In this release 8 issues were closed.
Pull Requests Merged
- PR 1627 - Standardize constant and thermophysical properties, by @dcamron
- PR 1625 - DataArray Fixes, by @dopplershift
- PR 1618 - Finish off upgrade guide, by @dopplershift
- PR 1617 - Enable flake8 simplify, by @dopplershift
- PR 1614 - Improve the citation information , by @dopplershift
- PR 1612 - Handle changed functions in check_units decorator, by @dopplershift
- PR 1605 - Redo xarray with MetPy tutorial for 1.0, by @jthielen
- PR 1598 - New Automation, by @dopplershift
- PR 1595 - fixes plotting error in declarative with hires data, by @kgoebber
- PR 1592 - take float or int for figsize in declarative, by @kgoebber
- PR 1585 - Windows development fixes, by @dopplershift
- PR 1580 - Fix get_layer for float32 data again, by @dopplershift
- PR 1579 - Fixes and improvements for wet_bulb_temperature, by @dopplershift
- PR 1578 - BUG: Fix for xarray master, by @dopplershift
- PR 1577 - Make CartoPy import more robust, by @dopplershift
- PR 1576 - Fix PlotObs with units + formatter, by @dopplershift
- PR 1575 - Fix xarray support in advection, by @dopplershift
- PR 1573 - Python 3.9 support, by @dopplershift
- PR 1569 - declarative tutorial, by @kgoebber
- PR 1568 - replace data with ds, by @raybellwaves
- PR 1554 - MNT: Refactor montgomery_streamfunction, by @dopplershift
- PR 1527 - Update target for v1 since it didn't happen in 2019..., by @MinchinWeb
In this release 22 pull requests were closed.
1.0 Release Candidate 2
Version 1.0 (2020/10/08)
Second release candidate for our first stable release.
This log only mentions changes since RC1.
API Changes
dx
/dy
anddim_x
/dim_y
argumentsdivergence
andvorticity
are now only passable as keyword arguments- Can no longer set values in a
DataArray
using theunit_array
accessor attribute - When
DataArray
instances are passed as inputs, the returned values are almost always alsoDataArray
instances rather than PintQuantity
instances. lat_lon_grid_deltas
now takes apyproj.Geod
instance directly rather than keyword arguments for constructing one.
Highlights
- Support for returning xarray
DataArrays
instances from calculations when the inputs are alsoDataArray
instances - Support for inputs where Pint
Quantity
instances are stored withinDataArray
instances - Fixes errors when passing masked arrays to various CAPE calculations
- Support for Albers Equal Area projection
- Many fixes updates for NEXRAD format support, including direct reading of file objects from the NEXRAD S3 archive (from e.g. boto3) and using
pathlib.Path
instances, as well as some updates for NEXRAD ORPG Build 19.0 changes. - Improve default date handling in
parse_metar_file
- PyProj >= 2.3 is now a required dependency for calculations, and CartoPy is only needed for related plotting capabilities.
PlotObs.level
now defaults toNone
, or no subsetting.- Using standard library modules
importlib.resources
andimportlib.metadata
(and their backports) rather thanpkg_resources
from setuptools. This fixes errors getting MetPy's version from unconventional installs.
Issues Closed
- Issue 1519 - Making grid arguments for divergence and vorticity keyword-only as forward-looking API change (PR 1521 by @jthielen)
- Issue 1518 - Clean-up cbook.py (PR 1520 by @dopplershift)
- Issue 1496 - surface_based_cape_cin fails with masked arrays (PR 1516 by @dopplershift)
- Issue 1474 - PlotObs specifies Int as option for level (PR 1524 by @dopplershift)
- Issue 1470 - Level2File() cannot open NEXRAD Level II chunk files available on AWS S3 (PR 1476 by @dopplershift)
- Issue 1455 - Use PyProj instead of CartoPy for calculations (PR 1483 by @jthielen)
- Issue 1446 - Remove Travis release uploading
- Issue 1442 - Replace pkg_resources (PR 1510 by @dopplershift)
- Issue 1407 - CartoPy required for master (PR 1454 by @dopplershift)
- Issue 1367 - Look at using
from_bytes
(PR 1476 by @dopplershift) - Issue 1366 - NEXRAD Level3File errors out in str (PR 1476 by @dopplershift)
- Issue 1354 - How does cross_section recognize projections? (PR 1430 by @jthielen)
- Issue 1348 - Declarative Plotting: Plotting strings causes error (PR 1395 by @kgoebber)
- Issue 1343 - Support albers_conical_equal_area projection (PR 1344 by @rsignell-usgs)
- Issue 1327 - Change defaults for
parse_metar_file
(PR 1523 by @dcamron) - Issue 1321 - Update setuptools-scm config (PR 1510 by @dopplershift)
- Issue 1318 - Fix up coverage (PR 1517 by @dopplershift)
- Issue 1300 - API for Dataset Helpers in 1.0 (PR 1303 by @jthielen)
- Issue 1201 - Error: Distribution not found (PR 1510 by @dopplershift)
- Issue 877 - Can't open level II files: ValueError: year XXXXX is out of range (PR 1476 by @dopplershift)
- Issue 845 - Test import with basic install (PR 1454 by @dopplershift)
- Issue 10 - Add standard data object (PR 1490 by @jthielen)
In this release 22 issues were closed.
Pull Requests Merged
- PR 1527 - Update target for v1 since it didn't happen in 2019..., by @MinchinWeb
- PR 1526 - Update copyright year to include 2020, by @MinchinWeb
- PR 1524 - Fixing handling of level in PlotObs, by @dopplershift (1474)
- PR 1523 - Update metar.py default year, month to keyword-only and None, by @dcamron (1327)
- PR 1521 - Make grid args for divergence and vorticity keyword-only, by @jthielen (1519)
- PR 1520 - Cleanup cbook, by @dopplershift (1518)
- PR 1517 - Fix test coverage reporting, by @dopplershift (1318)
- PR 1516 - BUG: Fix passing masked arrays to CAPE/CIN calcs, by @dopplershift (1496)
- PR 1510 - Remove uses of pkg_resources, by @dopplershift (1442, 1321, 1201)
- PR 1490 - Improved xarray compatibility on function input and output, by @jthielen (896, 1464, 10)
- PR 1483 - Use PyProj instead of Cartopy for internal coordinate transforms and rename crs coordinate, by @jthielen (1455)
- PR 1476 - IO Updates, by @dopplershift (877, 1470, 1367, 1366)
- PR 1473 - Modernize for Python 3 a bit more, by @dopplershift
- PR 1454 - Improve testing framework and infrastructure, by @dopplershift (845, 1407)
- PR 1441 - Replace use of Dataset.apply and .drop to clear PendingDeprecationWarnings, by @jthielen
- PR 1434 - Test maintenance, by @dopplershift (832)
- PR 1431 - Fix quantified/units-on-attribute mixtures in tests and derivative calculations for xarray 0.16.0, by @jthielen ([1419](https:...
0.12.2
Version 0.12.2 (2020/08/05)
Highlights
- Fix compatibility with CartoPy 0.18
- Fix compatibility with matplotlib 3.3
- Fixed problems using masked arrays in
wind_direction
,equivalent_potential_temperature
, andsaturation_equivalent_potential_temperature
Contributors
@jthielen, @kgoebber, @LProx2020, @rpmanser, and @dopplershift contributed code to this release.
Issues Closed
- Issue 1427 - Link to Smithsonian Meteorological Tables broken (PR 1443 by @dopplershift)
- Issue 1390 - Masked arrays break
wind_direction
function (PR 1401 by @rpmanser) - Issue 1377 - Say Thanks link broken (PR 1394 by @LProx2020)
- Issue 1368 - Cartopy 0.18.0 USCOUNTIES '20m' invalid
- Issue 1364 - Issue with mpcalc.equivalent_potential_temperature (PR 1426 by @jthielen)
In this release 5 issues were closed.
Pull Requests Merged
- PR 1444 - 0.12 Backports, by @dopplershift
- PR 1443 - Fix formatting of link in references, by @dopplershift (1427)
- PR 1431 - Fix quantified/units-on-attribute mixtures in tests and derivative calculations for xarray 0.16.0, by @jthielen (1419)
- PR 1426 - Fix masked array issue in equivalent potential temperature, by @jthielen (1364)
- PR 1425 - Fix _check_argument_units for pint eq returning duck array, by @jthielen
- PR 1416 - MNT:(deps): Bump cartopy from 0.17.0 to 0.18.0 in /ci, by @dependabot[bot]
- PR 1411 - MNT:(deps): Bump matplotlib from 3.2.1 to 3.3.0 in /ci, by @dependabot[bot]
- PR 1401 - Fix masked arrays breaking wind_direction #1390, by @rpmanser (1390)
- PR 1394 - Removing 'Say Thanks' Link (#1377), by @LProx2020 (1377)
In this release 9 pull requests were closed.
0.12.1
Version 0.12.1 (2020/04/17)
Highlights
- Fix for incompatibility with XArray 0.15.1
- Fix for clabel in simplified plotting interface
- A few misc documentation fixes
- Fix reading METAR files with bad encoding
- Fixed
diff
with masked arrays with units
Issues Closed
- Issue 1295 - Declarative notes
- Issue 1277 - Declarative Colorbar Docs Incorrect (PR 1280 by @jrleeman)
In this release 2 issues were closed.
Pull Requests Merged
- PR 1355 - More backports for 0.12, by @dopplershift
- PR 1349 - Backport convert_coordinate_units (xarray 0.15.1 fix) to 0.12.x, by @jthielen
- PR 1345 - Fixed a problem with diff'ing masked_arrays with units., by @joernu76
- PR 1323 - Fix clabel, by @kgoebber (1322)
- PR 1280 - Fix the documentation around the declarative colorbar, by @jrleeman (1277)
- PR 1272 - fixes read of metar file with bad encoding, by @kgoebber
In this release 6 pull requests were closed.
1.0 Release Candidate 1
Version 1.0 RC1 (2020/01/14)
Our first stable release!
API Changes
- Removed
dim_order
argument--all functions either rely on DataArray metadata or assume data have trailing dimensions as y, x - Remove previously deprecated items
bounds
argument toplot_colormapped
tmpk_out
argument toisentropic_interpolation
dewpoint_rh
- Viridis colortable
- Rename many function arguments to be consistent and clear (e.g.
potential_temperature
instead ofthta
) - Re-order function arguments to (pressure, temperature, moisture) to be consistent with rest of library:
relative_humidity_wet_psychrometric
psychrometric_vapor_pressure_wet
mixing_ratio_from_relative_humidity
relative_humidity_from_mixing_ratio
relative_humidity_from_specific_humidity
dewpoint_from_specific_humidity
specific_humidity_from_dewpoint
- Update signatures for
ageostrophic_wind
,precipitable_water
, andstorm_relative_helicity
(as warned previously)
Highlights
- Better support for taking in xarray
DataArray
s - Add capability to limit shading of CIN on
SkewT
- Function to add longitude/latitude to Pandas
DataFrame
- Support for
%
as a unit abbreviation in a string - Support for changing barb size on station plots in simplified plotting interface
- Fixed up declarative interface docs
Issues Closed
- Issue 1297 - Misleading Documentation for PanelContainer() (PR 1301)
- Issue 1295 - Declarative notes (PR 1298)
- Issue 1287 - The great dim_order removal (PR 1302)
- Issue 1283 - Issues with XArray master (PR 1285)
- Issue 1277 - Declarative Colorbar Docs Incorrect (PR 1280)
- Issue 1276 - Doc Navigation Naming (PR 1294)
- Issue 1274 - Unable to change color of wind barbs (PR 1294)
- Issue 1271 - Image tests failing with Pint 0.10 (PR 1282)
- Issue 1269 - Fix up build against xarray/pint master
- Issue 1268 - Update link for heat index docs (PR 1294)
- Issue 1249 - Documentation for axes in gradient calc (PR 1260)
- Issue 1220 - LFC calculation
- Issue 1134 - Parse CF/UDUNITS-style powers of units (PR 1281)
- Issue 1127 - Removals/Deprecations in 1.0 (PR 1286)
- Issue 1113 - Naming consistency (PR 1299)
- Issue 1112 - ageostrophic_wind call signature (PR 1286)
- Issue 983 - Masked arrays break units
- Issue 861 - Add limiting to shade CAPE/CIN (PR 1139)
In this release 18 issues were closed.
Pull Requests Merged
- 1303 - Implement basic coordinate/CRS/attribute dataset helpers
- PR 1302 - Remove dim_order (1287)
- PR 1301 - Clarify documentation on layers traits (1297)
- PR 1299 - Renames (1113)
- PR 1298 - Declarative fixes (1295)
- PR 1294 - Misc small items (1276, 1274, 1268)
- PR 1286 - Removals of all deprecated stuff (1127, 1112)
- PR 1285 - Refactor parse_cf to not modify coordinates inplace (1283)
- PR 1282 - More pint fixes (1271)
- PR 1281 - Add percent sign and UDUNITS exponent syntax support via Pint's new preprocessor option (1134)
- PR 1280 - Fix the documentation around the declarative colorbar (1277)
- PR 1273 - adds function to lookup and add station lat/lon to dataframe
- PR 1272 - fixes read of metar file with bad encoding
- PR 1267 - adds functionality to obs declarative
- PR 1264 - Add station plot locations
- PR 1260 - Refactor xarray grid deltas calculation to handle axis order flexibly (912, 1249, 1249)
- PR 1223 - Add arbitrary window smoother and refactor existing smoothers (665)
- PR 1139 - Limit shading of CIN (861)
In this release 17 pull requests were closed.
0.12.0
Version 0.12 (2020/01/05)
This is the first release that only supports Python 3.
API Changes
precipitable_water
now issues aFutureWarning
due to an impending change to its function signature in 1.0--this will change the signature toprecipitable_water(pressure, dewpt, *, bottom=None, top=None)
for better consistency with the rest of the library. To avoid this warning, import the function withfrom metpy.future import precipitable_water
storm_relative_helicity
now issues aFutureWarning
due to an impending change to its function signature in 1.0--this will change the signature tostorm_relative_helicity(heights, u, v, depth, *, bottom, storm_u, storm_v)
for better consistency with the rest of the library. To avoid this warning, import the function withfrom metpy.future import storm_relative_helicity
dewpoint_rh
has been deprecated in favor ofdewpoint_from_relative_humidity
, and will be removed in 1.0- Removed previously deprecated functions
get_wind_components
,get_wind_dir
,get_wind_speed
,interp
,interpolate_nans
, andlog_interp
as well as themetpy.gridding
sub-package.
Highlights
- Added parser for METAR-formatted reports
- Update NEXRAD
Level2File
to handle future format changes - Added calculation
mixed_layer_cape_cin
- geopotential <-> height calculations modified to use standard gravity
- Added declarative interface for station plots
- Added arrows to go with barbs on station plots
- Added support for Python 3.8, dropped support for Python 2.7
- Compatibility fixes for future versions of Pint
- Enhancements to xarray coordinate identification
- Fixed average spacing calculation in interpolation
- Added 'wide' and 'most_cape' options for LFC/EL
- Added
wx_code_to_numeric
for converting text weather codes (e.g. '+SNRA') to corresponding WMO code.
Contributors
@ahijevyc, @akrherz, @jthielen, @kgoebber, @mgrover1, @zbruick, and @dopplershift contributed code to this release.
Issues Closed
- Issue 1245 - Fix title in Four Panel Example (PR 1246)
- Issue 1239 - Update NEXRAD Level2File for TDWR (PR 1251)
- Issue 1235 - Consider re-ordering arguments for precipitable_water (PR 1244)
- Issue 1230 - Average Spacing calculation in interpolation incorrect (PR 1255)
- Issue 1229 - Remove Cartopy workaround from stationplot (PR 1254)
- Issue 1222 - Tests failing with matplotlib 3.2.0rc1 (PR 1242)
- Issue 1221 - smooth_n_point doesn't work with temperature units (PR 1253)
- Issue 1211 - metpy.calc.tools imports metpy.calc.basic which creates potential circular import (PR 1213)
- Issue 1207 - Declarative show() does not pop up GUI (PR 1254)
- Issue 1185 - Add explicit API for mixed layer CAPE/CIN calculation (PR 1145)
- Issue 1183 - metpy.testing.assert_array_almost_equal fails to compare array with masked array
- Issue 1090 - Change xarray coordinate identification to enforce dimensionality and allow both lat/lon and x/y identification (PR 1236)
- Issue 955 - Allow barbs and arrows for station plots (PR 1148)
- Issue 870 - Removals/Deprecations in MetPy 0.12 (PR 1195)
- Issue 862 - CAPE/CIN calculations for soundings with 'multiple' LFCs (PR 1138)
- Issue 70 - METAR parsing
In this release 16 issues were closed.
Pull Requests Merged
- PR 1266 - Fixes
- PR 1262 - fix docs
- PR 1261 - Still further updates to pint master branch compatibility
- PR 1259 - Update PlotObs for time and station dimension naming
- PR 1257 - add exception catch
- PR 1255 - Fix interpolation average spacing (1230)
- PR 1254 - Plotting fixes (1229, 1207)
- PR 1253 - Fix smoothing unit-handling (1221, 1138)
- PR 1252 - MNT: Add another NEXRAD file for testing
- PR 1251 - NEXRAD Updates (1239)
- PR 1250 - Further updates to pint master branch compatibility
- PR 1246 - MNT: Update examples for date plotting (1245)
- PR 1244 - Update some function signatures (1235)
- PR 1242 - Fixes for pre-releases (1222)
- PR 1241 - Adds a declarative syntax for point observations
- PR 1238 - Adds function to get numeric wx code
- PR 1236 - Modify xarray coordinate identification from CF axis to generic labels, permitting latitude/longitude identification (1090, 1090)
- PR 1233 - Refactor _reassign_quantity_indexer to avoid modifying dict keys while iterating
- PR 1227 - Add example to PW docstring (1226)
- PR 1225 - Identify 'lv_' variables as vertical coordinates.
- PR 1217 - Update xarray time derivative for subsecond precision
- PR 1213 - avoid potential circular ref by lazy import (1211)
- PR 1212 - Add support for Python 3.8
- PR 1208 - Deprecate dewpoint_rh in favor of dewpoint_from_relative_humidity
- PR 1195 - Removal of deprecations for 0.12 (870)
- PR 1174 - Change geopotential <-> height formulas to use standard gravity
- PR 1163 - Drop support for Python 2.7! (801)
- PR 1148 - Add arrows to StationPlot (955)
- PR 1145 - Add mixed-layer CAPE (1185)
- PR 1138 - Add 'wide' and 'most_cape' options for LFC/EL, options for CAPE (862)
- PR 1081 - METAR Parsing Tools
In this release 31 pull requests were closed.
0.11.1
Version 0.11.1 (2019/10/18)
Highlights
- Fixed compatibility with XArray v0.14
- Fixed several bugs in sounding calculations
- Fixed units requirement on divergence calculation
- Added link to Python gallery in docs sidebar
- Fixed issue with pint and masked arrays
Issues Closed
- Issue 1203 - Issues with xarray v0.14
- Issue 1199 - LCL doesn't handle arrays correctly
- Issue 1196 - divergence calculation requires speed (PR 1197)
- Issue 1193 - Add NSF sponsorship (PR 1194)
- Issue 1190 - cape_cin ValueError: zero-size array to reduction operation minimum which has no identity (PR 1202)
- Issue 1187 - lcl() RuntimeError: failed to converge after 50 iterations, value is nan (PR 1192)
- Issue 1186 - Improve gallery linking (PR 1189)
- Issue 1184 - precipitable_water fails with NaN dew point values in the profile (PR 1188)
In this release 8 issues were closed.
Pull Requests Merged
- PR 1210 - avoid pint trouble with np.asarray
- PR 1206 - Quick fix for test_narr_example_variable_without_grid_mapping test (broken by xarray v0.14)
- PR 1204 - Fix GiniFile import of xarray FrozenDict
- PR 1202 - Fix LFC problem and set CIN to 0 if positive (1190)
- PR 1200 - Add support for grids when surface is LCL
- PR 1197 - fix divergence unit requirement (1196)
- PR 1194 - Add NSF acknowledgement (1193)
- PR 1192 - Fix precision issue with interpolation in profile helper (1187)
- PR 1191 - MNT: Change wheel directory on Travis
- PR 1189 - Add link to Python Gallery in sidebar (1186)
- PR 1188 - Allow PW calculation when NaNs present (1184)
In this release 11 pull requests were closed.