Skip to content

Commit

Permalink
Merge 7070735 into 2a4a154
Browse files Browse the repository at this point in the history
  • Loading branch information
jklenzing committed May 1, 2024
2 parents 2a4a154 + 7070735 commit c2f6c29
Show file tree
Hide file tree
Showing 36 changed files with 321 additions and 79 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
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
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
23 changes: 18 additions & 5 deletions .github/workflows/main.yml
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 Down Expand Up @@ -76,4 +76,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
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
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
@@ -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
29 changes: 29 additions & 0 deletions ACKNOWLEDGEMENTS.md
@@ -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
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-05-10
* 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
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
@@ -0,0 +1 @@
.. mdinclude:: ../ACKNOWLEDGEMENTS.md
16 changes: 15 additions & 1 deletion docs/index.rst
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
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
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.
8 changes: 4 additions & 4 deletions pyproject.toml
Expand Up @@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"

[project]
name = "pysatMissions"
version = "0.3.4"
version = "0.3.5"
description = "Mission Planning toolkit for pysat"
readme = "README.md"
requires-python = ">=3.9"
requires-python = ">=3.10"
license = {file = "LICENSE"}
authors = [
{name = "Jeff Klenzing", email = "pysat.developers@gmail.com"}
Expand All @@ -21,9 +21,9 @@ classifiers = [
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows"
Expand Down Expand Up @@ -67,7 +67,7 @@ doc = [
"numpydoc",
"pyproject_parser",
"sphinx",
"sphinx_rtd_theme"
"sphinx_rtd_theme<2.0.0"
]

[project.urls]
Expand Down
6 changes: 6 additions & 0 deletions pysatMissions/__init__.py
@@ -1,3 +1,9 @@
# Full author list can be found in .zenodo.json file
# DOI:10.5281/zenodo.3475498
#
# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is
# unlimited.
# ----------------------------------------------------------------------------
"""Core library for pysatMissions.
pysatMissions allows users to run build simulated satellites for Two-Line
Expand Down
6 changes: 6 additions & 0 deletions pysatMissions/instruments/__init__.py
@@ -1,3 +1,9 @@
# Full author list can be found in .zenodo.json file
# DOI:10.5281/zenodo.3475498
#
# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is
# unlimited.
# ----------------------------------------------------------------------------
"""Provides the instrument modules to be used with pysat."""

from pysatMissions.instruments import methods # noqa: F401
Expand Down
6 changes: 6 additions & 0 deletions pysatMissions/instruments/_core.py
@@ -1,3 +1,9 @@
# Full author list can be found in .zenodo.json file
# DOI:10.5281/zenodo.3475498
#
# DISTRIBUTION STATEMENT A: Approved for public release. Distribution is
# unlimited.
# ----------------------------------------------------------------------------
"""Handles the default pysat functions for simulated instruments."""


Expand Down

0 comments on commit c2f6c29

Please sign in to comment.