CEDAR email: pysat v2.2.2 Release

Stoneback, Russell rstoneba at utdallas.edu
Tue Dec 1 13:30:08 MST 2020


Dear CEDAR Community,

We are pleased to announce the release of the Python Satellite Data Analysis Toolkit (pysat) v2.2.2. The v2.2.2 release is primarily focused on bug fixes and support for active missions. For convenience, the changelogs since the last CEDAR announcement are included below. Thank you to all the contributors!

Sincerely,
Russell Stoneback - The University of Texas at Dallas
Angeline Burrell - Naval Research Laboratory
Jeffrey Klenzing - NASA Goddard Space Flight Center


## Note

The pysat v2.2.x series is the last intended series of releases to include support for both Python 2 and 3. pysat v3.0 will support Python 3.6+ only. 

pysat v3.0 breaks out a number of features and instruments into individual packages to create a pysat ecosystem. Core functionality will remain within the pysat package.  To minimize the disruption caused by these changes, all areas with known updates are marked with appropriate DeprecationWarnings along with a note in the docstring. A final v2.2.x release, v.2.2.deprecation may be released with v3.0.


## Changelog v2.2.2

- New Features
  - netCDF4 files produced using `to_netcdf4()` now have an unlimited
    time dimension
- Documentation
  - Updated guidance on numpy version for installation
- Bug Fix
  - Updated madrigal methods to simplify compound data types and enable
    creation of netCDF4 files using `self.to_netcdf4()`.

## Changelog v2.2.1

- Documentation
  - Improved organization of documentation on ReadTheDocs
- Bug Fix
  - Adopted .readthedocs.yml to restore online documentation on ReadTheDocs
  - Modified MANIFEST.in to include pysat_testing instruments
  - Rename default branch as `main`


## Changelog v2.2.0 - 2020-07-24

- New Features
  - Decreased time to load COSMIC GPS data by about 50%
  - Added DE2 Langmuir Probe, NACS, RPA, and WATS instruments
  - Updated `test_files.py` to be pytest compatible
  - Added check to ensure non-pysat keywords supplied at instantiation
    are supported by underlying data set methods
  - Updates to instrument testing objects for consistency
  - Changed madrigal methods to use `madrigalWeb` as a module rather than
    calling it externally
  - Added warning when FillValue metadata could lead to unexpected results
    when writing a netCDF4 file
  - Use conda to manage Travis CI test environment
  - Update ICON instrument file structure
  - Added NaN filter for metadata when writing netCDF4 files
  - Test instruments now part of compiled package for development elsewhere
  - Reviewed and improved documentation
  - Custom instrument keywords and defaults are now always found in inst.kwargs
  - Added support for ~ and $ variables when setting pysat data dir
  - Added custom.attach to make transitions to v3.0 easier
- Deprecation Warning
 - custom.add will be renamed custom.attach in pysat 3.0.0
 - Several functions in coords will be removed in pysat 3.0.0.  These functions will move to pysatMadrigal
   - geodetic_to_geocentric
   - geodetic_to_geocentric_horizontal
   - spherical_to_cartesian
   - global_to_local_cartesian
   - local_horizontal_to_global_geo
 - methods.nasa_cdaweb.list_files will move to methods.general.list_files in pysat 3.0.0.
- Documentation
 - Fixed description of tag and sat_id behaviour in testing instruments
 - Added discussion of github install, develop branches, and reqs to docs
- Bug Fix
 - `_files._attach_files` now checks for an empty file list before appending
 - Fixed boolean logic when checking for start and stop dates in `_instrument.download`
 - Fixed loading of COSMIC atmPrf files
 - Fixed feedback from COSMIC GPS when data not found on remote server
 - Fixed deprecation warning for pysat.utils.coords.scale_units
 - Fixed a bug when trying to combine empty f107 lists
 - Fixed a bug where `remote_file_list` would fail for some instruments.
 - Made import of methods more robust
 - Fixed `SettingWithCopyWarning` in `cnofs_ivm` cleaning routine
 - Fixed cosmic load method definition to include altitude_bin
 - Fixed pysat_testing method definition to include mangle_file_dates keyword
 - Added small time offsets (< 1s) to ensure COSMIC files and data have unique times
 - Updates to Travis CI environment
 - Removed `inplace` use in xarray `assign` function, which is no longer allowed
 - Removed old code and incorrect comments from F10.7 support
 - Updated use of numpy.linspace to be compatible with numpy 1.18.
 - Fixed output of orbit_info during print(inst)
 - Fixed a bug when requesting non-existent files from CDAWeb (#426)
 - Improved compatibility of parse_delimited_filenames (#439)
 - Fixed bug assigning dates to COSMIC files
 - Fixed bug limiting local time orbit breakdowns for instruments much slower 
   than 1 Hz

## Changelog v2.1.0 - 2019-11-18
- New Features
  - Added new velocity format options to utils.coords.scale_units
  - Improved failure messages for utils.coords.scale_units
  - Added some tests for model_utils
  - Added option to to_netCDF that names variables in the written file
    based upon the strings in the Instrument.meta object
  - Improved compatibility with NASA ICON's file standards
  - Improved file downloading for Kp
  - Added keyword ignore_empty_files to pysat.Instrument and Files objects
    to filter out empty files from the stored file list
  - Added slice and list ability to meta
  - Updated cleaning routines for C/NOFS IVM
  - Added S4 scintillation data to the cosmic-gps instrument
  - pysat no longer creates a default data directory. User must specify location.
  - User set custom attributes are transparently stored within Meta object and are
    available via both Instrument and Meta.
  - Improved robustness of required library specification across multiple
    platforms
- Code Restructure
 - Move `computational_form` to `ssnl`, old version is deprecated
 - Move `scale_units` to `utils._core`, old version is deprecated
 - Replace `season_date_range` with `create_date_range`, old version is deprecated
 - Added deprecation warnings to stat functions
 - Added deprecation warnings to `ssnl` and `model_utils`
 - Removed `pysat_sgp4` instrument
 - Added cleaning steps to the C/NOFS IVM ion fraction data
- Bug fix
  - Fixed implementation of utils routines in model_utils and jro_isr
  - Fixed error catching bug in model_utils
  - Updated Instrument.concat_data for consistency across pandas and xarray. Includes support for user provided keywords.
  - Fixed error introduced by upstream change in NOAA F10.7 file format
  - Fixed bugs in DEMETER file reading introduced by changes in codecs
  - Fixed issue with data access via Instrument object using time and name slicing and xarray. Added unit test.
  - Updated travis.yml to work under pysat organization
  - Added missing requirements (matplotlib, netCDF4)
  - Fixed a bug when trying to combine empty kp lists
  - Updated travis.yml to work with python 2.7.15 and beyond
  - Unit tests reload pysat_testing_xarray for xarray tests
  - Updated setup.py to not overwrite default `open` command from `codecs`
  - Updated Travis CI settings to allow forks to run tests on local travis accounts
  - Fixed keep method to be case insensitive
  - Fixed a bug with COSMIC GPS downloads
  - Fixed selection bugs in the DEMETER IAP, CNOFS IVM, and model_utils routines
  - Updated URL link in setup.py
- Documentation
 - Added info on how to cite the code and package.
 - Updated instrument docstring
 - Corrected pysat.Instrument examples using COSMIC


More information about the Cedar_email mailing list