From 70a7682dfb7a2a06f732556e069e4980ac796499 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 16:52:59 -0600 Subject: [PATCH 001/223] BUG: Update numpy version for compatibility --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b7db83170..44690ae8b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: numpy_ver: [latest] include: - python-version: "3.8" - numpy_ver: "1.19" + numpy_ver: "1.20" os: "ubuntu-latest" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} From c458e8cb703c9a6d452962cfb0667ed230a70705 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 16:54:22 -0600 Subject: [PATCH 002/223] TST: Added additional python version for testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 44690ae8b..0a198a236 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.9", "3.10"] + python-version: ["3.9", "3.10", "3.11"] numpy_ver: [latest] include: - python-version: "3.8" From 64a3d0fc5b57af8965a86833bc3b8ad2180b444d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 17:00:10 -0600 Subject: [PATCH 003/223] TST: Updated readthedocs version per dependabot --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 3122d86e1..59c6e1720 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,7 +4,7 @@ numpydoc ipython pandas pysat -readthedocs-sphinx-search==0.1.1 +readthedocs-sphinx-search==0.3.2 scipy sphinx_rtd_theme==1.0.0 sphinx==4.2.0 From 40ed944c5dbaf7f0b93ac90690fa6f98b7cd9eac Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 17:00:36 -0600 Subject: [PATCH 004/223] TST: Update numpy to required version for python 3.8, numpy 1.20.3 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0a198a236..32e6d0ffb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,7 @@ jobs: numpy_ver: [latest] include: - python-version: "3.8" - numpy_ver: "1.20" + numpy_ver: "1.20.3" os: "ubuntu-latest" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} From c0f26ca1b92f8a6d0c9a05bade038e4639c0df6d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 17:49:14 -0600 Subject: [PATCH 005/223] TST: Removed python 3.8 testing --- .github/workflows/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 32e6d0ffb..7c469694a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,10 +15,6 @@ jobs: os: [ubuntu-latest] python-version: ["3.9", "3.10", "3.11"] numpy_ver: [latest] - include: - - python-version: "3.8" - numpy_ver: "1.20.3" - os: "ubuntu-latest" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} runs-on: ${{ matrix.os }} From 817b6bf5dc55cc373e69cdf610325bc8fa185635 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 19:52:37 -0600 Subject: [PATCH 006/223] TST: Copy settings from pysat --- .github/workflows/main.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7c469694a..28558296a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,4 +57,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 From 82cce1df9793fb4a55e1ddaa0af47d65d61ad60a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 20:10:46 -0600 Subject: [PATCH 007/223] TST: Restore link to setup.cfg --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28558296a..23964bc5c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --rcfile=pyproject.toml --service=github + run: coveralls --rcfile=setup.cfg --service=github finish: name: Finish Coverage Analysis From dc0b84eb21d834446222f509dd38b2348b61ead5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 20:25:03 -0600 Subject: [PATCH 008/223] STY: Updated changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b204dd839..4606b7982 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +##[1.0.2] - ????? +- Updated coupling to coveralls +- Updated package version for security issue in sphinx + ## [1.0.1] - 2022-01-04 - Added pyproject.toml to support systems without numpy. - Modified manifest.ini to include version.txt From ef3da609ccfdce421048f9f7df783de3644019b2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 22 Jan 2024 20:25:21 -0600 Subject: [PATCH 009/223] STY: typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4606b7982..1d333bae4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -##[1.0.2] - ????? +## [1.0.2] - ????? - Updated coupling to coveralls - Updated package version for security issue in sphinx From b723d8f6f6d12e205df03d7ffd545958c4a76bab Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 14:36:23 -0600 Subject: [PATCH 010/223] DOC: Update URL and author email --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index b1a7bc206..ff4263866 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,9 +1,9 @@ [metadata] name = OMMBV version = file: OMMBV/version.txt -url = https://github.com/rstoneback/OMMBV +url = https://github.com/CosmicStudioSoftware/OMMBV/ author = Russell A. Stoneback -author_email = github@stoneris.com +author_email = github@cosmicstudio.io description = 'Orthogonal geomagnetic vector basis and field-line mapping for multipole magnetic fields.' long_description = file: README.md, CHANGELOG.md long_description_content_type = text/markdown From b4f184823b86430f7277b1510c659cd76b0f20f3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 14:46:41 -0600 Subject: [PATCH 011/223] DOC: Updating pyproject.toml for lateset, including meson --- pyproject.toml | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 83de03ad5..052f39653 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,2 +1,49 @@ [build-system] -requires = ["setuptools", "wheel", "Cython", "numpy"] +build-backend = 'mesonpy' +requires = [ + "wheel", + "meson-python>=0.12.0", + "setuptools<60.0", # Do not increase, 60.0 enables vendored distutils + "Cython>=0.29.21", + "ninja", + "numpy" +] + +[project] +name = "OMMBV" +version = "1.0.2" +license = {file = "LICENSE"} +description = "Orthogonal geomagnetic vector basis and field-line mapping for multipole magnetic fields." +maintainers = [ + {"Russell Stoneback", email = "contact@cosmicstudio.io"} +] +requires-python = ">=3.9" +dependencies = [ + "numpy", + "pysat", + "scipy" +] +readme = "README.rst" +keywords = [ + "Development Status :: 5 - Production/Stable", + "Topic :: Scientific/Engineering :: Physics", + "Intended Audience :: Science/Research", + "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 :: POSIX", + "Operating System :: MacOS" +] +classifiers = [ + +] + +url = https://github.com/CosmicStudioSoftware/OMMBV/ +author = Russell A. Stoneback +author_email = github@cosmicstudio.io + From d09734396966bb45b85f906d7ca0a9ead4e73d1a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 17:27:21 -0600 Subject: [PATCH 012/223] TST: Update tested python versions --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 23964bc5c..e8f5713f0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.9", "3.10", "3.11"] + python-version: ["3.9", "3.11", "3.12"] numpy_ver: [latest] name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} @@ -49,7 +49,7 @@ jobs: - name: Run OMMBV setup.py run: | - python setup.py develop + pip install -e . - name: Run unit and integration tests run: pytest --cov=OMMBV/ From 4034a25f69a692db3f7e18f74227acd6ef6bac80 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 17:27:47 -0600 Subject: [PATCH 013/223] TST: Added initial meson build file --- meson.build | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 000000000..63671782e --- /dev/null +++ b/meson.build @@ -0,0 +1,60 @@ +project('OMMBV', 'c', + version : '1.0.2', + license: 'BSD-3', + meson_version: '>=0.64.0', + default_options : [ + 'warning_level=2', + 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument', + 'fortran_std=legacy'], +) + +add_languages('fortran', native: false) + +py_mod = import('python') +py = py_mod.find_installation(pure: false) +py_dep = py.dependency() + +incdir_numpy = run_command(py, + ['-c', 'import os; os.chdir(".."); import numpy; print(numpy.get_include())'], + check : true +).stdout().strip() + +incdir_f2py = run_command(py, + ['-c', 'import os; os.chdir(".."); import numpy.f2py; print(numpy.f2py.get_include())'], + check : true +).stdout().strip() + +inc_np = include_directories(incdir_numpy, incdir_f2py) + +py.extension_module('OMMBV.igrf', + [ + 'OMMBV/igrf13.f' + ], + incdir_f2py / 'fortranobject.c', + f_args : f_flags, + include_directories: inc_np, + dependencies : py_dep, + install : true +) + +py.extension_module('OMMBV.sources', + [ + 'OMMBV/sources.f', + 'OMMBV/igrf13.f' + ], + incdir_f2py / 'fortranobject.c', + f_args : f_flags, + include_directories: inc_np, + dependencies : py_dep, + install : true +) + +py.extension_module('OMMBV.fortran_coords', + [ + 'OMMBV/_coords.f' + ], + incdir_f2py / 'fortranobject.c', + include_directories: inc_np, + dependencies : py_dep, + install : true +) From cb6385aaa69b2196f23e589ad7dbaeb1b3959979 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 17:28:29 -0600 Subject: [PATCH 014/223] STY: Initial changes to pyproject.toml --- pyproject.toml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 052f39653..fc711f867 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ version = "1.0.2" license = {file = "LICENSE"} description = "Orthogonal geomagnetic vector basis and field-line mapping for multipole magnetic fields." maintainers = [ - {"Russell Stoneback", email = "contact@cosmicstudio.io"} + {name = "Russell Stoneback", email = "contact@cosmicstudio.io"} ] requires-python = ">=3.9" dependencies = [ @@ -39,11 +39,9 @@ keywords = [ "Operating System :: POSIX", "Operating System :: MacOS" ] -classifiers = [ +classifiers = [ " " ] -url = https://github.com/CosmicStudioSoftware/OMMBV/ -author = Russell A. Stoneback -author_email = github@cosmicstudio.io + From 2b16500efb2f1f64835f4099eefd0f6358b90119 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 17:32:31 -0600 Subject: [PATCH 015/223] BUG: Corrected extra arguments --- meson.build | 2 -- 1 file changed, 2 deletions(-) diff --git a/meson.build b/meson.build index 63671782e..92ab4f028 100644 --- a/meson.build +++ b/meson.build @@ -31,7 +31,6 @@ py.extension_module('OMMBV.igrf', 'OMMBV/igrf13.f' ], incdir_f2py / 'fortranobject.c', - f_args : f_flags, include_directories: inc_np, dependencies : py_dep, install : true @@ -43,7 +42,6 @@ py.extension_module('OMMBV.sources', 'OMMBV/igrf13.f' ], incdir_f2py / 'fortranobject.c', - f_args : f_flags, include_directories: inc_np, dependencies : py_dep, install : true From 017bfd21b674f5dbabbfc50e124753c91375d9ca Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 13 Jan 2025 20:45:37 -0600 Subject: [PATCH 016/223] BUG: Corrected readme file name --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index fc711f867..1ed71251b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ dependencies = [ "pysat", "scipy" ] -readme = "README.rst" +readme = "README.md" keywords = [ "Development Status :: 5 - Production/Stable", "Topic :: Scientific/Engineering :: Physics", From e4de5bc53d34bf45574341a527576e18e0de638a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 13:29:29 -0600 Subject: [PATCH 017/223] BUG: Remove warning for comparing reals --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 92ab4f028..bf1561e5a 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('OMMBV', 'c', meson_version: '>=0.64.0', default_options : [ 'warning_level=2', - 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument', + 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument -Wno-compare-reals', 'fortran_std=legacy'], ) From 6395387b84af4bc19b0682bd608a5b133233206e Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 13:35:48 -0600 Subject: [PATCH 018/223] BUG: Remove unnecessary markers from setup --- setup.cfg | 6 ------ 1 file changed, 6 deletions(-) diff --git a/setup.cfg b/setup.cfg index ff4263866..6665a2b9b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -63,9 +63,3 @@ exclude = conf.py [tool:pytest] markers = - all_inst: tests all instruments - download: tests for downloadable instruments - no_download: tests for instruments without download support - load_options: tests for instruments including optional load kwargs - first: first tests to run - second: second tests to run From 7ae6ecf410d82267cbf70ed982383283b0fdef58 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 13:36:13 -0600 Subject: [PATCH 019/223] BUG: Update fortran subpackage names for meson differences --- meson.build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index bf1561e5a..849b123e8 100644 --- a/meson.build +++ b/meson.build @@ -26,7 +26,7 @@ incdir_f2py = run_command(py, inc_np = include_directories(incdir_numpy, incdir_f2py) -py.extension_module('OMMBV.igrf', +py.extension_module('igrf', [ 'OMMBV/igrf13.f' ], @@ -36,7 +36,7 @@ py.extension_module('OMMBV.igrf', install : true ) -py.extension_module('OMMBV.sources', +py.extension_module('sources', [ 'OMMBV/sources.f', 'OMMBV/igrf13.f' @@ -47,7 +47,7 @@ py.extension_module('OMMBV.sources', install : true ) -py.extension_module('OMMBV.fortran_coords', +py.extension_module('fortran_coords', [ 'OMMBV/_coords.f' ], From 0457350475e92ce1856943bf2361e9c909373949 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 13:52:11 -0600 Subject: [PATCH 020/223] BUG: Remove markers = --- setup.cfg | 2 -- 1 file changed, 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 6665a2b9b..0f93e00c2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -61,5 +61,3 @@ exclude = conf.py tests __init__.py -[tool:pytest] -markers = From e22675e009f3f2848222dd7f32c9d101354a7947 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 14:00:23 -0600 Subject: [PATCH 021/223] BUG: Add missing custom_targets --- meson.build | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 849b123e8..42f881c6b 100644 --- a/meson.build +++ b/meson.build @@ -26,9 +26,16 @@ incdir_f2py = run_command(py, inc_np = include_directories(incdir_numpy, incdir_f2py) + +igrf_source = custom_target('igrfmodule.c', + input : ['OMMBV/igrf13.f'], # .f so no F90 wrappers + output : ['igrfmodule.c', 'igrf-f2pywrappers.f'], + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] +) py.extension_module('igrf', [ 'OMMBV/igrf13.f' + igrf_source ], incdir_f2py / 'fortranobject.c', include_directories: inc_np, @@ -36,10 +43,16 @@ py.extension_module('igrf', install : true ) +sources_source = custom_target('sourcesmodule.c', + input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers + output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] +) py.extension_module('sources', [ 'OMMBV/sources.f', - 'OMMBV/igrf13.f' + 'OMMBV/igrf13.f', + sources_source ], incdir_f2py / 'fortranobject.c', include_directories: inc_np, @@ -47,6 +60,12 @@ py.extension_module('sources', install : true ) + +fcoords_source = custom_target('_coordsmodule.c', + input : ['OMMBV/_coords.f'], # .f so no F90 wrappers + output : ['_coordsmodule.c', '_coords-f2pywrappers.f'], + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] +) py.extension_module('fortran_coords', [ 'OMMBV/_coords.f' From 254e0c702168c8e154610f1c1f6bbf75de02cd74 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 14:05:03 -0600 Subject: [PATCH 022/223] BUG: missing comma --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 42f881c6b..07b0e8c4a 100644 --- a/meson.build +++ b/meson.build @@ -34,7 +34,7 @@ igrf_source = custom_target('igrfmodule.c', ) py.extension_module('igrf', [ - 'OMMBV/igrf13.f' + 'OMMBV/igrf13.f', igrf_source ], incdir_f2py / 'fortranobject.c', From 40cd8b74d0bdeeea5365a6d2dc197f537c172353 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 17:56:59 -0600 Subject: [PATCH 023/223] BUG: Attempt to fix build by linking to additional fortran items --- meson.build | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 07b0e8c4a..12184268b 100644 --- a/meson.build +++ b/meson.build @@ -26,6 +26,17 @@ incdir_f2py = run_command(py, inc_np = include_directories(incdir_numpy, incdir_f2py) +# Unlike distutils, meson doesn't yet include some of the f2py stuff +fortranobject_c = incdir_f2py / 'fortranobject.c' + +fortranobject_lib = static_library('_fortranobject', + fortranobject_c, + dependencies: py3_dep, + include_directories: [incdir_numpy, incdir_f2py]) + +fortranobject_dep = declare_dependency( + link_with: fortranobject_lib, + include_directories: [incdir_numpy, incdir_f2py]) igrf_source = custom_target('igrfmodule.c', input : ['OMMBV/igrf13.f'], # .f so no F90 wrappers @@ -39,7 +50,8 @@ py.extension_module('igrf', ], incdir_f2py / 'fortranobject.c', include_directories: inc_np, - dependencies : py_dep, + link_with: fortranobject_lib, + dependencies : [py_dep, fortranobject_dep] install : true ) @@ -56,7 +68,8 @@ py.extension_module('sources', ], incdir_f2py / 'fortranobject.c', include_directories: inc_np, - dependencies : py_dep, + link_with: fortranobject_lib, + dependencies : [py_dep, fortranobject_dep] install : true ) @@ -72,6 +85,7 @@ py.extension_module('fortran_coords', ], incdir_f2py / 'fortranobject.c', include_directories: inc_np, - dependencies : py_dep, + link_with: fortranobject_lib, + dependencies : [py_dep, fortranobject_dep] install : true ) From f11ee9541102a9a5392b0ab9a55bbff205764cff Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 17:58:37 -0600 Subject: [PATCH 024/223] BUG: missing comma --- meson.build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 12184268b..79dd93d1f 100644 --- a/meson.build +++ b/meson.build @@ -51,7 +51,7 @@ py.extension_module('igrf', incdir_f2py / 'fortranobject.c', include_directories: inc_np, link_with: fortranobject_lib, - dependencies : [py_dep, fortranobject_dep] + dependencies : [py_dep, fortranobject_dep], install : true ) @@ -69,7 +69,7 @@ py.extension_module('sources', incdir_f2py / 'fortranobject.c', include_directories: inc_np, link_with: fortranobject_lib, - dependencies : [py_dep, fortranobject_dep] + dependencies : [py_dep, fortranobject_dep], install : true ) @@ -86,6 +86,6 @@ py.extension_module('fortran_coords', incdir_f2py / 'fortranobject.c', include_directories: inc_np, link_with: fortranobject_lib, - dependencies : [py_dep, fortranobject_dep] + dependencies : [py_dep, fortranobject_dep], install : true ) From 1a5df5a7e27b1511fdc942c79ec8c2636e89203b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:00:13 -0600 Subject: [PATCH 025/223] BUG: fixed typo --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 79dd93d1f..a3f2ae87c 100644 --- a/meson.build +++ b/meson.build @@ -31,7 +31,7 @@ fortranobject_c = incdir_f2py / 'fortranobject.c' fortranobject_lib = static_library('_fortranobject', fortranobject_c, - dependencies: py3_dep, + dependencies: py_dep, include_directories: [incdir_numpy, incdir_f2py]) fortranobject_dep = declare_dependency( From 653aa800d3d46f80e4954e12a0ab7a552431ca82 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:08:30 -0600 Subject: [PATCH 026/223] TST: Add flags to limit warnings for c compiler --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.build b/meson.build index a3f2ae87c..661aa5a8e 100644 --- a/meson.build +++ b/meson.build @@ -4,6 +4,7 @@ project('OMMBV', 'c', meson_version: '>=0.64.0', default_options : [ 'warning_level=2', + 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers' 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument -Wno-compare-reals', 'fortran_std=legacy'], ) From 9a86d3fc48c27e60e67550f52f64b6ecf2e99560 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:09:53 -0600 Subject: [PATCH 027/223] BUG: missing comma --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 661aa5a8e..1b74514ff 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('OMMBV', 'c', meson_version: '>=0.64.0', default_options : [ 'warning_level=2', - 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers' + 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers', 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument -Wno-compare-reals', 'fortran_std=legacy'], ) From 8d035a751addfa30fec5c2a96d3afe9d7bcd81e6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:45:26 -0600 Subject: [PATCH 028/223] BUG: Add subdir to meson option --- meson.build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meson.build b/meson.build index 1b74514ff..bbed743b9 100644 --- a/meson.build +++ b/meson.build @@ -53,6 +53,7 @@ py.extension_module('igrf', include_directories: inc_np, link_with: fortranobject_lib, dependencies : [py_dep, fortranobject_dep], + subdir: 'OMMBV', install : true ) @@ -71,6 +72,7 @@ py.extension_module('sources', include_directories: inc_np, link_with: fortranobject_lib, dependencies : [py_dep, fortranobject_dep], + subdir: 'OMMBV', install : true ) @@ -88,5 +90,6 @@ py.extension_module('fortran_coords', include_directories: inc_np, link_with: fortranobject_lib, dependencies : [py_dep, fortranobject_dep], + subdir: 'OMMBV', install : true ) From 76e403b83a520fd5c5becb84b9cbf545af1b64ba Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:51:51 -0600 Subject: [PATCH 029/223] BUG: debugging --- meson.build | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/meson.build b/meson.build index bbed743b9..a099cc3d3 100644 --- a/meson.build +++ b/meson.build @@ -57,24 +57,24 @@ py.extension_module('igrf', install : true ) -sources_source = custom_target('sourcesmodule.c', - input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers - output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], - command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] -) -py.extension_module('sources', - [ - 'OMMBV/sources.f', - 'OMMBV/igrf13.f', - sources_source - ], - incdir_f2py / 'fortranobject.c', - include_directories: inc_np, - link_with: fortranobject_lib, - dependencies : [py_dep, fortranobject_dep], - subdir: 'OMMBV', - install : true -) +#sources_source = custom_target('sourcesmodule.c', +# input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers +# output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], +# command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] +#) +#py.extension_module('sources', +# [ +# 'OMMBV/sources.f', +# 'OMMBV/igrf13.f', +# sources_source +# ], +# incdir_f2py / 'fortranobject.c', +# include_directories: inc_np, +# link_with: fortranobject_lib, +# dependencies : [py_dep, fortranobject_dep], +# subdir: 'OMMBV', +# install : true +#) fcoords_source = custom_target('_coordsmodule.c', From f3c32bccd9082fa8757aa63d9115587de2c22ddc Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 18:58:30 -0600 Subject: [PATCH 030/223] BUG: Debugging continues --- meson.build | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/meson.build b/meson.build index a099cc3d3..4a7a601d3 100644 --- a/meson.build +++ b/meson.build @@ -47,9 +47,9 @@ igrf_source = custom_target('igrfmodule.c', py.extension_module('igrf', [ 'OMMBV/igrf13.f', - igrf_source + igrf_source, + fortranobject_c ], - incdir_f2py / 'fortranobject.c', include_directories: inc_np, link_with: fortranobject_lib, dependencies : [py_dep, fortranobject_dep], @@ -57,24 +57,24 @@ py.extension_module('igrf', install : true ) -#sources_source = custom_target('sourcesmodule.c', -# input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers -# output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], -# command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] -#) -#py.extension_module('sources', -# [ -# 'OMMBV/sources.f', -# 'OMMBV/igrf13.f', -# sources_source -# ], -# incdir_f2py / 'fortranobject.c', -# include_directories: inc_np, -# link_with: fortranobject_lib, -# dependencies : [py_dep, fortranobject_dep], -# subdir: 'OMMBV', -# install : true -#) +sources_source = custom_target('sourcesmodule.c', + input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers + output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] +) +py.extension_module('sources', + [ + 'OMMBV/sources.f', + 'OMMBV/igrf13.f', + sources_source, + fortranobject_c + ], + include_directories: inc_np, + link_with: fortranobject_lib, + dependencies : [py_dep, fortranobject_dep], + subdir: 'OMMBV', + install : true +) fcoords_source = custom_target('_coordsmodule.c', @@ -84,9 +84,9 @@ fcoords_source = custom_target('_coordsmodule.c', ) py.extension_module('fortran_coords', [ - 'OMMBV/_coords.f' + 'OMMBV/_coords.f', + fortranobject_c ], - incdir_f2py / 'fortranobject.c', include_directories: inc_np, link_with: fortranobject_lib, dependencies : [py_dep, fortranobject_dep], From 33fb42539af5a68a298475d8b598202913a53e6d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:02:34 -0600 Subject: [PATCH 031/223] BUG: Correct names in custom_target --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 4a7a601d3..566f731a5 100644 --- a/meson.build +++ b/meson.build @@ -60,7 +60,7 @@ py.extension_module('igrf', sources_source = custom_target('sourcesmodule.c', input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], - command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) py.extension_module('sources', [ @@ -80,7 +80,7 @@ py.extension_module('sources', fcoords_source = custom_target('_coordsmodule.c', input : ['OMMBV/_coords.f'], # .f so no F90 wrappers output : ['_coordsmodule.c', '_coords-f2pywrappers.f'], - command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', '_coords', '--lower'] ) py.extension_module('fortran_coords', [ From a31f899024173868a6826a068e5cee028d173d2b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:06:37 -0600 Subject: [PATCH 032/223] BUG: Update output name --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 566f731a5..7835eee43 100644 --- a/meson.build +++ b/meson.build @@ -80,7 +80,7 @@ py.extension_module('sources', fcoords_source = custom_target('_coordsmodule.c', input : ['OMMBV/_coords.f'], # .f so no F90 wrappers output : ['_coordsmodule.c', '_coords-f2pywrappers.f'], - command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', '_coords', '--lower'] + command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'fortran_coords', '--lower'] ) py.extension_module('fortran_coords', [ From 6daf251a56a4cce4fba9386c3cd48880baa252c8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:09:31 -0600 Subject: [PATCH 033/223] BUG: Update names --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 7835eee43..076c2d870 100644 --- a/meson.build +++ b/meson.build @@ -77,9 +77,9 @@ py.extension_module('sources', ) -fcoords_source = custom_target('_coordsmodule.c', +fcoords_source = custom_target('fortran_coordsmodule.c', input : ['OMMBV/_coords.f'], # .f so no F90 wrappers - output : ['_coordsmodule.c', '_coords-f2pywrappers.f'], + output : ['fortran_coordsmodule.c', '_coords-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'fortran_coords', '--lower'] ) py.extension_module('fortran_coords', From ce432c39d8b121320b902c09d5971dba742c1008 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:11:21 -0600 Subject: [PATCH 034/223] BUG: added -fPIC --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 076c2d870..bb33baaa8 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('OMMBV', 'c', meson_version: '>=0.64.0', default_options : [ 'warning_level=2', - 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers', + 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers -fPIC', 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument -Wno-compare-reals', 'fortran_std=legacy'], ) From 57f94f9f9ec731512e3ddfbb6db5a91130fa8a92 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:16:17 -0600 Subject: [PATCH 035/223] BUG: names --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index bb33baaa8..4d60eb791 100644 --- a/meson.build +++ b/meson.build @@ -79,7 +79,7 @@ py.extension_module('sources', fcoords_source = custom_target('fortran_coordsmodule.c', input : ['OMMBV/_coords.f'], # .f so no F90 wrappers - output : ['fortran_coordsmodule.c', '_coords-f2pywrappers.f'], + output : ['fortran_coordsmodule.c', 'fortran_coords-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'fortran_coords', '--lower'] ) py.extension_module('fortran_coords', From d94a8505bcd8074d4761f77d241f0b6050861af6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:19:51 -0600 Subject: [PATCH 036/223] BUG: Added missing target --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.build b/meson.build index 4d60eb791..7affa0c50 100644 --- a/meson.build +++ b/meson.build @@ -85,6 +85,7 @@ fcoords_source = custom_target('fortran_coordsmodule.c', py.extension_module('fortran_coords', [ 'OMMBV/_coords.f', + fcoords_source, fortranobject_c ], include_directories: inc_np, From db60ba8db34192063bc1322b91b103566caf60ab Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:35:16 -0600 Subject: [PATCH 037/223] BUG: classifiers -> keywords bug --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1ed71251b..ed6d53ee6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,7 @@ dependencies = [ "scipy" ] readme = "README.md" -keywords = [ +classifiers = [ "Development Status :: 5 - Production/Stable", "Topic :: Scientific/Engineering :: Physics", "Intended Audience :: Science/Research", @@ -39,7 +39,7 @@ keywords = [ "Operating System :: POSIX", "Operating System :: MacOS" ] -classifiers = [ " " +keywords = [ " " ] From eb254d25b32b11ac3fe4bdde46ee83c6f4810df3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:35:28 -0600 Subject: [PATCH 038/223] BUG: removed -fPIC --- meson.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 7affa0c50..5004f3e80 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project('OMMBV', 'c', meson_version: '>=0.64.0', default_options : [ 'warning_level=2', - 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers -fPIC', + 'c_args=-Wno-unused-parameter -Wno-cast-function-type -Wno-missing-field-initializers', 'fortran_args=-Wno-line-truncation -Wno-conversion -Wno-unused-variable -Wno-maybe-uninitialized -Wno-unused-dummy-argument -Wno-compare-reals', 'fortran_std=legacy'], ) @@ -39,6 +39,7 @@ fortranobject_dep = declare_dependency( link_with: fortranobject_lib, include_directories: [incdir_numpy, incdir_f2py]) + igrf_source = custom_target('igrfmodule.c', input : ['OMMBV/igrf13.f'], # .f so no F90 wrappers output : ['igrfmodule.c', 'igrf-f2pywrappers.f'], @@ -57,6 +58,7 @@ py.extension_module('igrf', install : true ) + sources_source = custom_target('sourcesmodule.c', input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], From 8044c838f22d3d22b3859c7e40f0f3656c55696c Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:35:40 -0600 Subject: [PATCH 039/223] BUG: Change pip install command --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e8f5713f0..457914aab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,7 +49,7 @@ jobs: - name: Run OMMBV setup.py run: | - pip install -e . + pip install . - name: Run unit and integration tests run: pytest --cov=OMMBV/ From 69d587a92c968c7058f24354f8aa1d4b9cecd602 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 19:55:10 -0600 Subject: [PATCH 040/223] BUG: Update names --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 5004f3e80..fe1f6195e 100644 --- a/meson.build +++ b/meson.build @@ -64,7 +64,7 @@ sources_source = custom_target('sourcesmodule.c', output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) -py.extension_module('sources', +py.extension_module('OMMBV.sources', [ 'OMMBV/sources.f', 'OMMBV/igrf13.f', From 0adcc9782f597bbd5d440c924bd8ad83fa0cc461 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 20:02:13 -0600 Subject: [PATCH 041/223] BUG: Debugging --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index fe1f6195e..5004f3e80 100644 --- a/meson.build +++ b/meson.build @@ -64,7 +64,7 @@ sources_source = custom_target('sourcesmodule.c', output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) -py.extension_module('OMMBV.sources', +py.extension_module('sources', [ 'OMMBV/sources.f', 'OMMBV/igrf13.f', From 859738f510c14eaee396ca7388989cb0a6cae10a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Tue, 14 Jan 2025 20:06:05 -0600 Subject: [PATCH 042/223] BUG: Debugging import --- OMMBV/__init__.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 22d372e05..35b9ed027 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -3,13 +3,13 @@ __version__ = '1.0.1' -try: - from OMMBV import igrf - from OMMBV import fortran_coords - from OMMBV import sources -except ImportError: - # Warning about lack of import handled in trans - igrf, sources, fortran_coords = None, None, None +# try: +from OMMBV import igrf +from OMMBV import fortran_coords +from OMMBV import sources +# except ImportError: +# # Warning about lack of import handled in trans +# igrf, sources, fortran_coords = None, None, None from OMMBV import satellite from OMMBV import trace From 5e4dd7013a219f22978dd41ef596d56279d99492 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 13:45:06 -0600 Subject: [PATCH 043/223] BUG: Added install_sources command, which may be required --- meson.build | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meson.build b/meson.build index 5004f3e80..0bb7dca05 100644 --- a/meson.build +++ b/meson.build @@ -96,3 +96,17 @@ py.extension_module('fortran_coords', subdir: 'OMMBV', install : true ) + +py.install_sources( + 'OMMBV/_core.py', + 'OMMBV/heritage.py', + 'OMMBV/satellite.py', + 'OMMBV/trace.py', + 'OMMBV/trans.py', + 'OMMBV/utils.py', + 'OMMBV/vector.py', + 'OMMBV/__init__.py', + 'OMMBV/__main__.py', + pure: false, + subdir: 'OMMBV' +) \ No newline at end of file From b6e6cd4fbc790000324d20e3955dfb7e2dd90311 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 13:47:23 -0600 Subject: [PATCH 044/223] BUG: Removed non-existent file in install list --- meson.build | 1 - 1 file changed, 1 deletion(-) diff --git a/meson.build b/meson.build index 0bb7dca05..772f5d1e6 100644 --- a/meson.build +++ b/meson.build @@ -106,7 +106,6 @@ py.install_sources( 'OMMBV/utils.py', 'OMMBV/vector.py', 'OMMBV/__init__.py', - 'OMMBV/__main__.py', pure: false, subdir: 'OMMBV' ) \ No newline at end of file From b079fbcc295e46432ba14d94466760bfdf6697f7 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 14:04:32 -0600 Subject: [PATCH 045/223] BUG: Debugging imports, remove all non-fortran imports --- OMMBV/_core.py | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index 494b76f43..87083c3d8 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -10,7 +10,8 @@ from OMMBV import vector -def calculate_geomagnetic_basis(latitude, longitude, altitude, datetimes): +def calculate_geomagnetic_basis(latitude, longitude, altitude, datetimes, + **kwargs): """Calculate local geomagnetic basis vectors and mapping scalars. Parameters @@ -58,7 +59,8 @@ def calculate_geomagnetic_basis(latitude, longitude, altitude, datetimes): mx, my, mz, info) = calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, datetimes, - full_output=True) + full_output=True, + **kwargs) d_zon_mag = np.sqrt(info['d_zon_x']**2 + info['d_zon_y']**2 + info['d_zon_z']**2) @@ -290,6 +292,12 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, ecef_x, ecef_y, ecef_z = trans.geodetic_to_ecef(latitude, longitude, altitude) + idx, = np.where(np.isnan(ecef_x)) + if len(idx) > 0: + print("Encountered nan starting ecef locations ", ecef_x[idx], + ecef_y[idx], ecef_z[idx], latitude[idx], longitude[idx], + altitude[idx]) + # Begin method calculation. # Magnetic field at root location @@ -348,6 +356,13 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, return_geodetic=True, ecef_input=True, **step_kwargs) + + idx, = np.where(np.isnan(tzx)) + if len(idx) > 0: + print("Encountered nan tzx values ", idx, ecef_x[idx], + ecef_y[idx], ecef_z[idx], tzx[idx], tzy[idx], tzz[idx], + latitude[idx], longitude[idx], altitude[idx]) + if centered_diff: # Negative step ecef_xz2, ecef_yz2, ecef_zz2 = (ecef_x - step_size * tzx, @@ -418,6 +433,15 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, & (loop_num + 1 >= min_loops): # Reached terminating conditions repeat_flag = False + # print('Using position ', location_info(ecef_xz, ecef_yz, ecef_zz, + # datetimes, + # return_geodetic=True, + # ecef_input=True, + # **step_kwargs)[3:], loop_num) + idx, = np.where(np.isnan(ecef_xz)) + if len(idx) > 0: + print("Encountered nan apex locations ", ecef_xz[idx], + ecef_yz[idx], ecef_zz[idx]) else: # Store info into calculation vectors to refine next loop tzx, tzy, tzz = tzx2, tzy2, tzz2 @@ -664,7 +688,8 @@ def step_along_mag_unit_vector(x, y, z, date, direction, num_steps=1, """ if direction == 'meridional': - centered_diff = True + centered_diff = False + # print("False") else: centered_diff = False From 48fe66fedeba9c86b2599e4a3417784008c49dc5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 14:12:01 -0600 Subject: [PATCH 046/223] BUG: Corrected bad commit and push --- OMMBV/_core.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index 87083c3d8..c0de612ca 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -292,11 +292,12 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, ecef_x, ecef_y, ecef_z = trans.geodetic_to_ecef(latitude, longitude, altitude) - idx, = np.where(np.isnan(ecef_x)) - if len(idx) > 0: - print("Encountered nan starting ecef locations ", ecef_x[idx], - ecef_y[idx], ecef_z[idx], latitude[idx], longitude[idx], - altitude[idx]) + # This shouldn't have been pushed to the repo + # idx, = np.where(np.isnan(ecef_x)) + # if len(idx) > 0: + # print("Encountered nan starting ecef locations ", ecef_x[idx], + # ecef_y[idx], ecef_z[idx], latitude[idx], longitude[idx], + # altitude[idx]) # Begin method calculation. @@ -357,11 +358,12 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, ecef_input=True, **step_kwargs) - idx, = np.where(np.isnan(tzx)) - if len(idx) > 0: - print("Encountered nan tzx values ", idx, ecef_x[idx], - ecef_y[idx], ecef_z[idx], tzx[idx], tzy[idx], tzz[idx], - latitude[idx], longitude[idx], altitude[idx]) + # This shouldn't be here + # idx, = np.where(np.isnan(tzx)) + # if len(idx) > 0: + # print("Encountered nan tzx values ", idx, ecef_x[idx], + # ecef_y[idx], ecef_z[idx], tzx[idx], tzy[idx], tzz[idx], + # latitude[idx], longitude[idx], altitude[idx]) if centered_diff: # Negative step @@ -438,10 +440,10 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, # return_geodetic=True, # ecef_input=True, # **step_kwargs)[3:], loop_num) - idx, = np.where(np.isnan(ecef_xz)) - if len(idx) > 0: - print("Encountered nan apex locations ", ecef_xz[idx], - ecef_yz[idx], ecef_zz[idx]) + # idx, = np.where(np.isnan(ecef_xz)) + # if len(idx) > 0: + # print("Encountered nan apex locations ", ecef_xz[idx], + # ecef_yz[idx], ecef_zz[idx]) else: # Store info into calculation vectors to refine next loop tzx, tzy, tzz = tzx2, tzy2, tzz2 @@ -688,7 +690,7 @@ def step_along_mag_unit_vector(x, y, z, date, direction, num_steps=1, """ if direction == 'meridional': - centered_diff = False + centered_diff = True # print("False") else: centered_diff = False From c601ebdcd092f08799309a27092fb26b20075957 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 14:12:09 -0600 Subject: [PATCH 047/223] BUG: Removed igrf import --- OMMBV/__init__.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 35b9ed027..0d918d784 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -1,25 +1,27 @@ # -*- coding: utf-8 -*- """init routine for OMMBV.""" -__version__ = '1.0.1' +__version__ = '1.0.2' # try: -from OMMBV import igrf + + +# from OMMBV import igrf from OMMBV import fortran_coords from OMMBV import sources # except ImportError: # # Warning about lack of import handled in trans # igrf, sources, fortran_coords = None, None, None -from OMMBV import satellite -from OMMBV import trace -from OMMBV import trans -from OMMBV import utils -from OMMBV import vector - -from OMMBV import _core -from OMMBV._core import * - -from OMMBV import heritage - -__all__ = ['heritage', 'satellite', 'trace', 'trans', 'utils', 'vector'] +# from OMMBV import satellite +# from OMMBV import trace +# from OMMBV import trans +# from OMMBV import utils +# from OMMBV import vector +# +# from OMMBV import _core +# from OMMBV._core import * +# +# from OMMBV import heritage +# +# __all__ = ['heritage', 'satellite', 'trace', 'trans', 'utils', 'vector'] From bc8eb67c614d2a1ceb817dcd4b1a8d582331bbf9 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 14:16:52 -0600 Subject: [PATCH 048/223] BUG: Remove all fortran imports --- OMMBV/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 0d918d784..7a6f5d72b 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -7,8 +7,8 @@ # from OMMBV import igrf -from OMMBV import fortran_coords -from OMMBV import sources +# from OMMBV import fortran_coords +# from OMMBV import sources # except ImportError: # # Warning about lack of import handled in trans # igrf, sources, fortran_coords = None, None, None From c22f5c54150d9754c290983b1bdbbb3532cc5cc7 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Wed, 15 Jan 2025 14:25:29 -0600 Subject: [PATCH 049/223] BUG: Restore fortran imports --- OMMBV/__init__.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 7a6f5d72b..321d67d78 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -6,22 +6,22 @@ # try: -# from OMMBV import igrf -# from OMMBV import fortran_coords -# from OMMBV import sources +from OMMBV import igrf +from OMMBV import fortran_coords +from OMMBV import sources # except ImportError: # # Warning about lack of import handled in trans # igrf, sources, fortran_coords = None, None, None -# from OMMBV import satellite -# from OMMBV import trace -# from OMMBV import trans -# from OMMBV import utils -# from OMMBV import vector -# -# from OMMBV import _core -# from OMMBV._core import * -# -# from OMMBV import heritage -# -# __all__ = ['heritage', 'satellite', 'trace', 'trans', 'utils', 'vector'] +from OMMBV import satellite +from OMMBV import trace +from OMMBV import trans +from OMMBV import utils +from OMMBV import vector + +from OMMBV import _core +from OMMBV._core import * + +from OMMBV import heritage + +__all__ = ['heritage', 'satellite', 'trace', 'trans', 'utils', 'vector'] From cbcd4f93f59fcc7aa40c8011f0688e5a36e95892 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:39:38 -0600 Subject: [PATCH 050/223] BUG: Try switching working directory before testing --- .github/workflows/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 457914aab..77e001039 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,10 @@ jobs: pip install . - name: Run unit and integration tests - run: pytest --cov=OMMBV/ + run: | + mdkir new_dir + cd new_dir + pytest --cov=OMMBV/ - name: Publish results to coveralls env: From a399ac68cb65798f874564a4e36edcab2a8793f0 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:41:10 -0600 Subject: [PATCH 051/223] BUG: typo --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 77e001039..f59526aa8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,7 @@ jobs: - name: Run unit and integration tests run: | - mdkir new_dir + mkdir new_dir cd new_dir pytest --cov=OMMBV/ From 6a317bc86ff0e0958bf4af2f60af899c4bdcae41 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:43:59 -0600 Subject: [PATCH 052/223] BUG: Try installing tests --- meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/meson.build b/meson.build index 772f5d1e6..4afe6651b 100644 --- a/meson.build +++ b/meson.build @@ -106,6 +106,7 @@ py.install_sources( 'OMMBV/utils.py', 'OMMBV/vector.py', 'OMMBV/__init__.py', + 'OMMBV/tests/*', pure: false, subdir: 'OMMBV' ) \ No newline at end of file From 9fd40201515982fd976ecbc1a3a6bbabfbd01313 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:45:54 -0600 Subject: [PATCH 053/223] BUG: Debugging import success --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f59526aa8..d870f6935 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,7 @@ jobs: run: | mkdir new_dir cd new_dir + python -c "import OMMBV; print('Import went great!')" pytest --cov=OMMBV/ - name: Publish results to coveralls From d44e9fbd733b41cc95c44fe46d51aae796d55ab4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:46:29 -0600 Subject: [PATCH 054/223] BUG: Try installing single test --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 4afe6651b..89e794bf9 100644 --- a/meson.build +++ b/meson.build @@ -106,7 +106,8 @@ py.install_sources( 'OMMBV/utils.py', 'OMMBV/vector.py', 'OMMBV/__init__.py', - 'OMMBV/tests/*', + 'OMMBV/tests/__init__.py', + 'OMMBV/tests/test_apex.py', pure: false, subdir: 'OMMBV' ) \ No newline at end of file From d52c466e7eb80a4a913f4b28199c0e32beb8a588 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:49:47 -0600 Subject: [PATCH 055/223] BUG: Expand import check to include function call --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d870f6935..049298b69 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,7 @@ jobs: run: | mkdir new_dir cd new_dir - python -c "import OMMBV; print('Import went great!')" + python -c "import OMMBV; print('Import went great!'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From 675e7f36c4ac1eb6362abed01249c753f5ff821e Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:54:13 -0600 Subject: [PATCH 056/223] BUG: Debugging function check. Previous commands worked locally. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 049298b69..e0d1ff2ef 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,7 @@ jobs: run: | mkdir new_dir cd new_dir - python -c "import OMMBV; print('Import went great!'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From 1cea770d19a049d7fc695a13d1a5606583b27051 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 14:59:34 -0600 Subject: [PATCH 057/223] BUG: Debugging function check. --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e0d1ff2ef..dc2c6642c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,6 +56,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great!'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From d3c0d655fdb3e3ea344a94345d48240e873469af Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:02:31 -0600 Subject: [PATCH 058/223] BUG: Debugging change in init behavior --- OMMBV/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 321d67d78..0f5038d8a 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -24,4 +24,5 @@ from OMMBV import heritage -__all__ = ['heritage', 'satellite', 'trace', 'trans', 'utils', 'vector'] +__all__ = ['igrf', 'fortran_coords', 'sources', 'heritage', 'satellite', + 'trace', 'trans', 'utils', 'vector'] From aa6c42efc19776a182baf1be1f5603b8849284e5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:12:32 -0600 Subject: [PATCH 059/223] BUG: Debugging change in import behavior --- .github/workflows/main.yml | 3 ++- OMMBV/__init__.py | 4 ++-- meson.build | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dc2c6642c..e22135a59 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,8 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great!'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 0f5038d8a..93d0bbd91 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -24,5 +24,5 @@ from OMMBV import heritage -__all__ = ['igrf', 'fortran_coords', 'sources', 'heritage', 'satellite', - 'trace', 'trans', 'utils', 'vector'] +__all__ = ['igrf', 'fortran_coords', 'sources', 'satellite', + 'trace', 'trans', 'utils', 'vector', 'heritage'] diff --git a/meson.build b/meson.build index 89e794bf9..eeb597d3b 100644 --- a/meson.build +++ b/meson.build @@ -108,6 +108,7 @@ py.install_sources( 'OMMBV/__init__.py', 'OMMBV/tests/__init__.py', 'OMMBV/tests/test_apex.py', + 'OMMBV/tests/test_core.py', pure: false, subdir: 'OMMBV' ) \ No newline at end of file From 42d69ad9c13729369ecddf1ec1d083034a6762ad Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:14:29 -0600 Subject: [PATCH 060/223] BUG: Debugging change in import behavior --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e22135a59..c1d8e7c8c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" +# python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ From fb209c5e08a5e0d0f2bb209f28b2cd56f1320b4e Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:16:47 -0600 Subject: [PATCH 061/223] BUG: retrigger online testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c1d8e7c8c..634d355ed 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" -# python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" +# # python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ From 8ae8f1e47f09c6c50ae0d04911f7f6f289523ea6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:16:57 -0600 Subject: [PATCH 062/223] BUG: retrigger online testing --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 634d355ed..17e9e965d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,6 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" -# # python -c "import OMMBV; print('Import went great! 2'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ From eb5d972740e890151b9b833ee208cf62dc621fc4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:19:27 -0600 Subject: [PATCH 063/223] BUG: Debugging import change --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17e9e965d..bb5d6490e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,7 +56,8 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From c818f9a11b0f5b3de16e35a7e0e709fbd57553ff Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:24:00 -0600 Subject: [PATCH 064/223] BUG: Restore init --- OMMBV/__init__.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index 93d0bbd91..eb2e81286 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -3,15 +3,13 @@ __version__ = '1.0.2' -# try: - - -from OMMBV import igrf -from OMMBV import fortran_coords -from OMMBV import sources -# except ImportError: -# # Warning about lack of import handled in trans -# igrf, sources, fortran_coords = None, None, None +try: + from OMMBV import igrf + from OMMBV import fortran_coords + from OMMBV import sources +except ImportError: + # Warning about lack of import handled in trans + igrf, sources, fortran_coords = None, None, None from OMMBV import satellite from OMMBV import trace From 7f7212a9ed4c2cf6a2dd6ceb503d2982bebe11f8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:26:28 -0600 Subject: [PATCH 065/223] BUG: import still not working as previous. See what tests are doing. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bb5d6490e..1d5266dbb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" +# python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From 2730b3b12f079c330dc3edd20134b7ae60471b32 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:27:14 -0600 Subject: [PATCH 066/223] BUG: Comments kill online testing. Removed. --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1d5266dbb..043005a7b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,6 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" -# python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=OMMBV/ - name: Publish results to coveralls From cea6add43b8dcda29729b8c052ffa57c6ca40ac2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:33:23 -0600 Subject: [PATCH 067/223] BUG: Point coverage to a new directory --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 043005a7b..805c6c244 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=OMMBV/ + pytest --cov=../OMMBV/tests - name: Publish results to coveralls env: From 64aa9d7f0092650bc18a356ca24bd51cfd744d6a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:36:27 -0600 Subject: [PATCH 068/223] BUG: Point coverage to a new directory --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 805c6c244..a4a90226d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests + pytest --cov=../../OMMBV/tests - name: Publish results to coveralls env: From 1e91dd0635c4479adf8ba49701f1db304ff2e0aa Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:38:04 -0600 Subject: [PATCH 069/223] BUG: Point coverage to a new directory --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a4a90226d..4b952bee7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../../OMMBV/tests + pytest --cov=../OMMBV/tests/ - name: Publish results to coveralls env: From ba158d489f21b86ca908bed6c5e04832dccf2a6b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 16 Jan 2025 15:51:28 -0600 Subject: [PATCH 070/223] BUG: Point coverage to a new directory --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b952bee7..ce122c205 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,8 @@ jobs: cd new_dir python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests/ + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + pytest --cov=../OMMBV/tests - name: Publish results to coveralls env: From 53515fd2b2f650ba1332ba0a9df8d51ca1695737 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 09:32:02 -0600 Subject: [PATCH 071/223] BUG: Debugging. Remove test files from install_sources --- .github/workflows/main.yml | 3 --- meson.build | 3 --- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce122c205..0e728cff8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,9 +55,6 @@ jobs: run: | mkdir new_dir cd new_dir - python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=../OMMBV/tests - name: Publish results to coveralls diff --git a/meson.build b/meson.build index eeb597d3b..772f5d1e6 100644 --- a/meson.build +++ b/meson.build @@ -106,9 +106,6 @@ py.install_sources( 'OMMBV/utils.py', 'OMMBV/vector.py', 'OMMBV/__init__.py', - 'OMMBV/tests/__init__.py', - 'OMMBV/tests/test_apex.py', - 'OMMBV/tests/test_core.py', pure: false, subdir: 'OMMBV' ) \ No newline at end of file From 2770ddc168f6c6732a98ffdba3c040b2a2c98c34 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:12:31 -0600 Subject: [PATCH 072/223] BUG: restored debugging check --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0e728cff8..ce122c205 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,9 @@ jobs: run: | mkdir new_dir cd new_dir + python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest --cov=../OMMBV/tests - name: Publish results to coveralls From b0731763e0788d5d1ad17940f9a02ace2dc23d5b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:20:05 -0600 Subject: [PATCH 073/223] BUG: Attempt apexpy like testing --- .github/workflows/main.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce122c205..e15a230db 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,12 +53,11 @@ jobs: - name: Run unit and integration tests run: | - mkdir new_dir - cd new_dir - python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests + cd .. + coverage run -m pytest + coverage report + coverage xml + mv coverage.xml OMMBV/. - name: Publish results to coveralls env: From ea0cc990955f0a456f22738ab24ae1062b509222 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:22:17 -0600 Subject: [PATCH 074/223] BUG: debugging testing still --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e15a230db..22a34ed8c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,8 @@ jobs: - name: Run unit and integration tests run: | - cd .. + mkdir new_dir + cd new_dir coverage run -m pytest coverage report coverage xml From d77187306f20334f6df1c2f9990fc59098e3a5c2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:29:06 -0600 Subject: [PATCH 075/223] BUG: debugging testing still but I don't understand what the commands are, makes it a challenge --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 22a34ed8c..ad167647b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,9 +53,7 @@ jobs: - name: Run unit and integration tests run: | - mkdir new_dir - cd new_dir - coverage run -m pytest + coverage run -m pytest -v -s coverage report coverage xml mv coverage.xml OMMBV/. From 196391e6cb929a2a312668bd13b319afc285906e Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:32:02 -0600 Subject: [PATCH 076/223] BUG: try adding source specification --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ad167647b..e5da1029c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,9 @@ jobs: - name: Run unit and integration tests run: | - coverage run -m pytest -v -s + mkdir new_dir + cd new_dir + coverage run -m pytest --source=../OMMBV/tests/ coverage report coverage xml mv coverage.xml OMMBV/. From 8ea1663de79983c726295b0551534654408660a4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:39:45 -0600 Subject: [PATCH 077/223] BUG: debugging testing --- .github/workflows/main.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e5da1029c..1624362a9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,10 +55,12 @@ jobs: run: | mkdir new_dir cd new_dir - coverage run -m pytest --source=../OMMBV/tests/ - coverage report - coverage xml - mv coverage.xml OMMBV/. + python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + pytest --cov=../OMMBV/tests/test_apex.py + coverage report -m + - name: Publish results to coveralls env: From 52a9262bab689363032f067c31ea94b790f8dfab Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:41:53 -0600 Subject: [PATCH 078/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1624362a9..88bd9fd3f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,7 @@ jobs: python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests/test_apex.py + pytest --cov=../OMMBV/tests coverage report -m From da922a05ba3b8c3d45432d77fa8799e3be2d467d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:46:20 -0600 Subject: [PATCH 079/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 88bd9fd3f..35c189142 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,7 @@ jobs: python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests + pytest --cov=../OMMBV/tests -v coverage report -m From 82e6620cb7a19c222d38a2f2405a28d05e63f97b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 11:53:46 -0600 Subject: [PATCH 080/223] BUG: debugging testing --- .github/workflows/main.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 35c189142..86f14327e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,12 +55,10 @@ jobs: run: | mkdir new_dir cd new_dir - python -c "import OMMBV; print('Import went great!'); from OMMBV import sources; print(sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 2'); import OMMBV.sources; print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest --cov=../OMMBV/tests -v - coverage report -m - + coverage run -m pytest --source=../tests + coverage report + coverage xml + mv coverage.xml ../OMMBV/ - name: Publish results to coveralls env: From db8f24a61b0898be14d03bf2265d845a9d3f3b62 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:20:31 -0600 Subject: [PATCH 081/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86f14327e..5bf0205e7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,7 +55,7 @@ jobs: run: | mkdir new_dir cd new_dir - coverage run -m pytest --source=../tests + coverage run -m pytest --source=tests coverage report coverage xml mv coverage.xml ../OMMBV/ From 495acc16a19e60a2c826580bca34d88fdb2b8f92 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:23:34 -0600 Subject: [PATCH 082/223] BUG: debugging testing --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5bf0205e7..e334c9f64 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,9 +53,10 @@ jobs: - name: Run unit and integration tests run: | - mkdir new_dir - cd new_dir - coverage run -m pytest --source=tests + ls + cd .. + python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" + coverage run -m pytest coverage report coverage xml mv coverage.xml ../OMMBV/ From 9d0e795063f8926ebaa800536994459b686065a5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:29:42 -0600 Subject: [PATCH 083/223] BUG: debugging testing --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e334c9f64..0765500cb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,10 +56,10 @@ jobs: ls cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run -m pytest + coverage run --source=tests -m pytest coverage report coverage xml - mv coverage.xml ../OMMBV/ + mv coverage.xml ./OMMBV/. - name: Publish results to coveralls env: From 8fda1b1911c871fa9f11b78fb594f9fdacd19c15 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:32:18 -0600 Subject: [PATCH 084/223] BUG: debugging testing --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0765500cb..9ab297e0d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,12 +54,13 @@ jobs: - name: Run unit and integration tests run: | ls - cd .. + mkdir new_dir + cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=tests -m pytest + coverage run --source=../tests -m pytest coverage report coverage xml - mv coverage.xml ./OMMBV/. + mv coverage.xml ../ - name: Publish results to coveralls env: From 04a4c91a00c9d9034eddc05f3a97267d909592ec Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:34:02 -0600 Subject: [PATCH 085/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9ab297e0d..244afda08 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=../tests -m pytest + coverage run --source=../OMMBV/tests -m pytest coverage report coverage xml mv coverage.xml ../ From 750449a39f596c2aa64979fae4befe56a7501f21 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:41:12 -0600 Subject: [PATCH 086/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 244afda08..e40d9230c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=../OMMBV/tests -m pytest + coverage run --source=../OMMBV -m pytest coverage report coverage xml mv coverage.xml ../ From 3b235aa828059fb548b0ee20f369694922f52ace Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:43:02 -0600 Subject: [PATCH 087/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e40d9230c..f8ae919ba 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=../OMMBV -m pytest + coverage run --source=OMMBV/tests -m pytest coverage report coverage xml mv coverage.xml ../ From 38677dd57072a5b1c8aa197ba74c977a97ad8a77 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 25 Jan 2025 12:49:28 -0600 Subject: [PATCH 088/223] BUG: debugging testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f8ae919ba..cd308b724 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: mkdir new_dir cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=OMMBV/tests -m pytest + coverage run --source=tests -m pytest coverage report coverage xml mv coverage.xml ../ From fe080f4a63dc983fe3708de09fcb3dfd28d512ac Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 12:49:59 -0600 Subject: [PATCH 089/223] BUG: debugging testing --- {OMMBV/tests => tests}/__init__.py | 0 {OMMBV/tests => tests}/test_apex.py | 0 {OMMBV/tests => tests}/test_core.py | 4 ++-- {OMMBV/tests => tests}/test_deprecation.py | 0 {OMMBV/tests => tests}/test_former_methods.py | 2 +- {OMMBV/tests => tests}/test_satellite.py | 0 {OMMBV/tests => tests}/test_trace.py | 2 +- {OMMBV/tests => tests}/test_trans.py | 2 +- {OMMBV/tests => tests}/test_utils.py | 0 {OMMBV/tests => tests}/test_vector.py | 2 +- {OMMBV/tests => tests}/test_vitmo.py | 0 11 files changed, 6 insertions(+), 6 deletions(-) rename {OMMBV/tests => tests}/__init__.py (100%) rename {OMMBV/tests => tests}/test_apex.py (100%) rename {OMMBV/tests => tests}/test_core.py (99%) rename {OMMBV/tests => tests}/test_deprecation.py (100%) rename {OMMBV/tests => tests}/test_former_methods.py (99%) rename {OMMBV/tests => tests}/test_satellite.py (100%) rename {OMMBV/tests => tests}/test_trace.py (99%) rename {OMMBV/tests => tests}/test_trans.py (99%) rename {OMMBV/tests => tests}/test_utils.py (100%) rename {OMMBV/tests => tests}/test_vector.py (99%) rename {OMMBV/tests => tests}/test_vitmo.py (100%) diff --git a/OMMBV/tests/__init__.py b/tests/__init__.py similarity index 100% rename from OMMBV/tests/__init__.py rename to tests/__init__.py diff --git a/OMMBV/tests/test_apex.py b/tests/test_apex.py similarity index 100% rename from OMMBV/tests/test_apex.py rename to tests/test_apex.py diff --git a/OMMBV/tests/test_core.py b/tests/test_core.py similarity index 99% rename from OMMBV/tests/test_core.py rename to tests/test_core.py index 33a16efa0..472a2ade2 100644 --- a/OMMBV/tests/test_core.py +++ b/tests/test_core.py @@ -9,8 +9,8 @@ import warnings import OMMBV -from OMMBV import tests -import OMMBV.tests.test_deprecation as testing +import tests +import tests.test_deprecation as testing import OMMBV.trace import OMMBV.trans import OMMBV.vector diff --git a/OMMBV/tests/test_deprecation.py b/tests/test_deprecation.py similarity index 100% rename from OMMBV/tests/test_deprecation.py rename to tests/test_deprecation.py diff --git a/OMMBV/tests/test_former_methods.py b/tests/test_former_methods.py similarity index 99% rename from OMMBV/tests/test_former_methods.py rename to tests/test_former_methods.py index 239f71ea5..5574ddf73 100644 --- a/OMMBV/tests/test_former_methods.py +++ b/tests/test_former_methods.py @@ -4,7 +4,7 @@ import OMMBV import OMMBV.heritage -from OMMBV.tests.test_core import gen_plot_grid_fixed_alt +from tests.test_core import gen_plot_grid_fixed_alt import OMMBV.vector diff --git a/OMMBV/tests/test_satellite.py b/tests/test_satellite.py similarity index 100% rename from OMMBV/tests/test_satellite.py rename to tests/test_satellite.py diff --git a/OMMBV/tests/test_trace.py b/tests/test_trace.py similarity index 99% rename from OMMBV/tests/test_trace.py rename to tests/test_trace.py index 7b6a15be9..8af339079 100644 --- a/OMMBV/tests/test_trace.py +++ b/tests/test_trace.py @@ -5,7 +5,7 @@ import numpy as np import pytest -from OMMBV.tests.test_core import gen_data_fixed_alt +from tests.test_core import gen_data_fixed_alt import OMMBV.trans import OMMBV.trace as trace diff --git a/OMMBV/tests/test_trans.py b/tests/test_trans.py similarity index 99% rename from OMMBV/tests/test_trans.py rename to tests/test_trans.py index 2dbd0515e..0f9853ad2 100644 --- a/OMMBV/tests/test_trans.py +++ b/tests/test_trans.py @@ -6,7 +6,7 @@ from OMMBV import igrf from OMMBV import sources import OMMBV.trans -from OMMBV.tests.test_core import gen_data_fixed_alt +from tests.test_core import gen_data_fixed_alt # ############## TRANSFORMATIONS ############## # diff --git a/OMMBV/tests/test_utils.py b/tests/test_utils.py similarity index 100% rename from OMMBV/tests/test_utils.py rename to tests/test_utils.py diff --git a/OMMBV/tests/test_vector.py b/tests/test_vector.py similarity index 99% rename from OMMBV/tests/test_vector.py rename to tests/test_vector.py index bc184cba6..44674e292 100644 --- a/OMMBV/tests/test_vector.py +++ b/tests/test_vector.py @@ -5,7 +5,7 @@ import OMMBV from OMMBV import sources -from OMMBV.tests.test_core import gen_data_fixed_alt +from tests.test_core import gen_data_fixed_alt class TestVector(object): diff --git a/OMMBV/tests/test_vitmo.py b/tests/test_vitmo.py similarity index 100% rename from OMMBV/tests/test_vitmo.py rename to tests/test_vitmo.py From 2f1c1d5156f7b98ca6d96c3be026120da1839e27 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 12:55:35 -0600 Subject: [PATCH 090/223] BUG: Debugging tests --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cd308b724..3417887fa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,10 +54,8 @@ jobs: - name: Run unit and integration tests run: | ls - mkdir new_dir - cd new_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run --source=tests -m pytest + coverage run -m pytest coverage report coverage xml mv coverage.xml ../ From 216fc01d6fa452f204e3c63eddf1c638544cc866 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 12:57:27 -0600 Subject: [PATCH 091/223] BUG: Debugging tests --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3417887fa..dea8b811e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,6 +54,7 @@ jobs: - name: Run unit and integration tests run: | ls + cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" coverage run -m pytest coverage report From c25364d098dfc98d71a570e003fa4934aefbb793 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:05:32 -0600 Subject: [PATCH 092/223] BUG: Debugging tests --- .github/workflows/main.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dea8b811e..9cb4a8239 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,10 +56,9 @@ jobs: ls cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run -m pytest - coverage report - coverage xml - mv coverage.xml ../ + pytest OMMBV/tests -v --cov + coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info + - name: Publish results to coveralls env: From 8f607bb76f29b1357269d793aef2963f317edd7b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:08:52 -0600 Subject: [PATCH 093/223] BUG: Debugging tests --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9cb4a8239..612adb565 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,7 @@ jobs: run: | ls cd .. + pwd python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest OMMBV/tests -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From 6e2269949a27377c370a62c88e2299b12399f09c Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:10:45 -0600 Subject: [PATCH 094/223] BUG: Debugging tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 612adb565..b2a6f5374 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd .. pwd python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest OMMBV/tests -v --cov + pytest OMMBV -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From b4bd710b8c516bf8f15cf3acfad3d7a83bd35c26 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:12:49 -0600 Subject: [PATCH 095/223] BUG: Debugging tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b2a6f5374..b1f70f3a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,7 +54,7 @@ jobs: - name: Run unit and integration tests run: | ls - cd .. + cd ../tests pwd python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest OMMBV -v --cov From 83eae662185c3890a481384e32f6d884d5a46772 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:14:19 -0600 Subject: [PATCH 096/223] BUG: Debugging tests --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b1f70f3a0..80f06f35a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,10 +54,10 @@ jobs: - name: Run unit and integration tests run: | ls - cd ../tests + cd tests pwd python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest OMMBV -v --cov + pytest . -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From 0483bc8cc5f64a1a0ed7c633a8c3e46af060c684 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:17:12 -0600 Subject: [PATCH 097/223] BUG: Debugging tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 80f06f35a..1e467b864 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -57,7 +57,7 @@ jobs: cd tests pwd python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest . -v --cov + python -m pytest -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From 6e46be0f721816213186565bac23e94db257ab74 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:19:22 -0600 Subject: [PATCH 098/223] BUG: Debugging tests --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1e467b864..30fe6e31b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,6 +53,9 @@ jobs: - name: Run unit and integration tests run: | + pwd + ls + cd .. ls cd tests pwd From 90aa7a93806a9df9d5fac1cb35fad97edd0b20e2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:21:03 -0600 Subject: [PATCH 099/223] BUG: Debugging tests --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 30fe6e31b..fba8bd43a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,9 +56,11 @@ jobs: pwd ls cd .. + pwd ls - cd tests + cd .. pwd + ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -m pytest -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From 0d5952c7b9be5962c33a292f21c3773a3ebaccd3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:22:57 -0600 Subject: [PATCH 100/223] BUG: Debugging tests --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fba8bd43a..e50e41087 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,7 +58,8 @@ jobs: cd .. pwd ls - cd .. + mkdir test_dir + cd test_dir pwd ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" From 36aea829058b8f4a0ce096118327b644fb04d377 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:24:41 -0600 Subject: [PATCH 101/223] BUG: Debugging tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e50e41087..284fd949d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,7 +63,7 @@ jobs: pwd ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -m pytest -v --cov + python -m pytest ../OMMBV/tests -v --cov coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info From 7eeb90a3436b6cc127ddace75c3ad41d7721d5a5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:26:41 -0600 Subject: [PATCH 102/223] BUG: Debugging tests --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 284fd949d..6c6fc8611 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -58,6 +58,7 @@ jobs: cd .. pwd ls + rm -rf ./OMMBV mkdir test_dir cd test_dir pwd From 39b35d8ab0fb1a31542a48f532b656dc80814655 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:27:30 -0600 Subject: [PATCH 103/223] BUG: Debugging tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6c6fc8611..bbaeb11f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,11 +54,11 @@ jobs: - name: Run unit and integration tests run: | pwd + rm -rf ./OMMBV ls cd .. pwd ls - rm -rf ./OMMBV mkdir test_dir cd test_dir pwd From 6c20aa3cc90b68541af6b47d9efeed6c69fdcef0 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:32:34 -0600 Subject: [PATCH 104/223] TST: setup -> setup_method, teardown->teardown_method --- tests/test_apex.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_apex.py b/tests/test_apex.py index 01999c3ce..6e456a8c0 100644 --- a/tests/test_apex.py +++ b/tests/test_apex.py @@ -59,7 +59,7 @@ def test_apex_heights(self): class TestApexAccuracy(object): - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.inst = pysat.Instrument('pysat', 'testing', num_samples=100) @@ -69,7 +69,7 @@ def setup(self): self.date = dt.datetime(2000, 1, 1) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.inst From cf017a27800693b5a2881f8a81e03201558df5af Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:37:49 -0600 Subject: [PATCH 105/223] TST: setup -> setup_method, teardown->teardown_method --- tests/test_core.py | 4 ++-- tests/test_deprecation.py | 8 ++++---- tests/test_former_methods.py | 4 ++-- tests/test_satellite.py | 4 ++-- tests/test_trace.py | 4 ++-- tests/test_trans.py | 4 ++-- tests/test_utils.py | 4 ++-- tests/test_vector.py | 4 ++-- tests/test_vitmo.py | 4 ++-- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/test_core.py b/tests/test_core.py index 472a2ade2..2e86e6eb4 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -117,7 +117,7 @@ def gen_plot_grid_fixed_alt(alt): class TestUnitVectors(object): - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.date = dt.datetime(2000, 1, 1) @@ -134,7 +134,7 @@ def setup(self): return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.date, self.map_labels, self.lats, self.longs diff --git a/tests/test_deprecation.py b/tests/test_deprecation.py index 0f71d1bce..b3bd265bb 100644 --- a/tests/test_deprecation.py +++ b/tests/test_deprecation.py @@ -50,7 +50,7 @@ def eval_warnings(warns, check_msgs, warn_type=DeprecationWarning): class TestDeprecations(object): """Unit tests for deprecated inputs and functions.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" warnings.simplefilter("always", DeprecationWarning) @@ -58,7 +58,7 @@ def setup(self): self.warn_msgs = '' return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.warn_msgs, self.date return @@ -117,7 +117,7 @@ def test_core_scalars_for_mapping(self, param): class TestCoreDeprecations(object): """Unit tests for deprecated core functions.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" warnings.simplefilter("always", DeprecationWarning) @@ -126,7 +126,7 @@ def setup(self): return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.warn_msgs, self.date return diff --git a/tests/test_former_methods.py b/tests/test_former_methods.py index 5574ddf73..d2eba15c4 100644 --- a/tests/test_former_methods.py +++ b/tests/test_former_methods.py @@ -10,13 +10,13 @@ class TestIntegratedMethods(object): - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.lats, self.longs, self.alts = gen_plot_grid_fixed_alt(550.) self.date = dt.datetime(2000, 1, 1) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.lats, self.longs, self.alts diff --git a/tests/test_satellite.py b/tests/test_satellite.py index c454c1be8..54811a50b 100644 --- a/tests/test_satellite.py +++ b/tests/test_satellite.py @@ -10,13 +10,13 @@ class TestSatellite(object): - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.inst = pysat.Instrument('pysat', 'testing', num_samples=32) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.inst return diff --git a/tests/test_trace.py b/tests/test_trace.py index 8af339079..e42aae25c 100644 --- a/tests/test_trace.py +++ b/tests/test_trace.py @@ -13,7 +13,7 @@ class TestTracing(object): """Test `OMMBV.trace` functions.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.date = dt.datetime(2020, 1, 1) @@ -27,7 +27,7 @@ def setup(self): self.alts) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.lats, self.longs, self.alts diff --git a/tests/test_trans.py b/tests/test_trans.py index 0f9853ad2..80d2e3dd1 100644 --- a/tests/test_trans.py +++ b/tests/test_trans.py @@ -32,14 +32,14 @@ def assert_difference_tol(data, data2, tol=1.E-5): class TestTransformations(object): - def setup(self): + def setup_method(self): """Setup test environment before each function.""" # Locations to perform tests at self.lats, self.longs, self.alts = gen_data_fixed_alt(550.) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.lats, self.longs, self.alts diff --git a/tests/test_utils.py b/tests/test_utils.py index e11d418c0..082cf82fe 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -11,7 +11,7 @@ class TestUtils(object): """Unit tests for utils.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.start_date = dt.datetime(2000, 1, 1) @@ -20,7 +20,7 @@ def setup(self): self.end_date) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.start_date, self.end_date, self.dates diff --git a/tests/test_vector.py b/tests/test_vector.py index 44674e292..c813cfdd4 100644 --- a/tests/test_vector.py +++ b/tests/test_vector.py @@ -11,14 +11,14 @@ class TestVector(object): """Unit tests for `OMMBV.vector`.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" # Locations to perform tests at self.lats, self.longs, self.alts = gen_data_fixed_alt(550.) return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.lats, self.longs, self.alts diff --git a/tests/test_vitmo.py b/tests/test_vitmo.py index 645bf8da2..6ebf93a10 100644 --- a/tests/test_vitmo.py +++ b/tests/test_vitmo.py @@ -65,7 +65,7 @@ class TestTracingVitmo(): """Test OMMBV tracing against public results hosted by NASA.""" - def setup(self): + def setup_method(self): """Setup test environment before each function.""" self.inst = pysat.Instrument('pysat', 'testing') @@ -74,7 +74,7 @@ def setup(self): return - def teardown(self): + def teardown_method(self): """Clean up test environment after each function.""" del self.inst From b6a2d4f31dc446c4f25c47425e0c59c74663767e Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 13:52:01 -0600 Subject: [PATCH 106/223] BUG: Debugging testing --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bbaeb11f1..bf2436b02 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -65,8 +65,9 @@ jobs: ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" python -m pytest ../OMMBV/tests -v --cov - coveragepy-lcov --data_file_path .coverage --output_file_path lcov.info - + coverage report + coverage xml + mv coverage.xml ../OMMBV/. - name: Publish results to coveralls env: From e26ee4114eaf693c3eaeda30610fd868e59abf00 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 14:24:41 -0600 Subject: [PATCH 107/223] BUG: Debugging testing --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bf2436b02..5c295a917 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -61,10 +61,8 @@ jobs: ls mkdir test_dir cd test_dir - pwd - ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - python -m pytest ../OMMBV/tests -v --cov + coverage run -m --source=../OMMBV/tests pytest coverage report coverage xml mv coverage.xml ../OMMBV/. From 2dfae4d770a17fada740a10a5c45081bb057deff Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 14:32:29 -0600 Subject: [PATCH 108/223] BUG: Restored previous config --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5c295a917..701002172 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,7 +62,8 @@ jobs: mkdir test_dir cd test_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - coverage run -m --source=../OMMBV/tests pytest + + python -m pytest ../OMMBV/tests -v --cov coverage report coverage xml mv coverage.xml ../OMMBV/. From 645c90c65b7caf264bd31da0ded4c531c0d09cf2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:06:34 -0600 Subject: [PATCH 109/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 701002172..04cdba03e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,8 +62,8 @@ jobs: mkdir test_dir cd test_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - - python -m pytest ../OMMBV/tests -v --cov + + pytest OMMBV/tests -v --cov coverage report coverage xml mv coverage.xml ../OMMBV/. From 9945c6d00729a3d01ab7a4486a99e64a83ec1629 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:08:51 -0600 Subject: [PATCH 110/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 04cdba03e..b4c4f99f6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,7 +63,7 @@ jobs: cd test_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest OMMBV/tests -v --cov + pytest ../OMMBV/tests -v --cov coverage report coverage xml mv coverage.xml ../OMMBV/. From 9dd5734cbfedb090d29fdd3a35e9098c50ad2a72 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:21:30 -0600 Subject: [PATCH 111/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b4c4f99f6..6ea93c79d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,14 +59,12 @@ jobs: cd .. pwd ls - mkdir test_dir - cd test_dir python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - pytest ../OMMBV/tests -v --cov + pytest ./OMMBV/tests -v --cov coverage report coverage xml - mv coverage.xml ../OMMBV/. + mv coverage.xml ./OMMBV/. - name: Publish results to coveralls env: From 1b4d37eae7878fd9e257f54793aed1e88b86b3d2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:33:05 -0600 Subject: [PATCH 112/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6ea93c79d..a3c9deece 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,12 +53,7 @@ jobs: - name: Run unit and integration tests run: | - pwd - rm -rf ./OMMBV - ls cd .. - pwd - ls python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" pytest ./OMMBV/tests -v --cov From e909d5fa03a6be7b8fd4ed12373e94acf7ef5799 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:34:48 -0600 Subject: [PATCH 113/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3c9deece..e2a9a86e4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,6 +53,7 @@ jobs: - name: Run unit and integration tests run: | + rm -rf ./OMMBV cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" From bd99bd3d27f4bcb1be65cc48252ed709d35b2dc3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:40:48 -0600 Subject: [PATCH 114/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 4 ++-- pyproject.toml | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e2a9a86e4..d57045aca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,8 +56,8 @@ jobs: rm -rf ./OMMBV cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" - - pytest ./OMMBV/tests -v --cov + coverage run -m pytest + coverage report coverage xml mv coverage.xml ./OMMBV/. diff --git a/pyproject.toml b/pyproject.toml index ed6d53ee6..c68a9855d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,8 +39,18 @@ classifiers = [ "Operating System :: POSIX", "Operating System :: MacOS" ] -keywords = [ " " - +keywords = [ + "vector-basis", + "geomagnetic-field", + "magnetic-fields", + "field-line-tracing", + "meridional", + "zonal", + "field-aligned", + "satellite", + "electric-field-mapping", + "ion-drift-mapping", + "multipole" ] From 16c186483bbfa32c1342bf6eb56e6b507f9d786d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:55:59 -0600 Subject: [PATCH 115/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d57045aca..8aee16305 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,6 @@ jobs: - name: Run unit and integration tests run: | - rm -rf ./OMMBV cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" coverage run -m pytest From ac3d81b59e6180282d0667834bd3e3d47b85d6c8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 15:57:53 -0600 Subject: [PATCH 116/223] BUG: Testing sensitivity --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8aee16305..2b24b9bef 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,10 +53,10 @@ jobs: - name: Run unit and integration tests run: | + rm -rf ./OMMBV cd .. python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" coverage run -m pytest - coverage report coverage xml mv coverage.xml ./OMMBV/. From 39a9a9cce97c9cd75c8af4c3b9e84b6a43e3b2ee Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 16:07:46 -0600 Subject: [PATCH 117/223] TST: Add MacOS testing --- .github/workflows/main.yml | 41 +++++++++++++++++++++++++++++++++----- pyproject.toml | 4 +++- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2b24b9bef..2c05ac588 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,9 +12,28 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest] - python-version: ["3.9", "3.11", "3.12"] - numpy_ver: [latest] + os: ["ubuntu-latest"] + python-version: ["3.9", "3.10", "3.11", "3.12"] + numpy_ver: ["latest"] + include: + # Support different GA Mac environments + - python-version: "3.9" + os: "macos-13" + numpy_ver: "latest" + - python-version: "3.12" + os: "macos-13" + numpy_ver: "latest" + - python-version: "3.9" + os: "macos-latest" + numpy_ver: "latest" + - python-version: "3.12" + os: "macos-latest" + numpy_ver: "latest" + # NEP29 compliance settings + - python-version: "3.10" + numpy_ver: "1.25" + os: "ubuntu-latest" + test_config: "NEP29" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with numpy ${{ matrix.numpy_ver }} runs-on: ${{ matrix.os }} @@ -47,15 +66,27 @@ jobs: - name: Evaluate complexity run: flake8 . --count --exit-zero --max-complexity=10 --statistics - - name: Run OMMBV setup.py + - name: Install on Linux + if: ${{ matrix.os == 'ubuntu-latest' }} run: | pip install . + - name: Install on MacOS-13 + if: ${{ matrix.os == 'macos-13' }} + run: | + brew reinstall gcc@14 + CC=/usr/local/bin/gcc-14 pip install --upgrade-strategy only-if-needed . + + - name: Install on MacOS-Latest + if: ${{ matrix.os == 'macos-latest' }} + run: | + brew reinstall gcc@14 + CC=/opt/homebrew/bin/gcc-14 pip install --upgrade-strategy only-if-needed . + - name: Run unit and integration tests run: | rm -rf ./OMMBV cd .. - python -c "import OMMBV; print('Import went great! 3'); print(OMMBV.sources.colat_long_r_to_ecef(10., 10., 6350.))" coverage run -m pytest coverage report coverage xml diff --git a/pyproject.toml b/pyproject.toml index c68a9855d..1532f00da 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,9 @@ keywords = [ "satellite", "electric-field-mapping", "ion-drift-mapping", - "multipole" + "multipole", + "electrodynamics", + "plasma" ] From 49e0c8b0c0c4d333d11a868ad61f1f587b2e2025 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 16:33:03 -0600 Subject: [PATCH 118/223] TST: Add Windows testing --- .github/workflows/main.yml | 35 ++++++++++++++++++++++++++++++++--- CHANGELOG.md | 2 ++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2c05ac588..bd837901d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-latest"] + os: ["ubuntu-latest", "windows-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] numpy_ver: ["latest"] include: @@ -44,6 +44,16 @@ jobs: with: python-version: ${{ matrix.python-version }} + - name: Install Windows-specific dependencies for non-pip install + if: ${{ matrix.os == 'windows-latest' }} + run: | + choco install ninja mingw + choco install rtools --no-progress + echo "c:\rtools40\ucrt64\bin;" >> $env:GITHUB_PATH + gfortran --version + pip install flake8 meson-python pytest pytest-cov pytest-xdist scipy + pip install "numpy>=1.19.5" + - name: Install standard dependencies run: | python -m pip install --upgrade pip @@ -69,7 +79,7 @@ jobs: - name: Install on Linux if: ${{ matrix.os == 'ubuntu-latest' }} run: | - pip install . + pip install --upgrade-strategy only-if-needed . - name: Install on MacOS-13 if: ${{ matrix.os == 'macos-13' }} @@ -83,7 +93,16 @@ jobs: brew reinstall gcc@14 CC=/opt/homebrew/bin/gcc-14 pip install --upgrade-strategy only-if-needed . - - name: Run unit and integration tests + - name: Install on Windows + if: ${{ matrix.os == 'windows-latest' }} + run: | + meson setup build + ninja -j 2 -C build + cd build + meson install --destdir=${{ env.Python3_ROOT_DIR }} + + - name: Run unit and integration tests Mac/Linux + if: ${{ matrix.os != 'windows-latest' }} run: | rm -rf ./OMMBV cd .. @@ -92,6 +111,16 @@ jobs: coverage xml mv coverage.xml ./OMMBV/. + - name: Run unit and integration tests on Windows + if: ${{ matrix.os == 'windows-latest' }} + run: | + rm -rf .\OMMBV + cd .. + coverage run -m pytest + coverage report + coverage xml + mv coverage.xml .\OMMBV\. + - name: Publish results to coveralls env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d333bae4..a9d5a554b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). ## [1.0.2] - ????? +- Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx +- Added online unit testing for Linux/MacOS/Windows ## [1.0.1] - 2022-01-04 - Added pyproject.toml to support systems without numpy. From 9d31c01880d8a798ef771d7b6da915188044f137 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 16:41:46 -0600 Subject: [PATCH 119/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bd837901d..fc9c99056 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rm -rf .\OMMBV + rmdir .\OMMBV cd .. coverage run -m pytest coverage report From a8f339df6ddaf31bd433a4ca76e155fbf0f0ee83 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 16:50:56 -0600 Subject: [PATCH 120/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fc9c99056..c88ff5476 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rmdir .\OMMBV + rmdir OMMBV cd .. coverage run -m pytest coverage report From a16be3147434e8aaea845c1c2be4b82458a191b5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 16:53:47 -0600 Subject: [PATCH 121/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c88ff5476..3e221c3c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rmdir OMMBV + rmdir /S /Q OMMBV cd .. coverage run -m pytest coverage report From 72035f121deb6ed5ad96f26da04162186ce50e44 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 17:03:16 -0600 Subject: [PATCH 122/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3e221c3c7..90b37f7a4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rmdir /S /Q OMMBV + rmdir /s OMMBV cd .. coverage run -m pytest coverage report From a95bb5ae166a539c0b60a33e655acd356022dce1 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 17:11:04 -0600 Subject: [PATCH 123/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 90b37f7a4..d35499e10 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rmdir /s OMMBV + rm /OMMBV -r -force cd .. coverage run -m pytest coverage report From 07490b0a736d524e667c47315b3737ad3b002998 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 30 Jan 2025 17:15:03 -0600 Subject: [PATCH 124/223] BUG: Windows testing --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d35499e10..6e361790b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,7 +114,7 @@ jobs: - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} run: | - rm /OMMBV -r -force + rm ./OMMBV -r -force cd .. coverage run -m pytest coverage report From b264e2c87b839809fc0542b5955914f6666f77ca Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 11:20:17 -0600 Subject: [PATCH 125/223] TST: Re-run testing weekly. Helps ensure dependency updates don't break OMMBV. --- .github/workflows/main.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6e361790b..bfe3fe649 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,7 +5,11 @@ name: Pytest with Flake8 -on: [pull_request, push] +on: + pull_request: + push: + schedule: + - cron: "0 3 * * 1" # Runs 03:00 UT on Mondays jobs: build: From 3d9c6b9976e834c813c68c47678d764f42bfd888 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 16:38:16 -0600 Subject: [PATCH 126/223] Updated package to use IGRF14 --- CHANGELOG.md | 1 + OMMBV/igrf14.f | 724 ++++++++++++++++++++++++++++++++++++++++++++++++ OMMBV/sources.f | 8 +- meson.build | 8 +- 4 files changed, 733 insertions(+), 8 deletions(-) create mode 100644 OMMBV/igrf14.f diff --git a/CHANGELOG.md b/CHANGELOG.md index a9d5a554b..d05fa65ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Updated coupling to coveralls - Updated package version for security issue in sphinx - Added online unit testing for Linux/MacOS/Windows +- Updated to IGRF14 ## [1.0.1] - 2022-01-04 - Added pyproject.toml to support systems without numpy. diff --git a/OMMBV/igrf14.f b/OMMBV/igrf14.f new file mode 100644 index 000000000..84363b022 --- /dev/null +++ b/OMMBV/igrf14.f @@ -0,0 +1,724 @@ + subroutine igrf14syn (isv,date,itype,alt,colat,elong,x,y,z,f) +c +c This is a synthesis routine for the 14th generation IGRF as agreed +c in December 2024 by IAGA Working Group V-MOD. It is valid 1900.0 to +c 2030.0 inclusive. Values for dates from 1945.0 to 2020.0 inclusive are +c definitive, otherwise they are non-definitive. +c INPUT +c isv = 0 if main-field values are required +c isv = 1 if secular variation values are required +c date = year A.D. Must be greater than or equal to 1900.0 and +c less than or equal to 2035.0. Warning message is given +c for dates greater than 2030.0. Must be double precision. +c itype = 1 if geodetic (spheroid) +c itype = 2 if geocentric (sphere) +c alt = height in km above sea level if itype = 1 +c = distance from centre of Earth in km if itype = 2 (>3485 km) +c colat = colatitude (0-180) +c elong = east-longitude (0-360) +c alt, colat and elong must be double precision. +c OUTPUT +c x = north component (nT) if isv = 0, nT/year if isv = 1 +c y = east component (nT) if isv = 0, nT/year if isv = 1 +c z = vertical component (nT) if isv = 0, nT/year if isv = 1 +c f = total intensity (nT) if isv = 0, rubbish if isv = 1 +c +c To get the other geomagnetic elements (D, I, H and secular +c variations dD, dH, dI and dF) use routines ptoc and ptocsv. +c +c Adapted from 8th generation version to include new maximum degree for +c main-field models for 2000.0 and onwards and use WGS84 spheroid instead +c of International Astronomical Union 1966 spheroid as recommended by IAGA +c in July 2003. Reference radius remains as 6371.2 km - it is NOT the mean +c radius (= 6371.0 km) but 6371.2 km is what is used in determining the +c coefficients. Adaptation by Susan Macmillan, August 2003 (for +c 9th generation), December 2004, December 2009 & December 2014; +c by William Brown, December 2019, February 2020. Updated by +c Ciaran Beggan, November 2024 +c +c Coefficients at 1995.0 incorrectly rounded (rounded up instead of +c to even) included as these are the coefficients published in Excel +c spreadsheet July 2005. +c + implicit double precision (a-h,o-z) + dimension gh(3840),g0(120),g1(120),g2(120),g3(120),g4(120), + 1 g5(120),g6(120),g7(120),g8(120),g9(120),ga(120), + 2 gb(120),gc(120),gd(120),ge(120),gf(120),gg(120), + 3 gi(120),gj(120),gk(195),gl(195),gm(195),gp(195), + 4 gq(195),gr(195),gs(195),gt(195), + 5 p(105),q(105),cl(13),sl(13) + equivalence (g0,gh(1)),(g1,gh(121)),(g2,gh(241)),(g3,gh(361)), + 1 (g4,gh(481)),(g5,gh(601)),(g6,gh(721)),(g7,gh(841)), + 2 (g8,gh(961)),(g9,gh(1081)),(ga,gh(1201)), + 3 (gb,gh(1321)),(gc,gh(1441)),(gd,gh(1561)), + 4 (ge,gh(1681)),(gf,gh(1801)),(gg,gh(1921)), + 5 (gi,gh(2041)),(gj,gh(2161)),(gk,gh(2281)), + 6 (gl,gh(2476)),(gm,gh(2671)),(gp,gh(2866)), + 7 (gq,gh(3061)),(gr,gh(3256)),(gs,gh(3451)), + 8 (gt,gh(3646)) +c + data g0/ -31543.,-2298., 5922., -677., 2905.,-1061., 924., 1121., 1900 + 1 1022.,-1469., -330., 1256., 3., 572., 523., 876., 1900 + 2 628., 195., 660., -69., -361., -210., 134., -75., 1900 + 3 -184., 328., -210., 264., 53., 5., -33., -86., 1900 + 4 -124., -16., 3., 63., 61., -9., -11., 83., 1900 + 5 -217., 2., -58., -35., 59., 36., -90., -69., 1900 + 6 70., -55., -45., 0., -13., 34., -10., -41., 1900 + 7 -1., -21., 28., 18., -12., 6., -22., 11., 1900 + 8 8., 8., -4., -14., -9., 7., 1., -13., 1900 + 9 2., 5., -9., 16., 5., -5., 8., -18., 1900 + a 8., 10., -20., 1., 14., -11., 5., 12., 1900 + b -3., 1., -2., -2., 8., 2., 10., -1., 1900 + c -2., -1., 2., -3., -4., 2., 2., 1., 1900 + d -5., 2., -2., 6., 6., -4., 4., 0., 1900 + e 0., -2., 2., 4., 2., 0., 0., -6./ 1900 + data g1/ -31464.,-2298., 5909., -728., 2928.,-1086., 1041., 1065., 1905 + 1 1037.,-1494., -357., 1239., 34., 635., 480., 880., 1905 + 2 643., 203., 653., -77., -380., -201., 146., -65., 1905 + 3 -192., 328., -193., 259., 56., -1., -32., -93., 1905 + 4 -125., -26., 11., 62., 60., -7., -11., 86., 1905 + 5 -221., 4., -57., -32., 57., 32., -92., -67., 1905 + 6 70., -54., -46., 0., -14., 33., -11., -41., 1905 + 7 0., -20., 28., 18., -12., 6., -22., 11., 1905 + 8 8., 8., -4., -15., -9., 7., 1., -13., 1905 + 9 2., 5., -8., 16., 5., -5., 8., -18., 1905 + a 8., 10., -20., 1., 14., -11., 5., 12., 1905 + b -3., 1., -2., -2., 8., 2., 10., 0., 1905 + c -2., -1., 2., -3., -4., 2., 2., 1., 1905 + d -5., 2., -2., 6., 6., -4., 4., 0., 1905 + e 0., -2., 2., 4., 2., 0., 0., -6./ 1905 + data g2/ -31354.,-2297., 5898., -769., 2948.,-1128., 1176., 1000., 1910 + 1 1058.,-1524., -389., 1223., 62., 705., 425., 884., 1910 + 2 660., 211., 644., -90., -400., -189., 160., -55., 1910 + 3 -201., 327., -172., 253., 57., -9., -33., -102., 1910 + 4 -126., -38., 21., 62., 58., -5., -11., 89., 1910 + 5 -224., 5., -54., -29., 54., 28., -95., -65., 1910 + 6 71., -54., -47., 1., -14., 32., -12., -40., 1910 + 7 1., -19., 28., 18., -13., 6., -22., 11., 1910 + 8 8., 8., -4., -15., -9., 6., 1., -13., 1910 + 9 2., 5., -8., 16., 5., -5., 8., -18., 1910 + a 8., 10., -20., 1., 14., -11., 5., 12., 1910 + b -3., 1., -2., -2., 8., 2., 10., 0., 1910 + c -2., -1., 2., -3., -4., 2., 2., 1., 1910 + d -5., 2., -2., 6., 6., -4., 4., 0., 1910 + e 0., -2., 2., 4., 2., 0., 0., -6./ 1910 + data g3/ -31212.,-2306., 5875., -802., 2956.,-1191., 1309., 917., 1915 + 1 1084.,-1559., -421., 1212., 84., 778., 360., 887., 1915 + 2 678., 218., 631., -109., -416., -173., 178., -51., 1915 + 3 -211., 327., -148., 245., 58., -16., -34., -111., 1915 + 4 -126., -51., 32., 61., 57., -2., -10., 93., 1915 + 5 -228., 8., -51., -26., 49., 23., -98., -62., 1915 + 6 72., -54., -48., 2., -14., 31., -12., -38., 1915 + 7 2., -18., 28., 19., -15., 6., -22., 11., 1915 + 8 8., 8., -4., -15., -9., 6., 2., -13., 1915 + 9 3., 5., -8., 16., 6., -5., 8., -18., 1915 + a 8., 10., -20., 1., 14., -11., 5., 12., 1915 + b -3., 1., -2., -2., 8., 2., 10., 0., 1915 + c -2., -1., 2., -3., -4., 2., 2., 1., 1915 + d -5., 2., -2., 6., 6., -4., 4., 0., 1915 + e 0., -2., 1., 4., 2., 0., 0., -6./ 1915 + data g4/ -31060.,-2317., 5845., -839., 2959.,-1259., 1407., 823., 1920 + 1 1111.,-1600., -445., 1205., 103., 839., 293., 889., 1920 + 2 695., 220., 616., -134., -424., -153., 199., -57., 1920 + 3 -221., 326., -122., 236., 58., -23., -38., -119., 1920 + 4 -125., -62., 43., 61., 55., 0., -10., 96., 1920 + 5 -233., 11., -46., -22., 44., 18., -101., -57., 1920 + 6 73., -54., -49., 2., -14., 29., -13., -37., 1920 + 7 4., -16., 28., 19., -16., 6., -22., 11., 1920 + 8 7., 8., -3., -15., -9., 6., 2., -14., 1920 + 9 4., 5., -7., 17., 6., -5., 8., -19., 1920 + a 8., 10., -20., 1., 14., -11., 5., 12., 1920 + b -3., 1., -2., -2., 9., 2., 10., 0., 1920 + c -2., -1., 2., -3., -4., 2., 2., 1., 1920 + d -5., 2., -2., 6., 6., -4., 4., 0., 1920 + e 0., -2., 1., 4., 3., 0., 0., -6./ 1920 + data g5/ -30926.,-2318., 5817., -893., 2969.,-1334., 1471., 728., 1925 + 1 1140.,-1645., -462., 1202., 119., 881., 229., 891., 1925 + 2 711., 216., 601., -163., -426., -130., 217., -70., 1925 + 3 -230., 326., -96., 226., 58., -28., -44., -125., 1925 + 4 -122., -69., 51., 61., 54., 3., -9., 99., 1925 + 5 -238., 14., -40., -18., 39., 13., -103., -52., 1925 + 6 73., -54., -50., 3., -14., 27., -14., -35., 1925 + 7 5., -14., 29., 19., -17., 6., -21., 11., 1925 + 8 7., 8., -3., -15., -9., 6., 2., -14., 1925 + 9 4., 5., -7., 17., 7., -5., 8., -19., 1925 + a 8., 10., -20., 1., 14., -11., 5., 12., 1925 + b -3., 1., -2., -2., 9., 2., 10., 0., 1925 + c -2., -1., 2., -3., -4., 2., 2., 1., 1925 + d -5., 2., -2., 6., 6., -4., 4., 0., 1925 + e 0., -2., 1., 4., 3., 0., 0., -6./ 1925 + data g6/ -30805.,-2316., 5808., -951., 2980.,-1424., 1517., 644., 1930 + 1 1172.,-1692., -480., 1205., 133., 907., 166., 896., 1930 + 2 727., 205., 584., -195., -422., -109., 234., -90., 1930 + 3 -237., 327., -72., 218., 60., -32., -53., -131., 1930 + 4 -118., -74., 58., 60., 53., 4., -9., 102., 1930 + 5 -242., 19., -32., -16., 32., 8., -104., -46., 1930 + 6 74., -54., -51., 4., -15., 25., -14., -34., 1930 + 7 6., -12., 29., 18., -18., 6., -20., 11., 1930 + 8 7., 8., -3., -15., -9., 5., 2., -14., 1930 + 9 5., 5., -6., 18., 8., -5., 8., -19., 1930 + a 8., 10., -20., 1., 14., -12., 5., 12., 1930 + b -3., 1., -2., -2., 9., 3., 10., 0., 1930 + c -2., -2., 2., -3., -4., 2., 2., 1., 1930 + d -5., 2., -2., 6., 6., -4., 4., 0., 1930 + e 0., -2., 1., 4., 3., 0., 0., -6./ 1930 + data g7/ -30715.,-2306., 5812.,-1018., 2984.,-1520., 1550., 586., 1935 + 1 1206.,-1740., -494., 1215., 146., 918., 101., 903., 1935 + 2 744., 188., 565., -226., -415., -90., 249., -114., 1935 + 3 -241., 329., -51., 211., 64., -33., -64., -136., 1935 + 4 -115., -76., 64., 59., 53., 4., -8., 104., 1935 + 5 -246., 25., -25., -15., 25., 4., -106., -40., 1935 + 6 74., -53., -52., 4., -17., 23., -14., -33., 1935 + 7 7., -11., 29., 18., -19., 6., -19., 11., 1935 + 8 7., 8., -3., -15., -9., 5., 1., -15., 1935 + 9 6., 5., -6., 18., 8., -5., 7., -19., 1935 + a 8., 10., -20., 1., 15., -12., 5., 11., 1935 + b -3., 1., -3., -2., 9., 3., 11., 0., 1935 + c -2., -2., 2., -3., -4., 2., 2., 1., 1935 + d -5., 2., -2., 6., 6., -4., 4., 0., 1935 + e 0., -1., 2., 4., 3., 0., 0., -6./ 1935 + data g8/ -30654.,-2292., 5821.,-1106., 2981.,-1614., 1566., 528., 1940 + 1 1240.,-1790., -499., 1232., 163., 916., 43., 914., 1940 + 2 762., 169., 550., -252., -405., -72., 265., -141., 1940 + 3 -241., 334., -33., 208., 71., -33., -75., -141., 1940 + 4 -113., -76., 69., 57., 54., 4., -7., 105., 1940 + 5 -249., 33., -18., -15., 18., 0., -107., -33., 1940 + 6 74., -53., -52., 4., -18., 20., -14., -31., 1940 + 7 7., -9., 29., 17., -20., 5., -19., 11., 1940 + 8 7., 8., -3., -14., -10., 5., 1., -15., 1940 + 9 6., 5., -5., 19., 9., -5., 7., -19., 1940 + a 8., 10., -21., 1., 15., -12., 5., 11., 1940 + b -3., 1., -3., -2., 9., 3., 11., 1., 1940 + c -2., -2., 2., -3., -4., 2., 2., 1., 1940 + d -5., 2., -2., 6., 6., -4., 4., 0., 1940 + e 0., -1., 2., 4., 3., 0., 0., -6./ 1940 + data g9/ -30594.,-2285., 5810.,-1244., 2990.,-1702., 1578., 477., 1945 + 1 1282.,-1834., -499., 1255., 186., 913., -11., 944., 1945 + 2 776., 144., 544., -276., -421., -55., 304., -178., 1945 + 3 -253., 346., -12., 194., 95., -20., -67., -142., 1945 + 4 -119., -82., 82., 59., 57., 6., 6., 100., 1945 + 5 -246., 16., -25., -9., 21., -16., -104., -39., 1945 + 6 70., -40., -45., 0., -18., 0., 2., -29., 1945 + 7 6., -10., 28., 15., -17., 29., -22., 13., 1945 + 8 7., 12., -8., -21., -5., -12., 9., -7., 1945 + 9 7., 2., -10., 18., 7., 3., 2., -11., 1945 + a 5., -21., -27., 1., 17., -11., 29., 3., 1945 + b -9., 16., 4., -3., 9., -4., 6., -3., 1945 + c 1., -4., 8., -3., 11., 5., 1., 1., 1945 + d 2., -20., -5., -1., -1., -6., 8., 6., 1945 + e -1., -4., -3., -2., 5., 0., -2., -2./ 1945 + data ga/ -30554.,-2250., 5815.,-1341., 2998.,-1810., 1576., 381., 1950 + 1 1297.,-1889., -476., 1274., 206., 896., -46., 954., 1950 + 2 792., 136., 528., -278., -408., -37., 303., -210., 1950 + 3 -240., 349., 3., 211., 103., -20., -87., -147., 1950 + 4 -122., -76., 80., 54., 57., -1., 4., 99., 1950 + 5 -247., 33., -16., -12., 12., -12., -105., -30., 1950 + 6 65., -55., -35., 2., -17., 1., 0., -40., 1950 + 7 10., -7., 36., 5., -18., 19., -16., 22., 1950 + 8 15., 5., -4., -22., -1., 0., 11., -21., 1950 + 9 15., -8., -13., 17., 5., -4., -1., -17., 1950 + a 3., -7., -24., -1., 19., -25., 12., 10., 1950 + b 2., 5., 2., -5., 8., -2., 8., 3., 1950 + c -11., 8., -7., -8., 4., 13., -1., -2., 1950 + d 13., -10., -4., 2., 4., -3., 12., 6., 1950 + e 3., -3., 2., 6., 10., 11., 3., 8./ 1950 + data gb/ -30500.,-2215., 5820.,-1440., 3003.,-1898., 1581., 291., 1955 + 1 1302.,-1944., -462., 1288., 216., 882., -83., 958., 1955 + 2 796., 133., 510., -274., -397., -23., 290., -230., 1955 + 3 -229., 360., 15., 230., 110., -23., -98., -152., 1955 + 4 -121., -69., 78., 47., 57., -9., 3., 96., 1955 + 5 -247., 48., -8., -16., 7., -12., -107., -24., 1955 + 6 65., -56., -50., 2., -24., 10., -4., -32., 1955 + 7 8., -11., 28., 9., -20., 18., -18., 11., 1955 + 8 9., 10., -6., -15., -14., 5., 6., -23., 1955 + 9 10., 3., -7., 23., 6., -4., 9., -13., 1955 + a 4., 9., -11., -4., 12., -5., 7., 2., 1955 + b 6., 4., -2., 1., 10., 2., 7., 2., 1955 + c -6., 5., 5., -3., -5., -4., -1., 0., 1955 + d 2., -8., -3., -2., 7., -4., 4., 1., 1955 + e -2., -3., 6., 7., -2., -1., 0., -3./ 1955 + data gc/ -30421.,-2169., 5791.,-1555., 3002.,-1967., 1590., 206., 1960 + 1 1302.,-1992., -414., 1289., 224., 878., -130., 957., 1960 + 2 800., 135., 504., -278., -394., 3., 269., -255., 1960 + 3 -222., 362., 16., 242., 125., -26., -117., -156., 1960 + 4 -114., -63., 81., 46., 58., -10., 1., 99., 1960 + 5 -237., 60., -1., -20., -2., -11., -113., -17., 1960 + 6 67., -56., -55., 5., -28., 15., -6., -32., 1960 + 7 7., -7., 23., 17., -18., 8., -17., 15., 1960 + 8 6., 11., -4., -14., -11., 7., 2., -18., 1960 + 9 10., 4., -5., 23., 10., 1., 8., -20., 1960 + a 4., 6., -18., 0., 12., -9., 2., 1., 1960 + b 0., 4., -3., -1., 9., -2., 8., 3., 1960 + c 0., -1., 5., 1., -3., 4., 4., 1., 1960 + d 0., 0., -1., 2., 4., -5., 6., 1., 1960 + e 1., -1., -1., 6., 2., 0., 0., -7./ 1960 + data gd/ -30334.,-2119., 5776.,-1662., 2997.,-2016., 1594., 114., 1965 + 1 1297.,-2038., -404., 1292., 240., 856., -165., 957., 1965 + 2 804., 148., 479., -269., -390., 13., 252., -269., 1965 + 3 -219., 358., 19., 254., 128., -31., -126., -157., 1965 + 4 -97., -62., 81., 45., 61., -11., 8., 100., 1965 + 5 -228., 68., 4., -32., 1., -8., -111., -7., 1965 + 6 75., -57., -61., 4., -27., 13., -2., -26., 1965 + 7 6., -6., 26., 13., -23., 1., -12., 13., 1965 + 8 5., 7., -4., -12., -14., 9., 0., -16., 1965 + 9 8., 4., -1., 24., 11., -3., 4., -17., 1965 + a 8., 10., -22., 2., 15., -13., 7., 10., 1965 + b -4., -1., -5., -1., 10., 5., 10., 1., 1965 + c -4., -2., 1., -2., -3., 2., 2., 1., 1965 + d -5., 2., -2., 6., 4., -4., 4., 0., 1965 + e 0., -2., 2., 3., 2., 0., 0., -6./ 1965 + data ge/ -30220.,-2068., 5737.,-1781., 3000.,-2047., 1611., 25., 1970 + 1 1287.,-2091., -366., 1278., 251., 838., -196., 952., 1970 + 2 800., 167., 461., -266., -395., 26., 234., -279., 1970 + 3 -216., 359., 26., 262., 139., -42., -139., -160., 1970 + 4 -91., -56., 83., 43., 64., -12., 15., 100., 1970 + 5 -212., 72., 2., -37., 3., -6., -112., 1., 1970 + 6 72., -57., -70., 1., -27., 14., -4., -22., 1970 + 7 8., -2., 23., 13., -23., -2., -11., 14., 1970 + 8 6., 7., -2., -15., -13., 6., -3., -17., 1970 + 9 5., 6., 0., 21., 11., -6., 3., -16., 1970 + a 8., 10., -21., 2., 16., -12., 6., 10., 1970 + b -4., -1., -5., 0., 10., 3., 11., 1., 1970 + c -2., -1., 1., -3., -3., 1., 2., 1., 1970 + d -5., 3., -1., 4., 6., -4., 4., 0., 1970 + e 1., -1., 0., 3., 3., 1., -1., -4./ 1970 + data gf/ -30100.,-2013., 5675.,-1902., 3010.,-2067., 1632., -68., 1975 + 1 1276.,-2144., -333., 1260., 262., 830., -223., 946., 1975 + 2 791., 191., 438., -265., -405., 39., 216., -288., 1975 + 3 -218., 356., 31., 264., 148., -59., -152., -159., 1975 + 4 -83., -49., 88., 45., 66., -13., 28., 99., 1975 + 5 -198., 75., 1., -41., 6., -4., -111., 11., 1975 + 6 71., -56., -77., 1., -26., 16., -5., -14., 1975 + 7 10., 0., 22., 12., -23., -5., -12., 14., 1975 + 8 6., 6., -1., -16., -12., 4., -8., -19., 1975 + 9 4., 6., 0., 18., 10., -10., 1., -17., 1975 + a 7., 10., -21., 2., 16., -12., 7., 10., 1975 + b -4., -1., -5., -1., 10., 4., 11., 1., 1975 + c -3., -2., 1., -3., -3., 1., 2., 1., 1975 + d -5., 3., -2., 4., 5., -4., 4., -1., 1975 + e 1., -1., 0., 3., 3., 1., -1., -5./ 1975 + data gg/ -29992.,-1956., 5604.,-1997., 3027.,-2129., 1663., -200., 1980 + 1 1281.,-2180., -336., 1251., 271., 833., -252., 938., 1980 + 2 782., 212., 398., -257., -419., 53., 199., -297., 1980 + 3 -218., 357., 46., 261., 150., -74., -151., -162., 1980 + 4 -78., -48., 92., 48., 66., -15., 42., 93., 1980 + 5 -192., 71., 4., -43., 14., -2., -108., 17., 1980 + 6 72., -59., -82., 2., -27., 21., -5., -12., 1980 + 7 16., 1., 18., 11., -23., -2., -10., 18., 1980 + 8 6., 7., 0., -18., -11., 4., -7., -22., 1980 + 9 4., 9., 3., 16., 6., -13., -1., -15., 1980 + a 5., 10., -21., 1., 16., -12., 9., 9., 1980 + b -5., -3., -6., -1., 9., 7., 10., 2., 1980 + c -6., -5., 2., -4., -4., 1., 2., 0., 1980 + d -5., 3., -2., 6., 5., -4., 3., 0., 1980 + e 1., -1., 2., 4., 3., 0., 0., -6./ 1980 + data gi/ -29873.,-1905., 5500.,-2072., 3044.,-2197., 1687., -306., 1985 + 1 1296.,-2208., -310., 1247., 284., 829., -297., 936., 1985 + 2 780., 232., 361., -249., -424., 69., 170., -297., 1985 + 3 -214., 355., 47., 253., 150., -93., -154., -164., 1985 + 4 -75., -46., 95., 53., 65., -16., 51., 88., 1985 + 5 -185., 69., 4., -48., 16., -1., -102., 21., 1985 + 6 74., -62., -83., 3., -27., 24., -2., -6., 1985 + 7 20., 4., 17., 10., -23., 0., -7., 21., 1985 + 8 6., 8., 0., -19., -11., 5., -9., -23., 1985 + 9 4., 11., 4., 14., 4., -15., -4., -11., 1985 + a 5., 10., -21., 1., 15., -12., 9., 9., 1985 + b -6., -3., -6., -1., 9., 7., 9., 1., 1985 + c -7., -5., 2., -4., -4., 1., 3., 0., 1985 + d -5., 3., -2., 6., 5., -4., 3., 0., 1985 + e 1., -1., 2., 4., 3., 0., 0., -6./ 1985 + data gj/ -29775.,-1848., 5406.,-2131., 3059.,-2279., 1686., -373., 1990 + 1 1314.,-2239., -284., 1248., 293., 802., -352., 939., 1990 + 2 780., 247., 325., -240., -423., 84., 141., -299., 1990 + 3 -214., 353., 46., 245., 154., -109., -153., -165., 1990 + 4 -69., -36., 97., 61., 65., -16., 59., 82., 1990 + 5 -178., 69., 3., -52., 18., 1., -96., 24., 1990 + 6 77., -64., -80., 2., -26., 26., 0., -1., 1990 + 7 21., 5., 17., 9., -23., 0., -4., 23., 1990 + 8 5., 10., -1., -19., -10., 6., -12., -22., 1990 + 9 3., 12., 4., 12., 2., -16., -6., -10., 1990 + a 4., 9., -20., 1., 15., -12., 11., 9., 1990 + b -7., -4., -7., -2., 9., 7., 8., 1., 1990 + c -7., -6., 2., -3., -4., 2., 2., 1., 1990 + d -5., 3., -2., 6., 4., -4., 3., 0., 1990 + e 1., -2., 3., 3., 3., -1., 0., -6./ 1990 + data gk/ -29692.,-1784., 5306.,-2200., 3070.,-2366., 1681., -413., 1995 + 1 1335.,-2267., -262., 1249., 302., 759., -427., 940., 1995 + 2 780., 262., 290., -236., -418., 97., 122., -306., 1995 + 3 -214., 352., 46., 235., 165., -118., -143., -166., 1995 + 4 -55., -17., 107., 68., 67., -17., 68., 72., 1995 + 5 -170., 67., -1., -58., 19., 1., -93., 36., 1995 + 6 77., -72., -69., 1., -25., 28., 4., 5., 1995 + 7 24., 4., 17., 8., -24., -2., -6., 25., 1995 + 8 6., 11., -6., -21., -9., 8., -14., -23., 1995 + 9 9., 15., 6., 11., -5., -16., -7., -4., 1995 + a 4., 9., -20., 3., 15., -10., 12., 8., 1995 + b -6., -8., -8., -1., 8., 10., 5., -2., 1995 + c -8., -8., 3., -3., -6., 1., 2., 0., 1995 + d -4., 4., -1., 5., 4., -5., 2., -1., 1995 + e 2., -2., 5., 1., 1., -2., 0., -7., 1995 + f 75*0./ 1995 + data gl/ -29619.4,-1728.2, 5186.1,-2267.7, 3068.4,-2481.6, 1670.9, 2000 + 1 -458.0, 1339.6,-2288.0, -227.6, 1252.1, 293.4, 714.5, 2000 + 2 -491.1, 932.3, 786.8, 272.6, 250.0, -231.9, -403.0, 2000 + 3 119.8, 111.3, -303.8, -218.8, 351.4, 43.8, 222.3, 2000 + 4 171.9, -130.4, -133.1, -168.6, -39.3, -12.9, 106.3, 2000 + 5 72.3, 68.2, -17.4, 74.2, 63.7, -160.9, 65.1, 2000 + 6 -5.9, -61.2, 16.9, 0.7, -90.4, 43.8, 79.0, 2000 + 7 -74.0, -64.6, 0.0, -24.2, 33.3, 6.2, 9.1, 2000 + 8 24.0, 6.9, 14.8, 7.3, -25.4, -1.2, -5.8, 2000 + 9 24.4, 6.6, 11.9, -9.2, -21.5, -7.9, 8.5, 2000 + a -16.6, -21.5, 9.1, 15.5, 7.0, 8.9, -7.9, 2000 + b -14.9, -7.0, -2.1, 5.0, 9.4, -19.7, 3.0, 2000 + c 13.4, -8.4, 12.5, 6.3, -6.2, -8.9, -8.4, 2000 + d -1.5, 8.4, 9.3, 3.8, -4.3, -8.2, -8.2, 2000 + e 4.8, -2.6, -6.0, 1.7, 1.7, 0.0, -3.1, 2000 + f 4.0, -0.5, 4.9, 3.7, -5.9, 1.0, -1.2, 2000 + g 2.0, -2.9, 4.2, 0.2, 0.3, -2.2, -1.1, 2000 + h -7.4, 2.7, -1.7, 0.1, -1.9, 1.3, 1.5, 2000 + i -0.9, -0.1, -2.6, 0.1, 0.9, -0.7, -0.7, 2000 + j 0.7, -2.8, 1.7, -0.9, 0.1, -1.2, 1.2, 2000 + k -1.9, 4.0, -0.9, -2.2, -0.3, -0.4, 0.2, 2000 + l 0.3, 0.9, 2.5, -0.2, -2.6, 0.9, 0.7, 2000 + m -0.5, 0.3, 0.3, 0.0, -0.3, 0.0, -0.4, 2000 + n 0.3, -0.1, -0.9, -0.2, -0.4, -0.4, 0.8, 2000 + o -0.2, -0.9, -0.9, 0.3, 0.2, 0.1, 1.8, 2000 + p -0.4, -0.4, 1.3, -1.0, -0.4, -0.1, 0.7, 2000 + q 0.7, -0.4, 0.3, 0.3, 0.6, -0.1, 0.3, 2000 + r 0.4, -0.2, 0.0, -0.5, 0.1, -0.9/ 2000 + data gm/-29554.63,-1669.05, 5077.99,-2337.24, 3047.69,-2594.50, 2005 + 1 1657.76, -515.43, 1336.30,-2305.83, -198.86, 1246.39, 2005 + 2 269.72, 672.51, -524.72, 920.55, 797.96, 282.07, 2005 + 3 210.65, -225.23, -379.86, 145.15, 100.00, -305.36, 2005 + 4 -227.00, 354.41, 42.72, 208.95, 180.25, -136.54, 2005 + 5 -123.45, -168.05, -19.57, -13.55, 103.85, 73.60, 2005 + 6 69.56, -20.33, 76.74, 54.75, -151.34, 63.63, 2005 + 7 -14.58, -63.53, 14.58, 0.24, -86.36, 50.94, 2005 + 8 79.88, -74.46, -61.14, -1.65, -22.57, 38.73, 2005 + 9 6.82, 12.30, 25.35, 9.37, 10.93, 5.42, 2005 + a -26.32, 1.94, -4.64, 24.80, 7.62, 11.20, 2005 + b -11.73, -20.88, -6.88, 9.83, -18.11, -19.71, 2005 + c 10.17, 16.22, 9.36, 7.61, -11.25, -12.76, 2005 + d -4.87, -0.06, 5.58, 9.76, -20.11, 3.58, 2005 + e 12.69, -6.94, 12.67, 5.01, -6.72, -10.76, 2005 + f -8.16, -1.25, 8.10, 8.76, 2.92, -6.66, 2005 + g -7.73, -9.22, 6.01, -2.17, -6.12, 2.19, 2005 + h 1.42, 0.10, -2.35, 4.46, -0.15, 4.76, 2005 + i 3.06, -6.58, 0.29, -1.01, 2.06, -3.47, 2005 + j 3.77, -0.86, -0.21, -2.31, -2.09, -7.93, 2005 + k 2.95, -1.60, 0.26, -1.88, 1.44, 1.44, 2005 + l -0.77, -0.31, -2.27, 0.29, 0.90, -0.79, 2005 + m -0.58, 0.53, -2.69, 1.80, -1.08, 0.16, 2005 + n -1.58, 0.96, -1.90, 3.99, -1.39, -2.15, 2005 + o -0.29, -0.55, 0.21, 0.23, 0.89, 2.38, 2005 + p -0.38, -2.63, 0.96, 0.61, -0.30, 0.40, 2005 + q 0.46, 0.01, -0.35, 0.02, -0.36, 0.28, 2005 + r 0.08, -0.87, -0.49, -0.34, -0.08, 0.88, 2005 + s -0.16, -0.88, -0.76, 0.30, 0.33, 0.28, 2005 + t 1.72, -0.43, -0.54, 1.18, -1.07, -0.37, 2005 + u -0.04, 0.75, 0.63, -0.26, 0.21, 0.35, 2005 + v 0.53, -0.05, 0.38, 0.41, -0.22, -0.10, 2005 + w -0.57, -0.18, -0.82/ 2005 + data gp/-29496.57,-1586.42, 4944.26,-2396.06, 3026.34,-2708.54, 2010 + 1 1668.17, -575.73, 1339.85,-2326.54, -160.40, 1232.10, 2010 + 2 251.75, 633.73, -537.03, 912.66, 808.97, 286.48, 2010 + 3 166.58, -211.03, -356.83, 164.46, 89.40, -309.72, 2010 + 4 -230.87, 357.29, 44.58, 200.26, 189.01, -141.05, 2010 + 5 -118.06, -163.17, -0.01, -8.03, 101.04, 72.78, 2010 + 6 68.69, -20.90, 75.92, 44.18, -141.40, 61.54, 2010 + 7 -22.83, -66.26, 13.10, 3.02, -78.09, 55.40, 2010 + 8 80.44, -75.00, -57.80, -4.55, -21.20, 45.24, 2010 + 9 6.54, 14.00, 24.96, 10.46, 7.03, 1.64, 2010 + a -27.61, 4.92, -3.28, 24.41, 8.21, 10.84, 2010 + b -14.50, -20.03, -5.59, 11.83, -19.34, -17.41, 2010 + c 11.61, 16.71, 10.85, 6.96, -14.05, -10.74, 2010 + d -3.54, 1.64, 5.50, 9.45, -20.54, 3.45, 2010 + e 11.51, -5.27, 12.75, 3.13, -7.14, -12.38, 2010 + f -7.42, -0.76, 7.97, 8.43, 2.14, -8.42, 2010 + g -6.08, -10.08, 7.01, -1.94, -6.24, 2.73, 2010 + h 0.89, -0.10, -1.07, 4.71, -0.16, 4.44, 2010 + i 2.45, -7.22, -0.33, -0.96, 2.13, -3.95, 2010 + j 3.09, -1.99, -1.03, -1.97, -2.80, -8.31, 2010 + k 3.05, -1.48, 0.13, -2.03, 1.67, 1.65, 2010 + l -0.66, -0.51, -1.76, 0.54, 0.85, -0.79, 2010 + m -0.39, 0.37, -2.51, 1.79, -1.27, 0.12, 2010 + n -2.11, 0.75, -1.94, 3.75, -1.86, -2.12, 2010 + o -0.21, -0.87, 0.30, 0.27, 1.04, 2.13, 2010 + p -0.63, -2.49, 0.95, 0.49, -0.11, 0.59, 2010 + q 0.52, 0.00, -0.39, 0.13, -0.37, 0.27, 2010 + r 0.21, -0.86, -0.77, -0.23, 0.04, 0.87, 2010 + s -0.09, -0.89, -0.87, 0.31, 0.30, 0.42, 2010 + t 1.66, -0.45, -0.59, 1.08, -1.14, -0.31, 2010 + u -0.07, 0.78, 0.54, -0.18, 0.10, 0.38, 2010 + v 0.49, 0.02, 0.44, 0.42, -0.25, -0.26, 2010 + w -0.53, -0.26, -0.79/ 2010 + data gq/-29441.46,-1501.77, 4795.99,-2445.88, 3012.20,-2845.41, 2015 + 1 1676.35, -642.17, 1350.33,-2352.26, -115.29, 1225.85, 2015 + 2 245.04, 581.69, -538.70, 907.42, 813.68, 283.54, 2015 + 3 120.49, -188.43, -334.85, 180.95, 70.38, -329.23, 2015 + 4 -232.91, 360.14, 46.98, 192.35, 196.98, -140.94, 2015 + 5 -119.14, -157.40, 15.98, 4.30, 100.12, 69.55, 2015 + 6 67.57, -20.61, 72.79, 33.30, -129.85, 58.74, 2015 + 7 -28.93, -66.64, 13.14, 7.35, -70.85, 62.41, 2015 + 8 81.29, -75.99, -54.27, -6.79, -19.53, 51.82, 2015 + 9 5.59, 15.07, 24.45, 9.32, 3.27, -2.88, 2015 + a -27.50, 6.61, -2.32, 23.98, 8.89, 10.04, 2015 + b -16.78, -18.26, -3.16, 13.18, -20.56, -14.60, 2015 + c 13.33, 16.16, 11.76, 5.69, -15.98, -9.10, 2015 + d -2.02, 2.26, 5.33, 8.83, -21.77, 3.02, 2015 + e 10.76, -3.22, 11.74, 0.67, -6.74, -13.20, 2015 + f -6.88, -0.10, 7.79, 8.68, 1.04, -9.06, 2015 + g -3.89, -10.54, 8.44, -2.01, -6.26, 3.28, 2015 + h 0.17, -0.40, 0.55, 4.55, -0.55, 4.40, 2015 + i 1.70, -7.92, -0.67, -0.61, 2.13, -4.16, 2015 + j 2.33, -2.85, -1.80, -1.12, -3.59, -8.72, 2015 + k 3.00, -1.40, 0.00, -2.30, 2.11, 2.08, 2015 + l -0.60, -0.79, -1.05, 0.58, 0.76, -0.70, 2015 + m -0.20, 0.14, -2.12, 1.70, -1.44, -0.22, 2015 + n -2.57, 0.44, -2.01, 3.49, -2.34, -2.09, 2015 + o -0.16, -1.08, 0.46, 0.37, 1.23, 1.75, 2015 + p -0.89, -2.19, 0.85, 0.27, 0.10, 0.72, 2015 + q 0.54, -0.09, -0.37, 0.29, -0.43, 0.23, 2015 + r 0.22, -0.89, -0.94, -0.16, -0.03, 0.72, 2015 + s -0.02, -0.92, -0.88, 0.42, 0.49, 0.63, 2015 + t 1.56, -0.42, -0.50, 0.96, -1.24, -0.19, 2015 + u -0.10, 0.81, 0.42, -0.13, -0.04, 0.38, 2015 + v 0.48, 0.08, 0.48, 0.46, -0.30, -0.35, 2015 + w -0.43, -0.36, -0.71/ 2015 + data gr/-29403.41,-1451.37, 4653.35,-2499.78, 2981.96,-2991.72, 2020 + 1 1676.85, -734.62, 1363.00,-2380.80, -81.96, 1236.06, 2020 + 2 241.80, 525.60, -542.52, 902.82, 809.47, 282.10, 2020 + 3 86.18, -158.50, -309.47, 199.75, 47.44, -350.30, 2020 + 4 -234.42, 363.26, 47.52, 187.86, 208.36, -140.73, 2020 + 5 -121.43, -151.16, 32.09, 13.98, 99.14, 65.97, 2020 + 6 65.56, -19.22, 72.96, 25.02, -121.57, 52.76, 2020 + 7 -36.06, -64.40, 13.60, 8.96, -64.80, 68.04, 2020 + 8 80.54, -76.63, -51.50, -8.23, -16.85, 56.45, 2020 + 9 2.36, 15.80, 23.56, 6.30, -2.19, -7.21, 2020 + a -27.19, 9.77, -1.90, 23.66, 9.74, 8.43, 2020 + b -17.49, -15.23, -0.49, 12.83, -21.07, -11.76, 2020 + c 15.28, 14.94, 13.65, 3.62, -16.59, -6.90, 2020 + d -0.34, 2.90, 5.03, 8.36, -23.44, 2.84, 2020 + e 11.04, -1.48, 9.86, -1.14, -5.13, -13.22, 2020 + f -6.20, 1.08, 7.79, 8.82, 0.40, -9.23, 2020 + g -1.44, -11.86, 9.60, -1.84, -6.25, 3.38, 2020 + h -0.11, -0.18, 1.66, 3.50, -0.86, 4.86, 2020 + i 0.65, -8.62, -0.88, -0.11, 1.88, -4.26, 2020 + j 1.44, -3.43, -2.38, -0.10, -3.84, -8.84, 2020 + k 2.96, -1.36, -0.02, -2.51, 2.50, 2.31, 2020 + l -0.55, -0.85, -0.39, 0.28, 0.62, -0.66, 2020 + m -0.21, -0.07, -1.66, 1.44, -1.60, -0.59, 2020 + n -2.98, 0.18, -1.97, 3.09, -2.51, -2.00, 2020 + o -0.13, -1.15, 0.43, 0.52, 1.28, 1.37, 2020 + p -1.14, -1.81, 0.71, 0.08, 0.31, 0.71, 2020 + q 0.49, -0.15, -0.26, 0.55, -0.47, 0.16, 2020 + r 0.09, -0.93, -1.13, -0.04, -0.33, 0.52, 2020 + s 0.08, -0.93, -0.88, 0.53, 0.64, 0.72, 2020 + t 1.40, -0.30, -0.38, 0.75, -1.31, -0.01, 2020 + u -0.09, 0.76, 0.29, -0.05, -0.11, 0.37, 2020 + v 0.47, 0.13, 0.54, 0.45, -0.41, -0.46, 2020 + w -0.36, -0.40, -0.60/ 2020 + data gs/ -29350.0, -1410.3, 4545.5, -2556.2, 2950.9, -3133.6, 2025 + 1 1648.7, -814.2, 1360.9, -2404.2, -56.9, 1243.8, 2025 + 2 237.6, 453.4, -549.6, 894.7, 799.6, 278.6, 2025 + 3 55.8, -134.0, -281.1, 212.0, 12.0, -375.4, 2025 + 4 -232.9, 369.0, 45.3, 187.2, 220.0, -138.7, 2025 + 5 -122.9, -141.9, 42.9, 20.9, 106.2, 64.3, 2025 + 6 63.8, -18.4, 76.7, 16.8, -115.7, 48.9, 2025 + 7 -40.9, -59.8, 14.9, 10.9, -60.8, 72.8, 2025 + 8 79.6, -76.9, -48.9, -8.8, -14.4, 59.3, 2025 + 9 -1.0, 15.8, 23.5, 2.5, -7.4, -11.2, 2025 + a -25.1, 14.3, -2.2, 23.1, 10.9, 7.2, 2025 + b -17.5, -12.6, 2.0, 11.5, -21.8, -9.7, 2025 + c 16.9, 12.7, 14.9, 0.7, -16.8, -5.2, 2025 + d 1.0, 3.9, 4.7, 8.0, -24.8, 3.0, 2025 + e 12.1, -0.2, 8.3, -2.5, -3.4, -13.1, 2025 + f -5.3, 2.4, 7.2, 8.6, -0.6, -8.7, 2025 + g 0.8, -12.8, 9.8, -1.3, -6.4, 3.3, 2025 + h 0.2, 0.1, 2.0, 2.5, -1.0, 5.4, 2025 + i -0.5, -9.0, -0.9, 0.4, 1.5, -4.2, 2025 + j 0.9, -3.8, -2.6, 0.9, -3.9, -9.0, 2025 + k 3.0, -1.4, 0.0, -2.5, 2.8, 2.4, 2025 + l -0.6, -0.6, 0.1, 0.0, 0.5, -0.6, 2025 + m -0.3, -0.1, -1.2, 1.1, -1.7, -1.0, 2025 + n -2.9, -0.1, -1.8, 2.6, -2.3, -2.0, 2025 + o -0.1, -1.2, 0.4, 0.6, 1.2, 1.0, 2025 + p -1.2, -1.5, 0.6, 0.0, 0.5, 0.6, 2025 + q 0.5, -0.2, -0.1, 0.8, -0.5, 0.1, 2025 + r -0.2, -0.9, -1.2, 0.1, -0.7, 0.2, 2025 + s 0.2, -0.9, -0.9, 0.6, 0.7, 0.7, 2025 + t 1.2, -0.2, -0.3, 0.5, -1.3, 0.1, 2025 + u -0.1, 0.7, 0.2, 0.0, -0.2, 0.3, 2025 + v 0.5, 0.2, 0.6, 0.4, -0.6, -0.5, 2025 + w -0.3, -0.4, -0.5/ 2025 + data gt/ 12.6, 10.0, -21.5, -11.2, -5.3, -27.3, 2027 + 1 -8.3, -11.1, -1.5, -4.4, 3.8, 0.4, 2027 + 2 -0.2, -15.6, -3.9, -1.7, -2.3, -1.3, 2027 + 3 -5.8, 4.1, 5.4, 1.6, -6.8, -4.1, 2027 + 4 0.6, 1.3, -0.5, 0.0, 2.1, 0.7, 2027 + 5 0.5, 2.3, 1.7, 1.0, 1.9, -0.2, 2027 + 6 -0.3, 0.3, 0.8, -1.6, 1.2, -0.4, 2027 + 7 -0.8, 0.8, 0.4, 0.7, 0.9, 0.9, 2027 + 8 -0.1, -0.1, 0.6, -0.1, 0.5, 0.5, 2027 + 9 -0.7, -0.1, 0.0, -0.8, -0.9, -0.8, 2027 + a 0.5, 0.9, -0.3, -0.1, 0.2, -0.3, 2027 + b 0.0, 0.4, 0.4, -0.3, -0.1, 0.4, 2027 + c 0.3, -0.5, 0.1, -0.6, 0.0, 0.3, 2027 + d 0.3, 0.2, 115*0.0/ 2027 +c +c set initial values +c + x = 0.0 + y = 0.0 + z = 0.0 + if (date.lt.1900.0.or.date.gt.2035.0) go to 11 + if (date.gt.2030.0) write (6,960) date + 960 format (/' This version of the IGRF is intended for use up', + 1 ' to 2030.0.'/' values for',f9.3,' will be computed', + 2 ' but may be of reduced accuracy'/) + if (date.ge.2025.0) go to 1 + t = 0.2*(date - 1900.0) + ll = t + one = ll + t = t - one +c +c SH models before 1995.0 are only to degree 10 +c + if (date.lt.1995.0) then + nmx = 10 + nc = nmx*(nmx+2) + ll = nc*ll + kmx = (nmx+1)*(nmx+2)/2 + else + nmx = 13 + nc = nmx*(nmx+2) + ll = 0.2*(date - 1995.0) +c +c 19 is the number of SH models that extend to degree 10 +c + ll = 120*19 + nc*ll + kmx = (nmx+1)*(nmx+2)/2 + endif + tc = 1.0 - t + if (isv.eq.1) then + tc = -0.2 + t = 0.2 + end if + go to 2 +c + 1 t = date - 2025.0 + tc = 1.0 + if (isv.eq.1) then + t = 1.0 + tc = 0.0 + end if +c +c pointer for last coefficient in pen-ultimate set of MF coefficients... +c + ll = 3450 + nmx = 13 + nc = nmx*(nmx+2) + kmx = (nmx+1)*(nmx+2)/2 + 2 r = alt + one = colat*0.017453292 + ct = cos(one) + st = sin(one) + one = elong*0.017453292 + cl(1) = cos(one) + sl(1) = sin(one) + cd = 1.0 + sd = 0.0 + l = 1 + m = 1 + n = 0 + if (itype.eq.2) go to 3 +c +c conversion from geodetic to geocentric coordinates +c (using the WGS84 spheroid) +c + a2 = 40680631.6 + b2 = 40408296.0 + one = a2*st*st + two = b2*ct*ct + three = one + two + rho = sqrt(three) + r = sqrt(alt*(alt + 2.0*rho) + (a2*one + b2*two)/three) + cd = (alt + rho)/r + sd = (a2 - b2)/rho*ct*st/r + one = ct + ct = ct*cd - st*sd + st = st*cd + one*sd +c + 3 ratio = 6371.2/r + rr = ratio*ratio +c +c computation of Schmidt quasi-normal coefficients p and x(=q) +c + p(1) = 1.0 + p(3) = st + q(1) = 0.0 + q(3) = ct + do 10 k=2,kmx + if (n.ge.m) go to 4 + m = 0 + n = n + 1 + rr = rr*ratio + fn = n + gn = n - 1 + 4 fm = m + if (m.ne.n) go to 5 + if (k.eq.3) go to 6 + one = sqrt(1.0 - 0.5/fm) + j = k - n - 1 + p(k) = one*st*p(j) + q(k) = one*(st*q(j) + ct*p(j)) + cl(m) = cl(m-1)*cl(1) - sl(m-1)*sl(1) + sl(m) = sl(m-1)*cl(1) + cl(m-1)*sl(1) + go to 6 + 5 gmm = m*m + one = sqrt(fn*fn - gmm) + two = sqrt(gn*gn - gmm)/one + three = (fn + gn)/one + i = k - n + j = i - n + 1 + p(k) = three*ct*p(i) - two*p(j) + q(k) = three*(ct*q(i) - st*p(i)) - two*q(j) +c +c synthesis of x, y and z in geocentric coordinates +c + 6 lm = ll + l + one = (tc*gh(lm) + t*gh(lm+nc))*rr + if (m.eq.0) go to 9 + two = (tc*gh(lm+1) + t*gh(lm+nc+1))*rr + three = one*cl(m) + two*sl(m) + x = x + three*q(k) + z = z - (fn + 1.0)*three*p(k) + if (st.eq.0.0) go to 7 + y = y + (one*sl(m) - two*cl(m))*fm*p(k)/st + go to 8 + 7 y = y + (one*sl(m) - two*cl(m))*q(k)*ct + 8 l = l + 2 + go to 10 + 9 x = x + one*q(k) + z = z - (fn + 1.0)*one*p(k) + l = l + 1 + 10 m = m + 1 +c +c conversion to coordinate system specified by itype +c + one = x + x = x*cd + z*sd + z = z*cd - one*sd + f = sqrt(x*x + y*y + z*z) +c + return +c +c error return if date out of bounds +c + 11 f = 1.0d8 + write (6,961) date + 961 format (/' This subroutine will not work with a date of', + 1 f9.3,'. Date must be in the range 1900.0.ge.date', + 2 '.le.2035.0. On return f = 1.0d8., x = y = z = 0.') + return + end \ No newline at end of file diff --git a/OMMBV/sources.f b/OMMBV/sources.f index 4d5d50cac..d285258b6 100644 --- a/OMMBV/sources.f +++ b/OMMBV/sources.f @@ -341,7 +341,7 @@ subroutine gen_step(mflag,gflag,out,pos,t,date,step,dir,height) ! Generalized integrand field-line step function for testing ! IGRF call - external :: igrf13syn + external :: igrf14syn ! pos is (x,y,z) in ECEF coordinates real*8, dimension(3) :: pos ! t is total time supplied by integration routine, ignored @@ -379,7 +379,7 @@ subroutine gen_step(mflag,gflag,out,pos,t,date,step,dir,height) if (mflag.eq.-1) then ! Use IGRF. Supported to ensure reults same as operational ! IGRF function. - call igrf13syn(0,date,2,r,colat,elong,bn,be,bd,bm) + call igrf14syn(0,date,2,r,colat,elong,bn,be,bd,bm) else ! Use a physically specified dipole + higher order poles call poles(mflag,0,date,2,r,colat,elong,bn,be,bd,bm) @@ -417,7 +417,7 @@ subroutine gen_step(mflag,gflag,out,pos,t,date,step,dir,height) subroutine igrf_step(out,pos,t,date,scalar,dir,height) ! IGRF call - external :: igrf13syn + external :: igrf14syn real*8, dimension(3) :: pos real*8 t, date @@ -449,7 +449,7 @@ subroutine igrf_step(out,pos,t,date,scalar,dir,height) ! altitude should be radial distance from center of earth call ecef_to_colat_long_r(pos,colat,elong,r) - call igrf13syn(0,date,2,r,colat,elong,bn,be,bd,bm) + call igrf14syn(0,date,2,r,colat,elong,bn,be,bd,bm) ! convert the mag field in spherical unit vectors to ECEF vectors call end_vector_to_ecef(be,bn,bd,colat,elong,bx,by,bz) diff --git a/meson.build b/meson.build index 772f5d1e6..fe6d06c09 100644 --- a/meson.build +++ b/meson.build @@ -41,13 +41,13 @@ fortranobject_dep = declare_dependency( igrf_source = custom_target('igrfmodule.c', - input : ['OMMBV/igrf13.f'], # .f so no F90 wrappers + input : ['OMMBV/igrf14.f'], # .f so no F90 wrappers output : ['igrfmodule.c', 'igrf-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] ) py.extension_module('igrf', [ - 'OMMBV/igrf13.f', + 'OMMBV/igrf14.f', igrf_source, fortranobject_c ], @@ -60,14 +60,14 @@ py.extension_module('igrf', sources_source = custom_target('sourcesmodule.c', - input : ['OMMBV/sources.f', 'OMMBV/igrf13.f'], # .f so no F90 wrappers + input : ['OMMBV/sources.f', 'OMMBV/igrf14.f'], # .f so no F90 wrappers output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) py.extension_module('sources', [ 'OMMBV/sources.f', - 'OMMBV/igrf13.f', + 'OMMBV/igrf14.f', sources_source, fortranobject_c ], From 2b68ddfc99a45be74c34d0400dd8fb9f4d12476a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 16:42:09 -0600 Subject: [PATCH 127/223] BUG: Added f2py comments --- OMMBV/igrf14.f | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OMMBV/igrf14.f b/OMMBV/igrf14.f index 84363b022..3495070da 100644 --- a/OMMBV/igrf14.f +++ b/OMMBV/igrf14.f @@ -565,6 +565,12 @@ subroutine igrf14syn (isv,date,itype,alt,colat,elong,x,y,z,f) b 0.0, 0.4, 0.4, -0.3, -0.1, 0.4, 2027 c 0.3, -0.5, 0.1, -0.6, 0.0, 0.3, 2027 d 0.3, 0.2, 115*0.0/ 2027 + +C following added by RStoneback +Cf2py intent(in) isv,date,itype,alt,colat,elong +Cf2py intent(out) x,y,z,f + + c c set initial values c From e8f55462b886ecb5497c152a6fb63434fc87f482 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 16:47:25 -0600 Subject: [PATCH 128/223] BUG: Fixed missed IGRF13 call --- OMMBV/trace.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OMMBV/trace.py b/OMMBV/trace.py index c3ce7398c..9ebc248db 100644 --- a/OMMBV/trace.py +++ b/OMMBV/trace.py @@ -17,7 +17,7 @@ def _stub_fcn(): # RTD doesn't support Fortran. from OMMBV import igrf from OMMBV import sources - ommbv_mag_fcn = igrf.igrf13syn + ommbv_mag_fcn = igrf.igrf14syn ommbv_step_fcn = sources.igrf_step except Exception: ommbv_mag_fcn, ommbv_step_fcn = _stub_fcn, _stub_fcn @@ -498,8 +498,8 @@ def magnetic_vector(x, y, z, dates, normalize=False, mag_fcn=ommbv_mag_fcn): If True, return unit vector. (default=False) mag_fcn : function Function that returns magnetic field from a model. - The call signature must match that of `igrf.igrf13syn`. - (default=OMMBV.igrf.igrf13syn) + The call signature must match that of `igrf.igrf14syn`. + (default=OMMBV.igrf.igrf14syn) Returns ------- From 068ee1da2751f6af61717b3ea3764e81d313a8ad Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 17:26:15 -0600 Subject: [PATCH 129/223] STY: Add Cosmic Studio funding advertisement --- OMMBV/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index eb2e81286..f40bdb279 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -24,3 +24,5 @@ __all__ = ['igrf', 'fortran_coords', 'sources', 'satellite', 'trace', 'trans', 'utils', 'vector', 'heritage'] + +print("OMMBV brought to you by Cosmic Studio.") \ No newline at end of file From 269df86bd6d8b13bfb384dd0842aae45378f1310 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 17:26:34 -0600 Subject: [PATCH 130/223] TST: Switch to pytest to get more info on test issues --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bfe3fe649..8a71d442e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -120,7 +120,8 @@ jobs: run: | rm ./OMMBV -r -force cd .. - coverage run -m pytest + pytest ./OMMBV/tests -v --cov + coverage report coverage xml mv coverage.xml .\OMMBV\. From 5de77bcdab4c234325e0fceb61a25b5d01b3ecb8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 17:29:23 -0600 Subject: [PATCH 131/223] TST: Switch to pytest to get more info on test issues --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8a71d442e..5043d808f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -110,7 +110,7 @@ jobs: run: | rm -rf ./OMMBV cd .. - coverage run -m pytest + pytest ./OMMBV/tests -v --cov coverage report coverage xml mv coverage.xml ./OMMBV/. From fa44b652e0fa5ec9ecc4e7d0bfab031ffc66a8d6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 31 Jan 2025 17:40:38 -0600 Subject: [PATCH 132/223] BUG: Degrees to radians --- OMMBV/igrf14.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OMMBV/igrf14.f b/OMMBV/igrf14.f index 3495070da..093f37298 100644 --- a/OMMBV/igrf14.f +++ b/OMMBV/igrf14.f @@ -14,8 +14,8 @@ subroutine igrf14syn (isv,date,itype,alt,colat,elong,x,y,z,f) c itype = 2 if geocentric (sphere) c alt = height in km above sea level if itype = 1 c = distance from centre of Earth in km if itype = 2 (>3485 km) -c colat = colatitude (0-180) -c elong = east-longitude (0-360) +c colat = colatitude (0-180) /changed by RS(radians) +c elong = east-longitude (0-360) /changed by RS(radians) c alt, colat and elong must be double precision. c OUTPUT c x = north component (nT) if isv = 0, nT/year if isv = 1 @@ -626,10 +626,10 @@ subroutine igrf14syn (isv,date,itype,alt,colat,elong,x,y,z,f) nc = nmx*(nmx+2) kmx = (nmx+1)*(nmx+2)/2 2 r = alt - one = colat*0.017453292 + one = colat !*0.017453292 ct = cos(one) st = sin(one) - one = elong*0.017453292 + one = elong !*0.017453292 cl(1) = cos(one) sl(1) = sin(one) cd = 1.0 From 90f24d8115b4dfcba47b9a4aa5f8cc779702fb34 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 6 Feb 2025 10:44:53 -0600 Subject: [PATCH 133/223] TST: Testing sensitivity --- .github/workflows/main.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5043d808f..8d97d43f8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,12 +108,13 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | - rm -rf ./OMMBV - cd .. - pytest ./OMMBV/tests -v --cov + mkdir new_dir + cd new_dir + + pytest ../tests -v --cov coverage report coverage xml - mv coverage.xml ./OMMBV/. + mv coverage.xml ../. - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 181af2499e611288874474c278dfd3d59897d1b8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 6 Feb 2025 10:47:04 -0600 Subject: [PATCH 134/223] TST: Testing sensitivity --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d97d43f8..8d68e2c51 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,6 +108,7 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | + rm -rf ./OMMBV mkdir new_dir cd new_dir From 47e91fcb4fd02b5d8ec0be6413aa57b6cf7e7917 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 17:24:57 -0500 Subject: [PATCH 135/223] Update old setup.py to use IGRF14 --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 8ad1550c6..d7db02ee0 100644 --- a/setup.py +++ b/setup.py @@ -22,11 +22,11 @@ '-Wno-unused-variable', '-Wno-maybe-uninitialized', '-Wno-unused-dummy-argument'] extensions = [Extension(name='OMMBV.igrf', - sources=[os.path.join('OMMBV', 'igrf13.f')], + sources=[os.path.join('OMMBV', 'igrf14.f')], extra_f77_compile_args=extra_args), Extension(name='OMMBV.sources', sources=[os.path.join('OMMBV', 'sources.f'), - os.path.join('OMMBV', 'igrf13.f')], + os.path.join('OMMBV', 'igrf14.f')], extra_f77_compile_args=extra_args), Extension(name='OMMBV.fortran_coords', sources=[os.path.join('OMMBV', '_coords.f')])] From 45d1993f2b1d99ec48919bf44de071893fa823b2 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 17:26:21 -0500 Subject: [PATCH 136/223] TST: Remove tests on windows --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8d68e2c51..e6b5898ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-latest", "windows-latest"] + os: ["ubuntu-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] numpy_ver: ["latest"] include: From c744276713102af8f17055e2f9dc9637f748a025 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 17:40:16 -0500 Subject: [PATCH 137/223] DOC: Updated changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d05fa65ed..85cb2446d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx -- Added online unit testing for Linux/MacOS/Windows +- Added online unit testing for Linux and MacOS - Updated to IGRF14 ## [1.0.1] - 2022-01-04 From f2232d797c10c97f8fb1d60bdeea9b405298f9aa Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 18:09:40 -0500 Subject: [PATCH 138/223] MNT: Updated version for old setup style --- OMMBV/version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OMMBV/version.txt b/OMMBV/version.txt index 7f207341d..e6d5cb833 100644 --- a/OMMBV/version.txt +++ b/OMMBV/version.txt @@ -1 +1 @@ -1.0.1 \ No newline at end of file +1.0.2 \ No newline at end of file From d97344117e40a27aa0861af4350574854888d8a3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:27:45 -0500 Subject: [PATCH 139/223] BUG: Added os version information --- .readthedocs.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index defa293da..5b3ff087f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -5,6 +5,12 @@ # Required version: 2 +build: + os: ubuntu-22.04 + tools: + python: "3.10" + + # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py @@ -20,7 +26,6 @@ formats: # Optionally set the version of Python and requirements # required to build your docs python: - version: 3.7 install: - requirements: docs/requirements.txt From cf1234569ba582df7021ec1197102ab4a17815c6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:27:58 -0500 Subject: [PATCH 140/223] DOC: Expanded/Corrected API coverage --- docs/api.rst | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/docs/api.rst b/docs/api.rst index 00a0f54b6..5ad77f5df 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -2,8 +2,61 @@ API === +Core +---- + .. automodule:: OMMBV._core :members: +Fortran Coords +-------------- +.. automodule:: OMMBV.fortran_coords + :members: + +Heritage +-------- + +.. automodule:: OMMBV.heritage + :members: + +IGRF +---- + +.. automodule:: OMMBV.igrf + :members: + +Satellite +--------- + .. automodule:: OMMBV.satellite :members: + +Sources +------- + +.. automodule:: OMMBV.sources + :members: + +Trace +----- + +.. automodule:: OMMBV.trace + :members: + +Trans +----- + +.. automodule:: OMMBV.trans + :members: + +Utils +----- + +.. automodule:: OMMBV.utils + :members: + +Vector +------ + +.. automodule:: OMMBV.vector + :members: From 546b27fcefb18b18e2ba1ebf8fe6149bba403c2c Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:28:07 -0500 Subject: [PATCH 141/223] DOC: Updated citation info --- docs/citing.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/citing.rst b/docs/citing.rst index 457f8a2e7..ae0cc51ba 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -11,16 +11,16 @@ reproducibility of your presented results. OMMBV ----- -* Stoneback, R. A., J. H. Klenzing, G. Iyer. (2021). rstoneback/OMMBV: -v0.5.5 (v0.5.5). Zenodo. https://doi.org/10.5281/zenodo.4960425 +* Stoneback, R. A., J. H. Klenzing, G. Iyer. (2025). Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.0.2. Zenodo. https://doi.org/10.5281/zenodo.1299374 .. code-block:: latex - @Misc{pysatModels, + @Misc{OMMBV, author = {Stoneback, R. A. and Klenzing, J. H., and Iyer, G..}, - title = {rstoneback/OMMBV: v0.5.5 (v0.5.5)}, - year = {2021}, - date = {2021-06-15}, - url = {https://github.com/rstoneback/OMMBV}, + title = {Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.0.2}, + year = {2025}, + date = {2025-04-04}, + doi = {10.5281/zenodo.1299374}, + url = {https://doi.org/10.5281/zenodo.1299374} } From dcaa61c589450db965062a3ae81ad24ff593fe98 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:28:26 -0500 Subject: [PATCH 142/223] DOC: Updated copyright year --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 5d43d0c4c..b82e6c4b6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -75,7 +75,7 @@ def __getattr__(cls, name): # General information about the project. project = u'OMMBV' -copyright = u'2021, Russell Stoneback' +copyright = u'2025, Russell Stoneback' author = u'Russell Stoneback' # The version info for the project you're documenting, acts as replacement for From 1aa673fdaf8249b384fb36d45bbb3ff14d7686f9 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:28:35 -0500 Subject: [PATCH 143/223] DOC: Updated installation instructions --- docs/installation.rst | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 247b58f97..cda23245b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -20,7 +20,7 @@ Prerequisites OMMBV uses common Python modules, as well as modules developed by and for the Space Physics community. pysat is an optional module, used by OMMBV to make it easy for satellite missions to add OMMBV results. -This module officially supports Python 3.6+. +This module officially supports Python 3.9+. ============== ================= Common modules Community modules @@ -35,26 +35,21 @@ This module officially supports Python 3.6+. Installation Options -------------------- -1. Clone the git repository -:: +A. Using pypi :: + pip install OMMBV - git clone https://github.com/rstoneback/OMMBV.git +B. OMMBV may also be installed directly from the source repository on github: -2. Install OMMBV: - Change directories into the repository folder and run the setup.py file. - There are a few ways you can do this: + 1. Clone the git repository:: - A. Install on the system (root privileges required):: + git clone https://github.com/CosmicStudioSoftware/OMMBV.git - sudo python3 setup.py install - B. Install at the user level:: + 2. Install OMMBV: :: - python3 setup.py install --user - C. Install with the intent to develop locally:: + cd OMMBV + pip install --user . - - python3 setup.py develop --user From 99106fe94c32221194eba1a66202ec799acf1832 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:28:50 -0500 Subject: [PATCH 144/223] DOC: Typo correction --- docs/overview.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/overview.rst b/docs/overview.rst index fd7f58e49..04a43299e 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -17,7 +17,7 @@ as the Earth's. These features are fundamental for Space Science studies. Satellite measurements of plasma motions in-situ can now be accurately mapped along field lines for comparison to ground based equipment. Forcings from the neutral atmosphere -(in say Earth's E-region Ionsophere) may now also be mapped to satellite +(in say Earth's E-region Ionosphere) may now also be mapped to satellite altitudes to accurately characterize both the magnitude and direction of that forcing on plasma motion at satellite locations. Computer modelers may use OMMBV to map electric fields calculated within a single plane through @@ -28,7 +28,7 @@ via application to the Earth's magnetic field using the `International Geomagnetic Reference Field (IGRF) `_. Further, OMMBV includes two paths to determine the relevant vector basis. Both paths will only result in the same answers if the underlying system is truly -orthogonal. The statistical performance of OMMBV between IGRF witha geodetic +orthogonal. The statistical performance of OMMBV between IGRF with a geodetic Earth and a spherical Earth with a pure dipole magnetic field is the same. OMMBV vectors are accurate up to 6-7 digits of precision at default calculation settings. From 8ead6312e5cd53643bfe1c85f01b6974396cc98a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 19:29:05 -0500 Subject: [PATCH 145/223] BUG: Corrected email address --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 0f93e00c2..1b094e17c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ name = OMMBV version = file: OMMBV/version.txt url = https://github.com/CosmicStudioSoftware/OMMBV/ author = Russell A. Stoneback -author_email = github@cosmicstudio.io +author_email = contact@cosmicstudio.io description = 'Orthogonal geomagnetic vector basis and field-line mapping for multipole magnetic fields.' long_description = file: README.md, CHANGELOG.md long_description_content_type = text/markdown From 188d8f8430265d2f82d4d712b974388e3a65c297 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 20:55:58 -0500 Subject: [PATCH 146/223] TST: Update requirements for doc testing --- .github/workflows/docs.yml | 5 ----- .github/workflows/main.yml | 1 + requirements.txt | 1 - 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9d1e5ef4d..07e5f7074 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -29,11 +29,6 @@ jobs: pip install -r test_requirements.txt pip install -r requirements.txt - - name: Set up pysat - run: | - mkdir pysatData - python -c "import pysat; pysat.params['data_dirs'] = 'pysatData'" - - name: Check documentation build run: sphinx-build -E -b html docs dist/docs diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e6b5898ff..4b1df4a43 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -71,6 +71,7 @@ jobs: - name: Set up pysat run: | + pip install pysat mkdir pysatData python -c "import pysat; pysat.params['data_dirs'] = 'pysatData'" diff --git a/requirements.txt b/requirements.txt index 702512066..6bad10388 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,2 @@ numpy -pysat >= 3.0.0 scipy From 016f4dca37521a8ed541881e911c36ffe458c098 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:00:33 -0500 Subject: [PATCH 147/223] TST: Update requirements for doc testing --- .github/workflows/main.yml | 1 - docs/requirements.txt | 5 +---- requirements.txt | 1 + 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b1df4a43..e6b5898ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -71,7 +71,6 @@ jobs: - name: Set up pysat run: | - pip install pysat mkdir pysatData python -c "import pysat; pysat.params['data_dirs'] = 'pysatData'" diff --git a/docs/requirements.txt b/docs/requirements.txt index 59c6e1720..2d61d6ccd 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,11 +1,8 @@ datetime numpy numpydoc -ipython -pandas -pysat readthedocs-sphinx-search==0.3.2 scipy sphinx_rtd_theme==1.0.0 -sphinx==4.2.0 +sphinx diff --git a/requirements.txt b/requirements.txt index 6bad10388..1d6e52cdd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ numpy +pysat scipy From e0808a8392c5b8ac4f31c5cf052490c324d69cdd Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:03:41 -0500 Subject: [PATCH 148/223] TST: Update requirements for doc testing --- docs/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 2d61d6ccd..4306971e6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,8 +1,9 @@ datetime numpy numpydoc +ipython readthedocs-sphinx-search==0.3.2 scipy -sphinx_rtd_theme==1.0.0 +sphinx_rtd_theme >= 1.2.2, < 2.0.0 sphinx From d1905d06f449d0416f2ee87a1f8a50a6ebe87fd9 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:08:58 -0500 Subject: [PATCH 149/223] TST: Update requirements for doc testing --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index 4306971e6..635852c8a 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,6 +1,7 @@ datetime numpy numpydoc +m2r2 ipython readthedocs-sphinx-search==0.3.2 scipy From 9005b1732130de2349a36e881070de48c2582a74 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:09:16 -0500 Subject: [PATCH 150/223] DOC: Remove f2py parts from API --- docs/api.rst | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docs/api.rst b/docs/api.rst index 5ad77f5df..1889610f4 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -8,35 +8,18 @@ Core .. automodule:: OMMBV._core :members: -Fortran Coords --------------- -.. automodule:: OMMBV.fortran_coords - :members: - Heritage -------- .. automodule:: OMMBV.heritage :members: -IGRF ----- - -.. automodule:: OMMBV.igrf - :members: - Satellite --------- .. automodule:: OMMBV.satellite :members: -Sources -------- - -.. automodule:: OMMBV.sources - :members: - Trace ----- From f7454aafd3f562a694d864a154e1c16381d44b02 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:13:52 -0500 Subject: [PATCH 151/223] BUG: Add m2r2 to conf.py --- docs/citing.rst | 2 +- docs/conf.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/citing.rst b/docs/citing.rst index ae0cc51ba..704578df1 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -20,7 +20,7 @@ OMMBV author = {Stoneback, R. A. and Klenzing, J. H., and Iyer, G..}, title = {Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.0.2}, year = {2025}, - date = {2025-04-04}, + date = {2025-04-04}, doi = {10.5281/zenodo.1299374}, url = {https://doi.org/10.5281/zenodo.1299374} } diff --git a/docs/conf.py b/docs/conf.py index b82e6c4b6..c08f71fbd 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -53,7 +53,8 @@ def __getattr__(cls, name): 'sphinx.ext.autosummary', 'sphinx.ext.napoleon', 'numpydoc', - 'IPython.sphinxext.ipython_console_highlighting' + 'IPython.sphinxext.ipython_console_highlighting', + 'm2r2' ] # added by RS From 8052c47ab27553e5d2a4da5acb665a64286c8ee4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:26:09 -0500 Subject: [PATCH 152/223] DOC: Update contributing --- CONTRIBUTING.md | 164 ++++++++++++++++++++++++++++++++++++------------ 1 file changed, 125 insertions(+), 39 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8836c85a8..4b99e203e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,87 +1,173 @@ Contributing ============ -Bug reports, feature suggestions and other contributions are greatly -appreciated! Pysat is a community-driven project and welcomes both feedback and -contributions. +Bug reports, feature suggestions, and other contributions are greatly +appreciated! Short version -============= +------------- + +* Submit bug reports, feature requests, and questions at + [GitHub](https://github.com/CosmicStudioSoftware/OMMBV/issues) -* Submit bug reports and feature requests at `GitHub `_ * Make pull requests to the ``develop`` branch +Issues +------ + +Bug reports, questions, and feature requests should all be made as GitHub +Issues. Templates are provided for each type of issue, to help you include +all the necessary information. + +Questions +^^^^^^^^^ + +Not sure how something works? Ask away! The more information you provide, the +easier the question will be to answer. + Bug reports -=========== +^^^^^^^^^^^ -When `reporting a bug `_ please +When [reporting a bug](https://github.com/CosmicStudioSoftware/OMMBV/issues) please include: * Your operating system name and version + * Any details about your local setup that might be helpful in troubleshooting + * Detailed steps to reproduce the bug Feature requests and feedback -============================= +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The best way to send feedback is to file an issue at -`GitHub `_. +The best way to send feedback is to file an +[issue](https://github.com/CosmicStudioSoftware/OMMBV/issues). -If you are proposing a feature: +If you are proposing a new feature or a change in something that already exists: * Explain in detail how it would work. + * Keep the scope as narrow as possible, to make it easier to implement. + * Remember that this is a volunteer-driven project, and that code contributions are welcome :) Development -=========== +----------- + +To set up `OMMBV` for local development: -To set up `pysat` for local development: +1. [Fork OMMBV on GitHub](https://github.com/CosmicStudioSoftware/OMMBV/fork). -1. `Fork pysat on GitHub `_. -2. Clone your fork locally:: +2. Clone your fork locally: - git clone git@github.com:your_name_here/pysatMagVect.git + ``` + git clone git@github.com:your_name_here/OMMBV.git + ``` -3. Create a branch for local development:: +3. Create a branch for local development: + ``` git checkout -b name-of-your-bugfix-or-feature + ``` + + Now you can make your changes locally. + - Now you can make your changes locally. Tests should be added to the - appropriately named file in ``OMMBV/tests``. - 4. When you're done making changes, run all the checks to ensure that nothing - is broken on your local system:: - - nosetests -vs pysatMagVect + is broken on your local system, as well as check for flake8 compliance: + + ``` + pytest + ``` + +5. You should also check for flake8 style compliance: + + ``` + flake8 . --count --select=D,E,F,H,W --show-source --statistics + ``` -5. Update/add documentation (in ``docs``), if relevant + Note that pysat uses the `flake-docstrings` and `hacking` packages to ensure + standards in docstring formatting. -5. Commit your changes and push your branch to GitHub:: +6. Update/add documentation (in ``docs``). Even if you don't think it's + relevant, check to see if any existing examples have changed. - git add . - git commit -m "Brief description of your changes" - git push origin name-of-your-bugfix-or-feature +7. Add your name to the .zenodo.json file as an author + +8. Commit your changes: + ``` + git add . + git commit -m "AAA: Brief description of your changes" + ``` + Where AAA is a standard shorthand for the type of change (e.g., BUG or DOC). + `pysat` follows the [numpy development workflow](https://numpy.org/doc/stable/dev/development_workflow.html), + see the discussion there for a full list of this shorthand notation. + +9. Once you are happy with the local changes, push to GitHub: + ``` + git push origin name-of-your-bugfix-or-feature + ``` + Note that each push will trigger the Continuous Integration workflow. + +10. Submit a pull request through the GitHub website. Pull requests should be + made to the ``develop`` branch. Note that automated tests will be run on + GitHub Actions, but these must be initialized by a member of the pysat team + for first time contributors. -6. Submit a pull request through the GitHub website. Pull requests should be - made to the ``develop`` branch. Pull Request Guidelines ----------------------- If you need some code review or feedback while you're developing the code, just -make a pull request. +make a pull request. Pull requests should be made to the ``develop`` branch. For merging, you should: 1. Include an example for use 2. Add a note to ``CHANGELOG.md`` about the changes -3. Ensure that all checks passed (current checks include Scrutinizer, Travis-CI, - and Coveralls) [1]_ - -.. [1] If you don't have all the necessary Python versions available locally or - have trouble building all the testing environments, you can rely on - Travis to run the tests for each change you add in the pull request. - Because testing here will delay tests by other developers, please ensure - that the code passes all tests on your local system first. +3. Update the author list in ``zenodo.json``, if applicable +4. Ensure that all checks passed (current checks include GitHub Actions, + Coveralls and ReadTheDocs) + +If you don't have all the necessary Python versions available locally or have +trouble building all the testing environments, you can rely on GitHub Actions to +run the tests for each change you add in the pull request. Because testing here +will delay tests by other developers, please ensure that the code passes all +tests on your local system first. + + +Project Style Guidelines +------------------------ + +In general, OMMBV follows PEP8 and numpydoc guidelines. Pytest runs the unit +and integration tests, flake8 checks for style, and sphinx-build performs +documentation tests. However, there are certain additional style elements that +have been adopted to ensure the project maintains a consistent coding style. +These include: + +* Line breaks should occur before a binary operator (ignoring flake8 W503) +* Combine long strings using `join` +* Preferably break long lines on open parentheses rather than using `\` +* Use no more than 80 characters per line +* Several dependent packages have common nicknames, including: + * `import datetime as dt` + * `import numpy as np` + * `import pandas as pds` + * `import xarray as xr` +* When incrementing a timestamp, use `dt.timedelta` instead of `pds.DateOffset` + when possible to reduce program runtime +* All classes should have `__repr__` and `__str__` functions +* Docstrings use `Note` instead of `Notes` +* Try to avoid creating a try/except statement where except passes +* Use setup_method (or setup_class) and teardown_method (or teardown_class) in + test classes +* Use pytest parametrize in test classes when appropriate +* Provide testing class methods with informative failure statements and + descriptive, one-line docstrings +* Block and inline comments should use proper English grammar and punctuation + with the exception of single sentences in a block, which may then omit the + final period +* When casting is necessary, use `np.int64` and `np.float64` to ensure operating + system agnosticism + From ba17b161fad37f28ee17fecc8c44fe9a162e42b1 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:27:10 -0500 Subject: [PATCH 153/223] DOC: Update code of conduct --- CODE_OF_CONDUCT.md | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 4ef65bf96..b6d84d819 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -4,10 +4,10 @@ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. +our community a harassment-free experience for everyone, regardless of age, +body size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual +identity and orientation. ## Our Standards @@ -23,13 +23,13 @@ include: Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or - advances + advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic - address, without explicit permission + address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a - professional setting + professional setting ## Our Responsibilities @@ -48,18 +48,19 @@ threatening, offensive, or harmful. This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. +address, posting via an official social media account, or acting as an +appointed representative at an online or offline event. Representation of a +project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at pysat.developers@gmail.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. +reported by contacting the project team at pysat.developers@gmail.com. The +pysat project team will review and investigate all complaints, and will respond +in a way that it deems appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an +incident. Further details of specific enforcement policies may be posted +separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other @@ -67,10 +68,15 @@ members of the project's leadership. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.4, available at +[https://contributor-covenant.org/version/1/4][version] -[homepage]: https://www.contributor-covenant.org +## FAQ For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq +[https://www.contributor-covenant.org/faq][faq] + +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ +[faq]: https://www.contributor-covenant.org/faq From 7bc7e773296538b3f195c418e4bfd107269930e6 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:29:58 -0500 Subject: [PATCH 154/223] DOC: Update code of conduct, contributing --- docs/develop_guide/code_of_conduct.rst | 3 --- docs/develop_guide/contributing.rst | 3 --- 2 files changed, 6 deletions(-) diff --git a/docs/develop_guide/code_of_conduct.rst b/docs/develop_guide/code_of_conduct.rst index 1deed898b..f4ab40bad 100644 --- a/docs/develop_guide/code_of_conduct.rst +++ b/docs/develop_guide/code_of_conduct.rst @@ -1,4 +1 @@ -Code of Conduct -=============== - .. mdinclude:: ../../CODE_OF_CONDUCT.md diff --git a/docs/develop_guide/contributing.rst b/docs/develop_guide/contributing.rst index a4d4ac0bf..f2c987c71 100644 --- a/docs/develop_guide/contributing.rst +++ b/docs/develop_guide/contributing.rst @@ -1,4 +1 @@ -Contributing -============ - .. mdinclude:: ../../CONTRIBUTING.md From 3c12f4d60abcdd84790d3a47f0426b510c112fdf Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:35:57 -0500 Subject: [PATCH 155/223] BUG: docutils version limit --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index 635852c8a..d67f41e29 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,5 @@ datetime +docutils<0.21 numpy numpydoc m2r2 From 459c4f4e7b70f749cbbe98d99f0898196ec3088f Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:40:42 -0500 Subject: [PATCH 156/223] BUG: docutils version limit --- test_requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test_requirements.txt b/test_requirements.txt index a1a17907b..62d48c3be 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -4,6 +4,7 @@ flake8-docstrings hacking ipython m2r2 +docutil<0.21 numpydoc pytest-cov pytest-ordering From 261db7a4cbeae0bfddf72b5d88cc0f97cf683b48 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:40:57 -0500 Subject: [PATCH 157/223] BUG: docutils version limit --- test_requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_requirements.txt b/test_requirements.txt index 62d48c3be..6ee3c9931 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -4,7 +4,7 @@ flake8-docstrings hacking ipython m2r2 -docutil<0.21 +docutils<0.21 numpydoc pytest-cov pytest-ordering From f1b9ba9142ae1e780cf9619f9f6b6e7af0d7aaab Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:52:42 -0500 Subject: [PATCH 158/223] BUG: updated email address --- CODE_OF_CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b6d84d819..f0cf632ce 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -55,7 +55,7 @@ project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at pysat.developers@gmail.com. The +reported by contacting the project team at contact@cosmicstudio.io. The pysat project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an From 0b6a876dfb8fc96e3125ac3f1d8220b20c635413 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:53:57 -0500 Subject: [PATCH 159/223] DOC: Added note for optional requirement --- docs/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index cda23245b..55fe55ff3 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -25,7 +25,7 @@ This module officially supports Python 3.9+. ============== ================= Common modules Community modules ============== ================= - numpy pysat + numpy pysat (optional) scipy ============== ================= From 99fab4628ae799ab18dc7de3f96f7ebcdaae365c Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 21:58:55 -0500 Subject: [PATCH 160/223] DOC: Update overview --- docs/overview.rst | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/docs/overview.rst b/docs/overview.rst index 04a43299e..14b0e1d90 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -4,35 +4,25 @@ Overview ======== The derivation of an appropriate vector basis has been a long-term challenge -in space science. The vector basis in current use is non-orthogonal and as -such presents a number of challenges when attempting to apply it to space -science studies. This package provides for the calculation of an orthogonal -vector basis, consistent with the underlying physics, for general magnetic -fields. Further, OMMBV calculates scaling factors suitable for translating -an electric field at one location to any other location on the field line. +in space science. This package provides the first accurate orthogonal +vector basis that supports mapping electric fields or other parameters at one +location to any other location on the same field line. OMMBV retains these properties for non-spherical planets, such as the Earth, as well as for magnetic fields that are more complicated than a pure dipole, such as the Earth's. These features are fundamental for Space Science studies. Satellite measurements of plasma motions in-situ can now be accurately mapped along field lines -for comparison to ground based equipment. Forcings from the neutral atmosphere -(in say Earth's E-region Ionosphere) may now also be mapped to satellite -altitudes to accurately characterize both the magnitude and direction -of that forcing on plasma motion at satellite locations. Computer modelers -may use OMMBV to map electric fields calculated within a single plane through -the whole magnetosphere, significantly reducing computational resources. +for comparison to ground based equipment. Forcing from the neutral atmosphere +may now also be mapped to satellite altitudes to accurately characterize +both the magnitude and direction of that forcing on plasma motion at satellite +locations. Computer modelers may use OMMBV to map electric fields calculated +within a single plane through the whole magnetosphere, significantly reducing +computational resources. OMMBV has been validated using a variety of test magnetic sources as well as via application to the Earth's magnetic field using the `International Geomagnetic Reference Field (IGRF) `_. -Further, OMMBV includes two paths to determine the relevant vector basis. Both -paths will only result in the same answers if the underlying system is truly -orthogonal. The statistical performance of OMMBV between IGRF with a geodetic -Earth and a spherical Earth with a pure dipole magnetic field is the same. -OMMBV vectors are accurate up to 6-7 digits of precision at default calculation -settings. - .. image:: images/logo_high_res.png :width: 400px From 86b38e0f4384d1035069b63b8fde04d733810ed4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:08:49 -0500 Subject: [PATCH 161/223] DOC: Updated deprecation statements --- OMMBV/_core.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index c0de612ca..36ebd62bf 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -891,7 +891,7 @@ def geocentric_to_ecef(latitude, longitude, altitude): .. deprecated:: 1.0.0 Function moved to `OMMBV.trans.geocentric_to_ecef`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -921,7 +921,7 @@ def ecef_to_geocentric(x, y, z, ref_height=trans.earth_geo_radius): .. deprecated:: 1.0.0 Function moved to `OMMBV.trans.ecef_to_geocentric`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -954,7 +954,7 @@ def geodetic_to_ecef(latitude, longitude, altitude): .. deprecated:: 1.0.0 Function moved to `OMMBV.trans.geodetic_to_ecef`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -984,7 +984,7 @@ def ecef_to_geodetic(*args, **kwargs): .. deprecated:: 1.0.0 Function moved to `OMMBV.trans.geodetic_to_ecef`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. """ @@ -1000,7 +1000,7 @@ def python_ecef_to_geodetic(x, y, z, method='closed'): .. deprecated:: 1.0.0 Function moved to `OMMBV.trans.geodetic_to_ecef`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -1042,7 +1042,7 @@ def enu_to_ecef_vector(east, north, up, glat, glong): .. deprecated:: 1.0.0 Function moved to `OMMBV.vector.enu_to_ecef`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Position of vector in geospace may be specified in either geocentric or geodetic coordinates, with corresponding expression @@ -1080,7 +1080,7 @@ def ecef_to_enu_vector(x, y, z, glat, glong): .. deprecated:: 1.0.0 Function moved to `OMMBV.vector.ecef_to_enu`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Position of vector in geospace may be specified in either geocentric or geodetic coordinates, with corresponding expression @@ -1118,7 +1118,7 @@ def project_ECEF_vector_onto_basis(x, y, z, xx, xy, xz, yx, yy, yz, zx, zy, zz): .. deprecated:: 1.0.0 Function moved to `OMMBV.vector.project_onto_basis`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -1155,7 +1155,7 @@ def normalize_vector(x, y, z): .. deprecated:: 1.0.0 Function moved to `OMMBV.vector.normalize`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- @@ -1185,7 +1185,7 @@ def cross_product(x1, y1, z1, x2, y2, z2): .. deprecated:: 1.0.0 Function moved to `OMMBV.vector.cross_product`, this wrapper will - be removed after v1.0.0. + be removed after v1.2. Parameters ---------- From 825eed435cb8852ac588bd6cd0a6b532afcfea11 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:10:32 -0500 Subject: [PATCH 162/223] DOC: Updated deprecation statements --- OMMBV/heritage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OMMBV/heritage.py b/OMMBV/heritage.py index b27137f3d..386448f31 100644 --- a/OMMBV/heritage.py +++ b/OMMBV/heritage.py @@ -184,7 +184,7 @@ def apex_edge_lengths_via_footpoint(*args, **kwargs): .. deprecated:: 1.0.0 Function moved to `apex_distance_after_footpoint_step`, - this wrapper will be removed after v1.0.0. + this wrapper will be removed after v1.2. """ estr = ''.join(['This method now called `apex_distance_after_', From c3e8b1e4219a3088c479b9674d127f8f6dc3f11f Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:12:36 -0500 Subject: [PATCH 163/223] DOC: Updated deprecation statements --- OMMBV/_core.py | 24 ++++++++++++------------ OMMBV/heritage.py | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index 36ebd62bf..d04b20077 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -241,7 +241,7 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, for key in depd.keys(): if depd[key] is not None: wstr = " ".join([key, "is deprecated, non-functional,", - "and will be removed after OMMBV v1.0.0."]) + "and will be removed after OMMBV v1.2."]) warnings.warn(wstr, DeprecationWarning, stacklevel=2) # Account for potential alternate magnetic field and step functions. @@ -763,7 +763,7 @@ def scalars_for_mapping_ion_drifts(glats, glons, alts, dates, for key in depd.keys(): if depd[key] is not None: wstr = " ".join([key, "is deprecated, non-functional,", - "and will be removed after OMMBV v1.0.0."]) + "and will be removed after OMMBV v1.2."]) warnings.warn(wstr, DeprecationWarning, stacklevel=2) ecef_xs, ecef_ys, ecef_zs = trans.geodetic_to_ecef(glats, glons, alts) @@ -910,7 +910,7 @@ def geocentric_to_ecef(latitude, longitude, altitude): """ warnings.warn("".join(["Function moved to `OMMBV.trans`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return trans.geocentric_to_ecef(latitude, longitude, altitude) @@ -943,7 +943,7 @@ def ecef_to_geocentric(x, y, z, ref_height=trans.earth_geo_radius): """ warnings.warn("".join(["Function moved to `OMMBV.trans`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return trans.ecef_to_geocentric(x, y, z, ref_height=ref_height) @@ -973,7 +973,7 @@ def geodetic_to_ecef(latitude, longitude, altitude): """ warnings.warn("".join(["Function moved to `OMMBV.trans`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return trans.geodetic_to_ecef(latitude, longitude, altitude) @@ -989,7 +989,7 @@ def ecef_to_geodetic(*args, **kwargs): """ warnings.warn("".join(["Function moved to `OMMBV.trans`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return trans.ecef_to_geodetic(*args, **kwargs) @@ -1025,7 +1025,7 @@ def python_ecef_to_geodetic(x, y, z, method='closed'): """ warnings.warn("".join(["Function moved to `OMMBV.trans`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) if method is None: @@ -1069,7 +1069,7 @@ def enu_to_ecef_vector(east, north, up, glat, glong): """ warnings.warn("".join(["Function moved to `OMMBV.vector`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return vector.enu_to_ecef(east, north, up, glat, glong) @@ -1107,7 +1107,7 @@ def ecef_to_enu_vector(x, y, z, glat, glong): """ warnings.warn("".join(["Function moved to `OMMBV.vector`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return vector.ecef_to_enu(x, y, z, glat, glong) @@ -1143,7 +1143,7 @@ def project_ECEF_vector_onto_basis(x, y, z, xx, xy, xz, yx, yy, yz, zx, zy, zz): """ warnings.warn("".join(["Function moved to `OMMBV.vector`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return vector.project_onto_basis(x, y, z, xx, xy, xz, yx, yy, yz, @@ -1174,7 +1174,7 @@ def normalize_vector(x, y, z): """ warnings.warn("".join(["Function moved to `OMMBV.vector`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return vector.normalize(x, y, z) @@ -1210,7 +1210,7 @@ def cross_product(x1, y1, z1, x2, y2, z2): """ warnings.warn("".join(["Function moved to `OMMBV.vector`, deprecated ", - "wrapper will be removed after OMMBV v1.0.0."]), + "wrapper will be removed after OMMBV v1.2."]), DeprecationWarning, stacklevel=2) return vector.cross_product(x1, y1, z1, x2, y2, z2) diff --git a/OMMBV/heritage.py b/OMMBV/heritage.py index 386448f31..3d57036b5 100644 --- a/OMMBV/heritage.py +++ b/OMMBV/heritage.py @@ -189,7 +189,7 @@ def apex_edge_lengths_via_footpoint(*args, **kwargs): """ estr = ''.join(['This method now called `apex_distance_after_', 'footpoint_step`. Wrapper will be removed after OMMBV ', - 'v1.0.0.']) + 'v1.2.']) warnings.warn(estr, DeprecationWarning, stacklevel=2) apex_distance_after_footpoint_step(*args, **kwargs) return From d276640d5cd650a06100c3cc63e0c815b26769fd Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:20:53 -0500 Subject: [PATCH 164/223] DOC: Update version number --- CHANGELOG.md | 2 +- OMMBV/version.txt | 2 +- docs/conf.py | 2 +- meson.build | 2 +- pyproject.toml | 3 +-- 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85cb2446d..8c85ebe2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [1.0.2] - ????? +## [1.1.0] - ????? - Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx diff --git a/OMMBV/version.txt b/OMMBV/version.txt index e6d5cb833..1cc5f657e 100644 --- a/OMMBV/version.txt +++ b/OMMBV/version.txt @@ -1 +1 @@ -1.0.2 \ No newline at end of file +1.1.0 \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index c08f71fbd..66d586626 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -253,7 +253,7 @@ def __getattr__(cls, name): # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'OMMBV.tex', u'Python Magnetic Vectors Documentation', + (master_doc, 'OMMBV.tex', u'Orthogonal Multipole Magnetic Basis Vectors Documentation', u'Russell Stoneback', 'manual'), ] diff --git a/meson.build b/meson.build index fe6d06c09..678e3921a 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('OMMBV', 'c', - version : '1.0.2', + version : '1.1.0', license: 'BSD-3', meson_version: '>=0.64.0', default_options : [ diff --git a/pyproject.toml b/pyproject.toml index 1532f00da..5247586ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ requires = [ [project] name = "OMMBV" -version = "1.0.2" +version = "1.1.0" license = {file = "LICENSE"} description = "Orthogonal geomagnetic vector basis and field-line mapping for multipole magnetic fields." maintainers = [ @@ -20,7 +20,6 @@ maintainers = [ requires-python = ">=3.9" dependencies = [ "numpy", - "pysat", "scipy" ] readme = "README.md" From 6cc5294b6a9b3e1b201b82f2f9a2d0aa773aeda4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:24:22 -0500 Subject: [PATCH 165/223] DOC: Typo --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index e90cdda0e..7e1400efe 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,7 @@ Welcome to OMMBV's documentation! ================================= -This documentation describes the Orthogonal Multi-pole Magnetic Basis Vectors +This documentation describes the Orthogonal Multipole Magnetic Basis Vectors (OMMBV) module, which contains routines to derive a vector basis from any magnetic field. These vectors may be used to organize electric field measurements as well as map those electric fields along magnetic field lines From c0eb867662baf3c33140774a3a6b12bc81851445 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:24:39 -0500 Subject: [PATCH 166/223] DOC: version update --- docs/citing.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/citing.rst b/docs/citing.rst index 704578df1..e76e05dd8 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -11,14 +11,14 @@ reproducibility of your presented results. OMMBV ----- -* Stoneback, R. A., J. H. Klenzing, G. Iyer. (2025). Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.0.2. Zenodo. https://doi.org/10.5281/zenodo.1299374 +* Stoneback, R. A., J. H. Klenzing, G. Iyer. (2025). Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.1.0. Zenodo. https://doi.org/10.5281/zenodo.1299374 .. code-block:: latex @Misc{OMMBV, author = {Stoneback, R. A. and Klenzing, J. H., and Iyer, G..}, - title = {Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.0.2}, + title = {Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.1.0}, year = {2025}, date = {2025-04-04}, doi = {10.5281/zenodo.1299374}, From 274a6b5db69a39676dc38ba98c4c689a4445f19f Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 22:40:33 -0500 Subject: [PATCH 167/223] TST: Updated deprecation test checks --- tests/test_deprecation.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_deprecation.py b/tests/test_deprecation.py index b3bd265bb..876a324b1 100644 --- a/tests/test_deprecation.py +++ b/tests/test_deprecation.py @@ -69,7 +69,7 @@ def test_core_geomagnetic_ecef(self, param): """Test deprecated inputs, `calculate_mag_drift_unit_vectors_ecef`.""" self.warn_msgs = [" ".join([param, "is deprecated, non-functional,", - "and will be removed after OMMBV v1.0.0."])] + "and will be removed after OMMBV v1.2."])] self.warn_msgs = np.array(self.warn_msgs) # Prep input @@ -94,7 +94,7 @@ def test_core_scalars_for_mapping(self, param): """Test deprecated inputs, `scalars_for_mapping_ion_drifts`.""" self.warn_msgs = [" ".join([param, "is deprecated, non-functional,", - "and will be removed after OMMBV v1.0.0."])] + "and will be removed after OMMBV v1.2."])] self.warn_msgs = np.array(self.warn_msgs) # Prep input @@ -141,7 +141,7 @@ def test_core_trans_functions_deprecated(self, func): self.warn_msgs = ["".join(["Function moved to `OMMBV.trans`, " "deprecated wrapper will be removed after ", - "OMMBV v1.0.0."])] + "OMMBV v1.2."])] self.warn_msgs = np.array(self.warn_msgs) # Catch the warnings. @@ -192,7 +192,7 @@ def test_core_vect_functions_deprecated(self, func, args): self.warn_msgs = ["".join(["Function moved to `OMMBV.vector`, ", "deprecated wrapper will be removed after ", - "OMMBV v1.0.0."])] + "OMMBV v1.2."])] self.warn_msgs = np.array(self.warn_msgs) # Catch the warnings. @@ -212,7 +212,7 @@ def test_heritage_functions_deprecated(self): self.warn_msgs = [''.join(['This method now called `apex_distance_', 'after_footpoint_step`. Wrapper will be ', - 'removed after OMMBV v1.0.0.'])] + 'removed after OMMBV v1.2.'])] self.warn_msgs = np.array(self.warn_msgs) # Catch the warnings. From 2e7e605da2113e3ce6be3715c7782916a04e3dd8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 23:10:10 -0500 Subject: [PATCH 168/223] DOC: Update badge links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 512217c5c..a6aa3d901 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ # Orthogonal Multipole Magnetic Basis Vectors (OMMBV) -[![Build Status](https://github.com/rstoneback/OMMBV/actions/workflows/main.yml/badge.svg)](https://github.com/rstoneback/OMMBV/actions/workflows/main.yml/badge.svg) -[![Coverage Status](https://coveralls.io/repos/github/rstoneback/OMMBV/badge.svg?branch=main)](https://coveralls.io/github/rstoneback/OMMBV?branch=main) +[![Build Status](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg)](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/CosmicStudioSoftware/OMMBV/badge.svg?branch=main)](https://coveralls.io/github/CosmicStudioSoftware/OMMBV?branch=main) [![Documentation Status](https://readthedocs.org/projects/ommbv/badge/?version=latest)](https://ommbv.readthedocs.io/en/latest/?badge=latest) [![DOI](https://zenodo.org/badge/138220240.svg)](https://zenodo.org/badge/latestdoi/138220240) From 2fda315962e232e209eeddf495e54a0e268a1b8a Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Thu, 3 Apr 2025 23:57:17 -0500 Subject: [PATCH 169/223] DOC: Tweak intro sentence --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 7e1400efe..bc3df870f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,8 +7,8 @@ Welcome to OMMBV's documentation! ================================= This documentation describes the Orthogonal Multipole Magnetic Basis Vectors -(OMMBV) module, which contains routines to derive a vector basis from any -magnetic field. These vectors may be used to organize electric field +(OMMBV) module, which contains routines to derive a vector basis from multipole +magnetic fields. These vectors may be used to organize electric field measurements as well as map those electric fields along magnetic field lines in a physically consistent manner. From a521d20c1aacccd6d2d379f25e4bbcd543644741 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 00:24:27 -0500 Subject: [PATCH 170/223] TST: debug lack of coveralls coverage % --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e6b5898ff..7cdc2c968 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,9 +112,7 @@ jobs: mkdir new_dir cd new_dir - pytest ../tests -v --cov - coverage report - coverage xml + pytest ../tests -v --cov-report xml mv coverage.xml ../. - name: Run unit and integration tests on Windows From 978cbbf92986ce038e1baf7ab84250288a405cdf Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 00:30:54 -0500 Subject: [PATCH 171/223] TST: added verbose flags --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7cdc2c968..cfe4ae16b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -130,7 +130,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --rcfile=setup.cfg --service=github + run: coveralls --rcfile=setup.cfg --service=github --verbose finish: name: Finish Coverage Analysis @@ -142,4 +142,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | pip install --upgrade coveralls - coveralls --service=github --finish + coveralls --service=github --finish --verbose From f0453615fc9d923635ba12308fe5d2f73258e60b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 00:34:57 -0500 Subject: [PATCH 172/223] TST: check tweak --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cfe4ae16b..dbc985fa8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,8 +112,8 @@ jobs: mkdir new_dir cd new_dir - pytest ../tests -v --cov-report xml - mv coverage.xml ../. + pytest ../tests -v --cov --cov-report xml:coverage.xml + mv coverage.xml ../coverage.xml - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 5c4ccbb7c9a73ed52d2e3c0c80ab7ed213d6f5ff Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 00:52:29 -0500 Subject: [PATCH 173/223] TST: debugging --- .github/workflows/main.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dbc985fa8..eb3f0765f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -113,7 +113,8 @@ jobs: cd new_dir pytest ../tests -v --cov --cov-report xml:coverage.xml - mv coverage.xml ../coverage.xml + cp coverage.xml ../coverage.xml + cat coverage.xml - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} @@ -130,7 +131,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --rcfile=setup.cfg --service=github --verbose + run: coveralls --service=github --verbose finish: name: Finish Coverage Analysis From 38bd452152daf060fddee46e1c9a053d0f702f57 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:00:36 -0500 Subject: [PATCH 174/223] TST: debugging --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eb3f0765f..b9f543b55 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,7 +112,8 @@ jobs: mkdir new_dir cd new_dir - pytest ../tests -v --cov --cov-report xml:coverage.xml +# pytest ../tests -v --cov --cov-report xml:coverage.xml + coverage run -m pytest --source=[../OMMBV/tests/] -v cp coverage.xml ../coverage.xml cat coverage.xml From e3b548b134828a9bfe7237390fda5e3b1a652bb3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:04:45 -0500 Subject: [PATCH 175/223] TST: debugging --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b9f543b55..442f89a7f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,8 +112,7 @@ jobs: mkdir new_dir cd new_dir -# pytest ../tests -v --cov --cov-report xml:coverage.xml - coverage run -m pytest --source=[../OMMBV/tests/] -v + coverage run -m pytest --source=[../OMMBV/tests/] cp coverage.xml ../coverage.xml cat coverage.xml From 9a99ede14b5e4a5621b8dfcc0bfb7a32bc184a19 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:10:01 -0500 Subject: [PATCH 176/223] TST: debugging --- .github/workflows/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 442f89a7f..f7bf475c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,7 +112,10 @@ jobs: mkdir new_dir cd new_dir - coverage run -m pytest --source=[../OMMBV/tests/] +# coverage run -m pytest --source=[../OMMBV/tests/] + coverage run -m pytest + coverage report + coverage xml cp coverage.xml ../coverage.xml cat coverage.xml From 797943e959e4553856db1b6725b5af9c8f9238c1 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:10:49 -0500 Subject: [PATCH 177/223] TST: debugging --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f7bf475c7..c7dc3d033 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,7 +112,6 @@ jobs: mkdir new_dir cd new_dir -# coverage run -m pytest --source=[../OMMBV/tests/] coverage run -m pytest coverage report coverage xml From ac4dfc8eef52154a8a775040846071b548d55c24 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:16:15 -0500 Subject: [PATCH 178/223] TST: debugging --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c7dc3d033..912880a44 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,7 +112,7 @@ jobs: mkdir new_dir cd new_dir - coverage run -m pytest + coverage run -m pytest --source=../ coverage report coverage xml cp coverage.xml ../coverage.xml From dc8f1fd32ffc391c18221783b68d45c97686ba84 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:18:34 -0500 Subject: [PATCH 179/223] TST: debugging --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 912880a44..924566c3a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -112,7 +112,7 @@ jobs: mkdir new_dir cd new_dir - coverage run -m pytest --source=../ + coverage run -m pytest ../ coverage report coverage xml cp coverage.xml ../coverage.xml From 7c842d0d09bc54f8203250e9cf6933658e00c779 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:29:24 -0500 Subject: [PATCH 180/223] TST: debugging --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 924566c3a..2edf3a35d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -115,6 +115,7 @@ jobs: coverage run -m pytest ../ coverage report coverage xml + ls cp coverage.xml ../coverage.xml cat coverage.xml From 48c4689e347c05739f490ad114c72a488ebdef5b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 01:37:47 -0500 Subject: [PATCH 181/223] TST: debugging --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2edf3a35d..1628f9b51 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -134,7 +134,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --service=github --verbose + run: coveralls --service=github --verbose --debug finish: name: Finish Coverage Analysis From 574a46ad3c639d8142c202cc45d4daf70e0f5b86 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 09:07:28 -0500 Subject: [PATCH 182/223] TST: debugging --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1628f9b51..4354666e6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -134,7 +134,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls --service=github --verbose --debug + run: coveralls debug --service=github --verbose finish: name: Finish Coverage Analysis From 0dddc7bb5ab242ca403fd79e2fc015efb6c05685 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 11:15:12 -0500 Subject: [PATCH 183/223] BUG: Removed coverage percentage due to changes in community support --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a6aa3d901..6b2d0224f 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ # Orthogonal Multipole Magnetic Basis Vectors (OMMBV) [![Build Status](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg)](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg) -[![Coverage Status](https://coveralls.io/repos/github/CosmicStudioSoftware/OMMBV/badge.svg?branch=main)](https://coveralls.io/github/CosmicStudioSoftware/OMMBV?branch=main) [![Documentation Status](https://readthedocs.org/projects/ommbv/badge/?version=latest)](https://ommbv.readthedocs.io/en/latest/?badge=latest) [![DOI](https://zenodo.org/badge/138220240.svg)](https://zenodo.org/badge/latestdoi/138220240) From 636e30031c99de5dfd182f9c263d58d77840a8df Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 11:17:43 -0500 Subject: [PATCH 184/223] BUG: Removed debug command from coveralls --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4354666e6..2edf3a35d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -134,7 +134,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true - run: coveralls debug --service=github --verbose + run: coveralls --service=github --verbose finish: name: Finish Coverage Analysis From 30be10a25ec0df0157f4d94bef7cdc0490a03933 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 13:25:27 -0500 Subject: [PATCH 185/223] ENH: Updated release date to go with RC creation --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c85ebe2d..415fda3ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [1.1.0] - ????? +## [1.1.0] - 2025-04-04 - Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx From ccf2c3320eab049582a66a0bf412da4aaa1e1305 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 13:31:34 -0500 Subject: [PATCH 186/223] DOC: Added updated documentation to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 415fda3ef..110fb2c61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Updated package version for security issue in sphinx - Added online unit testing for Linux and MacOS - Updated to IGRF14 +- Updated documentation ## [1.0.1] - 2022-01-04 - Added pyproject.toml to support systems without numpy. From 17f980ea4708d95b62f8190d32a872446a2b21ec Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 15:44:55 -0500 Subject: [PATCH 187/223] TST: Debugging unit testing reporting --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2edf3a35d..fb49e2bca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,11 +108,11 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | - rm -rf ./OMMBV + mkdir new_dir cd new_dir - coverage run -m pytest ../ + coverage run -m pytest ../tests coverage report coverage xml ls From 24ba2226ce7f5ea5875c31fec11a2cb318146cea Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:04:04 -0500 Subject: [PATCH 188/223] TST: Try putting fortran in own directory --- meson.build | 14 +++++++------- {OMMBV => ommbvfortran}/_coords.f | 0 {OMMBV => ommbvfortran}/igrf14.f | 0 {OMMBV => ommbvfortran}/sources.f | 0 4 files changed, 7 insertions(+), 7 deletions(-) rename {OMMBV => ommbvfortran}/_coords.f (100%) rename {OMMBV => ommbvfortran}/igrf14.f (100%) rename {OMMBV => ommbvfortran}/sources.f (100%) diff --git a/meson.build b/meson.build index 678e3921a..508de9f6a 100644 --- a/meson.build +++ b/meson.build @@ -41,13 +41,13 @@ fortranobject_dep = declare_dependency( igrf_source = custom_target('igrfmodule.c', - input : ['OMMBV/igrf14.f'], # .f so no F90 wrappers + input : ['ommbvfortran/igrf14.f'], # .f so no F90 wrappers output : ['igrfmodule.c', 'igrf-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'igrf', '--lower'] ) py.extension_module('igrf', [ - 'OMMBV/igrf14.f', + 'ommbvfortran/igrf14.f', igrf_source, fortranobject_c ], @@ -60,14 +60,14 @@ py.extension_module('igrf', sources_source = custom_target('sourcesmodule.c', - input : ['OMMBV/sources.f', 'OMMBV/igrf14.f'], # .f so no F90 wrappers + input : ['ommbvfortran/sources.f', 'OMMBV/igrf14.f'], # .f so no F90 wrappers output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) py.extension_module('sources', [ - 'OMMBV/sources.f', - 'OMMBV/igrf14.f', + 'ommbvfortran/sources.f', + 'ommbvfortran/igrf14.f', sources_source, fortranobject_c ], @@ -80,13 +80,13 @@ py.extension_module('sources', fcoords_source = custom_target('fortran_coordsmodule.c', - input : ['OMMBV/_coords.f'], # .f so no F90 wrappers + input : ['ommbvfortran/_coords.f'], # .f so no F90 wrappers output : ['fortran_coordsmodule.c', 'fortran_coords-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'fortran_coords', '--lower'] ) py.extension_module('fortran_coords', [ - 'OMMBV/_coords.f', + 'ommbvfortran/_coords.f', fcoords_source, fortranobject_c ], diff --git a/OMMBV/_coords.f b/ommbvfortran/_coords.f similarity index 100% rename from OMMBV/_coords.f rename to ommbvfortran/_coords.f diff --git a/OMMBV/igrf14.f b/ommbvfortran/igrf14.f similarity index 100% rename from OMMBV/igrf14.f rename to ommbvfortran/igrf14.f diff --git a/OMMBV/sources.f b/ommbvfortran/sources.f similarity index 100% rename from OMMBV/sources.f rename to ommbvfortran/sources.f From 7deff53d0d2382505606dbdd71ec16491a303aba Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:06:10 -0500 Subject: [PATCH 189/223] TST: Try putting fortran in own directory --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 508de9f6a..10b9be4e6 100644 --- a/meson.build +++ b/meson.build @@ -60,7 +60,7 @@ py.extension_module('igrf', sources_source = custom_target('sourcesmodule.c', - input : ['ommbvfortran/sources.f', 'OMMBV/igrf14.f'], # .f so no F90 wrappers + input : ['ommbvfortran/sources.f', 'ommbvfortran/igrf14.f'], # .f so no F90 wrappers output : ['sourcesmodule.c', 'sources-f2pywrappers.f'], command : [py, '-m', 'numpy.f2py', '@INPUT@', '-m', 'sources', '--lower'] ) From bd0657bcbdefb7dc28f0b1943d57948ec4b33b33 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:08:12 -0500 Subject: [PATCH 190/223] TST: Try putting fortran in own directory --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb49e2bca..89e221de5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,7 +108,7 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | - + rm -rf ./OMMBV mkdir new_dir cd new_dir From 2acf3fe4cdcf6be9c8bd4349be8067951df83eff Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:15:41 -0500 Subject: [PATCH 191/223] TST: Try putting fortran in own directory --- .github/workflows/main.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 89e221de5..49296da99 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,15 +108,13 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | - rm -rf ./OMMBV - mkdir new_dir - cd new_dir - coverage run -m pytest ../tests + cd .. + coverage run -m pytest coverage report coverage xml ls - cp coverage.xml ../coverage.xml + cp coverage.xml OMMBV\. cat coverage.xml - name: Run unit and integration tests on Windows From 3c8255f5922dd68067ff3d2d5999dd268d688bb4 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:30:32 -0500 Subject: [PATCH 192/223] TST: Try removing init --- tests/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 From 823eeec226724e7876bf07531770e6b74e6d66bd Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:31:04 -0500 Subject: [PATCH 193/223] TST: Try different dir setup --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 49296da99..05a823f8c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,12 +109,12 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | - cd .. - coverage run -m pytest + cd ../.. + coverage run -m pytest OMMBV/tests coverage report coverage xml ls - cp coverage.xml OMMBV\. + cp coverage.xml OMMBV/. cat coverage.xml - name: Run unit and integration tests on Windows From a094c589d0f9afbfa0a2aec383ccbdea73a74eca Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:34:19 -0500 Subject: [PATCH 194/223] TST: Try different dir setup --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 05a823f8c..a6b509844 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,12 +109,12 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | - cd ../.. - coverage run -m pytest OMMBV/tests + cd .. + coverage run -m pytest ../tests coverage report coverage xml ls - cp coverage.xml OMMBV/. + cp coverage.xml ../coverage.xml cat coverage.xml - name: Run unit and integration tests on Windows From 28567f3159028bf6a518f0a8da47209a473a08d1 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:35:50 -0500 Subject: [PATCH 195/223] TST: Try different dir setup --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a6b509844..bc84a6326 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -110,7 +110,7 @@ jobs: run: | cd .. - coverage run -m pytest ../tests + coverage run -m pytest OMMBV/tests coverage report coverage xml ls From 6ae7e5618cc907c08cf09f14a912781d6c25be59 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 16:46:41 -0500 Subject: [PATCH 196/223] TST: Try not importing tests --- .github/workflows/main.yml | 2 +- tests/test_core.py | 6 +++--- tests/test_former_methods.py | 2 +- tests/test_trace.py | 2 +- tests/test_trans.py | 2 +- tests/test_vector.py | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bc84a6326..025d61f1b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -110,7 +110,7 @@ jobs: run: | cd .. - coverage run -m pytest OMMBV/tests + coverage run -m pytest coverage report coverage xml ls diff --git a/tests/test_core.py b/tests/test_core.py index 2e86e6eb4..1ec29b376 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -8,9 +8,9 @@ import pytest import warnings +import pysat + import OMMBV -import tests -import tests.test_deprecation as testing import OMMBV.trace import OMMBV.trans import OMMBV.vector @@ -348,7 +348,7 @@ def test_nonconvergence_basis_ecef(self): assert len(war) >= len(self.warn_msgs) # Test the warning messages, ensuring each attribute is present. - testing.eval_warnings(war, self.warn_msgs, RuntimeWarning) + pysat.utils.testing.eval_warnings(war, self.warn_msgs, RuntimeWarning) return diff --git a/tests/test_former_methods.py b/tests/test_former_methods.py index d2eba15c4..95ed6dbc8 100644 --- a/tests/test_former_methods.py +++ b/tests/test_former_methods.py @@ -4,7 +4,7 @@ import OMMBV import OMMBV.heritage -from tests.test_core import gen_plot_grid_fixed_alt +from test_core import gen_plot_grid_fixed_alt import OMMBV.vector diff --git a/tests/test_trace.py b/tests/test_trace.py index e42aae25c..193984bbe 100644 --- a/tests/test_trace.py +++ b/tests/test_trace.py @@ -5,7 +5,7 @@ import numpy as np import pytest -from tests.test_core import gen_data_fixed_alt +from test_core import gen_data_fixed_alt import OMMBV.trans import OMMBV.trace as trace diff --git a/tests/test_trans.py b/tests/test_trans.py index 80d2e3dd1..647130a77 100644 --- a/tests/test_trans.py +++ b/tests/test_trans.py @@ -6,7 +6,7 @@ from OMMBV import igrf from OMMBV import sources import OMMBV.trans -from tests.test_core import gen_data_fixed_alt +from test_core import gen_data_fixed_alt # ############## TRANSFORMATIONS ############## # diff --git a/tests/test_vector.py b/tests/test_vector.py index c813cfdd4..3ba13d464 100644 --- a/tests/test_vector.py +++ b/tests/test_vector.py @@ -5,7 +5,7 @@ import OMMBV from OMMBV import sources -from tests.test_core import gen_data_fixed_alt +from test_core import gen_data_fixed_alt class TestVector(object): From 7c49e920d46e9f247f3d08c76685d0484f57f1d7 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:04:36 -0500 Subject: [PATCH 197/223] TST: Tweaking commands, but tests run, no coverage --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 025d61f1b..2e7bfc4c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,8 +114,9 @@ jobs: coverage report coverage xml ls - cp coverage.xml ../coverage.xml cat coverage.xml + mv coverage.xml OMMBV/. + - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 3f49fd5f8f532aebeb2f0eefa6982f02aa0756c8 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:14:10 -0500 Subject: [PATCH 198/223] TST: Tweaking commands, but tests run, no coverage --- .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 2e7bfc4c7..a6c8ee20e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,14 +109,9 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | - cd .. - coverage run -m pytest + pytest tests coverage report coverage xml - ls - cat coverage.xml - mv coverage.xml OMMBV/. - - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 7330f3d9d85582ea9560ec2b5f48e190fbdddbae Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:24:36 -0500 Subject: [PATCH 199/223] TST: Try out github actions --- .github/workflows/main.yml | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a6c8ee20e..f94ea292e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | - pytest tests + coverage run -m pytest coverage report coverage xml @@ -124,20 +124,22 @@ jobs: coverage xml mv coverage.xml .\OMMBV\. - - name: Publish results to coveralls - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - COVERALLS_PARALLEL: true - run: coveralls --service=github --verbose + - name: Publish results to coveralls upon success + uses: coverallsapp/github-action@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + flag-name: run=${{ join(matrix.*, '-') }} + parallel: true + format: cobertura finish: name: Finish Coverage Analysis needs: build + 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 --verbose + uses: coverallsapp/github-action@v2 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + parallel-finished: true \ No newline at end of file From 720f7ed0ec2c30a5b59a2304fd0cbe2f9424ac63 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:28:06 -0500 Subject: [PATCH 200/223] TST: Try out github actions --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f94ea292e..38d6b5f93 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,10 +108,11 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | - + cd .. coverage run -m pytest coverage report coverage xml + mv coverage.xml OMMBV/. - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 3100982e78fc468f52daa7e2a7ea117629c565ea Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:36:24 -0500 Subject: [PATCH 201/223] TST: Try out get real coverage --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38d6b5f93..1df2c3067 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | cd .. - coverage run -m pytest + coverage run -m pytest --source=OMMBV coverage report coverage xml mv coverage.xml OMMBV/. From 9060553c7dba5da909e0485f5c6f711937adbf81 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:40:33 -0500 Subject: [PATCH 202/223] TST: Try out get real coverage --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1df2c3067..17801dda6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | cd .. - coverage run -m pytest --source=OMMBV + coverage run -m --source=OMMBV pytest coverage report coverage xml mv coverage.xml OMMBV/. From bcaf5e38eb0d12ed6fdb805cea47c0d9a22dd7d5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:58:20 -0500 Subject: [PATCH 203/223] TST: Try to get real coverage --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17801dda6..445bca05d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | cd .. - coverage run -m --source=OMMBV pytest + coverage run -m --source=OMMBV pytest --cov-exclude=OMMBV/OMMBV/*.py coverage report coverage xml mv coverage.xml OMMBV/. From 6de9088ed760278a2803a19725d10ac796e2e12c Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 17:59:42 -0500 Subject: [PATCH 204/223] TST: Try to get real coverage --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 445bca05d..84c350406 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | cd .. - coverage run -m --source=OMMBV pytest --cov-exclude=OMMBV/OMMBV/*.py + coverage run -m --source=OMMBV --cov-exclude=OMMBV/OMMBV/*.py pytest coverage report coverage xml mv coverage.xml OMMBV/. From 982dda6bedc2ae70c9cb175434b7d8c96016f90f Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 18:07:58 -0500 Subject: [PATCH 205/223] TST: Try to get real coverage --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 84c350406..073bfa4f5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,7 +109,7 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | cd .. - coverage run -m --source=OMMBV --cov-exclude=OMMBV/OMMBV/*.py pytest + coverage run -m --source=OMMBV --omit=OMMBV/*.py pytest coverage report coverage xml mv coverage.xml OMMBV/. From fabee9f82549656a9083b7092882c1069a5b6121 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 18:18:28 -0500 Subject: [PATCH 206/223] TST: Try to get real coverage --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 073bfa4f5..4c011194b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -108,8 +108,9 @@ jobs: - name: Run unit and integration tests Mac/Linux if: ${{ matrix.os != 'windows-latest' }} run: | + rm -rf ./OMMBV cd .. - coverage run -m --source=OMMBV --omit=OMMBV/*.py pytest + coverage run -m --source=OMMBV pytest coverage report coverage xml mv coverage.xml OMMBV/. From 09335d62a78a2681ea0403989f3764a7efc3f642 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 18:41:48 -0500 Subject: [PATCH 207/223] TST: Try to get real coverage --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4c011194b..6c7c8c4d6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,11 +109,12 @@ jobs: if: ${{ matrix.os != 'windows-latest' }} run: | rm -rf ./OMMBV - cd .. - coverage run -m --source=OMMBV pytest + mkdir new_dir + cd new_dir + coverage run -m --source=OMMBV pytest ../tests coverage report coverage xml - mv coverage.xml OMMBV/. + mv coverage.xml ../OMMBV/coverage.xml - name: Run unit and integration tests on Windows if: ${{ matrix.os == 'windows-latest' }} From 45d06bb6ad10113c339cfecbed990b9b4edaf203 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 18:49:02 -0500 Subject: [PATCH 208/223] TST: Try to get real coverage --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6c7c8c4d6..7e1cb26ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -114,6 +114,7 @@ jobs: coverage run -m --source=OMMBV pytest ../tests coverage report coverage xml + mkdir ../OMMBV mv coverage.xml ../OMMBV/coverage.xml - name: Run unit and integration tests on Windows From 39f8c39cd7c075a9cc0597680d7b7efc077dc73d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 19:00:57 -0500 Subject: [PATCH 209/223] TST: Omit __init__ from reporting --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7e1cb26ec..3140c44fd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -111,7 +111,7 @@ jobs: rm -rf ./OMMBV mkdir new_dir cd new_dir - coverage run -m --source=OMMBV pytest ../tests + coverage run -m --source=OMMBV omit=__init__.py pytest ../tests coverage report coverage xml mkdir ../OMMBV From c63d9e45a03642b2540d624ad9444240464cb07b Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Fri, 4 Apr 2025 19:06:21 -0500 Subject: [PATCH 210/223] TST: Omit __init__ from reporting --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3140c44fd..b75e83300 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -111,7 +111,7 @@ jobs: rm -rf ./OMMBV mkdir new_dir cd new_dir - coverage run -m --source=OMMBV omit=__init__.py pytest ../tests + coverage run -m --source=OMMBV --omit=__init__.py pytest ../tests coverage report coverage xml mkdir ../OMMBV From e9861ed165c70807a58b6c0ded5730780755090d Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:07:28 -0500 Subject: [PATCH 211/223] ENH: Update fortran code locations for old setup --- setup.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index d7db02ee0..b418258be 100644 --- a/setup.py +++ b/setup.py @@ -22,14 +22,14 @@ '-Wno-unused-variable', '-Wno-maybe-uninitialized', '-Wno-unused-dummy-argument'] extensions = [Extension(name='OMMBV.igrf', - sources=[os.path.join('OMMBV', 'igrf14.f')], + sources=[os.path.join('ommbvfortran', 'igrf14.f')], extra_f77_compile_args=extra_args), Extension(name='OMMBV.sources', - sources=[os.path.join('OMMBV', 'sources.f'), - os.path.join('OMMBV', 'igrf14.f')], + sources=[os.path.join('ommbvfortran', 'sources.f'), + os.path.join('ommbvfortran', 'igrf14.f')], extra_f77_compile_args=extra_args), Extension(name='OMMBV.fortran_coords', - sources=[os.path.join('OMMBV', '_coords.f')])] + sources=[os.path.join('ommbvfortran', '_coords.f')])] setup_kwargs = {'ext_modules': extensions} setup(**setup_kwargs) From b46689f1aae967c5339ae1dc22433e0d07e29f91 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:32:18 -0500 Subject: [PATCH 212/223] ENH: Remove old IGRF version --- OMMBV/igrf13.f | 699 ------------------------------------------------- 1 file changed, 699 deletions(-) delete mode 100644 OMMBV/igrf13.f diff --git a/OMMBV/igrf13.f b/OMMBV/igrf13.f deleted file mode 100644 index 9c12f6391..000000000 --- a/OMMBV/igrf13.f +++ /dev/null @@ -1,699 +0,0 @@ - - - subroutine igrf13syn (isv,date,itype,alt,colat,elong,x,y,z,f) -c -c This is a synthesis routine for the 13th generation IGRF as agreed -c in December 2019 by IAGA Working Group V-MOD. It is valid 1900.0 to -c 2025.0 inclusive. Values for dates from 1945.0 to 2015.0 inclusive are -c definitive, otherwise they are non-definitive. -c INPUT -c isv = 0 if main-field values are required -c isv = 1 if secular variation values are required -c date = year A.D. Must be greater than or equal to 1900.0 and -c less than or equal to 2030.0. Warning message is given -c for dates greater than 2025.0. Must be double precision. -c itype = 1 if geodetic (spheroid) -c itype = 2 if geocentric (sphere) -c alt = height in km above sea level if itype = 1 -c = distance from centre of Earth in km if itype = 2 (>3485 km) -c colat = colatitude (0-180) /changed by RS(radians) -c elong = east-longitude (0-360) /changed by RS(radians) -c alt, colat and elong must be double precision. -c OUTPUT -c x = north component (nT) if isv = 0, nT/year if isv = 1 -c y = east component (nT) if isv = 0, nT/year if isv = 1 -c z = vertical component (nT) if isv = 0, nT/year if isv = 1 -c f = total intensity (nT) if isv = 0, rubbish if isv = 1 -c -c To get the other geomagnetic elements (D, I, H and secular -c variations dD, dH, dI and dF) use routines ptoc and ptocsv. -c -c Adapted from 8th generation version to include new maximum degree for -c main-field models for 2000.0 and onwards and use WGS84 spheroid instead -c of International Astronomical Union 1966 spheroid as recommended by IAGA -c in July 2003. Reference radius remains as 6371.2 km - it is NOT the mean -c radius (= 6371.0 km) but 6371.2 km is what is used in determining the -c coefficients. Adaptation by Susan Macmillan, August 2003 (for -c 9th generation), December 2004, December 2009 & December 2014; -c by William Brown, December 2019, February 2020. -c -c Coefficients at 1995.0 incorrectly rounded (rounded up instead of -c to even) included as these are the coefficients published in Excel -c spreadsheet July 2005. -c - implicit double precision (a-h,o-z) - dimension gh(3645),g0(120),g1(120),g2(120),g3(120),g4(120), - 1 g5(120),g6(120),g7(120),g8(120),g9(120),ga(120), - 2 gb(120),gc(120),gd(120),ge(120),gf(120),gg(120), - 3 gi(120),gj(120),gk(195),gl(195),gm(195),gp(195), - 4 gq(195),gr(195),gs(195), - 5 p(105),q(105),cl(13),sl(13) - equivalence (g0,gh(1)),(g1,gh(121)),(g2,gh(241)),(g3,gh(361)), - 1 (g4,gh(481)),(g5,gh(601)),(g6,gh(721)),(g7,gh(841)), - 2 (g8,gh(961)),(g9,gh(1081)),(ga,gh(1201)), - 3 (gb,gh(1321)),(gc,gh(1441)),(gd,gh(1561)), - 4 (ge,gh(1681)),(gf,gh(1801)),(gg,gh(1921)), - 5 (gi,gh(2041)),(gj,gh(2161)),(gk,gh(2281)), - 6 (gl,gh(2476)),(gm,gh(2671)),(gp,gh(2866)), - 7 (gq,gh(3061)),(gr,gh(3256)),(gs,gh(3451)) -c - data g0/ -31543.,-2298., 5922., -677., 2905.,-1061., 924., 1121., 1900 - 1 1022.,-1469., -330., 1256., 3., 572., 523., 876., 1900 - 2 628., 195., 660., -69., -361., -210., 134., -75., 1900 - 3 -184., 328., -210., 264., 53., 5., -33., -86., 1900 - 4 -124., -16., 3., 63., 61., -9., -11., 83., 1900 - 5 -217., 2., -58., -35., 59., 36., -90., -69., 1900 - 6 70., -55., -45., 0., -13., 34., -10., -41., 1900 - 7 -1., -21., 28., 18., -12., 6., -22., 11., 1900 - 8 8., 8., -4., -14., -9., 7., 1., -13., 1900 - 9 2., 5., -9., 16., 5., -5., 8., -18., 1900 - a 8., 10., -20., 1., 14., -11., 5., 12., 1900 - b -3., 1., -2., -2., 8., 2., 10., -1., 1900 - c -2., -1., 2., -3., -4., 2., 2., 1., 1900 - d -5., 2., -2., 6., 6., -4., 4., 0., 1900 - e 0., -2., 2., 4., 2., 0., 0., -6./ 1900 - data g1/ -31464.,-2298., 5909., -728., 2928.,-1086., 1041., 1065., 1905 - 1 1037.,-1494., -357., 1239., 34., 635., 480., 880., 1905 - 2 643., 203., 653., -77., -380., -201., 146., -65., 1905 - 3 -192., 328., -193., 259., 56., -1., -32., -93., 1905 - 4 -125., -26., 11., 62., 60., -7., -11., 86., 1905 - 5 -221., 4., -57., -32., 57., 32., -92., -67., 1905 - 6 70., -54., -46., 0., -14., 33., -11., -41., 1905 - 7 0., -20., 28., 18., -12., 6., -22., 11., 1905 - 8 8., 8., -4., -15., -9., 7., 1., -13., 1905 - 9 2., 5., -8., 16., 5., -5., 8., -18., 1905 - a 8., 10., -20., 1., 14., -11., 5., 12., 1905 - b -3., 1., -2., -2., 8., 2., 10., 0., 1905 - c -2., -1., 2., -3., -4., 2., 2., 1., 1905 - d -5., 2., -2., 6., 6., -4., 4., 0., 1905 - e 0., -2., 2., 4., 2., 0., 0., -6./ 1905 - data g2/ -31354.,-2297., 5898., -769., 2948.,-1128., 1176., 1000., 1910 - 1 1058.,-1524., -389., 1223., 62., 705., 425., 884., 1910 - 2 660., 211., 644., -90., -400., -189., 160., -55., 1910 - 3 -201., 327., -172., 253., 57., -9., -33., -102., 1910 - 4 -126., -38., 21., 62., 58., -5., -11., 89., 1910 - 5 -224., 5., -54., -29., 54., 28., -95., -65., 1910 - 6 71., -54., -47., 1., -14., 32., -12., -40., 1910 - 7 1., -19., 28., 18., -13., 6., -22., 11., 1910 - 8 8., 8., -4., -15., -9., 6., 1., -13., 1910 - 9 2., 5., -8., 16., 5., -5., 8., -18., 1910 - a 8., 10., -20., 1., 14., -11., 5., 12., 1910 - b -3., 1., -2., -2., 8., 2., 10., 0., 1910 - c -2., -1., 2., -3., -4., 2., 2., 1., 1910 - d -5., 2., -2., 6., 6., -4., 4., 0., 1910 - e 0., -2., 2., 4., 2., 0., 0., -6./ 1910 - data g3/ -31212.,-2306., 5875., -802., 2956.,-1191., 1309., 917., 1915 - 1 1084.,-1559., -421., 1212., 84., 778., 360., 887., 1915 - 2 678., 218., 631., -109., -416., -173., 178., -51., 1915 - 3 -211., 327., -148., 245., 58., -16., -34., -111., 1915 - 4 -126., -51., 32., 61., 57., -2., -10., 93., 1915 - 5 -228., 8., -51., -26., 49., 23., -98., -62., 1915 - 6 72., -54., -48., 2., -14., 31., -12., -38., 1915 - 7 2., -18., 28., 19., -15., 6., -22., 11., 1915 - 8 8., 8., -4., -15., -9., 6., 2., -13., 1915 - 9 3., 5., -8., 16., 6., -5., 8., -18., 1915 - a 8., 10., -20., 1., 14., -11., 5., 12., 1915 - b -3., 1., -2., -2., 8., 2., 10., 0., 1915 - c -2., -1., 2., -3., -4., 2., 2., 1., 1915 - d -5., 2., -2., 6., 6., -4., 4., 0., 1915 - e 0., -2., 1., 4., 2., 0., 0., -6./ 1915 - data g4/ -31060.,-2317., 5845., -839., 2959.,-1259., 1407., 823., 1920 - 1 1111.,-1600., -445., 1205., 103., 839., 293., 889., 1920 - 2 695., 220., 616., -134., -424., -153., 199., -57., 1920 - 3 -221., 326., -122., 236., 58., -23., -38., -119., 1920 - 4 -125., -62., 43., 61., 55., 0., -10., 96., 1920 - 5 -233., 11., -46., -22., 44., 18., -101., -57., 1920 - 6 73., -54., -49., 2., -14., 29., -13., -37., 1920 - 7 4., -16., 28., 19., -16., 6., -22., 11., 1920 - 8 7., 8., -3., -15., -9., 6., 2., -14., 1920 - 9 4., 5., -7., 17., 6., -5., 8., -19., 1920 - a 8., 10., -20., 1., 14., -11., 5., 12., 1920 - b -3., 1., -2., -2., 9., 2., 10., 0., 1920 - c -2., -1., 2., -3., -4., 2., 2., 1., 1920 - d -5., 2., -2., 6., 6., -4., 4., 0., 1920 - e 0., -2., 1., 4., 3., 0., 0., -6./ 1920 - data g5/ -30926.,-2318., 5817., -893., 2969.,-1334., 1471., 728., 1925 - 1 1140.,-1645., -462., 1202., 119., 881., 229., 891., 1925 - 2 711., 216., 601., -163., -426., -130., 217., -70., 1925 - 3 -230., 326., -96., 226., 58., -28., -44., -125., 1925 - 4 -122., -69., 51., 61., 54., 3., -9., 99., 1925 - 5 -238., 14., -40., -18., 39., 13., -103., -52., 1925 - 6 73., -54., -50., 3., -14., 27., -14., -35., 1925 - 7 5., -14., 29., 19., -17., 6., -21., 11., 1925 - 8 7., 8., -3., -15., -9., 6., 2., -14., 1925 - 9 4., 5., -7., 17., 7., -5., 8., -19., 1925 - a 8., 10., -20., 1., 14., -11., 5., 12., 1925 - b -3., 1., -2., -2., 9., 2., 10., 0., 1925 - c -2., -1., 2., -3., -4., 2., 2., 1., 1925 - d -5., 2., -2., 6., 6., -4., 4., 0., 1925 - e 0., -2., 1., 4., 3., 0., 0., -6./ 1925 - data g6/ -30805.,-2316., 5808., -951., 2980.,-1424., 1517., 644., 1930 - 1 1172.,-1692., -480., 1205., 133., 907., 166., 896., 1930 - 2 727., 205., 584., -195., -422., -109., 234., -90., 1930 - 3 -237., 327., -72., 218., 60., -32., -53., -131., 1930 - 4 -118., -74., 58., 60., 53., 4., -9., 102., 1930 - 5 -242., 19., -32., -16., 32., 8., -104., -46., 1930 - 6 74., -54., -51., 4., -15., 25., -14., -34., 1930 - 7 6., -12., 29., 18., -18., 6., -20., 11., 1930 - 8 7., 8., -3., -15., -9., 5., 2., -14., 1930 - 9 5., 5., -6., 18., 8., -5., 8., -19., 1930 - a 8., 10., -20., 1., 14., -12., 5., 12., 1930 - b -3., 1., -2., -2., 9., 3., 10., 0., 1930 - c -2., -2., 2., -3., -4., 2., 2., 1., 1930 - d -5., 2., -2., 6., 6., -4., 4., 0., 1930 - e 0., -2., 1., 4., 3., 0., 0., -6./ 1930 - data g7/ -30715.,-2306., 5812.,-1018., 2984.,-1520., 1550., 586., 1935 - 1 1206.,-1740., -494., 1215., 146., 918., 101., 903., 1935 - 2 744., 188., 565., -226., -415., -90., 249., -114., 1935 - 3 -241., 329., -51., 211., 64., -33., -64., -136., 1935 - 4 -115., -76., 64., 59., 53., 4., -8., 104., 1935 - 5 -246., 25., -25., -15., 25., 4., -106., -40., 1935 - 6 74., -53., -52., 4., -17., 23., -14., -33., 1935 - 7 7., -11., 29., 18., -19., 6., -19., 11., 1935 - 8 7., 8., -3., -15., -9., 5., 1., -15., 1935 - 9 6., 5., -6., 18., 8., -5., 7., -19., 1935 - a 8., 10., -20., 1., 15., -12., 5., 11., 1935 - b -3., 1., -3., -2., 9., 3., 11., 0., 1935 - c -2., -2., 2., -3., -4., 2., 2., 1., 1935 - d -5., 2., -2., 6., 6., -4., 4., 0., 1935 - e 0., -1., 2., 4., 3., 0., 0., -6./ 1935 - data g8/ -30654.,-2292., 5821.,-1106., 2981.,-1614., 1566., 528., 1940 - 1 1240.,-1790., -499., 1232., 163., 916., 43., 914., 1940 - 2 762., 169., 550., -252., -405., -72., 265., -141., 1940 - 3 -241., 334., -33., 208., 71., -33., -75., -141., 1940 - 4 -113., -76., 69., 57., 54., 4., -7., 105., 1940 - 5 -249., 33., -18., -15., 18., 0., -107., -33., 1940 - 6 74., -53., -52., 4., -18., 20., -14., -31., 1940 - 7 7., -9., 29., 17., -20., 5., -19., 11., 1940 - 8 7., 8., -3., -14., -10., 5., 1., -15., 1940 - 9 6., 5., -5., 19., 9., -5., 7., -19., 1940 - a 8., 10., -21., 1., 15., -12., 5., 11., 1940 - b -3., 1., -3., -2., 9., 3., 11., 1., 1940 - c -2., -2., 2., -3., -4., 2., 2., 1., 1940 - d -5., 2., -2., 6., 6., -4., 4., 0., 1940 - e 0., -1., 2., 4., 3., 0., 0., -6./ 1940 - data g9/ -30594.,-2285., 5810.,-1244., 2990.,-1702., 1578., 477., 1945 - 1 1282.,-1834., -499., 1255., 186., 913., -11., 944., 1945 - 2 776., 144., 544., -276., -421., -55., 304., -178., 1945 - 3 -253., 346., -12., 194., 95., -20., -67., -142., 1945 - 4 -119., -82., 82., 59., 57., 6., 6., 100., 1945 - 5 -246., 16., -25., -9., 21., -16., -104., -39., 1945 - 6 70., -40., -45., 0., -18., 0., 2., -29., 1945 - 7 6., -10., 28., 15., -17., 29., -22., 13., 1945 - 8 7., 12., -8., -21., -5., -12., 9., -7., 1945 - 9 7., 2., -10., 18., 7., 3., 2., -11., 1945 - a 5., -21., -27., 1., 17., -11., 29., 3., 1945 - b -9., 16., 4., -3., 9., -4., 6., -3., 1945 - c 1., -4., 8., -3., 11., 5., 1., 1., 1945 - d 2., -20., -5., -1., -1., -6., 8., 6., 1945 - e -1., -4., -3., -2., 5., 0., -2., -2./ 1945 - data ga/ -30554.,-2250., 5815.,-1341., 2998.,-1810., 1576., 381., 1950 - 1 1297.,-1889., -476., 1274., 206., 896., -46., 954., 1950 - 2 792., 136., 528., -278., -408., -37., 303., -210., 1950 - 3 -240., 349., 3., 211., 103., -20., -87., -147., 1950 - 4 -122., -76., 80., 54., 57., -1., 4., 99., 1950 - 5 -247., 33., -16., -12., 12., -12., -105., -30., 1950 - 6 65., -55., -35., 2., -17., 1., 0., -40., 1950 - 7 10., -7., 36., 5., -18., 19., -16., 22., 1950 - 8 15., 5., -4., -22., -1., 0., 11., -21., 1950 - 9 15., -8., -13., 17., 5., -4., -1., -17., 1950 - a 3., -7., -24., -1., 19., -25., 12., 10., 1950 - b 2., 5., 2., -5., 8., -2., 8., 3., 1950 - c -11., 8., -7., -8., 4., 13., -1., -2., 1950 - d 13., -10., -4., 2., 4., -3., 12., 6., 1950 - e 3., -3., 2., 6., 10., 11., 3., 8./ 1950 - data gb/ -30500.,-2215., 5820.,-1440., 3003.,-1898., 1581., 291., 1955 - 1 1302.,-1944., -462., 1288., 216., 882., -83., 958., 1955 - 2 796., 133., 510., -274., -397., -23., 290., -230., 1955 - 3 -229., 360., 15., 230., 110., -23., -98., -152., 1955 - 4 -121., -69., 78., 47., 57., -9., 3., 96., 1955 - 5 -247., 48., -8., -16., 7., -12., -107., -24., 1955 - 6 65., -56., -50., 2., -24., 10., -4., -32., 1955 - 7 8., -11., 28., 9., -20., 18., -18., 11., 1955 - 8 9., 10., -6., -15., -14., 5., 6., -23., 1955 - 9 10., 3., -7., 23., 6., -4., 9., -13., 1955 - a 4., 9., -11., -4., 12., -5., 7., 2., 1955 - b 6., 4., -2., 1., 10., 2., 7., 2., 1955 - c -6., 5., 5., -3., -5., -4., -1., 0., 1955 - d 2., -8., -3., -2., 7., -4., 4., 1., 1955 - e -2., -3., 6., 7., -2., -1., 0., -3./ 1955 - data gc/ -30421.,-2169., 5791.,-1555., 3002.,-1967., 1590., 206., 1960 - 1 1302.,-1992., -414., 1289., 224., 878., -130., 957., 1960 - 2 800., 135., 504., -278., -394., 3., 269., -255., 1960 - 3 -222., 362., 16., 242., 125., -26., -117., -156., 1960 - 4 -114., -63., 81., 46., 58., -10., 1., 99., 1960 - 5 -237., 60., -1., -20., -2., -11., -113., -17., 1960 - 6 67., -56., -55., 5., -28., 15., -6., -32., 1960 - 7 7., -7., 23., 17., -18., 8., -17., 15., 1960 - 8 6., 11., -4., -14., -11., 7., 2., -18., 1960 - 9 10., 4., -5., 23., 10., 1., 8., -20., 1960 - a 4., 6., -18., 0., 12., -9., 2., 1., 1960 - b 0., 4., -3., -1., 9., -2., 8., 3., 1960 - c 0., -1., 5., 1., -3., 4., 4., 1., 1960 - d 0., 0., -1., 2., 4., -5., 6., 1., 1960 - e 1., -1., -1., 6., 2., 0., 0., -7./ 1960 - data gd/ -30334.,-2119., 5776.,-1662., 2997.,-2016., 1594., 114., 1965 - 1 1297.,-2038., -404., 1292., 240., 856., -165., 957., 1965 - 2 804., 148., 479., -269., -390., 13., 252., -269., 1965 - 3 -219., 358., 19., 254., 128., -31., -126., -157., 1965 - 4 -97., -62., 81., 45., 61., -11., 8., 100., 1965 - 5 -228., 68., 4., -32., 1., -8., -111., -7., 1965 - 6 75., -57., -61., 4., -27., 13., -2., -26., 1965 - 7 6., -6., 26., 13., -23., 1., -12., 13., 1965 - 8 5., 7., -4., -12., -14., 9., 0., -16., 1965 - 9 8., 4., -1., 24., 11., -3., 4., -17., 1965 - a 8., 10., -22., 2., 15., -13., 7., 10., 1965 - b -4., -1., -5., -1., 10., 5., 10., 1., 1965 - c -4., -2., 1., -2., -3., 2., 2., 1., 1965 - d -5., 2., -2., 6., 4., -4., 4., 0., 1965 - e 0., -2., 2., 3., 2., 0., 0., -6./ 1965 - data ge/ -30220.,-2068., 5737.,-1781., 3000.,-2047., 1611., 25., 1970 - 1 1287.,-2091., -366., 1278., 251., 838., -196., 952., 1970 - 2 800., 167., 461., -266., -395., 26., 234., -279., 1970 - 3 -216., 359., 26., 262., 139., -42., -139., -160., 1970 - 4 -91., -56., 83., 43., 64., -12., 15., 100., 1970 - 5 -212., 72., 2., -37., 3., -6., -112., 1., 1970 - 6 72., -57., -70., 1., -27., 14., -4., -22., 1970 - 7 8., -2., 23., 13., -23., -2., -11., 14., 1970 - 8 6., 7., -2., -15., -13., 6., -3., -17., 1970 - 9 5., 6., 0., 21., 11., -6., 3., -16., 1970 - a 8., 10., -21., 2., 16., -12., 6., 10., 1970 - b -4., -1., -5., 0., 10., 3., 11., 1., 1970 - c -2., -1., 1., -3., -3., 1., 2., 1., 1970 - d -5., 3., -1., 4., 6., -4., 4., 0., 1970 - e 1., -1., 0., 3., 3., 1., -1., -4./ 1970 - data gf/ -30100.,-2013., 5675.,-1902., 3010.,-2067., 1632., -68., 1975 - 1 1276.,-2144., -333., 1260., 262., 830., -223., 946., 1975 - 2 791., 191., 438., -265., -405., 39., 216., -288., 1975 - 3 -218., 356., 31., 264., 148., -59., -152., -159., 1975 - 4 -83., -49., 88., 45., 66., -13., 28., 99., 1975 - 5 -198., 75., 1., -41., 6., -4., -111., 11., 1975 - 6 71., -56., -77., 1., -26., 16., -5., -14., 1975 - 7 10., 0., 22., 12., -23., -5., -12., 14., 1975 - 8 6., 6., -1., -16., -12., 4., -8., -19., 1975 - 9 4., 6., 0., 18., 10., -10., 1., -17., 1975 - a 7., 10., -21., 2., 16., -12., 7., 10., 1975 - b -4., -1., -5., -1., 10., 4., 11., 1., 1975 - c -3., -2., 1., -3., -3., 1., 2., 1., 1975 - d -5., 3., -2., 4., 5., -4., 4., -1., 1975 - e 1., -1., 0., 3., 3., 1., -1., -5./ 1975 - data gg/ -29992.,-1956., 5604.,-1997., 3027.,-2129., 1663., -200., 1980 - 1 1281.,-2180., -336., 1251., 271., 833., -252., 938., 1980 - 2 782., 212., 398., -257., -419., 53., 199., -297., 1980 - 3 -218., 357., 46., 261., 150., -74., -151., -162., 1980 - 4 -78., -48., 92., 48., 66., -15., 42., 93., 1980 - 5 -192., 71., 4., -43., 14., -2., -108., 17., 1980 - 6 72., -59., -82., 2., -27., 21., -5., -12., 1980 - 7 16., 1., 18., 11., -23., -2., -10., 18., 1980 - 8 6., 7., 0., -18., -11., 4., -7., -22., 1980 - 9 4., 9., 3., 16., 6., -13., -1., -15., 1980 - a 5., 10., -21., 1., 16., -12., 9., 9., 1980 - b -5., -3., -6., -1., 9., 7., 10., 2., 1980 - c -6., -5., 2., -4., -4., 1., 2., 0., 1980 - d -5., 3., -2., 6., 5., -4., 3., 0., 1980 - e 1., -1., 2., 4., 3., 0., 0., -6./ 1980 - data gi/ -29873.,-1905., 5500.,-2072., 3044.,-2197., 1687., -306., 1985 - 1 1296.,-2208., -310., 1247., 284., 829., -297., 936., 1985 - 2 780., 232., 361., -249., -424., 69., 170., -297., 1985 - 3 -214., 355., 47., 253., 150., -93., -154., -164., 1985 - 4 -75., -46., 95., 53., 65., -16., 51., 88., 1985 - 5 -185., 69., 4., -48., 16., -1., -102., 21., 1985 - 6 74., -62., -83., 3., -27., 24., -2., -6., 1985 - 7 20., 4., 17., 10., -23., 0., -7., 21., 1985 - 8 6., 8., 0., -19., -11., 5., -9., -23., 1985 - 9 4., 11., 4., 14., 4., -15., -4., -11., 1985 - a 5., 10., -21., 1., 15., -12., 9., 9., 1985 - b -6., -3., -6., -1., 9., 7., 9., 1., 1985 - c -7., -5., 2., -4., -4., 1., 3., 0., 1985 - d -5., 3., -2., 6., 5., -4., 3., 0., 1985 - e 1., -1., 2., 4., 3., 0., 0., -6./ 1985 - data gj/ -29775.,-1848., 5406.,-2131., 3059.,-2279., 1686., -373., 1990 - 1 1314.,-2239., -284., 1248., 293., 802., -352., 939., 1990 - 2 780., 247., 325., -240., -423., 84., 141., -299., 1990 - 3 -214., 353., 46., 245., 154., -109., -153., -165., 1990 - 4 -69., -36., 97., 61., 65., -16., 59., 82., 1990 - 5 -178., 69., 3., -52., 18., 1., -96., 24., 1990 - 6 77., -64., -80., 2., -26., 26., 0., -1., 1990 - 7 21., 5., 17., 9., -23., 0., -4., 23., 1990 - 8 5., 10., -1., -19., -10., 6., -12., -22., 1990 - 9 3., 12., 4., 12., 2., -16., -6., -10., 1990 - a 4., 9., -20., 1., 15., -12., 11., 9., 1990 - b -7., -4., -7., -2., 9., 7., 8., 1., 1990 - c -7., -6., 2., -3., -4., 2., 2., 1., 1990 - d -5., 3., -2., 6., 4., -4., 3., 0., 1990 - e 1., -2., 3., 3., 3., -1., 0., -6./ 1990 - data gk/ -29692.,-1784., 5306.,-2200., 3070.,-2366., 1681., -413., 1995 - 1 1335.,-2267., -262., 1249., 302., 759., -427., 940., 1995 - 2 780., 262., 290., -236., -418., 97., 122., -306., 1995 - 3 -214., 352., 46., 235., 165., -118., -143., -166., 1995 - 4 -55., -17., 107., 68., 67., -17., 68., 72., 1995 - 5 -170., 67., -1., -58., 19., 1., -93., 36., 1995 - 6 77., -72., -69., 1., -25., 28., 4., 5., 1995 - 7 24., 4., 17., 8., -24., -2., -6., 25., 1995 - 8 6., 11., -6., -21., -9., 8., -14., -23., 1995 - 9 9., 15., 6., 11., -5., -16., -7., -4., 1995 - a 4., 9., -20., 3., 15., -10., 12., 8., 1995 - b -6., -8., -8., -1., 8., 10., 5., -2., 1995 - c -8., -8., 3., -3., -6., 1., 2., 0., 1995 - d -4., 4., -1., 5., 4., -5., 2., -1., 1995 - e 2., -2., 5., 1., 1., -2., 0., -7., 1995 - f 75*0./ 1995 - data gl/ -29619.4,-1728.2, 5186.1,-2267.7, 3068.4,-2481.6, 1670.9, 2000 - 1 -458.0, 1339.6,-2288.0, -227.6, 1252.1, 293.4, 714.5, 2000 - 2 -491.1, 932.3, 786.8, 272.6, 250.0, -231.9, -403.0, 2000 - 3 119.8, 111.3, -303.8, -218.8, 351.4, 43.8, 222.3, 2000 - 4 171.9, -130.4, -133.1, -168.6, -39.3, -12.9, 106.3, 2000 - 5 72.3, 68.2, -17.4, 74.2, 63.7, -160.9, 65.1, 2000 - 6 -5.9, -61.2, 16.9, 0.7, -90.4, 43.8, 79.0, 2000 - 7 -74.0, -64.6, 0.0, -24.2, 33.3, 6.2, 9.1, 2000 - 8 24.0, 6.9, 14.8, 7.3, -25.4, -1.2, -5.8, 2000 - 9 24.4, 6.6, 11.9, -9.2, -21.5, -7.9, 8.5, 2000 - a -16.6, -21.5, 9.1, 15.5, 7.0, 8.9, -7.9, 2000 - b -14.9, -7.0, -2.1, 5.0, 9.4, -19.7, 3.0, 2000 - c 13.4, -8.4, 12.5, 6.3, -6.2, -8.9, -8.4, 2000 - d -1.5, 8.4, 9.3, 3.8, -4.3, -8.2, -8.2, 2000 - e 4.8, -2.6, -6.0, 1.7, 1.7, 0.0, -3.1, 2000 - f 4.0, -0.5, 4.9, 3.7, -5.9, 1.0, -1.2, 2000 - g 2.0, -2.9, 4.2, 0.2, 0.3, -2.2, -1.1, 2000 - h -7.4, 2.7, -1.7, 0.1, -1.9, 1.3, 1.5, 2000 - i -0.9, -0.1, -2.6, 0.1, 0.9, -0.7, -0.7, 2000 - j 0.7, -2.8, 1.7, -0.9, 0.1, -1.2, 1.2, 2000 - k -1.9, 4.0, -0.9, -2.2, -0.3, -0.4, 0.2, 2000 - l 0.3, 0.9, 2.5, -0.2, -2.6, 0.9, 0.7, 2000 - m -0.5, 0.3, 0.3, 0.0, -0.3, 0.0, -0.4, 2000 - n 0.3, -0.1, -0.9, -0.2, -0.4, -0.4, 0.8, 2000 - o -0.2, -0.9, -0.9, 0.3, 0.2, 0.1, 1.8, 2000 - p -0.4, -0.4, 1.3, -1.0, -0.4, -0.1, 0.7, 2000 - q 0.7, -0.4, 0.3, 0.3, 0.6, -0.1, 0.3, 2000 - r 0.4, -0.2, 0.0, -0.5, 0.1, -0.9/ 2000 - data gm/-29554.63,-1669.05, 5077.99,-2337.24, 3047.69,-2594.50, 2005 - 1 1657.76, -515.43, 1336.30,-2305.83, -198.86, 1246.39, 2005 - 2 269.72, 672.51, -524.72, 920.55, 797.96, 282.07, 2005 - 3 210.65, -225.23, -379.86, 145.15, 100.00, -305.36, 2005 - 4 -227.00, 354.41, 42.72, 208.95, 180.25, -136.54, 2005 - 5 -123.45, -168.05, -19.57, -13.55, 103.85, 73.60, 2005 - 6 69.56, -20.33, 76.74, 54.75, -151.34, 63.63, 2005 - 7 -14.58, -63.53, 14.58, 0.24, -86.36, 50.94, 2005 - 8 79.88, -74.46, -61.14, -1.65, -22.57, 38.73, 2005 - 9 6.82, 12.30, 25.35, 9.37, 10.93, 5.42, 2005 - a -26.32, 1.94, -4.64, 24.80, 7.62, 11.20, 2005 - b -11.73, -20.88, -6.88, 9.83, -18.11, -19.71, 2005 - c 10.17, 16.22, 9.36, 7.61, -11.25, -12.76, 2005 - d -4.87, -0.06, 5.58, 9.76, -20.11, 3.58, 2005 - e 12.69, -6.94, 12.67, 5.01, -6.72, -10.76, 2005 - f -8.16, -1.25, 8.10, 8.76, 2.92, -6.66, 2005 - g -7.73, -9.22, 6.01, -2.17, -6.12, 2.19, 2005 - h 1.42, 0.10, -2.35, 4.46, -0.15, 4.76, 2005 - i 3.06, -6.58, 0.29, -1.01, 2.06, -3.47, 2005 - j 3.77, -0.86, -0.21, -2.31, -2.09, -7.93, 2005 - k 2.95, -1.60, 0.26, -1.88, 1.44, 1.44, 2005 - l -0.77, -0.31, -2.27, 0.29, 0.90, -0.79, 2005 - m -0.58, 0.53, -2.69, 1.80, -1.08, 0.16, 2005 - n -1.58, 0.96, -1.90, 3.99, -1.39, -2.15, 2005 - o -0.29, -0.55, 0.21, 0.23, 0.89, 2.38, 2005 - p -0.38, -2.63, 0.96, 0.61, -0.30, 0.40, 2005 - q 0.46, 0.01, -0.35, 0.02, -0.36, 0.28, 2005 - r 0.08, -0.87, -0.49, -0.34, -0.08, 0.88, 2005 - s -0.16, -0.88, -0.76, 0.30, 0.33, 0.28, 2005 - t 1.72, -0.43, -0.54, 1.18, -1.07, -0.37, 2005 - u -0.04, 0.75, 0.63, -0.26, 0.21, 0.35, 2005 - v 0.53, -0.05, 0.38, 0.41, -0.22, -0.10, 2005 - w -0.57, -0.18, -0.82/ 2005 - data gp/-29496.57,-1586.42, 4944.26,-2396.06, 3026.34,-2708.54, 2010 - 1 1668.17, -575.73, 1339.85,-2326.54, -160.40, 1232.10, 2010 - 2 251.75, 633.73, -537.03, 912.66, 808.97, 286.48, 2010 - 3 166.58, -211.03, -356.83, 164.46, 89.40, -309.72, 2010 - 4 -230.87, 357.29, 44.58, 200.26, 189.01, -141.05, 2010 - 5 -118.06, -163.17, -0.01, -8.03, 101.04, 72.78, 2010 - 6 68.69, -20.90, 75.92, 44.18, -141.40, 61.54, 2010 - 7 -22.83, -66.26, 13.10, 3.02, -78.09, 55.40, 2010 - 8 80.44, -75.00, -57.80, -4.55, -21.20, 45.24, 2010 - 9 6.54, 14.00, 24.96, 10.46, 7.03, 1.64, 2010 - a -27.61, 4.92, -3.28, 24.41, 8.21, 10.84, 2010 - b -14.50, -20.03, -5.59, 11.83, -19.34, -17.41, 2010 - c 11.61, 16.71, 10.85, 6.96, -14.05, -10.74, 2010 - d -3.54, 1.64, 5.50, 9.45, -20.54, 3.45, 2010 - e 11.51, -5.27, 12.75, 3.13, -7.14, -12.38, 2010 - f -7.42, -0.76, 7.97, 8.43, 2.14, -8.42, 2010 - g -6.08, -10.08, 7.01, -1.94, -6.24, 2.73, 2010 - h 0.89, -0.10, -1.07, 4.71, -0.16, 4.44, 2010 - i 2.45, -7.22, -0.33, -0.96, 2.13, -3.95, 2010 - j 3.09, -1.99, -1.03, -1.97, -2.80, -8.31, 2010 - k 3.05, -1.48, 0.13, -2.03, 1.67, 1.65, 2010 - l -0.66, -0.51, -1.76, 0.54, 0.85, -0.79, 2010 - m -0.39, 0.37, -2.51, 1.79, -1.27, 0.12, 2010 - n -2.11, 0.75, -1.94, 3.75, -1.86, -2.12, 2010 - o -0.21, -0.87, 0.30, 0.27, 1.04, 2.13, 2010 - p -0.63, -2.49, 0.95, 0.49, -0.11, 0.59, 2010 - q 0.52, 0.00, -0.39, 0.13, -0.37, 0.27, 2010 - r 0.21, -0.86, -0.77, -0.23, 0.04, 0.87, 2010 - s -0.09, -0.89, -0.87, 0.31, 0.30, 0.42, 2010 - t 1.66, -0.45, -0.59, 1.08, -1.14, -0.31, 2010 - u -0.07, 0.78, 0.54, -0.18, 0.10, 0.38, 2010 - v 0.49, 0.02, 0.44, 0.42, -0.25, -0.26, 2010 - w -0.53, -0.26, -0.79/ 2010 - data gq/-29441.46,-1501.77, 4795.99,-2445.88, 3012.20,-2845.41, 2015 - 1 1676.35, -642.17, 1350.33,-2352.26, -115.29, 1225.85, 2015 - 2 245.04, 581.69, -538.70, 907.42, 813.68, 283.54, 2015 - 3 120.49, -188.43, -334.85, 180.95, 70.38, -329.23, 2015 - 4 -232.91, 360.14, 46.98, 192.35, 196.98, -140.94, 2015 - 5 -119.14, -157.40, 15.98, 4.30, 100.12, 69.55, 2015 - 6 67.57, -20.61, 72.79, 33.30, -129.85, 58.74, 2015 - 7 -28.93, -66.64, 13.14, 7.35, -70.85, 62.41, 2015 - 8 81.29, -75.99, -54.27, -6.79, -19.53, 51.82, 2015 - 9 5.59, 15.07, 24.45, 9.32, 3.27, -2.88, 2015 - a -27.50, 6.61, -2.32, 23.98, 8.89, 10.04, 2015 - b -16.78, -18.26, -3.16, 13.18, -20.56, -14.60, 2015 - c 13.33, 16.16, 11.76, 5.69, -15.98, -9.10, 2015 - d -2.02, 2.26, 5.33, 8.83, -21.77, 3.02, 2015 - e 10.76, -3.22, 11.74, 0.67, -6.74, -13.20, 2015 - f -6.88, -0.10, 7.79, 8.68, 1.04, -9.06, 2015 - g -3.89, -10.54, 8.44, -2.01, -6.26, 3.28, 2015 - h 0.17, -0.40, 0.55, 4.55, -0.55, 4.40, 2015 - i 1.70, -7.92, -0.67, -0.61, 2.13, -4.16, 2015 - j 2.33, -2.85, -1.80, -1.12, -3.59, -8.72, 2015 - k 3.00, -1.40, 0.00, -2.30, 2.11, 2.08, 2015 - l -0.60, -0.79, -1.05, 0.58, 0.76, -0.70, 2015 - m -0.20, 0.14, -2.12, 1.70, -1.44, -0.22, 2015 - n -2.57, 0.44, -2.01, 3.49, -2.34, -2.09, 2015 - o -0.16, -1.08, 0.46, 0.37, 1.23, 1.75, 2015 - p -0.89, -2.19, 0.85, 0.27, 0.10, 0.72, 2015 - q 0.54, -0.09, -0.37, 0.29, -0.43, 0.23, 2015 - r 0.22, -0.89, -0.94, -0.16, -0.03, 0.72, 2015 - s -0.02, -0.92, -0.88, 0.42, 0.49, 0.63, 2015 - t 1.56, -0.42, -0.50, 0.96, -1.24, -0.19, 2015 - u -0.10, 0.81, 0.42, -0.13, -0.04, 0.38, 2015 - v 0.48, 0.08, 0.48, 0.46, -0.30, -0.35, 2015 - w -0.43, -0.36, -0.71/ 2015 - data gr/ -29404.8, -1450.9, 4652.5, -2499.6, 2982.0, -2991.6, 2020 - 1 1677.0, -734.6, 1363.2, -2381.2, -82.1, 1236.2, 2020 - 2 241.9, 525.7, -543.4, 903.0, 809.5, 281.9, 2020 - 3 86.3, -158.4, -309.4, 199.7, 48.0, -349.7, 2020 - 4 -234.3, 363.2, 47.7, 187.8, 208.3, -140.7, 2020 - 5 -121.2, -151.2, 32.3, 13.5, 98.9, 66.0, 2020 - 6 65.5, -19.1, 72.9, 25.1, -121.5, 52.8, 2020 - 7 -36.2, -64.5, 13.5, 8.9, -64.7, 68.1, 2020 - 8 80.6, -76.7, -51.5, -8.2, -16.9, 56.5, 2020 - 9 2.2, 15.8, 23.5, 6.4, -2.2, -7.2, 2020 - a -27.2, 9.8, -1.8, 23.7, 9.7, 8.4, 2020 - b -17.6, -15.3, -0.5, 12.8, -21.1, -11.7, 2020 - c 15.3, 14.9, 13.7, 3.6, -16.5, -6.9, 2020 - d -0.3, 2.8, 5.0, 8.4, -23.4, 2.9, 2020 - e 11.0, -1.5, 9.8, -1.1, -5.1, -13.2, 2020 - f -6.3, 1.1, 7.8, 8.8, 0.4, -9.3, 2020 - g -1.4, -11.9, 9.6, -1.9, -6.2, 3.4, 2020 - h -0.1, -0.2, 1.7, 3.6, -0.9, 4.8, 2020 - i 0.7, -8.6, -0.9, -0.1, 1.9, -4.3, 2020 - j 1.4, -3.4, -2.4, -0.1, -3.8, -8.8, 2020 - k 3.0, -1.4, 0.0, -2.5, 2.5, 2.3, 2020 - l -0.6, -0.9, -0.4, 0.3, 0.6, -0.7, 2020 - m -0.2, -0.1, -1.7, 1.4, -1.6, -0.6, 2020 - n -3.0, 0.2, -2.0, 3.1, -2.6, -2.0, 2020 - o -0.1, -1.2, 0.5, 0.5, 1.3, 1.4, 2020 - p -1.2, -1.8, 0.7, 0.1, 0.3, 0.8, 2020 - q 0.5, -0.2, -0.3, 0.6, -0.5, 0.2, 2020 - r 0.1, -0.9, -1.1, 0.0, -0.3, 0.5, 2020 - s 0.1, -0.9, -0.9, 0.5, 0.6, 0.7, 2020 - t 1.4, -0.3, -0.4, 0.8, -1.3, 0.0, 2020 - u -0.1, 0.8, 0.3, 0.0, -0.1, 0.4, 2020 - v 0.5, 0.1, 0.5, 0.5, -0.4, -0.5, 2020 - w -0.4, -0.4, -0.6/ 2020 - data gs/ 5.7, 7.4, -25.9, -11.0, -7.0, -30.2, 2022 - 1 -2.1, -22.4, 2.2, -5.9, 6.0, 3.1, 2022 - 2 -1.1, -12.0, 0.5, -1.2, -1.6, -0.1, 2022 - 3 -5.9, 6.5, 5.2, 3.6, -5.1, -5.0, 2022 - 4 -0.3, 0.5, 0.0, -0.6, 2.5, 0.2, 2022 - 5 -0.6, 1.3, 3.0, 0.9, 0.3, -0.5, 2022 - 6 -0.3, 0.0, 0.4, -1.6, 1.3, -1.3, 2022 - 7 -1.4, 0.8, 0.0, 0.0, 0.9, 1.0, 2022 - 8 -0.1, -0.2, 0.6, 0.0, 0.6, 0.7, 2022 - 9 -0.8, 0.1, -0.2, -0.5, -1.1, -0.8, 2022 - a 0.1, 0.8, 0.3, 0.0, 0.1, -0.2, 2022 - b -0.1, 0.6, 0.4, -0.2, -0.1, 0.5, 2022 - c 0.4, -0.3, 0.3, -0.4, -0.1, 0.5, 2022 - d 0.4, 0.0, 115*0.0/ 2022 -C following added by RStoneback -Cf2py intent(in) isv,date,itype,alt,colat,elong -Cf2py intent(out) x,y,z,f - - - -c -c set initial values -c - x = 0.0 - y = 0.0 - z = 0.0 - if (date.lt.1900.0.or.date.gt.2030.0) go to 11 - if (date.gt.2025.0) write (6,960) date - 960 format (/' This version of the IGRF is intended for use up', - 1 ' to 2025.0.'/' values for',f9.3,' will be computed', - 2 ' but may be of reduced accuracy'/) - if (date.ge.2020.0) go to 1 - t = 0.2*(date - 1900.0) - ll = t - one = ll - t = t - one -c -c SH models before 1995.0 are only to degree 10 -c - if (date.lt.1995.0) then - nmx = 10 - nc = nmx*(nmx+2) - ll = nc*ll - kmx = (nmx+1)*(nmx+2)/2 - else - nmx = 13 - nc = nmx*(nmx+2) - ll = 0.2*(date - 1995.0) -c -c 19 is the number of SH models that extend to degree 10 -c - ll = 120*19 + nc*ll - kmx = (nmx+1)*(nmx+2)/2 - endif - tc = 1.0 - t - if (isv.eq.1) then - tc = -0.2 - t = 0.2 - end if - go to 2 -c - 1 t = date - 2020.0 - tc = 1.0 - if (isv.eq.1) then - t = 1.0 - tc = 0.0 - end if -c -c pointer for last coefficient in pen-ultimate set of MF coefficients... -c - ll = 3255 - nmx = 13 - nc = nmx*(nmx+2) - kmx = (nmx+1)*(nmx+2)/2 - 2 r = alt - one = colat - !*0.017453292 - ct = cos(one) - st = sin(one) - one = elong - !*0.017453292 - cl(1) = cos(one) - sl(1) = sin(one) - cd = 1.0 - sd = 0.0 - l = 1 - m = 1 - n = 0 - if (itype.eq.2) go to 3 -c -c conversion from geodetic to geocentric coordinates -c (using the WGS84 spheroid) -c - a2 = 40680631.6 - b2 = 40408296.0 - one = a2*st*st - two = b2*ct*ct - three = one + two - rho = sqrt(three) - r = sqrt(alt*(alt + 2.0*rho) + (a2*one + b2*two)/three) - cd = (alt + rho)/r - sd = (a2 - b2)/rho*ct*st/r - one = ct - ct = ct*cd - st*sd - st = st*cd + one*sd -c - 3 ratio = 6371.2/r - rr = ratio*ratio -c -c computation of Schmidt quasi-normal coefficients p and x(=q) -c - p(1) = 1.0 - p(3) = st - q(1) = 0.0 - q(3) = ct - do 10 k=2,kmx - if (n.ge.m) go to 4 - m = 0 - n = n + 1 - rr = rr*ratio - fn = n - gn = n - 1 - 4 fm = m - if (m.ne.n) go to 5 - if (k.eq.3) go to 6 - one = sqrt(1.0 - 0.5/fm) - j = k - n - 1 - p(k) = one*st*p(j) - q(k) = one*(st*q(j) + ct*p(j)) - cl(m) = cl(m-1)*cl(1) - sl(m-1)*sl(1) - sl(m) = sl(m-1)*cl(1) + cl(m-1)*sl(1) - go to 6 - 5 gmm = m*m - one = sqrt(fn*fn - gmm) - two = sqrt(gn*gn - gmm)/one - three = (fn + gn)/one - i = k - n - j = i - n + 1 - p(k) = three*ct*p(i) - two*p(j) - q(k) = three*(ct*q(i) - st*p(i)) - two*q(j) -c -c synthesis of x, y and z in geocentric coordinates -c - 6 lm = ll + l - one = (tc*gh(lm) + t*gh(lm+nc))*rr - if (m.eq.0) go to 9 - two = (tc*gh(lm+1) + t*gh(lm+nc+1))*rr - three = one*cl(m) + two*sl(m) - x = x + three*q(k) - z = z - (fn + 1.0)*three*p(k) - if (st.eq.0.0) go to 7 - y = y + (one*sl(m) - two*cl(m))*fm*p(k)/st - go to 8 - 7 y = y + (one*sl(m) - two*cl(m))*q(k)*ct - 8 l = l + 2 - go to 10 - 9 x = x + one*q(k) - z = z - (fn + 1.0)*one*p(k) - l = l + 1 - 10 m = m + 1 -c -c conversion to coordinate system specified by itype -c - one = x - x = x*cd + z*sd - z = z*cd - one*sd - f = sqrt(x*x + y*y + z*z) -c - return -c -c error return if date out of bounds -c - 11 f = 1.0d8 - write (6,961) date - 961 format (/' This subroutine will not work with a date of', - 1 f9.3,'. Date must be in the range 1900.0.ge.date', - 2 '.le.2030.0. On return f = 1.0d8., x = y = z = 0.') - return - end From 25e0548a862163084416114909a9a2425d4ba1b0 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:32:30 -0500 Subject: [PATCH 213/223] ENH: Update old manifest --- MANIFEST.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index 356a2861d..c90dfe113 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,5 @@ include LICENSE -include CONTRIBUTING.md +include CHANGELOG.md include OMMBV/version.txt +include meson.build +include README.md From 74605e578684e311546bf3eeac80cf76152ee109 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:34:05 -0500 Subject: [PATCH 214/223] ENH: Update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 110fb2c61..063f5c547 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [1.1.0] - 2025-04-04 +## [1.1.0] - 2025-04-07 - Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx From db687157a0ae781682d7b1bc50b31176b62c8115 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:38:58 -0500 Subject: [PATCH 215/223] ENH: Restore coverage percentage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b2d0224f..a6aa3d901 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ # Orthogonal Multipole Magnetic Basis Vectors (OMMBV) [![Build Status](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg)](https://github.com/CosmicStudioSoftware/OMMBV/actions/workflows/main.yml/badge.svg) +[![Coverage Status](https://coveralls.io/repos/github/CosmicStudioSoftware/OMMBV/badge.svg?branch=main)](https://coveralls.io/github/CosmicStudioSoftware/OMMBV?branch=main) [![Documentation Status](https://readthedocs.org/projects/ommbv/badge/?version=latest)](https://ommbv.readthedocs.io/en/latest/?badge=latest) [![DOI](https://zenodo.org/badge/138220240.svg)](https://zenodo.org/badge/latestdoi/138220240) From 49868ce5e22dc31a90d54c119196644d78f9f180 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:43:08 -0500 Subject: [PATCH 216/223] ENH: Restore coverage percentage --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a6aa3d901..6b2c0f707 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,8 @@ and measurements from the Communications/Navigation Outage Forecasting System The development of the multipole software has been supported, in part, by multiple agencies under the following grants: -Naval Research Laboratory N00173-19-1-G016 and NASA 80NSSC18K1203. +Cosmic Studio, Naval Research Laboratory N00173-19-1-G016, +and NASA 80NSSC18K1203. Previous versions of this software that provided an 'average' basis were funded by: National Aeronautics and Space Agency (NASA NNG12FA45C), From a2435ca685f0373eff3f4857a8a4577042756344 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 13:50:22 -0500 Subject: [PATCH 217/223] BUG: PEP8 --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b418258be..295b4dac2 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,8 @@ os.path.join('ommbvfortran', 'igrf14.f')], extra_f77_compile_args=extra_args), Extension(name='OMMBV.fortran_coords', - sources=[os.path.join('ommbvfortran', '_coords.f')])] + sources=[os.path.join('ommbvfortran', + '_coords.f')])] setup_kwargs = {'ext_modules': extensions} setup(**setup_kwargs) From 2c14342a67de530743f927e4eba82cfd0b4d27bf Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 14:16:21 -0500 Subject: [PATCH 218/223] DOC: Updated citation --- docs/citing.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/citing.rst b/docs/citing.rst index e76e05dd8..a5dd60b78 100644 --- a/docs/citing.rst +++ b/docs/citing.rst @@ -20,7 +20,7 @@ OMMBV author = {Stoneback, R. A. and Klenzing, J. H., and Iyer, G..}, title = {Orthogonal Multipole Magnetic Basis Vectors (OMMBV) v1.1.0}, year = {2025}, - date = {2025-04-04}, + date = {2025-04-07}, doi = {10.5281/zenodo.1299374}, url = {https://doi.org/10.5281/zenodo.1299374} } From a73594c24c4556d74a72e9181ae059e36496a8c5 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 14:27:54 -0500 Subject: [PATCH 219/223] BUG: Removed old commented and unneeded code --- OMMBV/_core.py | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index d04b20077..2286a37ab 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -292,13 +292,6 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, ecef_x, ecef_y, ecef_z = trans.geodetic_to_ecef(latitude, longitude, altitude) - # This shouldn't have been pushed to the repo - # idx, = np.where(np.isnan(ecef_x)) - # if len(idx) > 0: - # print("Encountered nan starting ecef locations ", ecef_x[idx], - # ecef_y[idx], ecef_z[idx], latitude[idx], longitude[idx], - # altitude[idx]) - # Begin method calculation. # Magnetic field at root location @@ -358,13 +351,6 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, ecef_input=True, **step_kwargs) - # This shouldn't be here - # idx, = np.where(np.isnan(tzx)) - # if len(idx) > 0: - # print("Encountered nan tzx values ", idx, ecef_x[idx], - # ecef_y[idx], ecef_z[idx], tzx[idx], tzy[idx], tzz[idx], - # latitude[idx], longitude[idx], altitude[idx]) - if centered_diff: # Negative step ecef_xz2, ecef_yz2, ecef_zz2 = (ecef_x - step_size * tzx, @@ -435,15 +421,6 @@ def calculate_mag_drift_unit_vectors_ecef(latitude, longitude, altitude, & (loop_num + 1 >= min_loops): # Reached terminating conditions repeat_flag = False - # print('Using position ', location_info(ecef_xz, ecef_yz, ecef_zz, - # datetimes, - # return_geodetic=True, - # ecef_input=True, - # **step_kwargs)[3:], loop_num) - # idx, = np.where(np.isnan(ecef_xz)) - # if len(idx) > 0: - # print("Encountered nan apex locations ", ecef_xz[idx], - # ecef_yz[idx], ecef_zz[idx]) else: # Store info into calculation vectors to refine next loop tzx, tzy, tzz = tzx2, tzy2, tzz2 From 241f79df2b17a07b1e735aa9e750134a0f1afbc1 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 14:30:02 -0500 Subject: [PATCH 220/223] DOC: Update version --- OMMBV/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OMMBV/__init__.py b/OMMBV/__init__.py index f40bdb279..568e2059d 100644 --- a/OMMBV/__init__.py +++ b/OMMBV/__init__.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """init routine for OMMBV.""" -__version__ = '1.0.2' +__version__ = '1.1.0' try: from OMMBV import igrf From 3568ee192e0df414cb22219551aca39f24ce3494 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 14:30:57 -0500 Subject: [PATCH 221/223] BUG: Deleted commented code --- OMMBV/_core.py | 1 - 1 file changed, 1 deletion(-) diff --git a/OMMBV/_core.py b/OMMBV/_core.py index 2286a37ab..471a39be3 100644 --- a/OMMBV/_core.py +++ b/OMMBV/_core.py @@ -668,7 +668,6 @@ def step_along_mag_unit_vector(x, y, z, date, direction, num_steps=1, if direction == 'meridional': centered_diff = True - # print("False") else: centered_diff = False From 728e9dee4e2f7df4954ab7d248b5c2d161494cf3 Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Sat, 5 Apr 2025 14:34:35 -0500 Subject: [PATCH 222/223] DOC: Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 063f5c547..66719dc67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added online unit testing for Linux and MacOS - Updated to IGRF14 - Updated documentation +- Updated unit tests to latest standards ## [1.0.1] - 2022-01-04 - Added pyproject.toml to support systems without numpy. From 69a76319dde6593853763fef1ac854e94394cabc Mon Sep 17 00:00:00 2001 From: Russell Stoneback Date: Mon, 7 Apr 2025 09:42:44 -0500 Subject: [PATCH 223/223] DOC: Updated changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66719dc67..8890f6a5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Switched away from distutils to Meson for build system - Updated coupling to coveralls - Updated package version for security issue in sphinx -- Added online unit testing for Linux and MacOS +- Updated online unit testing - Updated to IGRF14 - Updated documentation - Updated unit tests to latest standards