igrf14eval
IAGA V-MOD International Geomagnetic Reference Field 14th generation (IGRF-14) candidate submission and evaluation
Science Score: 75.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
✓Institutional organization owner
Organization iaga-vmod has institutional domain (www.ncei.noaa.gov) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.9%) to scientific vocabulary
Repository
IAGA V-MOD International Geomagnetic Reference Field 14th generation (IGRF-14) candidate submission and evaluation
Basic Info
- Host: GitHub
- Owner: IAGA-VMOD
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: https://iaga-vmod.github.io/IGRF14eval/
- Size: 53 MB
Statistics
- Stars: 14
- Watchers: 5
- Forks: 19
- Open Issues: 1
- Releases: 1
Metadata Files
README.md
IGRF-14 Evaluation
NB: If you are looking for the IGRF-14 release itself, see https://doi.org/10.5281/zenodo.14012302 and https://www.ncei.noaa.gov/products/international-geomagnetic-reference-field
This repository was used to collate and evaluate the candidate models that contributed to IGRF-14. Check the Book and Binder links above to view and execute the notebooks.
Repository layout
binder/
# Configuration for Binder service
bookbuilder/
# Conda environment to generate Jupyter Book (html)
data/
# Data files, including candidate coefficients and release coefficients
docs/
# Reports from candidate teams
lockfiles/
# Conda environment against which to execute notebooks
matlab/
# Matlab code to run separately (Huber-weighted mean in space) - used for IGRF2025 and SV2025-30
notebooks/
# Jupyter Notebooks that verify and compare candidate models
scripts/
# .py files synchronised with notebooks using jupytext
src/
# Python module used by notebooks
Overview of process
mermaid
graph TD
subgraph Submissions
DGRF-C[DGRF Candidates]
IGRF-C[IGRF Candidates]
SV-C[SV Candidates]
end
subgraph Final models
DGRF-C -->|Median| DGRF[DGRF2020]
IGRF-C -->|Huber*| IGRF[IGRF2025]
SV-C -->|Huber*| SV[SV2025-30]
end
DGRF & IGRF & SV --> IGRF-14[IGRF-14]
Huber = Huber-weighted mean in space
- Modelling teams submitted candidates for one or more of (DGRF, IGRF, SV)
Seedata/coefficients/ - Task Force evaluated and compared models
- Task Force voted on method of merging each set of model coefficients
Candidate evaluation
Based on: Alken, P., Thébault, E., Beggan, C.D. et al. Evaluation of candidate models for the 13th generation International Geomagnetic Reference Field. Earth Planets Space 73, 48 (2021). https://doi.org/10.1186/s40623-020-01281-4
Tests are:
0) Check files are correctly formatted, then: 1) Lowes-Mauerberger power spectra plots 2) Root-mean-square differences between candidates 3) Degree correlation plot of differences between one candidate and all others 4) Azimuthal spectra plot of the differences between one candidate and the others 5) Triangle plot of differences between one candidate and the others 6) Spatial maps of comparison in X, Y, Z, Br, Bt, Bp between one candidate and the others
Code based on GitHub repos: IAGA Summer School Python exercises and ChaosMagPy
Submission guide
- Prepare your model coefficients in the
.cofformat - Test them by running the notebooks:
a) Using the Binder link
b) Locally on your machine (see below) - Open a Pull Request to add your model coefficients. You can do this through the GitHub web interface (see instructions in docs/submissionguideGitHub_web.pdf), or using git yourself:
a) Fork this repository
b) Clone your fork onto your machine
c) Create a branch and add your coefficients
git checkout -b <branch-name> git add data/coefficients/DGRF/DGRF_<candidate-name>.cof git add data/coefficients/IGRF/IGRF_<candidate-name>.cof git add data/coefficients/SV/SV_<candidate-name>.cof git commit -m "Add coefficients for ..." git pushd) Open the Pull Request here
Local development
Setting up the environment:
- This can be done manually without using conda if you provide
numpy,pandas,matplotlib,pyshp(check environment-base.yml for specific versions). - (Recommended) Use the conda lockfile for your platform. Run one of:
conda create --name igrf --file lockfiles/conda-linux-64.lock conda create --name igrf --file lockfiles/conda-osx-64.lock conda create --name igrf --file lockfiles/conda-osx-arm64.lock conda create --name igrf --file lockfiles/conda-win-64.lock(and activate it withconda activate igrfwhen you need to use it)
Running the code:
The code is provided as three notebooks/scripts in the /notebooks/ directory. There are two copies of each: in .py format and in Jupyter notebook .ipynb format. You can use whichever you are more comfortable with.
JupyterLab is provided in the conda environment so you can run it with jupyter-lab to use the notebooks.
Owner
- Name: IAGA-VMOD
- Login: IAGA-VMOD
- Kind: organization
- Website: https://www.ncei.noaa.gov/services/world-data-system/v-mod-working-group
- Repositories: 1
- Profile: https://github.com/IAGA-VMOD
GitHub organization for the IAGA Working Group V-MOD
Citation (CITATION.cff)
cff-version: 1.2.0 message: "Code in this repository is licensed under MIT, while data and documentation are licensed under CC BY 4.0. Refer to the repository LICENSE files for details." title: IGRF-14 Evaluation repository-code: https://github.com/IAGA-VMOD/IGRF14eval license: MIT authors: # Evaluation code - family-names: Beggan given-names: Ciaran orcid: https://orcid.org/0000-0002-2298-0578 - family-names: Kloss given-names: Clemens orcid: https://orcid.org/0000-0001-6899-904X - family-names: Smith given-names: Ashley orcid: https://orcid.org/0000-0001-5198-9574 # Candidate model contributors - family-names: Amblard given-names: Pierre-Olivier orcid: https://orcid.org/0000-0002-7695-7728 - family-names: Amezza given-names: Thiziri orcid: https://orcid.org/0009-0008-5694-4752 - family-names: Amit given-names: Hagay orcid: https://orcid.org/0000-0002-6644-534X - family-names: Aubert given-names: Julien orcid: https://orcid.org/0000-0002-2756-0724 - family-names: Baerenzung given-names: Julien orcid: https://orcid.org/0000-0002-0607-3695 - family-names: Brown given-names: William orcid: https://orcid.org/0000-0001-9045-9787 - family-names: Califf given-names: Sam orcid: https://orcid.org/0000-0002-7017-0916 - family-names: Campuano given-names: Saioa A. orcid: https://orcid.org/0000-0001-7047-5704 - family-names: Chauvet given-names: Louis orcid: https://orcid.org/0000-0002-1467-9136 - family-names: Chulliat given-names: Arnaud orcid: https://orcid.org/0000-0001-7414-9631 - family-names: Claveau given-names: Romain orcid: https://orcid.org/0000-0001-5961-0370 - family-names: Coïsson given-names: Pierdavide orcid: https://orcid.org/0000-0003-4155-2111 - family-names: Davies given-names: Christopher orcid: https://orcid.org/0000-0002-1074-3815 - family-names: Deborde given-names: Robin orcid: https://orcid.org/0009-0001-0735-2370 - family-names: Dobrovolsky given-names: Michael orcid: https://orcid.org/0000-0001-6930-3331 - family-names: Fillion given-names: Martin orcid: https://orcid.org/0000-0001-5733-7796 - family-names: Finlay given-names: Chris orcid: https://orcid.org/0000-0002-4592-2290 - family-names: Firsov given-names: Ilya orcid: https://orcid.org/0000-0002-7283-9679 - family-names: Fournier given-names: Alexandre orcid: https://orcid.org/0000-0003-3276-0496 - family-names: Gailler given-names: Lydie orcid: https://orcid.org/0000-0002-8132-2428 - family-names: Gillet given-names: Nicolas orcid: https://orcid.org/0000-0002-2219-1026 - family-names: Gomez Perez given-names: Natalia orcid: https://orcid.org/0000-0001-7751-2686 - family-names: Grayver given-names: Alexander orcid: https://orcid.org/0000-0003-1132-3705 - family-names: Gwirtz given-names: Kyle orcid: https://orcid.org/0000-0002-3024-0756 - family-names: Hamoudi given-names: Mohamed orcid: https://orcid.org/0000-0002-5256-4938 - family-names: Holme given-names: Richard orcid: https://orcid.org/0009-0002-2178-2083 - family-names: Holschneider given-names: Matthias orcid: https://orcid.org/0000-0003-3987-105X - family-names: Hulot given-names: Gauthier orcid: https://orcid.org/0000-0001-8011-3096 - family-names: Jager given-names: Thomas orcid: https://orcid.org/0000-0001-9871-9934 - family-names: Jiang given-names: Yi orcid: https://orcid.org/0000-0003-3330-058X - family-names: Kada given-names: Martin orcid: https://orcid.org/0000-0002-7490-7452 - family-names: Korte given-names: Monika orcid: https://orcid.org/0000-0003-2970-9075 - family-names: Krasnoperov given-names: Roman orcid: https://orcid.org/0000-0001-8221-4106 - family-names: Kuang given-names: Weijia orcid: https://orcid.org/0000-0001-7786-6425 - family-names: Kudin given-names: Dmitry orcid: https://orcid.org/0000-0002-9174-224X - family-names: Lauridsen given-names: Jonas Bregnhøj orcid: https://orcid.org/0000-0001-9520-0491 - family-names: Léger given-names: Jean-Michel orcid: https://orcid.org/0009-0008-1546-6598 - family-names: Lemgharbi given-names: Abdenaceur orcid: https://orcid.org/0000-0002-0558-0679 - family-names: Lesur given-names: Vincent orcid: https://orcid.org/0000-0003-2568-320X - family-names: Liu given-names: Pengfei orcid: https://orcid.org/0000-0002-6257-8866 - family-names: Livermore given-names: Philip orcid: https://orcid.org/0000-0001-7591-6716 - family-names: Madsen given-names: Frederik orcid: https://orcid.org/0000-0002-0621-1541 - family-names: Matsushima given-names: Masaki orcid: https://orcid.org/0000-0001-8198-343X - family-names: Matzka given-names: Jürgen orcid: https://orcid.org/0000-0001-9926-2796 - family-names: Michaelis given-names: Ingo orcid: https://orcid.org/0000-0001-9741-4063 - family-names: Minami given-names: Takuto orcid: https://orcid.org/0000-0001-8137-7616 - family-names: Nair given-names: Manoj orcid: https://orcid.org/0000-0002-0541-0127 - family-names: Nakano given-names: Shin'ya orcid: https://orcid.org/0000-0003-0772-4610 - family-names: Oehler given-names: Jean-François orcid: https://orcid.org/0000-0002-3197-2465 - family-names: Olsen given-names: Nils orcid: https://orcid.org/0000-0003-1132-6113 - family-names: Pavón-Carrasco given-names: F. Javier orcid: https://orcid.org/0000-0001-5545-3769 - family-names: Presnyakov given-names: Sergey orcid: https://orcid.org/0000-0001-7608-9265 - family-names: Qian given-names: Bohao orcid: https://orcid.org/0009-0009-2706-9060 - family-names: Rang given-names: Xinyi orcid: https://orcid.org/0009-0004-5467-004X - family-names: Rogers given-names: Hannah orcid: https://orcid.org/0000-0002-1508-2833 - family-names: Rother given-names: Martin orcid: https://orcid.org/0009-0007-0355-8551 - family-names: Rouxel given-names: Didier orcid: https://orcid.org/0000-0003-3517-0723 - family-names: Sabaka given-names: Terence orcid: https://orcid.org/0000-0002-3474-5444 - family-names: Sato given-names: Sho orcid: https://orcid.org/0009-0007-8811-9573 - family-names: Saynisch-Wagner given-names: Jan orcid: https://orcid.org/0000-0001-9619-0336 - family-names: Schanner given-names: Max orcid: https://orcid.org/0000-0002-0497-9231 - family-names: Serrano given-names: Mario orcid: https://orcid.org/0000-0003-0245-6899 - family-names: Shakespeare-Rees given-names: Naomi orcid: https://orcid.org/0000-0003-1193-9788 - family-names: Shi given-names: Yalei orcid: https://orcid.org/0009-0003-1398-8062 - family-names: da Silva given-names: Marcos Vinicius orcid: https://orcid.org/0000-0003-4713-1713 - family-names: Soloviev given-names: Anatoly orcid: https://orcid.org/0000-0002-6476-9471 - family-names: Terra-Nova given-names: Felipe orcid: https://orcid.org/0000-0003-3616-398X - family-names: Thébault given-names: Erwan orcid: https://orcid.org/0000-0002-7038-2855 - family-names: Tøffner-Clausen given-names: Lars orcid: https://orcid.org/0000-0003-4314-3776 - family-names: Toh given-names: Hiroaki orcid: https://orcid.org/0000-0003-3914-5613 - family-names: Wang given-names: Jie orcid: https://orcid.org/0000-0001-7522-9422 - family-names: Wardinski given-names: Ingo orcid: https://orcid.org/0000-0001-8125-9476 - family-names: Watson given-names: Callum orcid: https://orcid.org/0000-0001-8807-6736 - family-names: Whaler given-names: Kathryn orcid: https://orcid.org/0000-0002-7386-223X - family-names: Xiong given-names: Chao orcid: https://orcid.org/0000-0002-7518-9368 - family-names: Yan given-names: Qing orcid: https://orcid.org/0009-0008-8066-1779 - family-names: Yang given-names: Yanyan orcid: https://orcid.org/0000-0001-9345-0243 - family-names: Yao given-names: Hongbo orcid: https://orcid.org/0000-0001-6340-5142 - family-names: Zeren given-names: Zhima orcid: https://orcid.org/0000-0003-2669-8198 - family-names: Zhang given-names: Keke orcid: https://orcid.org/0000-0002-6831-9179 - family-names: Zhou given-names: Bin orcid: https://orcid.org/0000-0003-0638-3543
GitHub Events
Total
- Create event: 9
- Release event: 3
- Issues event: 6
- Watch event: 12
- Delete event: 10
- Issue comment event: 21
- Push event: 74
- Pull request event: 25
- Fork event: 3
Last Year
- Create event: 9
- Release event: 3
- Issues event: 6
- Watch event: 12
- Delete event: 10
- Issue comment event: 21
- Push event: 74
- Pull request event: 25
- Fork event: 3