summaryrefslogtreecommitdiff
path: root/python-pyigrf.spec
blob: b4c8f6baa180f92f29480f5b2a80c0f687346143 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
%global _empty_manifest_terminate_build 0
Name:		python-pyIGRF
Version:	0.3.3
Release:	1
Summary:	IGRF-13 Model by Python
License:	MIT
URL:		https://github.com/zzyztyy/pyIGRF
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/6f/c7/f020a3402dc27fdfc6b49d6c212de9c496019b598514ccd5e1ed6d56f8c7/pyIGRF-0.3.3.tar.gz
BuildArch:	noarch


%description
# pyIGRF
## What is pyIGRF?  
This is a package of IGRF-13 (International Geomagnetic Reference Field) about python version. 
We can calculate magnetic field intensity and transform coordinate between GeoGraphical and GeoMagnetic.
It don't need any Fortran compiler. But it needs NumPy package.  

## How to Install?
Download this package and run install.
>```python setup.py install```

## How to Use it?
First import this package.  
> ```import pyIGRF```

You can calculate magnetic field intensity.   
>```pyIGRF.igrf_value(lat, lon, alt, date)```

or calculate the annual variation of magnetic filed intensity.  
>```pyIGRF.igrf_variation(lat, lon, alt, date)```

the response is 7 float number about magnetic filed which is:  
- D: declination (+ve east)
- I: inclination (+ve down)
- H: horizontal intensity
- X: north component
- Y: east component
- Z: vertical component (+ve down)
- F: total intensity  
*unit: degree or nT*

If you want to use IGRF-13 more flexibly, you can use module *calculate*. 
There is two function which is closer to Fortran. You can change it for different coordination.
>```from pyIGRF import calculate```  

Another module *load_coeffs* can be used to get *g[m][n]* or *h[m][n]* same as that in formula.
>```from pyIGRF.load_coeffs import get_coeffs``` 



## Model Introduction and igrf13-coeffs File Download
https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html


%package -n python3-pyIGRF
Summary:	IGRF-13 Model by Python
Provides:	python-pyIGRF
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pyIGRF
# pyIGRF
## What is pyIGRF?  
This is a package of IGRF-13 (International Geomagnetic Reference Field) about python version. 
We can calculate magnetic field intensity and transform coordinate between GeoGraphical and GeoMagnetic.
It don't need any Fortran compiler. But it needs NumPy package.  

## How to Install?
Download this package and run install.
>```python setup.py install```

## How to Use it?
First import this package.  
> ```import pyIGRF```

You can calculate magnetic field intensity.   
>```pyIGRF.igrf_value(lat, lon, alt, date)```

or calculate the annual variation of magnetic filed intensity.  
>```pyIGRF.igrf_variation(lat, lon, alt, date)```

the response is 7 float number about magnetic filed which is:  
- D: declination (+ve east)
- I: inclination (+ve down)
- H: horizontal intensity
- X: north component
- Y: east component
- Z: vertical component (+ve down)
- F: total intensity  
*unit: degree or nT*

If you want to use IGRF-13 more flexibly, you can use module *calculate*. 
There is two function which is closer to Fortran. You can change it for different coordination.
>```from pyIGRF import calculate```  

Another module *load_coeffs* can be used to get *g[m][n]* or *h[m][n]* same as that in formula.
>```from pyIGRF.load_coeffs import get_coeffs``` 



## Model Introduction and igrf13-coeffs File Download
https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html


%package help
Summary:	Development documents and examples for pyIGRF
Provides:	python3-pyIGRF-doc
%description help
# pyIGRF
## What is pyIGRF?  
This is a package of IGRF-13 (International Geomagnetic Reference Field) about python version. 
We can calculate magnetic field intensity and transform coordinate between GeoGraphical and GeoMagnetic.
It don't need any Fortran compiler. But it needs NumPy package.  

## How to Install?
Download this package and run install.
>```python setup.py install```

## How to Use it?
First import this package.  
> ```import pyIGRF```

You can calculate magnetic field intensity.   
>```pyIGRF.igrf_value(lat, lon, alt, date)```

or calculate the annual variation of magnetic filed intensity.  
>```pyIGRF.igrf_variation(lat, lon, alt, date)```

the response is 7 float number about magnetic filed which is:  
- D: declination (+ve east)
- I: inclination (+ve down)
- H: horizontal intensity
- X: north component
- Y: east component
- Z: vertical component (+ve down)
- F: total intensity  
*unit: degree or nT*

If you want to use IGRF-13 more flexibly, you can use module *calculate*. 
There is two function which is closer to Fortran. You can change it for different coordination.
>```from pyIGRF import calculate```  

Another module *load_coeffs* can be used to get *g[m][n]* or *h[m][n]* same as that in formula.
>```from pyIGRF.load_coeffs import get_coeffs``` 



## Model Introduction and igrf13-coeffs File Download
https://www.ngdc.noaa.gov/IAGA/vmod/igrf.html


%prep
%autosetup -n pyIGRF-0.3.3

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-pyIGRF -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.3-1
- Package Spec generated