Skip to content

Commit

Permalink
Merge pull request #120 from pysat/rc_0_3_5
Browse files Browse the repository at this point in the history
RC 0.3.5
  • Loading branch information
jklenzing authored Jul 16, 2024
2 parents 2a4a154 + e26f47f commit 7eae852
Show file tree
Hide file tree
Showing 37 changed files with 338 additions and 84 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:

name: Documentation tests
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
25 changes: 18 additions & 7 deletions .github/workflows/external_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,20 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.10"]
python-version: ["3.12"]
rc-package: ["aacgmv2", "apexpy", "OMMBV"]

name: ${{ matrix.rc-package }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install standard dependencies
run: |
pip install -r requirements.txt
pip install -r test_requirements.txt
run: pip install .[test]

- name: Install RC dependency
run: pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ ${{ matrix.rc-package }}
Expand All @@ -42,4 +40,17 @@ jobs:
- name: Publish results to coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --rcfile=setup.cfg --service=github
COVERALLS_PARALLEL: true
run: coveralls --rcfile=pyproject.toml --service=github

finish:
name: Finish Coverage Analysis
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install --upgrade coveralls
coveralls --service=github --finish
43 changes: 34 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ jobs:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.10", "3.11"]
python-version: ["3.11", "3.12"]
numpy_ver: ["latest"]
include:
- python-version: "3.9"
numpy_ver: "1.21"
- python-version: "3.10"
numpy_ver: "1.23"
os: "ubuntu-latest"

name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -35,8 +35,9 @@ jobs:
- name: Install NEP29 dependencies
if: ${{ matrix.numpy_ver != 'latest'}}
run: |
pip install .[test]
pip install scipy==1.13.1
pip install numpy==${{ matrix.numpy_ver }}
pip install --upgrade-strategy only-if-needed .[test]
- name: Install standard dependencies
if: ${{ matrix.numpy_ver == 'latest'}}
Expand All @@ -47,9 +48,20 @@ jobs:
continue-on-error: true
run: pip install aacgmv2 --no-binary==aacgmv2

- name: Install apexpy
# Skip apexpy for nep29 tests
if: ${{ matrix.numpy_ver == 'latest'}}
- name: Install apexpy for MacOS X
# Only test apexpy for nep29 tests
if: ${{ matrix.numpy_ver != 'latest' && matrix.os == 'macos-latest' }}
# Optional package, continue with tests if install fails
continue-on-error: true
run: |
brew reinstall gcc
/opt/homebrew/bin/gfortran --version
/opt/homebrew/bin/gcc-14 --version
CC=/opt/homebrew/bin/gcc-14 FC=/opt/homebrew/bin/gfortran pip install apexpy --no-binary==apexpy
- name: Install apexpy for Unix/Windows
# Only test apexpy for nep29 tests
if: ${{ matrix.numpy_ver != 'latest' && matrix.os != 'macos-latest' }}
# Optional package, continue with tests if install fails
continue-on-error: true
run: pip install apexpy --no-binary==apexpy
Expand All @@ -76,4 +88,17 @@ jobs:
- name: Publish results to coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_PARALLEL: true
run: coveralls --rcfile=pyproject.toml --service=github

finish:
name: Finish Coverage Analysis
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install --upgrade coveralls
coveralls --service=github --finish
2 changes: 1 addition & 1 deletion .github/workflows/pip_rc_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.11"] # Keep this version at the highest supported Python version
python-version: ["3.12"] # Keep this version at the highest supported Python version

name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
Expand Down
36 changes: 28 additions & 8 deletions .github/workflows/pysat_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,32 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ["macos-latest", "ubuntu-latest", "windows-latest"]
python-version: ["3.10"]
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
python-version: ["3.11", "3.12"]
numpy_ver: ["latest"]
include:
- python-version: "3.10"
numpy_ver: "1.23"
os: "ubuntu-latest"

name: Python ${{ matrix.python-version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install NEP29 dependencies
if: ${{ matrix.numpy_ver != 'latest'}}
run: pip install numpy==${{ matrix.numpy_ver }}

- name: Install pysat RC
run: pip install --no-deps --pre -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pysat

- name: Install standard dependencies
run: |
pip install -r requirements.txt
pip install -r test_requirements.txt
run: pip install --upgrade-strategy only-if-needed .[test]

- name: Set up pysat
run: |
Expand All @@ -41,4 +48,17 @@ jobs:
- name: Publish results to coveralls
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --rcfile=setup.cfg --service=github
COVERALLS_PARALLEL: true
run: coveralls --rcfile=pyproject.toml --service=github

finish:
name: Finish Coverage Analysis
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install --upgrade coveralls
coveralls --service=github --finish
25 changes: 25 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required version of readthedocs
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py


# Declare the Python requirements required to build your docs
python:
install:
- method: pip
path: .
extra_requirements:
- doc
2 changes: 1 addition & 1 deletion .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"orcid": "0000-0001-8321-6074"
},
{
"affiliation": "Stoneris",
"affiliation": "Cosmic Studio",
"name": "Stoneback, Russell",
"orcid": "0000-0001-7216-4336"
},
Expand Down
29 changes: 29 additions & 0 deletions ACKNOWLEDGEMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Funding
=======
The following institutions, missions, and programs have provided funding
for pysatMissions development.

Institutions
------------
- The Catholic University of America (CUA)
- Cosmic Studio
- National Aeronautics and Space Administration (NASA)
- National Science Foundation (NSF)
- Office of Naval Research (ONR)
- Universities Space Research Association
- The University of Texas at Dallas

Programs
--------
- NSF 125908, AGS-1651393
- Naval Research Laboratory N00173191G016 and N0017322P0744
- The Space Precipitation Impacts (SPI) project at Goddard Space Flight Center
through the Heliophysics Internal Science Funding Model

Disclaimers
===========
Any opinions or actions taken by the listed funding institutions are those of
the institutions and do not necessarily reflect the views of the pysatMissions
development team or individual authors. Any opinions, findings, and conclusions
or recommendations expressed in this material are those of the author(s) and do
not necessarily reflect the views of the funding agencies.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).

## [0.3.5] - 2024-07-16
* Maintenance
* Update workflows coveralls usage
* Update NEP29
* Update headers and add acknowledgements
* Update GitHub Actions workflows for NEP29 (Apr 2024)

## [0.3.4] - 2023-06-22
* Add support for skyfield propagation
* Maintenance
Expand Down
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,19 @@
[![Coverage Status](https://coveralls.io/repos/github/pysat/pysatMissions/badge.svg?branch=main)](https://coveralls.io/github/pysat/pysatMissions?branch=main)
[![Maintainability](https://api.codeclimate.com/v1/badges/83011911691b9d2076e9/maintainability)](https://codeclimate.com/github/pysat/pysatMissions/maintainability)

pysatMissions allows users to run build simulated satellites for Two-Line Elements (TLE) and add empirical data. It includes the missions_ephem and mission_sgp4 instrument modules which can be imported into pysat.
pysatMissions allows users to run build simulated satellites for Two-Line
Elements (TLE) and add empirical data. It includes the missions_ephem and
mission_sgp4 instrument modules which can be imported into pysat.

Main Features
-------------
- Simulate satellite orbits from TLEs and add data from empirical models
- Import magnetic coordinates through apexpy and aacgmv2 (optional install)
- Import magnetic coordinates through apexpy and aacgmv2 (optional dependencies)

Documentation
---------------------
[Full Documentation for main package](https://pysat.readthedocs.io/en/latest/)
[Full Documentation](https://pysatmissions.readthedocs.io/en/latest/)
[pysat Documentation](https://pysat.readthedocs.io/en/latest/)


# Installation
Expand Down Expand Up @@ -76,7 +79,9 @@ from pysatMissions.instruments import missions_sgp4
sim_inst = pysat.Instrument(inst_module=missions_sgp4)
```
Another way to use the instruments in an external repository is to register the instruments. This only needs to be done the first time you load an instrument. Afterward, pysat will identify them using the `platform` and `name` keywords.
Another way to use the instruments in an external repository is to register the
instruments. This only needs to be done the first time you load an instrument.
Afterward, pysat will identify them using the `platform` and `name` keywords.

```
import pysat
Expand All @@ -96,7 +101,7 @@ additional configuration. Both can be installed from pip, but may require the
The instrument `missions_ephem` has been deprecated since pyEphem is no longer
maintained. This will be removed in v0.4.0. Note that OMMBV is required for
this instrument to function correctly, but is not required for the core
pysatMissions package. This has also been made optional to improve installation.
Please use the `missions_sgp4` instrument for future needs.
pysatMissions package. This has also been made optional to improve
installation. Please use the `missions_sgp4` instrument for future needs.

The orbital trajectories can be calculated without any of the optional modules.
1 change: 1 addition & 0 deletions docs/acknowledgements.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.. mdinclude:: ../ACKNOWLEDGEMENTS.md
16 changes: 15 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ routines to generate simualted instruments using Two-Line Elements (TLEs),
as well as apply geomagnetic field models to existing pysat instruments.

.. toctree::
:maxdepth: -1
:maxdepth: 2

introduction.rst
installation.rst
Expand All @@ -19,3 +19,17 @@ as well as apply geomagnetic field models to existing pysat instruments.
references.rst
develop_guide.rst
history.rst
acknowledgements.rst


.. admonition:: DISTRIBUTION STATEMENT A: Approved for public release.
Distribution is unlimited.



Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
2 changes: 1 addition & 1 deletion docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ and for the Space Physics community. This module officially supports
Python 3.8+ and pysat 3.0.4+.

================ =================== ==================
Common modules Community modules Optional Modules
Common modules Community modules Optional Modules
================ =================== ==================
numpy pysat>=3.0.4 aacgmv2
pandas pyEphem apexpy
Expand Down
4 changes: 2 additions & 2 deletions docs/references.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@ calculating magnetic apex coordinates.
Science Reviews, 206, 27–59

OMMBV
------------
-----

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1299374.svg
:target: https://doi.org/10.5281/zenodo.1299374

`OMMBV <https://github.com/rstoneback/OMMBV>`_ calculates
Orthogonal Multipole Magnetic Basis Vectors for the earth's magnetic field.
Orthogonal Multipole Magnetic Basis Vectors for the Earth's magnetic field.
Binary file removed poweredbypysat.png
Binary file not shown.
Loading

0 comments on commit 7eae852

Please sign in to comment.