From ad02496aac1ae782398ab2549b59f6d2123a3ec7 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 13:57:01 -0400 Subject: [PATCH 01/16] DOC: added acknowledgements Added an acknowledgements section to Authors. --- AUTHORS.rst | 6 ++++++ 1 file changed, 6 insertions(+) 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) + From 4d0f1451100df41d4b9d90a4b513ff3e3b284c86 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 13:57:37 -0400 Subject: [PATCH 02/16] DOC: updated main headers Updated the headers in the main directory code. --- ocbpy/__init__.py | 5 ++++- ocbpy/_boundary.py | 4 ++++ ocbpy/cycle_boundary.py | 4 ++++ ocbpy/ocb_correction.py | 11 +++++++---- ocbpy/ocb_scaling.py | 5 ++++- ocbpy/ocb_time.py | 5 ++++- ocbpy/vectors.py | 4 ++++ 7 files changed, 31 insertions(+), 7 deletions(-) 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..f53e4399 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. 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/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/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.""" From 302da24ae30e8e8ba83532d15b2ead7a2e03cedc Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 13:58:23 -0400 Subject: [PATCH 03/16] DOC: update test headers Update the headers in the test code. --- ocbpy/tests/__init__.py | 8 ++++++++ ocbpy/tests/class_common.py | 5 ++++- ocbpy/tests/test_boundary_dual.py | 5 ++++- ocbpy/tests/test_boundary_eab.py | 5 ++++- ocbpy/tests/test_boundary_ocb.py | 5 ++++- ocbpy/tests/test_cycle_boundary.py | 5 ++++- ocbpy/tests/test_dmsp_ssj_files.py | 5 ++++- ocbpy/tests/test_files.py | 5 ++++- ocbpy/tests/test_general.py | 5 ++++- ocbpy/tests/test_ocb_correction.py | 5 ++++- ocbpy/tests/test_ocb_scaling.py | 5 ++++- ocbpy/tests/test_ocb_time.py | 5 ++++- ocbpy/tests/test_pysat.py | 5 ++++- ocbpy/tests/test_supermag.py | 5 ++++- ocbpy/tests/test_vectors.py | 5 ++++- ocbpy/tests/test_vort.py | 5 ++++- 16 files changed, 68 insertions(+), 15 deletions(-) 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.""" From d1d1fc5d437f215ca5b40f9d9245c1acd2e101ea Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 13:58:48 -0400 Subject: [PATCH 04/16] DOC: update instrument headers Update the headers for the Instrument support code. --- ocbpy/instruments/__init__.py | 6 +++++- ocbpy/instruments/general.py | 8 ++++++-- ocbpy/instruments/pysat_instruments.py | 8 ++++++-- ocbpy/instruments/supermag.py | 8 ++++++-- ocbpy/instruments/vort.py | 8 ++++++-- 5 files changed, 29 insertions(+), 9 deletions(-) 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. From a8f75b536e7442a43104e8d02dae646aa329e05d Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 13:59:07 -0400 Subject: [PATCH 05/16] DOC: update boundary headers Update the headers in the boundary code and README. --- ocbpy/boundaries/README.md | 6 ++++++ ocbpy/boundaries/__init__.py | 6 +++++- ocbpy/boundaries/dmsp_ssj_files.py | 5 ++++- ocbpy/boundaries/files.py | 5 ++++- 4 files changed, 19 insertions(+), 3 deletions(-) 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..a8db61dc 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. 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.""" From 3ffbe49b722a70dfb8c9dd11c67b8bc3024c36b6 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:37:52 -0400 Subject: [PATCH 06/16] DOC: update test instructions Update the old test instructions for developers. --- CONTRIBUTING.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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 From 8f402ba4208ff9d815bec7f5d9b336dc3f6d2d4f Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:38:22 -0400 Subject: [PATCH 07/16] DOC: update SSJ citations Update the SSJ citations in the docs and the docstrings. --- docs/citing.rst | 5 +++++ ocbpy/boundaries/dmsp_ssj_files.py | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) 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/ocbpy/boundaries/dmsp_ssj_files.py b/ocbpy/boundaries/dmsp_ssj_files.py index a8db61dc..0811b058 100644 --- a/ocbpy/boundaries/dmsp_ssj_files.py +++ b/ocbpy/boundaries/dmsp_ssj_files.py @@ -18,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 @@ -282,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) @@ -495,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. From 65918283356e38eb27d6c3cb1638fd83b3ca9c09 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:39:02 -0400 Subject: [PATCH 08/16] MAINT: update version Update the version to reduce the number of places it needs to be updated. Cycled in preparation for the upcoming release. --- pyproject.toml | 12 ++++-------- setup.cfg | 1 - 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5cd7c632..6bd56585 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" ] 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 From 04d15b981858018a02e308e8f980e3adce5b2230 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:39:24 -0400 Subject: [PATCH 09/16] DOC: updated readme links Updated the README links and installation instructions. --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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, From 288d1fb4470f5ab4d37b1db60307a05ea03652f9 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:39:46 -0400 Subject: [PATCH 10/16] DOC: fixed docstring formatting Removed an errant space from the docstring formatting. --- ocbpy/_boundary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocbpy/_boundary.py b/ocbpy/_boundary.py index f53e4399..0eafee2f 100644 --- a/ocbpy/_boundary.py +++ b/ocbpy/_boundary.py @@ -475,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`) """ From 4de065c14341c2aebbebb0a9228ce8e51d1f84e3 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:40:09 -0400 Subject: [PATCH 11/16] STY: removed extra whitespace Removed an extra blank line. --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) 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 ================== From 97af39952b8c2fa9bf7a51a83d0f962d2ff8a3fb Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:40:36 -0400 Subject: [PATCH 12/16] DOC: fixed variable name Change name from "var" to "attr". --- docs/examples/ex_pysat_eab.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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. :: From 8cb6b964b776920bb5a9cdf2b4ab93855dc45f32 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:40:58 -0400 Subject: [PATCH 13/16] DOC: added missing docstrings Added the missing vector docstrings to the docs. --- docs/ocb_gridding.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) 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: + From fb7cef267546c1c03a092a1045a3642f6a03c859 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:43:10 -0400 Subject: [PATCH 14/16] BUG: updated doc configuration Updated the doc configuration file by: - updating description, - getting version from pyproject.toml, and - updating intersphinx mapping. --- docs/conf.py | 10 ++++++---- pyproject.toml | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) 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/pyproject.toml b/pyproject.toml index 6bd56585..495b7283 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,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]", From 42d2d7eef6466fa631b39081ea0d8419e743ff88 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Wed, 8 May 2024 15:43:56 -0400 Subject: [PATCH 15/16] DOC: fixed changelog line Fixed a changelog line that was displaying incorrectly in the docs. --- Changelog.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 From 8cee8223d6403684ba0743fb410782b41f901431 Mon Sep 17 00:00:00 2001 From: Angeline Burrell Date: Fri, 31 May 2024 11:12:36 -0400 Subject: [PATCH 16/16] TST: `ssj_auroral_boundaries` failing everywhere Remove tests for `ssj_auroral_boundaries`. --- .github/workflows/main.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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 }}