diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 44876cd6..d8de4503 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,12 +14,7 @@ jobs: matrix: os: ["ubuntu-latest", "macos-latest", "windows-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] - install-extras: [0, 1, 2] # TODO(#129): update to replace extra flag - exclude: - - os: "windows-latest" # TODO(#135): remove exclusion - install-extras: 2 - - os: "macos-latest" # TODO(#135): remove exclusion - install-extras: 2 + install-extras: [0, 1] # TODO(#129): update to replace extra flag name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with extras ${{ matrix.install-extras }} runs-on: ${{ matrix.os }} diff --git a/AUTHORS.rst b/AUTHORS.rst index aaa82948..e4fec8d8 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -9,3 +9,9 @@ Contributors ------------ * Dominic Jodoin - https://github.com/cotsog + +Acknowledgements +---------------- + * Angeline G. Burrell is supported by the Office of Naval Research + (2018-Present) + diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 8a8ab3c7..5d04921d 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -9,7 +9,8 @@ to respond in a timely manner. Short version ============= -* Submit bug reports and feature requests at `GitHub `_ +* Submit bug reports and feature requests at + `GitHub `_ * Make pull requests to the ``develop`` branch Bug reports @@ -82,8 +83,8 @@ Tips To run a subset of tests from the test directory for a specific environment:: - python test_name.py + python -m unittest test_name.py To run all the tests for a specific environment:: - python setup.py test + python -m unittest discover diff --git a/Changelog.rst b/Changelog.rst index fa49aea0..7928b852 100644 --- a/Changelog.rst +++ b/Changelog.rst @@ -16,8 +16,7 @@ Summary of all changes made since the first stable release * ENH: Added AMPERE EABs, using the Heppner-Maynard boundary as a valid EAB * ENH: Changed default directory ID to use `pathlib` * ENH: Allow data padding in `pysat_instrument` functions -* ENH: Created separate vector transformation functions to support multiple - coordinate systems +* ENH: Separated vector transformations to support multiple coordinate systems * ENH: Updated VectorData and pysat_instruments to allow geographic inputs * BUG: Fixed a typo in the documentation's pysat example * BUG: Added an error catch for badly formatted SuperMAG file reading diff --git a/README.md b/README.md index 8a7b6481..24475564 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ coordinate system is described in: Research: Space Physics, [doi:10.1002/2016JA023235.](https://doi.org/10.1002/2016JA023235) - * Full [documentation](http://ocbpy.rtfd.io/) + * Full [documentation](https://ocbpy.readthedocs.io/en/latest/) Boundaries must be obtained from observations or models for this coordinate transformation. Several boundary data sets are included within this package. @@ -33,7 +33,7 @@ locations from DMSP. * Burrell, A. G. et al. (2020): AMPERE Polar Cap Boundaries, Ann. Geophys., 38, 481-490, [doi:10.5194/angeo-38-481-2020](https://doi.org/10.5194/angeo-38-481-2020) - * [ssj_auroral_boundary](https://github.com/lkilcommons/ssj_auroral_boundary) + * [DMSP SSJ Boundaries](https://zenodo.org/records/3373812) Currently, support is included for files from the following datasets: @@ -53,10 +53,12 @@ The listed dependecies were tested with the following versions: * numpy * aacgmv2 * pysat (3.0.1+) - * ssj_auroral_boundary + * ssj_auroral_boundary (deprecated) + * zenodo_get Testing is performed using the python module, unittest. To limit dependency -issues, pysat (>=3.0.1) and ssj_auroral_boundary are optional dependencies. +issues, the pysat, ssj_auroral_boundary, and zenodo_get dependencies are +optional. # Installation @@ -73,11 +75,12 @@ You may also checkout the repository and install it yourself: ``` Change directories into the repository folder and run the setup.py file. For -a local install use the "--user" flag after "install". +a local install use the "--user" flag after "install". For development, add +the "-e" flag. ``` $ cd ocbpy/ - $ python setup.py install + $ pip install . ``` To run the unit tests, diff --git a/docs/citing.rst b/docs/citing.rst index 8f165cb5..5a2a467d 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -91,6 +91,11 @@ The DMSP SSJ boundaries are retrieved using Please follow the citation guidelines on their page. The general reference for the DMSP SSJ boundary data set is provided below. +* **SSJ Auroral Boundaries**: Kilcommons, L. M., R. J. Redmon, and D. J. Knipp + (2017), A new DMSP magnetometer and auroral boundary data set and estimates + of field-aligned currents in dynamic auroral boundary coordinates, J. Geophys. + Res. Space Physics, 122, 9068–9079, doi:10.1002/2016JA023342. + * **SSJ Auroral Boundaries (2010-2014)**: Kilcommons, L., et al. (2019). Defense Meteorology Satellite Program (DMSP) Electron Precipitation (SSJ) Auroral Boundaries, 2010-2014 (Version 1.0.0) [Data set]. Zenodo. diff --git a/docs/conf.py b/docs/conf.py index cbb082a4..a2ee6a29 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,6 +21,7 @@ import datetime as dt import json import os +from pyproject_parser import PyProject import sys sys.path.insert(0, os.path.abspath('.')) @@ -61,20 +62,21 @@ master_doc = 'index' # General information about the project. +info = PyProject.load("../pyproject.toml") zenodo = json.loads(open('../.zenodo.json').read()) project = 'ocbpy' author = '; '.join([auth['name'] for auth in zenodo['creators']]) copyright = '{:d}, {:s}'.format(dt.datetime.utcnow().year, author) title = 'ocbpy Documentation' -desc = ''.join(['Coordinate transformation to and from an open-closed ', - 'field line boundary system']) +desc = ''.join(['Coordinate transformation to and from high-latitude ', + 'boundary systems']) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '0.3.0' +version = info.project['version'].base_version # The full version, including alpha/beta/rc tags. release = '{:s}-beta'.format(version) @@ -180,4 +182,4 @@ epub_exclude_files = ['search.html'] # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/3': None} +intersphinx_mapping = {'': ('https://docs.python.org/3', None)} diff --git a/docs/examples/ex_pysat_eab.rst b/docs/examples/ex_pysat_eab.rst index 716c8160..e2e40f9d 100644 --- a/docs/examples/ex_pysat_eab.rst +++ b/docs/examples/ex_pysat_eab.rst @@ -90,8 +90,8 @@ prodedures while loading the desired data. The be applied using the :py:mod:`pysat` `custom interface `_. The EAB conversion can handle magnetic, geodetic, or geocentric coordinates for -scalar or vector data types using the :py:var:`loc_coord` and -:py:var:`vect_coord` keyword arguments, respectively. We do need to calculate +scalar or vector data types using the :py:attr:`loc_coord` and +:py:attr:`vect_coord` keyword arguments, respectively. We do need to calculate local time before calculating the EAB coordinates, though. :: diff --git a/docs/index.rst b/docs/index.rst index f1cec547..2108b3e2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -22,7 +22,6 @@ process and provides examples for usage. contributing.rst - Indices and tables ================== diff --git a/docs/ocb_gridding.rst b/docs/ocb_gridding.rst index 7d64198d..57b7c605 100644 --- a/docs/ocb_gridding.rst +++ b/docs/ocb_gridding.rst @@ -33,6 +33,7 @@ the :py:mod:`ocbpy.ocb_scaling` module. Boundary Classes ---------------- .. automodule:: ocbpy._boundary + :noindex: :members: @@ -50,3 +51,12 @@ OCB Scaling Module ------------------ .. automodule:: ocbpy.ocb_scaling :members: + + +.. _ocbgrid-vector: + +Vector Functions +---------------- +.. automodule:: ocbpy.vectors + :members: + diff --git a/ocbpy/__init__.py b/ocbpy/__init__.py index f751612a..b9a2a42d 100644 --- a/ocbpy/__init__.py +++ b/ocbpy/__init__.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Auroral oval and polar cap normalised location calculation tools.""" diff --git a/ocbpy/_boundary.py b/ocbpy/_boundary.py index 91f5d8a6..0eafee2f 100644 --- a/ocbpy/_boundary.py +++ b/ocbpy/_boundary.py @@ -1,6 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Hold, manipulate, and load the OCB and EAB data. @@ -471,7 +475,7 @@ def get_next_good_ocb_ind(self, min_merit=None, max_merit=None, **kwargs): AMPERE/DMSP-SSJ and new IMAGE FUV checks that: - the Figure of Merit is greater than or equal to the specified minimum - (`min_fom`) or less than or equal to the specified maximum (`max_fom`) + (`min_fom`) or less than or equal to the specified maximum (`max_fom`) """ diff --git a/ocbpy/boundaries/README.md b/ocbpy/boundaries/README.md index c298e7ca..011f78f8 100644 --- a/ocbpy/boundaries/README.md +++ b/ocbpy/boundaries/README.md @@ -1,3 +1,9 @@ +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- This directory contains files with Open Closed field line Boundaries obtained from different instruments diff --git a/ocbpy/boundaries/__init__.py b/ocbpy/boundaries/__init__.py index fd8ae605..25bb7b05 100644 --- a/ocbpy/boundaries/__init__.py +++ b/ocbpy/boundaries/__init__.py @@ -1,6 +1,10 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB * GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in LICENSE.txt +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Boundary file utilities.""" diff --git a/ocbpy/boundaries/dmsp_ssj_files.py b/ocbpy/boundaries/dmsp_ssj_files.py index f2dd63c9..0811b058 100644 --- a/ocbpy/boundaries/dmsp_ssj_files.py +++ b/ocbpy/boundaries/dmsp_ssj_files.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Download and format DMSP SSJ boundary files. @@ -15,6 +18,10 @@ boundary coordinates, J. Geophys. Res.: Space Phys., 122, pp 9068-9079, doi:10.1002/2016ja023342. +.. [7] Kilcommons, L., Redmon, R., & Knipp, D. (2019). Defense Meteorology + Satellite Program (DMSP) Electron Precipitation (SSJ) Auroral Boundaries, + 2010-2014 (1.0.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.3373812 + """ import datetime as dt @@ -279,7 +286,7 @@ def fetch_ssj_boundary_files(stime=None, etime=None, out_dir=None, sat_nums : list or NoneType Satellite numbers or None for all satellites (default=None) doi : str - DOI for the DMSP SSJ boundary file Zenodo archive + DOI for the DMSP SSJ boundary file Zenodo archive [7]_ (default='10.5281/zenodo.3373811') rm_temp : bool Remove all files that are not the final boundary files (default=True) @@ -492,7 +499,7 @@ def format_ssj_boundary_files(csv_files, ref_alt=830.0, times, a circle that intersects the two boundary pass points is defined and the boundary location saved. The DMSP SSJ boundary correction function will use this information to only return values within a small distance of - the boundary locations [5]_. + the boundary locations [5]_, [7]_. Separate files are created for each boundary and hemisphere, dates and spacecraft are combined. diff --git a/ocbpy/boundaries/files.py b/ocbpy/boundaries/files.py index 43f8e167..cbb3ce6c 100644 --- a/ocbpy/boundaries/files.py +++ b/ocbpy/boundaries/files.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Functions that support boundary file selection.""" diff --git a/ocbpy/cycle_boundary.py b/ocbpy/cycle_boundary.py index d02ab80f..34eb1dff 100644 --- a/ocbpy/cycle_boundary.py +++ b/ocbpy/cycle_boundary.py @@ -1,6 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Routines to match and cycle through the OCboundary class records.""" diff --git a/ocbpy/instruments/__init__.py b/ocbpy/instruments/__init__.py index 9f06a4bb..102591ed 100644 --- a/ocbpy/instruments/__init__.py +++ b/ocbpy/instruments/__init__.py @@ -1,6 +1,10 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017 AGB +# DOI: 10.5281/zenodo.1179230 # Full license can be found in LICENSE.txt +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Instrument specific Boundary support.""" diff --git a/ocbpy/instruments/general.py b/ocbpy/instruments/general.py index 53cf739b..5afe1413 100644 --- a/ocbpy/instruments/general.py +++ b/ocbpy/instruments/general.py @@ -1,6 +1,10 @@ #!/usr/bin/env python -# Copyright (C) 2017 AGB -# Full license can be found in LICENSE.txt +# -*- coding: utf-8 -*- +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # --------------------------------------------------------------------------- """General loading routines for data files.""" diff --git a/ocbpy/instruments/pysat_instruments.py b/ocbpy/instruments/pysat_instruments.py index aa2526f5..1c139f88 100644 --- a/ocbpy/instruments/pysat_instruments.py +++ b/ocbpy/instruments/pysat_instruments.py @@ -1,6 +1,10 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017 AGB -# Full license can be found in LICENSE.txt +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # --------------------------------------------------------------------------- """Perform OCB gridding for appropriate instrument data loaded in pysat. diff --git a/ocbpy/instruments/supermag.py b/ocbpy/instruments/supermag.py index 9f521487..19beee6d 100644 --- a/ocbpy/instruments/supermag.py +++ b/ocbpy/instruments/supermag.py @@ -1,6 +1,10 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017 AGB -# Full license can be found in LICENSE.txt +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # --------------------------------------------------------------------------- """Perform OCB gridding for SuperMAG data. diff --git a/ocbpy/instruments/vort.py b/ocbpy/instruments/vort.py index 1f60a506..70c392ec 100644 --- a/ocbpy/instruments/vort.py +++ b/ocbpy/instruments/vort.py @@ -1,6 +1,10 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017 AGB -# Full license can be found in LICENSE.txt +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # --------------------------------------------------------------------------- """Perform OCB gridding for SuperDARN vorticity data. diff --git a/ocbpy/ocb_correction.py b/ocbpy/ocb_correction.py index b73a0e6a..7877726d 100644 --- a/ocbpy/ocb_correction.py +++ b/ocbpy/ocb_correction.py @@ -1,16 +1,19 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- -""" Functions that specify the boundary location as a function of MLT +"""Functions that specify the boundary location as a function of MLT. References ---------- .. [4] Burrell, A. G. et al.: AMPERE Polar Cap Boundaries, Ann. Geophys., 38, 481-490, doi:10.5194/angeo-38-481-2020, 2020. -.. [6] Chisham, G. et al.: Ionospheric Boundaries Derived from Auroral Images, - in prep, 2022. +.. [6] Chisham, G. et al. (2022) Ionospheric Boundaries Derived from Auroral + Images. JGR Space Physics, 127, 7, e2022JA030622, doi:10.1029/2022JA030622. """ diff --git a/ocbpy/ocb_scaling.py b/ocbpy/ocb_scaling.py index ffca1e38..1db3a616 100644 --- a/ocbpy/ocb_scaling.py +++ b/ocbpy/ocb_scaling.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Scale data affected by magnetic field direction or electric field. diff --git a/ocbpy/ocb_time.py b/ocbpy/ocb_time.py index d004e74c..db915b27 100644 --- a/ocbpy/ocb_time.py +++ b/ocbpy/ocb_time.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Routines to convert from different file timekeeping methods to datetime.""" diff --git a/ocbpy/tests/__init__.py b/ocbpy/tests/__init__.py index a25dd91e..211e2c0e 100644 --- a/ocbpy/tests/__init__.py +++ b/ocbpy/tests/__init__.py @@ -1 +1,9 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# DOI: 10.5281/zenodo.1179230 +# Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. +# ---------------------------------------------------------------------------- """Initialisation file for unit and integration tests.""" diff --git a/ocbpy/tests/class_common.py b/ocbpy/tests/class_common.py index 1f165586..a6a0af41 100644 --- a/ocbpy/tests/class_common.py +++ b/ocbpy/tests/class_common.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Common test classes and variables.""" diff --git a/ocbpy/tests/test_boundary_dual.py b/ocbpy/tests/test_boundary_dual.py index 494e8575..9e888087 100644 --- a/ocbpy/tests/test_boundary_dual.py +++ b/ocbpy/tests/test_boundary_dual.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the boundary DualBoundary class.""" diff --git a/ocbpy/tests/test_boundary_eab.py b/ocbpy/tests/test_boundary_eab.py index bf314cab..40aa1eb6 100644 --- a/ocbpy/tests/test_boundary_eab.py +++ b/ocbpy/tests/test_boundary_eab.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the boundary EABoundary class.""" diff --git a/ocbpy/tests/test_boundary_ocb.py b/ocbpy/tests/test_boundary_ocb.py index 0c3897f7..b319c573 100644 --- a/ocbpy/tests/test_boundary_ocb.py +++ b/ocbpy/tests/test_boundary_ocb.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the boundary OCBoundary class.""" diff --git a/ocbpy/tests/test_cycle_boundary.py b/ocbpy/tests/test_cycle_boundary.py index da5593ae..e1c91894 100644 --- a/ocbpy/tests/test_cycle_boundary.py +++ b/ocbpy/tests/test_cycle_boundary.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Test the cycle_boundary sub-module functions.""" diff --git a/ocbpy/tests/test_dmsp_ssj_files.py b/ocbpy/tests/test_dmsp_ssj_files.py index ffd44205..0682332b 100644 --- a/ocbpy/tests/test_dmsp_ssj_files.py +++ b/ocbpy/tests/test_dmsp_ssj_files.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the boundaries.dmsp_ssj_files functions.""" diff --git a/ocbpy/tests/test_files.py b/ocbpy/tests/test_files.py index eed95b4a..25102636 100644 --- a/ocbpy/tests/test_files.py +++ b/ocbpy/tests/test_files.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2019, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the boundaries.files functions.""" diff --git a/ocbpy/tests/test_general.py b/ocbpy/tests/test_general.py index a71f1d2c..1f618d88 100644 --- a/ocbpy/tests/test_general.py +++ b/ocbpy/tests/test_general.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the general instrument sub-module.""" diff --git a/ocbpy/tests/test_ocb_correction.py b/ocbpy/tests/test_ocb_correction.py index 90c657db..5a975d09 100644 --- a/ocbpy/tests/test_ocb_correction.py +++ b/ocbpy/tests/test_ocb_correction.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the OCB correction functions.""" diff --git a/ocbpy/tests/test_ocb_scaling.py b/ocbpy/tests/test_ocb_scaling.py index f7bbb5a0..b89fbce9 100644 --- a/ocbpy/tests/test_ocb_scaling.py +++ b/ocbpy/tests/test_ocb_scaling.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the ocb_scaling class and functions.""" diff --git a/ocbpy/tests/test_ocb_time.py b/ocbpy/tests/test_ocb_time.py index 9fe42308..6d7b1566 100644 --- a/ocbpy/tests/test_ocb_time.py +++ b/ocbpy/tests/test_ocb_time.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the time functions.""" diff --git a/ocbpy/tests/test_pysat.py b/ocbpy/tests/test_pysat.py index b5e9e12e..660a85ee 100644 --- a/ocbpy/tests/test_pysat.py +++ b/ocbpy/tests/test_pysat.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the ocbpy.instruments.pysat functions.""" diff --git a/ocbpy/tests/test_supermag.py b/ocbpy/tests/test_supermag.py index d5e83c8f..8ec00715 100644 --- a/ocbpy/tests/test_supermag.py +++ b/ocbpy/tests/test_supermag.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the SuperMAG instrument functions.""" import datetime as dt diff --git a/ocbpy/tests/test_vectors.py b/ocbpy/tests/test_vectors.py index fff5c181..2052fc81 100644 --- a/ocbpy/tests/test_vectors.py +++ b/ocbpy/tests/test_vectors.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB & GC +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the functions for vector transformation.""" diff --git a/ocbpy/tests/test_vort.py b/ocbpy/tests/test_vort.py index 666084ef..6fe090d2 100644 --- a/ocbpy/tests/test_vort.py +++ b/ocbpy/tests/test_vort.py @@ -1,7 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2017, AGB +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ----------------------------------------------------------------------------- """Tests the vorticity instrument sub-module.""" diff --git a/ocbpy/vectors.py b/ocbpy/vectors.py index cd90e583..d176eb79 100644 --- a/ocbpy/vectors.py +++ b/ocbpy/vectors.py @@ -1,6 +1,10 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +# DOI: 10.5281/zenodo.1179230 # Full license can be found in License.md +# +# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is +# unlimited. # ---------------------------------------------------------------------------- """Functions for performing vector transformations.""" diff --git a/pyproject.toml b/pyproject.toml index 5cd7c632..495b7283 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,10 @@ [build-system] -requires = [ - "oldest-supported-numpy", - "setuptools", - "wheel", -] +requires = ["oldest-supported-numpy", "setuptools >= 38.6", "pip >= 10"] +build-backend = "setuptools.build_meta" [project] name = "ocbpy" - +version = "0.4.0" license = {file = "LICENSE"} description = 'Location relative to open/closed field line boundary' maintainers = [ @@ -18,7 +15,7 @@ dependencies = [ "aacgmv2", "numpy", ] -readme = "README.rst" +readme = "README.md" keywords = [ "coordinates", "field-line boundary", @@ -55,7 +52,6 @@ classifiers = [ 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', ] -dynamic = ['version'] [project.optional-dependencies] pysat_instruments = [ "pysat>=3.0.1" ] @@ -64,10 +60,11 @@ dmsp_ssj = [ "zenodo_get", ] doc = [ + "numpydoc", + "pyproject_parser", "pysat>=3.0.1", "sphinx>=1.3", "sphinx-rtd-theme", - "numpydoc", ] test = [ "coverage[toml]", diff --git a/setup.cfg b/setup.cfg index 7b5e2028..1ecaab27 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,5 @@ [metadata] name = ocbpy -version = 0.3.0 [flake8] max-line-length = 80