https://github.com/ancklo/igrf14eval
IAGA V-MOD International Geomagnetic Reference Field 14th generation (IGRF-14) candidate submission and evaluation
Science Score: 23.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.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
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.9%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
IAGA V-MOD International Geomagnetic Reference Field 14th generation (IGRF-14) candidate submission and evaluation
Basic Info
- Host: GitHub
- Owner: ancklo
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: https://iaga-vmod.github.io/IGRF14eval/
- Size: 53 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of IAGA-VMOD/IGRF14eval
Created over 1 year ago
· Last pushed about 1 year ago
https://github.com/ancklo/IGRF14eval/blob/main/
# IGRF-14 Evaluation
[](https://iaga-vmod.github.io/IGRF14eval/)
[](https://mybinder.org/v2/gh/IAGA-VMOD/IGRF14eval/main)
[](https://doi.org/10.5281/zenodo.14205633)
---
**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*
1. Modelling teams submitted candidates for one or more of (DGRF, IGRF, SV)
*See `data/coefficients/`*
2. Task Force evaluated and compared models
3. Task Force voted on method of merging each set of model coefficients
## Candidate evaluation
Based on:
Alken, P., Thbault, 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
1. Prepare your model coefficients in the `.cof` format
2. Test them by running the notebooks:
a) Using the [Binder link](https://mybinder.org/v2/gh/IAGA-VMOD/IGRF14eval/main)
b) Locally on your machine (see below)
3. Open a Pull Request to add your model coefficients. You can do this through the GitHub web interface (see instructions in [docs/submission_guide_GitHub_web.pdf](docs/submission_guide_GitHub_web.pdf)), or using git yourself:
a) [Fork](https://github.com/IAGA-VMOD/IGRF14eval/fork) this repository
b) Clone your fork onto your machine
c) Create a branch and add your coefficients
```
git checkout -b
git add data/coefficients/DGRF/DGRF_.cof
git add data/coefficients/IGRF/IGRF_.cof
git add data/coefficients/SV/SV_.cof
git commit -m "Add coefficients for ..."
git push
```
d) Open the Pull Request [here](https://github.com/IAGA-VMOD/IGRF14eval/compare)
## 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](https://github.com/IAGA-VMOD/IGRF14eval/blob/main/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 with `conda activate igrf` when 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: Clemens Kloss
- Login: ancklo
- Kind: user
- Location: Lyngby, Denmark
- Company: Technical University of Denmark - DTU Space
- Repositories: 2
- Profile: https://github.com/ancklo
GitHub Events
Total
- Push event: 9
- Create event: 1
Last Year
- Push event: 9
- Create event: 1