Releases: pysat/pysat
v3.2.0
The Python Satellite Data Analysis Toolkit (pysat) v3.2.0 adds multiple new features for data support, including custom data set concatenation and improved metadata support.
- New Features
- Added tests for warnings, logging messages, and errors in the Instrument
clean method. - Added Instrument loading test with padding and for times without data.
- Allow Instruments to define custom
concat_data
methods. - Added
include
kwarg toInstrument.concat_data
to expand allowed inputs. - Added data kwarg to the Instrument class
__getitem__
method and reduced
memory usage in theload
method. - Added a hidden method the Instrument class
_get_epoch_name_from_data
to
reduce code duplication. - Added
__delitem__
to Meta anddrop
to MetaHeader and MetaLabels classes. - Modified Meta to allow MetaHeader attribute access directly from Meta.
- Expanded
Meta.drop
to traverse attached MetaLabel and MetaHeader data. - Added
__delitem__
anddrop
to Instrument and Constellation classes. - Added options to customize
pysat_ndtesting
instrument with sample rate,
shift in time. - Added orbit number to
pysat_ndtesting
. - Added the overwrite kwarg to
utils.registry.register_by_module
. - Added unit tests for all functions in
utils.files
. - Reduced code duplication in the
utils.files.parse_fixed_width_filenames
andutils.files.parse_delimited_filenames
functions - Added ability to set Meta data using
meta['data_var', 'label'] = value
structure. - Added test for loading multiple days of data.
- Added user-friendly warning when trying to load data when there are
no files at all to load. Situation currently raises an IndexError. - Expanded
eval_warnings
to support testing against multiple warning types.
- Added tests for warnings, logging messages, and errors in the Instrument
- Bug Fix
- Fixed
utils.files.parse_fixed_width_filenames
output for empty file list - Updated the parsing functions in
utils.files
to consider type specifiers
when identifying appropriate files in a directory
- Fixed
- Maintenance
- Update link redirects in docs.
- Improved Instrument ValueError messages.
- Updated
Constellation.to_inst
method definition of coords, using dims
to combine common dimensions instead. - Implement pyproject to manage metadata
- Updated docstring references to
pysat.utils.files
in other modules. - Remove Sphinx cap
- Update usage of whitespace and if statements (E275)
- Remove hacking cap
- Removed deprecated
pysat_testing2d
instrument - Removed deprecated meta children info
- Removed deprecated
pysat_testing_xarray
instrument - Removed deprecated
pysat_testing2d_xarray
instrument - Removed deprecated
instrument_test_class
- Removed deprecated
malformed_index
kwarg in test instrumennts - Removed deprecated
convert_timestamp_to_datetime
function - Removed deprecated
_test_download_travis
flag - Removed deprecated
freq
kwarg fromdownload
- Removed deprecated
use_header
kwarg fromload
and changed default
behaviour touse_header=True
- Use temporary directories for files created during test_utils.py
- Updated code file headers to be consistent and include NRL pub release
- Added acknowledgements.md which includes full institutional funding list
- Removed deprecated
labels
kwarg forpysat.Instrument()
- Removed deprecated
utils.load_netcdf4
method - Removed deprecated
_filter_netcdf4_metadata
method - Removed deprecated usage of None for tag and inst_id
- Removed deprecated kwarg behaviour for 'fname' in
to_netCDF4
- Added verion cap for sphinx_rtd_theme
- Used line specific noqa statements for imports
- Add
_new_tests
flag for packages to ignore select new tests - Add CI testing for python 3.12
v3.1.0
The Python Satellite Data Analysis Toolkit (pysat) v3.1.0 is a minor release with significant improvements in the base classes and data I/O. This includes improvements in Constellations, data stored in the xarray Dataset format, and saving Instrument data in netCDF files.
[3.1.0] - 2023-05-31
- New Features
- Added a utility to ensure two xarray Datasets can be concatonated, and
incorporated this utility into the Instrument file loading - Added unit tests for different file cadences in the Instrument class
- Added
to_inst
method to the Constellation class - Added
export_pysat_info
kwarg toto_netcdf
routines to select whether
pysat instrument info is written to files - Added Constellation class examples to the docs tutorial
- Added links to the project standards repository to the docs
- Improved formatting of custom kwargs when running
print
on an instrument - Added a core utility to update fill values consistently in the data and
metadata - Adapted
check_and_make_path
to treat an empty path as the current dir - Added
meta_kwargs
attribute and kwarg to Instrument, allowing full custom
specification of the Meta class on instantiation - Expanded MetaLabels type defaults for 'max_val', 'min_val', and 'fill_val'
to include more common data types - Added
data_types
input to Meta and certain MetaLabels methods, allowing
the default values to be set to the specified data type when multiple types
are allowed, ensure these are updated when adding new data to an Instrument - Added
_update_label_types
to MetaLabels, expanding the Python float/int
types to include all numpy float/int types - Added
strict_dim_check
for loading xarray Datasets through netCDF - Added
combine_by_coords
kwarg toio.load_netcdf
for use on multi-file
xarray Datasets
- Added a utility to ensure two xarray Datasets can be concatonated, and
- Deprecations
- Deprecated the Instrument kwarg
labels
in favor ofmeta_kwargs
and
replaced themeta_labels
attribute with themeta_kwargs
attribute - Deprecated the
labels
keyword arg in favor ofmeta_kwargs
in the
netCDF I/O functions and Instrument sub-module - Deprecated the
malformed_index
kwarg in the test instruments. This is
replaced bynon_monotonic_index
andnon_unique_index
- Deprecated the Instrument kwarg
- Bug Fix
- Allow
pysat.instruments.methods.general.list_files
to handle file
cadences other than daily or monthly - Allow equality assessments if optional kwargs are used in Instrument
- Fixed an issue with setting single variables in xarray coords (#988)
- Fixed
pysat.Instrument.bounds
to handle all input types forstep
andwidth
regardless ofstart
andstop
time. Also fixed
seasonal bounds specified using file names. - Fixed
pysat.utils.io.apply_table_translation_to_file
check for duplicates
in the meta translation table - Fixed an issue when passing dates through load_remote_files (#1022)
- Fixed a bug where data may not have any times, but still not be empty
- Fixed a bug where metadata with values of None are assigned as useful
attributes when attaching metadata to xarray objects - Fixed a bug where a multi_file_day non-monotonic xarray index failed to
merge datasets (#1005) - Fixed a bug in testing for setting multiple optional load kwargs (#1097)
- Fixed a bug when setting xarray data as a tuple
- Fixed a bug when loading constellations for partially empty instrument lists
- Fixed a bug when cleaning up temporary directories on windows during testing
- Fixed a bug in Instrument loading with a pad, where RangeIndex slicing no
longer works on an empty series
- Allow
- Maintenance
- Added roadmap to readthedocs
- Improved the documentation in
pysat.utils.files
- Clarified documentation and tests for name slicing support in pandas
- Clarified documentation for adding new instruments
- Fixed broken links in docs
- Updated docstring header underline lengths and addressed documentation
build errors and warnings - Additional unit tests for data padding when a data index is non-monotonic.
- Deprecated the
malformed_index
kwarg in the test instruments. This is
replaced bynon_monotonic_index
andnon_unique_index
- Set the
instruments.pysat_testing
tag='no_download' to return an empty
pandas DataFrame forload
- Added
constellations.testing_partial
, which loads a partially empty
constellation dataset - Reduced default num_samples for constellation test objects
- Improved consistency in metadata for test instruments
v3.0.6
The Python Satellite Data Analysis Toolkit (pysat) v3.0.6 is a bug fix release to improve compatibility with Python 3.6 and appropriate versions of pandas and xarray.
[3.0.6] - 2022-12-21
- Bug Fix
- Ensure pysat tests do not store temporary directory to file
- Updated links for supported instruments in documentation
- Deprecations
pysat_testing2d_xarray
instrument deprecated and replaced by
pysat_ndtesting
- Maintenance
- Updated pytest syntax to remove nose backwards-compatibility
- Fixed NEP29 compliance
- Updated Github Actions versions
- Improved docstrings
- Fixed a bug where a deprecation warning was thrown incorrectly
- Add pysatModels to pysat instrument count
- Update contributing document
- Added support for testing with python 3.6, updated reported
minimum supported Python version to 3.6
v3.0.5
The Python Satellite Data Analysis Toolkit (pysat) v3.0.5 is a bug fix release, including improved compatibility with pandas v1.5.
[3.0.5] - 2022-10-07
- Maintenance
- Update usage of logger throughout code.
- Update NEP29 minimum CI numpy version to 1.20
- Bug Fix
- Updated meta.py so that internal assignment of None to children is not
converted to NaN when using pandas>=1.5.0
- Updated meta.py so that internal assignment of None to children is not
v3.0.4
The Python Satellite Data Analysis Toolkit (pysat) v3.0.4 is a bug fix release that improves compatibility with xarray when accessing data via slices.
Changelog
- Maintenance
- Removed version cap on xarray
- Bug Fix
- Improved compatibility with xarray 2022.06 when accessing data via slices
- Fixed a bug for fractional seconds in
methods.testing.generate_times
.
v3.0.3
The Python Satellite Data Analysis Toolkit (pysat) v3.0.3 is a maintenance release that includes a temporary version limit on xarray due to changes in indexing in v2022.06.0.
Changelog
- Maintenance
- Added temporary version limit to xarray due to change in indexing
v3.0.2
The Python Satellite Data Analysis Toolkit (pysat) v3.0.2 is primarily intended as a bugfix and maintenance release.
However, this release does include expanded support for writing and reading netCDF4 files for user customizable file standards.
Changelog
- New Features
- Added the property
empty_partial
to the Constellation class - Added the option to apply custom functions at the Constellation or
Instrument level within the Constellation class - Added option to load Constellation for registered Instruments using lists
of platforms, names, tags, and/or inst_ids, which are new attributes - Added hidden Constellation methods to determine unique attribute elements
and set Instrument attributes across all instruments - Added hidden Constellation method to sequentially call Instrument methods
- Extended Constellation unit tests
- Added more quality checks to the Constellation initialization
- Standardized Instrument instantiation to always define
inst_module
- Extended testing options for
pysat.utils.testing
functions - Added
start_time
keyword for test instruments - Added
max_latitude
keyword for non-model test instruments - Added
_test_download_ci
as a standard attribute forpysat.Instrument
- Added a testing model similar to TIEGCM to
pysat.instruments.pysat_testmodel
as tag='pressure_levels'. - Added the capability to test loading with optional kwargs through
_test_load_opt
instrument attribute - Added
rename
andadd_epoch_metadata
methods to the Meta class - Added I/O utilities to the utility module, extracting existing methods
from the Instrument class and core utility module. - Added a warning evaluation and directory creation functions to
pysat.utils.testing
. - Added the ability to only download new files if remote file listing
capabilities are not available for the Instrument. - Added kwargs for epoch units and origin in
pysat.utils.io.load_netcdf
. - Vectorized
Meta.var_case_name
andMeta.attr_case_name
to support
list of str as input as well as str. - Added a time function to calculate decimal year from datetime.
- Allow
Instrument.rename
to take a fuction or mapping dict as input,
after adapting routine to useMeta.rename
- Added an update method and type evaluation method to MetaLabels.
- Added a new MetaHeader class for holding global metadata.
- Added a pysat Instrument for loading pysat-written NetCDF4 files.
- Allowed MetaLabels to be expanded through setting new Meta data values.
- Added support for user variables when parsing template filenames
inpysat.utils.files
. - Improved robustness of parsing delimited files.
- Updated
pysat.Instrument.pandas_format
so that changes to setting
are immediately reflected by changes to Instrument object. - Added a test function for bad class/function/method input to reduce
duplicate code and improve message test combliance - Added support for filtering basic netCDF4 metadata when loading via
pysat.utils.io.load_netcdf
. - Added support for user developed functions to filter metadata as it
loaded from disk but before assignment to apysat.Meta
instance. - Added
meta.to_dict
to support creating more compliant
netCDF files. - Added
meta.default_to_netcdf_translation_table
,
default_from_netcdf_translation_table
and
apply_table_translation
topysat.utils.io
to support
improved compatability of pysat netcdf files without user code
changes. - Added
drop_meta_labels
kwarg topysat.utils.io.load_netcdf
to
support easy removal of unwanted metadata during loading. - Added support for
meta_processor
inpysat.utils.io.load_netcdf
andpysat.utils.io.inst_to_netcdf
enabling developers to easily modify
metadata before it is loaded from/written to storage. - Intermediate missing directories are now created as needed when writing
files usingpysat.utils.io.inst_to_netcdf
. - Condensed code present in both pandas and xarray into
pysat.utils.io.meta_array_expander
. - Non-default Meta.labels are now retained by Instrument if defined by
underlying support module. - Made test data more consistent across pysat testing instruments.
- Added
pysat.Instrument.vars_no_time
function to return data variables
excluding the main time index. - Added support for additional metdata and other file handling options
to general 'pysat', 'netcdf' instrument. - Added keyword
decode_times
to flag using xarray or pysat processing
of times when loading a file viapysat.utils.io.load_netcdf
. - Added
pysat.utils.io.xarray_all_vars
which returns a list of all variables,
coordinates, and dimensions. - Added more volume units to
pysat.utils.scale_units
- Added
assert_isinstance
andassert_hasattr
topysat.utils.testing
- Added the property
- Deprecations
- Removed
freq
as a standard kwarg forpysat.Instruments.download
- Deprecated
_test_download_travis
as a standard attribute for
pysat.Instrument
. The function is replaced by_test_download_ci
- Deprecated
pysat.tests.instrument_test_class.initialize_test_inst_and_date
,
which is moved topysat.tests.classes.cls_instrument_library
. - Deprecated
pysat.tests.instrument_test_class.InstTestClass
, which is
replaced bypysat.tests.classes.cls_instrument_library.InstLibTests
. - Deprecated
pysat.Instrument._filter_netcdf4_metadata
and replaced it
withpysat.utils.io.filter_netcdf4_metadata
. - Changed
fname
from a kwarg to an arg inpysat.Instruments.to_netcdf4
- Deprecated support for 2D pandas datasets
- Deprecated
pysat.instruments.pysat_testing_xarray
- Deprecated usage of higher order metadata
- Deprecated
pysat.Instrument.generic_meta_translator
which is replaced
bypysat.utils.io.apply_table_translation_to_file
. - Deprecated the general instrument method,
convert_timestamp_to_datetime
,
which is replaced by new functionality inload_netcdf
.
- Removed
- Documentation
- Moved logo to 'docs\images'
- Improved consistency of headers throughout documentation
- Added more reference labels to documentation
- Implemented use of Python formatting in documentation examples
- Fixed bad section labels in docstrings
- Fixed noindex warning
- Fixed redirecting links
- Made changelog style and line length consistent
- Added a paragraph describing how to access Instrument sub-module
docstrings from an instantiated Instrument in an interactive session - Updated examples in docstrings
- Improved docstring style and consistency
- Added docstring linting via flake-docstrings and hacking to CI tests
- Added clarification to the tutorials
- Added limitations to the
listify
docstring - Updated image link in
README.md
to display in more environments. - Updated
tag
andinst_id
keywords and docstrings to new standards - Added example for version checking when writing tests for packages that
rely on pysat
- Bug Fix
- Fixed default MetaLabel specification in
pysat.utils.load_netcdf4
- Fixed
parse_delimited_filename
output consistency and ability to handle
leading and trailing non-parsed text in filenames (e.g., file extensions) - Added
decode_timedelta=False
for loading xarray from netcdf4 (#823) - Closed links to open files when loading data through xarray (#887)
- Fixed an issue in generating filenames for
pysat.Instrument._iter_list
- Allow
tag
andinst_id
to be specified as None (#892) - Fixed a bug in
pysat.utils.time.create_datetime_index
(#906) - Fixed a bug in
pysat.utils.scale_units
and ensured '/cc' compatibility. - Added a warning if
inst_module
andplatform
/name
are used to
instantiate an instrument (#850). In case of this,inst_module
takes
priority. - Fixed a bug when instantiating empty
pysat.Instrument()
(#851) - Fixed IndexError encountered when loading a multi-day file by filename with
no data for that day. - Added logging output when metadata not assigned due to a lack of
instrument data (#924) - Fixed a bug where empty check for xarray instruments fail when time not
present. (#922) - Improved feedback when users try to set meta with an array.
- Fixed a bug that expected special treatment by
Instrument.data
type in
utils.coords.update_longitude
- Fixed pysat_testmodel Instrument longitude range
- Corrected link to testing badge in README.md
from_os
now always returns a sorted Series.- Moved function call for Instrument modules init function to end of
pysat.Instrument instantiation to ensure Instrument is complete when passed
to init. - Refactored
pysat.Instrument.generic_meta_translator
to use
pysat.Meta.to_dict
and the latest metadata label standards. - Prevent stale data paths stored by pysat from being reassigned if
path is no longer inpysat.params['data_dirs']
. - Added missing metadata in testing instruments.
- Corrected identification of string data for xarray in
pysat.Instrument._get_data_info
.
- Fixed default MetaLabel specification in
- Maintenance
- Added unit tests for deprecation warnings related to io_utils reorg.
- Added missing unit tests for
pysat.utils.time
- Added missing unit tests for
pysat.utils.file.parse_delimited_filename
- Streamlined unit tests for
test_orbits
- Moved metadata generation for test instruments to
methods.testing
- Added integration tests for test instrument kwargs
- Updated class declaration to be consistent with python 3 standards
- Update usage of caplog and capsys in unit tests
- Reorg...
v3.0.1
The Python Satellite Data Analysis Toolkit (pysat) v3.0.1 is primarily intended as a bugfix and maintenance release.
Most significantly, pysat passes online unit tests on the Windows platform.
Changelog
- New Features
- Added a routine for loading CSV files into a pandas DataFrame from a list
of filenames. - Added check for supported
tag
andinst_id
at pysat.Instrument
instantiation. (#784) - Expanded Constellation utility by:
- Added utils.listify, a function that returns a list of whatever is input.
(#766) - Added a warning for download requests that result in an empty date range.
- Added a routine for loading CSV files into a pandas DataFrame from a list
- Deprecations
- Documentation
- Added missing information about date formatting to file listing docstrings.
- Added example for registering external instrument support (#837)
- Bug Fix
- Changed pysat.Instruments.orbits iteration to return a copy of the
Instrument rather than the Instrument itself. Provides robustness against
garbage collection. (#770) - Improved error messages for cases where slice of data may not exist (#761)
- Improved windows compatibility (#57, #790)
- Fixed Instrument.load bug that prevented use of instrument specific kwargs
- Added pytest as a package requirement (#819)
- Fixed pysat.utils.listify for empty list inputs (#830)
- Changed pysat.Instruments.orbits iteration to return a copy of the
- Maintenance
- Changed pysat.Instrument from treating all support functions as partial
functions to retaining the original form provided by developer - Migrates CI testing to Github Actions
- Improved maintenance of documentation build
- Added a check for use of reserved keywords at instantiation
- Tests compatible with pysatSpaceWeather 0.0.4 (#782)
- Improved pandas 1.3.0 compliance
- Changed pysat.Instrument from treating all support functions as partial
v3.0.0
The Python Satellite Data Analysis Toolkit (pysat) v3.0.0 release is a substantive release intended to support pysat in operational environments as well as expand community oriented capabilities for space science data analysis. Core features have been retained within pysat while supporting instruments and analysis codes have been moved to individual packages. While v3.0.0 is not backwards compatible due to a reorganization of some functions and the data storage structure, the user interface is largely unchanged.
Changelog
[3.0.0] - 2021-04-01
- New Features
- Added registry module for registering custom external instruments
- Added Meta.mutable flag to control attribute mutability
- Added MetaLabels class to manage metadata labeling
- Unit tests are now pytest compatible, use parametrize, and have improved
messages when failures are encountered - Added altitudes to test instruments
- New flags added to instruments to streamline unit testing:
_test_download
,_test_download_travis
,_password_req
strict_time_flag
now defaults to True- Use of start/stop notation in remote_file_list
- Added variable rename method to Instrument object (#91)
- Added support for loading more than one day/file (#56)
- Added support for iterating over a dataset a with a loaded data width and
stepsize larger than a single day/file - Added check for inconsistent inputs when loading data via Instrument
- Added file locking for thread-safe behavior (#304)
- Allow the Instrument object to be initialized with optional kwargs for any
of the standard methods (not just load). - Added support for 'cycle' in addition to 'version' and 'revision' for
filename conventions. - Integrated Custom class directly into Instrument to support mixed use
of Constellation/Instrument objects in code (#540) - Made underlying custom data structures visible (#529)
- Updated data_mode method name to custom_attach for the Constellation
object (#540) - Added a display utility for discovering pysat Instrument data sets.
- Added testing utility functions.
- Added support for multiple pysat data directories
- Reorganized .pysat directory to store instrument information under
.pysat/instruments and .pysat/instruments/archive - Added pysat.params, a central location to store and modify pysat default
parameters. File stored at .pysat/pysat_settings.json - Added
warn_empty_file_list
to pysat.params to provide a warning if no
Instrument files are found. Default is False. - Updated default pysat directory organization template
- Added support for dual specification of Instruments to include in a
Constellation - Added function to transition pysat managed data files to a user
provided template. - Allow
directory_format
input toInstrument
to be a function - Adopted standard for bounds.
stop
is an inclusive bound,end
is
exclusive - Added support for SLT calculations outside [0, 24)
- Added support for continuous SLT calculations when loading multiple days
- Instrument support functions now respond to local changes in
Instrument.kwargs - Added support for pysat.Instrument, Files, and Orbits equality comparisons
- Added .copy function to Instrument, Files, and Orbits classes
- Updated Parameters to ensure paths provided for pysat.params['data_dirs'] are created if they don't
already exist
- Deprecations
- Migraged instruments to pysatMadrigal, pysatNASA, pysatSpaceWeather,
pysatIncubator, pysatModels, pysatCDAAC, and pysatMissions - Migrated file methods to pysat.utils.files (#336)
- Renamed
sat_id
Instrument keyword argument toinst_id
- Removed ssnl
- Removed utils.stats
- Removed model_utils
- Removed deprecated pandas.Panel
- Import datetime class from datetime module, not pandas
- Import DataFrame and Series classes directly from pandas, not pysat
- Removed coords.scale_units
- Removed time.season_date_range
- Moved methods.nasa_cdaweb.list_files to methods.general
- DeprecationWarning for strict_time_flag only triggered if sloppy data is
found - Changed the custom function attachment input to allow keyword argument use
when additional function input is required - Removed python 2.7 syntax
- Removed utils.coords.geodetic_to_geocentric
- Removed utils.coords.geodetic_to_geocentric_horizontal
- Removed utils.coords.spherical_to_cartesian
- Removed utils.coords.global_to_local_cartesian
- Removed utils.coords.local_horizontal_to_global_geo
- Addressed several Warnings raised by incorrect use of dependent packages
- Deprecated use of
inst_id
for number of simulated samples for test
instruments - Removed writing of custom Meta attributes when producing netCDF4 files
- Removed unneeded description.txt file, using README instead
- Changed
pysat.instruments.methods.general.list_files
kwarg
fake_monthly_files_from_daily
tofile_cadence
- Changed name of Instrument method
default
topreprocess
- Removed
pysat.data_dir
. Information now atpysat.params['data_dirs']
. - Moved
pysat.Instrument._filter_datetime_input
to
pysat.utils.time.filter_datetime_input
- Deprecated
pysat.utils.set_data_dir
- Changed
name
kwarg in Constellation toconst_module
- Removed unnecessary Instrument attribute
labels
- Removed unnecessary Instrument kwargs
- Removed the Custom class, incorporating it into Instrument
- Removed deprecated calls to 'modify' type custom functions
- Migraged instruments to pysatMadrigal, pysatNASA, pysatSpaceWeather,
- Documentation
- Added info on how to register new instruments
- Fixed description of
tag
andinst_id
behaviour in testing instruments - Added a tutorial for developers of instrument libraries for pysat
- Updated instrument templates
- Added .zenodo.json file, to improve specification of authors in citation
- Improved
__str__
and__repr__
functions for basic classes - Improved docstring readability and consistency
- Added Travis-CI testing for the documentation
- Added a style guide for developers
- Updated loading data flow figure
- Scrubbed the documentation, ensuring examples, tutorials, and descriptions
match the current implementation and code structure
- Bug Fix
- Updated Instrument.concat_func to behave as described in the docstring
- Fixed custom instrument attribute persistence upon load
- Improved string handling robustness when writing netCDF4 files in Python 3
- Improved pandas 1.1.0 compatibility in tests
- Fixed coupling of two_digit_year_break keyword to underlying method in
methods.general.list_files - Fixed additional file date range for monthly data with gaps
- Fixed custom Meta attributes removal when transferred to instrument (#615)
- Corrected iteration over Instrument within list comprehension
- Removed unused input arguments
- Corrects Instrument today, yesterday, and tomorrow methods by implementing
datetime.datetime.utcnow - Ensured pysat.Meta instances are immutable at Instrument instantiation
- Removed weak reference back to Instrument within Files class
- Fixed access of xarray data with more than one dimension (#471)
- Improved robustness of
eval(inst.__repr__())
(#636) - Fixed
calc_solar_local_time
for data sets with longitude coordinates - Fixed .copy() when pysat.Instrument instantiated with
inst_module
(#728) - Modified storage of Instrument.kwargs to include all methods so that
eval(Instrument.__repr__())
works in more cases - Modified storage of Instrument.kwargs to only include user supplied keywords
- Improved robustness when working with file dates that aren't centered on
midnight - Added basic valid path check to
pysat.utils.files.check_and_make_path
- Maintenance
- nose dependency removed from unit tests
- Specified
dtype
for empty pandas.Series for forward compatibility - Removed wildcard imports, relative imports
- Include flake8 check as part of testing suites
- Improved unit testing coverage of instrument functions and instrument object
- Added tests for Instrument attributes
acknowledgements
andreferences
- Removed implicit conversion to integers in
methods.general.convert_timestamp_to_datetime - Simplified internal logic in Instrument class
- Moved setup metadata to setup.cfg
- Improved instrument tests for files
- Used dt.timedelta instead of pds.DateOffSet where possible
- Reduced code duplication throughout package
- Reduced unused code snippets throughout
- Ensured download start time is used
- Condensed testing support functions into methods/testing.py
- Fixed a bug with usage of numpy.dtype for numpy 1.20 compatibility
- Updated usage of pds.index.to_native_types() to pds.index.astype(str)
for pandas 2.0 compatibility (#737) - Check type as float rather than np.float for future numpy compatibility
(#740) - Verified usage of inst.loc[slice, keyword] will continue to work in
pandas 2.0 (#738)
v2.3.0
The Python Satellite Data Analysis Toolkit (pysat) v2.3.0 release is intended
to be the last release of the v2.x series and the last release to
include support for Python 2.x. pysat v2.3.0 primarily features
DeprecationWarnings for pysat functions that are changing as part
of the 3.0.0 release.
[2.3.0] - 2021-04-01
- Allow use of new Instrument kwarg,
inst_id
(replacessat_id
) - Allow limited use of new list_files kwarg,
file_cadance
- Added support for
pysat.params['data_dirs']
, the replacement
forpysat.data_dir
in pysat 3.0.0 - Deprecation warnings added to:
- Instrument class (old meta labels,
sat_id
,default
,multi_file_day
,
manual_org
, and_filter_datetime_input
,data_dir
) - pysat.instruments.methods.general.list_files kwarg
fake_montly_files_from_daily
- pysat.instruments.methods.testing.generate_times kwarg
sat_id
- Constellation class kwarg
name
- Custom class
- functions from
_files
class - functions from
ssnl
module - Instrument modules:
- the pysatCDAAC: cosmic_gps
- the pysatIncubator: champ_star, demeter_iap, superdarn_grdex,
supermag_magnetometer - the pysatMadrigal: jro_isr, dmsp_ivm
- the pysatSpaceWeather: sw_dst, sw_f107, sw_kp
- the pysatModels: ucar_tiegcm
- the pysatNASA: cnofs_ivm, cnofs_plp, cnofs_vefi, de2_lang, de2_nacs,
de2_rpa, de2_wats, icon_euv, icon_fuv, icon_ivm, icon_might, iss_fpmu,
omni_hro, rocsat1_ivm, sport_ivm, timed_saber, timed_see
- The usage of a numeric string for
sat_id
to specify number of points
in test instruments - SpaceWeather, Incubator (DEMETER), Madrigal, CDAWeb, and ICON instrument
methods - The DE2 and ICON Constellation objects
- pysat.utils.set_data_dir
- Instrument class (old meta labels,
- Documentation
- Updated docstrings with deprecation notes
- Bug Fix
- Closes files after download in NASA CDAWeb methods
- Updated the ICON constellation object to reflect new instrument standards
- Added version cap for numpy