The core library for building geomag model.
Project description
geomaglib
geomaglib Python API includes the core functions for building geomag model like WMM, WMMHR, HDGM-crust, HDGM-core and IGRF. The API is developed by by the Cooperative Institute For Research in Environmental Sciences (CIRES), University of Colorado.
Installation
Install the geomaglib deployed to PyPI
Install the geomaglib from PyPI
pip install geomaglib
Install the Public Git repository to your virtual environment
1. Install specific branch
pip install git+https://github.com/CIRES-Geomagnetism/geomaglib.git@<branch_name>
2. Install specific tag
pip install git+https://github.com/CIRES-Geomagnetism/geomaglib.git@<tag_number>
API Reference
geomaglib.legendre
- Compute the Legendre polynomials
See the detail of functions
Flattened_Chaos_Legendre1(): Outputs a 2 dimensional numpy array which contains the associated legendre polynomials (Pnm) and the respective derivatives (dPnm).
get_index(): Get the index of Flattened_Chaos_Legendre1
geomaglib.magmath
- Compute the Geomagnetic elements in geodetic: Bx, By, Bz, Bh(horizontal), Bf(total intensity), declination, inclination and the delta Bx, By, Bz, Bh(horizontal), Bf(total intensity), declination, inclination
- Radius and degree conversion
- Convert magnetic vector from spherical to geodetic
See the detail of functions
rad2deg(): Convert radius to degree
deg2rad(): Convert degree to radius
calc_Bp_Pole(): Calculate the B_phi magnetic elements at pole
mag_SPH_summation(): Compute the sperical magnetic vectors (B_theta, B_phi, B_radius)
rotate_magvec(): Convert magnetic vector from spherical to geodetic
GeomagElements(): The Python class for computing magnetic elements in geodetic coordinates
- Get all of the magnetic elements: get_all()
- Get the specific magnetic element:
- get_Bx()
- get_By()
- get_Bz()
- get_Bh()
- get_Bf()
- get_Bdec()
- get_Binc()
- get_dBx()
- get_dBy()
- get_dBz()
- get_dBh()
- get_dBf()
- get_dBdec()
- get_dBinc()
geomaglib.util
- Compute decimal year
- Converting the coordinates based on gedetic to geocentric
- Converting the mean sea level altitude to ellipsoid height
See the detail of functions
geod_to_geoc_lat(): Conversion of locations in geodetic (geodetic latitude, altitude in kilometers) to geocentric (radius in kilometers , geocentric latitude)
alt_to_ellipsoid_height(): This function converts mean sea level (MSL) altitude in kilometers to ellipsoid height in kilometers
calc_dec_year(): Takes year, month, and day and calculates the decimal year from those inputs
calc_dec_year_array():Takes the array of year, month, and day and outputs the decimal year from those inputs
decimalYearToDateTime(): Covert the decimal year to year, month, day, hour and minute
geomaglib.sh_vars
- Computes Spherical Variabale
See the detail of functions
comp_sh_vars(): Computes spherical variabale and put the results in a dictionary variable computed are (a/r) ^ (n+2), cos_m(lon), and sin_m(lon)
geomaglib.sh_loader
- Estimate the total elements from end degree ofr the model coefficients
- Funtions for loading WMM2025.COF, IGRF14.COF
- Compute time change the Model coefficients from the base year of the model(epoch) using secular variation coefficients.
See the detail of functions
calc_sh_degrees_to_num_elems(): Gives you the number of elements from the number of sphereical harmonic degree
calc_num_elems_to_sh_degrees(): Gives you the number of spherical harmonic degrees from the total number of elements
load_wmm_coef()
load_igrf_coef()
timely_modify_magnetic_model_wmm()
timely_modify_magnetic_model_HDGM()
geomaglib.dipole
- Geomagnetic dipole location for a set of geomagnetic main field coefficients (default is IGRF14)
- Geomagnetic dipole to geocentric spherical coordinate (and back) coordinate rotation
- Follows approach of Laundal & Richmond
See details of functions
geomaglib.dipole.Dipole
- Class representing geomagnetic dipole location for a particular epoch (decimal year)
- Example:
dp=Dipole(2024.1)
- Example:
- Method
coords, transform from geomagnetic dipole coordinates (lat,lon) to geocentric spherical coordinates (lat,lon)- Input and output types: scalar float or list of float
- Geocentric to dipole:
mlat,mlon = dp.coords(gclat,glon) - Dipole to geocentric:
gclat,glon = dp.coords(mlat,mlon,inverse=True)
Contacts and contributing to geomaglib:
If you have any questions, please email geomag.models@noaa.gov, submit issue or pull request at https://github.com/CIRES-Geomagnetism/geomaglib.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geomaglib-1.2.3.tar.gz.
File metadata
- Download URL: geomaglib-1.2.3.tar.gz
- Upload date:
- Size: 3.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71d345884fe58219900e3af7f062c302023a31d325432604cb1d0ea4b1e303aa
|
|
| MD5 |
638a53fb4c770395939ffd6d123c7eef
|
|
| BLAKE2b-256 |
edcf815c4ead29d70670ae35097b3cc5e8d2a7d7bad95619c28e0092e283c59b
|
File details
Details for the file geomaglib-1.2.3-py3-none-any.whl.
File metadata
- Download URL: geomaglib-1.2.3-py3-none-any.whl
- Upload date:
- Size: 3.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bed149bb0eadf2c6df8c19d0fc5ead991a1dcb74ec057198af46f5de950e9626
|
|
| MD5 |
1333e2bc553d8bd639971aa37762d9b0
|
|
| BLAKE2b-256 |
85a2cce7da80270c7f571875d154c32129c1b345e48a775b01d5371e5be89355
|