proway2 / go-igrf Goto Github PK
View Code? Open in Web Editor NEWPure Go IGRF (International Geomagnetic Reference Field) implementation.
License: MIT License
Pure Go IGRF (International Geomagnetic Reference Field) implementation.
License: MIT License
In shval3.c
some indexes start with 1. Check if it's possible to switch to the traditional 0-based indexing and fix the issue.
Decide how to return and return warnings (there might be more than one) when e.g. horizontal intensity is weak. Check warn_*
variables in C
code.
Re-read coeffs. Consider make it similar to those available at C implementation. Add degree and order for h
.
Implement analog to subroutine shval3
in C
.
If igrf.IGRF
called few times it reads SHC again and again every time. Refactor igrf.IGRF
and come up with the approach that solves this, so that SHC is read once and used for any number of calculations.
Add How to use
section to README.md
When date
is higher than end_epoch
the factor
is calculated the very same way it's done in C
implementation. However, this calculation doesn't respect leap years, although when date
is lower than end_epoch
, factor
is calculated with respect to leap years.
Check if it's possible to improve accuracy by calculating factor
with leap years when date
is higher than end_epoch
.
Create an extensive set of fixtures for unittests. Including edge cases.
alt
argument.Testdata was created with FORTRAN
, some values are coarse, especially all SV values. Allowed error (used in test cases) for this values is very high.
C
version.Add tests for latitudes near North and South poles:
Calculate:
Declination| (D)
DeclinationSV
Inclination| (I)
InclinationSV
HzIntensity (H)
HorizontalSV
NorthSV (X)
EastSV (Y)
VerticalSV (Z)
TotalIntensity (F)
TotalSV (F)
Switch all values from float32
to float64
.
Add meaningful comments for private functions.
Compute geocentric colatitude and radius from geodetic colatitude and height. This is a gg_to_geo(h, gdcolat)
from Python.
Add go 1.19 version to the testing flow.
More test cases needed for cases when Horizontal Intensity (H):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.