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](https://gist.github.com/23ccozad/8c5ee73731c466be2ed00817aabd792d) 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](https://github.com/Unidata/MetPy/issues/2005) - calc.moist_lapse returns incorrect values for Fahrenheit
* [Issue 1999](https://github.com/Unidata/MetPy/issues/1999) - Showalter Index calculation difference from value in Wyoming upperair website
* [Issue 1981](https://github.com/Unidata/MetPy/issues/1981) - Nightly build is failing
* [Issue 1970](https://github.com/Unidata/MetPy/issues/1970) - Fix unit-handling in azimuth_range_to_lat_lon
* [Issue 1951](https://github.com/Unidata/MetPy/issues/1951) - METAR parser not handling 'FU' code
* [Issue 1948](https://github.com/Unidata/MetPy/issues/1948) - Error in absolute_momentum (bug in normal_component?)
* [Issue 1945](https://github.com/Unidata/MetPy/issues/1945) - Plotting geoJSON and shapefiles
* [Issue 1938](https://github.com/Unidata/MetPy/issues/1938) - get_layer heights unit issue
* [Issue 1916](https://github.com/Unidata/MetPy/issues/1916) - Nightly build is failing
* [Issue 1901](https://github.com/Unidata/MetPy/issues/1901) - `Level3File` import is a bit bloated
* [Issue 1881](https://github.com/Unidata/MetPy/issues/1881) - Getting started information missing
* [Issue 1839](https://github.com/Unidata/MetPy/issues/1839) - Sync dependencies in setup.cfg
* [Issue 1805](https://github.com/Unidata/MetPy/issues/1805) - Ability to change fontsize in declarative interface
* [Issue 1791](https://github.com/Unidata/MetPy/issues/1791) - Support pyproj 3
* [Issue 1775](https://github.com/Unidata/MetPy/issues/1775) - reduce_point_density and bad points
* [Issue 1719](https://github.com/Unidata/MetPy/issues/1719) - copy() method for declarative interface
* [Issue 1674](https://github.com/Unidata/MetPy/issues/1674) - Refactor mean_pressure_weighted
* [Issue 1549](https://github.com/Unidata/MetPy/issues/1549) - Bounds issue with precipitable water
* [Issue 1546](https://github.com/Unidata/MetPy/issues/1546) - Drop Python 3.6
* [Issue 1306](https://github.com/Unidata/MetPy/issues/1306) - Visibility and Remarks in metar decoder not available in Pandas dataframe
* [Issue 1288](https://github.com/Unidata/MetPy/issues/1288) - Declarative extent zooming in/out
* [Issue 1278](https://github.com/Unidata/MetPy/issues/1278) - Declarative Plotting Tab Completion
* [Issue 968](https://github.com/Unidata/MetPy/issues/968) - Set __module__ on exported functions, etc.
* [Issue 630](https://github.com/Unidata/MetPy/issues/630) - Add Showalter and Modified Showalter Index
24 issues were closed in this release.
Pull Requests Merged
* [PR 2009](https://github.com/Unidata/MetPy/pull/2009) - Clean up some lint in the GEMPAK reader, by dopplershift
* [PR 2008](https://github.com/Unidata/MetPy/pull/2008) - Fix passing degF values to some thermo calculations, by dopplershift
* [PR 2007](https://github.com/Unidata/MetPy/pull/2007) - Fix up Showalter Index calculation, by dopplershift
* [PR 2006](https://github.com/Unidata/MetPy/pull/2006) - ENH: Ignore bad points in reduce_point_density, by dopplershift
* [PR 2004](https://github.com/Unidata/MetPy/pull/2004) - Add check_units to `geopotential_to_height`, by dcamron
* [PR 1991](https://github.com/Unidata/MetPy/pull/1991) - Create initial CITATION.cff, by dcamron
* [PR 1989](https://github.com/Unidata/MetPy/pull/1989) - DOC: Fix some equations, by dopplershift
* [PR 1986](https://github.com/Unidata/MetPy/pull/1986) - Specify coords as dict rather than tuple of tuples in tests, by jthielen
* [PR 1978](https://github.com/Unidata/MetPy/pull/1978) - Added equation to relative_humidity_from_dewpoint, by lswenson
* [PR 1977](https://github.com/Unidata/MetPy/pull/1977) - Add unit-awareness to azimuth_range_to_lat_lon function, by kgoebber
* [PR 1973](https://github.com/Unidata/MetPy/pull/1973) - Plotting Shapely objects in declarative interface, by 23ccozad
* [PR 1967](https://github.com/Unidata/MetPy/pull/1967) - Check that pressure decreases monotonically in parcel calculations, by sgdecker
* [PR 1956](https://github.com/Unidata/MetPy/pull/1956) - Absolute momentum units bug fix, by 23ccozad
* [PR 1953](https://github.com/Unidata/MetPy/pull/1953) - Large refactoring and improvement to METAR parser, by dopplershift
* [PR 1947](https://github.com/Unidata/MetPy/pull/1947) - Set up isort, by dopplershift
* [PR 1943](https://github.com/Unidata/MetPy/pull/1943) - Units bug fix for _get_bound_pressure_height, by 23ccozad
* [PR 1942](https://github.com/Unidata/MetPy/pull/1942) - Hodograph fixes, by dopplershift
* [PR 1939](https://github.com/Unidata/MetPy/pull/1939) - Codespell, by dopplershift
* [PR 1937](https://github.com/Unidata/MetPy/pull/1937) - Cleaning up analysis warnings, by dopplershift
* [PR 1934](https://github.com/Unidata/MetPy/pull/1934) - Code scanning, by dopplershift
* [PR 1932](https://github.com/Unidata/MetPy/pull/1932) - Update test_declarative.py, by albernsrya
* [PR 1931](https://github.com/Unidata/MetPy/pull/1931) - Update xarray git install for nightly build, by dopplershift
* [PR 1928](https://github.com/Unidata/MetPy/pull/1928) - Improve some import handling, by dopplershift
* [PR 1926](https://github.com/Unidata/MetPy/pull/1926) - More descriptive errors for precipitable_water, by 23ccozad
* [PR 1925](https://github.com/Unidata/MetPy/pull/1925) - Improve nightly build logs, by dopplershift
* [PR 1924](https://github.com/Unidata/MetPy/pull/1924) - Refactor dimensionality comparisons to check(), by 23ccozad
* [PR 1921](https://github.com/Unidata/MetPy/pull/1921) - Remove any Pint objects from METAR parser output, by 23ccozad
* [PR 1920](https://github.com/Unidata/MetPy/pull/1920) - Interpret inverse_flattening = 0 as spherical datum in mapping.py, by lbunting
* [PR 1914](https://github.com/Unidata/MetPy/pull/1914) - Refactor mean_pressure_weighted(), by 23ccozad
* [PR 1913](https://github.com/Unidata/MetPy/pull/1913) - CI: Add flake8-continuation to our plugin suite, by dopplershift
* [PR 1908](https://github.com/Unidata/MetPy/pull/1908) - Improved formatting of notes section of METAR parser, by 23ccozad
* [PR 1907](https://github.com/Unidata/MetPy/pull/1907) - Region modifiers with '+' or '-' suffix, by 23ccozad
* [PR 1903](https://github.com/Unidata/MetPy/pull/1903) - Clean up declarative `dir` and tab-completion, by dcamron
* [PR 1899](https://github.com/Unidata/MetPy/pull/1899) - Add font size traits to various classes, by 23ccozad
* [PR 1896](https://github.com/Unidata/MetPy/pull/1896) - Drop our explicit pillow dependency for sphinx-gallery, by dcamron
* [PR 1885](https://github.com/Unidata/MetPy/pull/1885) - Minor simplifications for the IO code, by dopplershift
* [PR 1884](https://github.com/Unidata/MetPy/pull/1884) - Copy method for declarative interface, by 23ccozad
* [PR 1882](https://github.com/Unidata/MetPy/pull/1882) - Clarify environment installation steps in CONTRIBUTING, by dcamron
* [PR 1879](https://github.com/Unidata/MetPy/pull/1879) - Reorganization of declarative syntax, by kgoebber
* [PR 1876](https://github.com/Unidata/MetPy/pull/1876) - fixes bug in issue 1758, by kgoebber
* [PR 1869](https://github.com/Unidata/MetPy/pull/1869) - BUG: Fix unit-handling in heat_index (Fixes #1867), by dopplershift
* [PR 1866](https://github.com/Unidata/MetPy/pull/1866) - Fix assign milestone action, by dopplershift
* [PR 1861](https://github.com/Unidata/MetPy/pull/1861) - Bump minimum dependency NumPy to >=1.17, by dcamron
* [PR 1842](https://github.com/Unidata/MetPy/pull/1842) - Reduce duplication in minimum dependencies, by dopplershift
* [PR 1841](https://github.com/Unidata/MetPy/pull/1841) - Drop support for Python 3.6, by dopplershift
* [PR 1840](https://github.com/Unidata/MetPy/pull/1840) - lazy load station_info only when used #1320, by akrherz
* [PR 1673](https://github.com/Unidata/MetPy/pull/1673) - Adding Showalter Index to Thermo Functions, by michaelavs
* [PR 1656](https://github.com/Unidata/MetPy/pull/1656) - Add GEMPAK IO module, by nawendt
* [PR 985](https://github.com/Unidata/MetPy/pull/985) - Set __module__ for exported functions., by dopplershift
49 pull requests were closed in this release.