diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aeccb359..45e17fae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,12 +11,12 @@ 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"] test_config: ["latest"] include: - - python-version: "3.9" - numpy_ver: "1.21" + - python-version: "3.10" + numpy_ver: "1.24" os: ubuntu-latest test_config: "NEP29" - python-version: "3.6.8" @@ -40,10 +40,17 @@ jobs: - name: Install Operational dependencies if: ${{ matrix.test_config == 'Ops'}} run: | + sudo apt-get install libhdf5-serial-dev netcdf-bin libnetcdf-dev pip install --no-cache-dir numpy==${{ matrix.numpy_ver }} pip install "cdflib<1.0" pip install -r requirements.txt pip install -r test_requirements.txt + cd .. + git clone https://github.com/pysat/pysat.git + cd pysat + git checkout pip_rc_install + python setup.py develop + cd ../pysatNASA pip install . - name: Install NEP29 dependencies @@ -71,20 +78,46 @@ jobs: - name: Test with pytest run: pytest - - name: Publish results to coveralls + - name: Coveralls Parallel (Ubuntu) + if: startsWith(matrix.os, 'ubuntu') env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --rcfile=pyproject.toml --service=github + run: | + curl -sL https://coveralls.io/coveralls-linux.tar.gz | tar -xz + ./coveralls report --parallel --repo-token=${{ secrets.COVERALLS_REPO_TOKEN }} --build-number ${{ github.run_number }} + + - name: Coveralls Parallel (Windows) + if: startsWith(matrix.os, 'windows') + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + COVERALLS_PARALLEL: true + run: | + curl -L https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-windows.exe -o coveralls.exe + ./coveralls.exe report --parallel --repo-token=${{ secrets.COVERALLS_REPO_TOKEN }} --build-number ${{ github.run_number }} + + - name: Coveralls Parallel (MacOS) + if: startsWith(matrix.os, 'macos') + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + COVERALLS_PARALLEL: true + run: | + brew tap coverallsapp/coveralls --quiet + brew install coveralls --quiet + ls -lh .coverage + ls -lh coverage.xml + coveralls report coverage.xml --format=cobertura --verbose --parallel --repo-token=${{ secrets.COVERALLS_REPO_TOKEN }} --build-number ${{ github.run_number }} --debug --dry-run finish: name: Finish Coverage Analysis needs: build - runs-on: ubuntu-latest + if: always() + runs-on: "ubuntu-latest" steps: - - name: Coveralls Finished - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - pip install --upgrade coveralls - coveralls --service=github --finish + - name: Coveralls Finish + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + COVERALLS_PARALLEL: true + run: | + curl -sL https://coveralls.io/coveralls-linux.tar.gz | tar -xz + ./coveralls done --build-number ${{ github.run_number }} diff --git a/.zenodo.json b/.zenodo.json index 6d54b11f..433d6dbf 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -1,4 +1,17 @@ { + "keywords": [ + "pysat", + "ionosphere", + "atmosphere", + "thermosphere", + "magnetosphere", + "heliosphere", + "observations", + "models", + "space", + "satellites", + "analysis" + ], "creators": [ { "affiliation": "Goddard Space Flight Center", @@ -6,7 +19,7 @@ "orcid": "0000-0001-8321-6074" }, { - "affiliation": "The University of Texas at Dallas", + "affiliation": "Cosmic Studio", "name": "Stoneback, Russell", "orcid": "0000-0001-7216-4336" }, @@ -25,6 +38,11 @@ "name": "Navarro, Luis", "orcid": "0000-0002-6362-6575" }, + { + "affiliation": "NASA Postdoctoral Program, Goddard Space Flight Center", + "name": "Esman, Teresa", + "orcid": "0000-0003-0382-6281" + }, { "affiliation": "Predictive Science", "name": "Pembroke, Asher" @@ -32,11 +50,6 @@ { "name": "Spence, Carey", "orcid": "0000-0001-8340-5625" - }, - { - "affiliation": "NASA Postdoctoral Program, Goddard Space Flight Center", - "name": "Esman, Teresa", - "orcid": "0000-0003-0382-6281" } ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d7abf91..116b2df7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). * Documentation * Added example of how to export data for archival * Updated documentation refs + * Add keywords to zenodo * Deprecations * Deprecated '' tag for de2_vefi module, support moved to de2_vefimagb * Maintenance @@ -35,6 +36,7 @@ This project adheres to [Semantic Versioning](https://semver.org/). * Use standard clean routine for C/NOFS VEFI mag data * Added version cap for sphinx_rtd_theme * Include standard tests for ICON IVM-B + * Update NEP29 standards for Jun 2024 ## [0.0.5] - 2023-06-27 * New Instruments diff --git a/pyproject.toml b/pyproject.toml index 2befd374..686c8ac5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,9 +22,9 @@ classifiers = [ "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", - "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" @@ -78,7 +78,7 @@ Source = "https://github.com/pysat/pysatNASA" omit = ["*/instruments/templates/"] [tool.pytest.ini_options] -addopts = "--cov=pysatNASA" +addopts = "--cov=pysatNASA --cov-report xml" markers = [ "all_inst", "download", diff --git a/pysatNASA/instruments/dmsp_ssusi.py b/pysatNASA/instruments/dmsp_ssusi.py index eff48b20..9729488e 100644 --- a/pysatNASA/instruments/dmsp_ssusi.py +++ b/pysatNASA/instruments/dmsp_ssusi.py @@ -92,10 +92,11 @@ _test_dates = {inst_id: {tag: dt.datetime(2015, 1, 1) for tag in tags.keys()} for inst_id in inst_ids.keys()} -_clean_warn = {inst_id: {tag: mm_nasa.clean_warnings - for tag in inst_ids[inst_id] - if tag not in ['sdr-disk', 'sdr2-disk']} - for inst_id in inst_ids.keys()} +# TODO(pysat#1196): Un-comment when pysat bug is fixed and released +# _clean_warn = {inst_id: {tag: mm_nasa.clean_warnings +# for tag in inst_ids[inst_id] +# if tag not in ['sdr-disk', 'sdr2-disk']} +# for inst_id in inst_ids.keys()} # ---------------------------------------------------------------------------- # Instrument methods @@ -103,6 +104,9 @@ # Use standard init routine init = functools.partial(mm_nasa.init, module=mm_dmsp, name=name) +# TODO(#218, #222): Remove when compliant with multi-day load tests +_new_tests = {inst_id: {tag: False for tag in tags.keys()} + for inst_id in inst_ids.keys()} def clean(self): diff --git a/pysatNASA/instruments/icon_fuv.py b/pysatNASA/instruments/icon_fuv.py index f083c344..79f3e6c0 100644 --- a/pysatNASA/instruments/icon_fuv.py +++ b/pysatNASA/instruments/icon_fuv.py @@ -75,9 +75,9 @@ _test_dates = {'': {kk: dt.datetime(2020, 1, 1) for kk in tags.keys()}} _test_load_opt = {'': {kk: {'keep_original_names': True} for kk in tags.keys()}} -_clean_warn = {inst_id: {tag: mm_icon.fuv_clean_warnings - for tag in inst_ids[inst_id]} - for inst_id in inst_ids.keys()} +# TODO(#218, #222): Remove when compliant with multi-day load tests +_new_tests = {inst_id: {tag: False for tag in tags.keys()} + for inst_id in inst_ids.keys()} # ---------------------------------------------------------------------------- # Instrument methods diff --git a/pysatNASA/instruments/maven_sep.py b/pysatNASA/instruments/maven_sep.py index bc2e94b6..9a16945b 100644 --- a/pysatNASA/instruments/maven_sep.py +++ b/pysatNASA/instruments/maven_sep.py @@ -59,6 +59,9 @@ # Instrument test attributes _test_dates = {id: {'': dt.datetime(2020, 1, 1)} for id in inst_ids.keys()} +# TODO(#218, #222): Remove when compliant with multi-day load tests +_new_tests = {inst_id: {tag: False for tag in tags.keys()} + for inst_id in inst_ids.keys()} # ---------------------------------------------------------------------------- # Instrument methods diff --git a/pysatNASA/instruments/timed_guvi.py b/pysatNASA/instruments/timed_guvi.py index f153b93c..b7b5fc6f 100644 --- a/pysatNASA/instruments/timed_guvi.py +++ b/pysatNASA/instruments/timed_guvi.py @@ -105,9 +105,10 @@ for iid in ['high_res', 'low_res']} # TODO(#218): Remove when compliant with multi-day load tests _new_tests = {'high_res': {tag: False for tag in inst_ids['high_res']}} -_clean_warn = {inst_id: {tag: mm_nasa.clean_warnings - for tag in inst_ids[inst_id] if tag != 'sdr-imaging'} - for inst_id in inst_ids.keys()} +# TODO(pysat#1196): Un-comment when pysat bug is fixed and released +# _clean_warn = {inst_id: {tag: mm_nasa.clean_warnings +# for tag in inst_ids[inst_id] if tag != 'sdr-imaging'} +# for inst_id in inst_ids.keys()} # ---------------------------------------------------------------------------- # Instrument methods