pygnss 1.0.0__cp313-cp313-musllinux_1_2_x86_64.whl → 1.1.0__cp313-cp313-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pygnss might be problematic. Click here for more details.

pygnss/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.0.0"
1
+ __version__ = "1.1.0"
pygnss/geodetic.py CHANGED
@@ -969,15 +969,23 @@ def haversine(lon1_deg, lat1_deg, lon2_deg, lat2_deg, r=6371):
969
969
 
970
970
  >>> haversine(-86.67, 36.12, -118.40, 33.94, r=6371.8)
971
971
  2886.8068907353736
972
+
973
+ Arrays can also be used (for a vectorized computation)
974
+ >>> haversine([2, 2, 2], [89, 40, 0], [3, 3, 3], [89, 40, 0])
975
+ array([ 1.94059443, 85.17980895, 111.19492664])
972
976
  """
973
977
  # convert decimal degrees to radians
974
- lon1, lat1, lon2, lat2 = map(math.radians, [lon1_deg, lat1_deg, lon2_deg, lat2_deg])
978
+ lon1, lat1, lon2, lat2 = map(np.radians, [lon1_deg, lat1_deg, lon2_deg, lat2_deg])
975
979
 
976
980
  # haversine formula
977
981
  dlon = lon2 - lon1
978
982
  dlat = lat2 - lat1
979
- a = math.sin(dlat / 2) ** 2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2) ** 2
980
- c = 2 * math.asin(math.sqrt(a))
983
+ a = np.sin(dlat / 2) ** 2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon / 2) ** 2
984
+ c = 2 * np.arcsin(np.sqrt(a))
985
+
986
+ # Return a float if input is a single float (to avoid test failures due to numpy float64)
987
+ if np.ndim(lon1_deg) == 0:
988
+ c = float(c)
981
989
 
982
990
  return c * r
983
991
 
pygnss/iono/chapman.py CHANGED
@@ -10,7 +10,7 @@ import numpy as np
10
10
 
11
11
  HEIGHTS_KM = np.arange(60, 1000, 10)
12
12
 
13
- def compute_chapman_profile(hmF2_km: float, NmF2: float, H_km: float, zenith_angle_deg: float, heights_km: float | np.ndarray =HEIGHTS_KM) -> float | np.ndarray:
13
+ def compute_profile(hmF2_km: float, NmF2: float, H_km: float, zenith_angle_deg: float, heights_km: float | np.ndarray =HEIGHTS_KM) -> float | np.ndarray:
14
14
  """
15
15
  Compute the Chapman ionospheric model.
16
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygnss
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Package with utilities and tools for GNSS data processing
5
5
  Author-email: Miquel Garcia-Fernandez <miquel@mgfernan.com>
6
6
  License: MIT
@@ -1,10 +1,10 @@
1
- pygnss/__init__.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
2
- pygnss/_c_ext.cpython-313-x86_64-linux-musl.so,sha256=1ulB5cpS3nx3XNzLjaBqQm3XcKl6TRq_8sZn9yC9xSY,83920
1
+ pygnss/__init__.py,sha256=LGVQyDsWifdACo7qztwb8RWWHds1E7uQ-ZqD8SAjyw4,22
2
+ pygnss/_c_ext.cpython-313-x86_64-linux-musl.so,sha256=D5vq9YT6semduCYRwrKJ1MbINv99kLI3u61aeV9qf_g,83920
3
3
  pygnss/cl.py,sha256=ISmd2RjikUMmj3nLPN0VSjvQLG5rLizp2X2ajeBkoDE,4509
4
4
  pygnss/constants.py,sha256=1hF6K92X6E6Ofo0rAuCBCgrwln9jxio26RV2a6vyURk,133
5
5
  pygnss/decorator.py,sha256=qB-0jl2GTEHJdvmDruNll5X3RrdySssv94u9Hok5-lA,1438
6
6
  pygnss/file.py,sha256=kkMBWjoTPkxJD1UgH0mXJT2fxnhU8u7_l2Ph5Xz2-hY,933
7
- pygnss/geodetic.py,sha256=3q8Rpl4b5CxGlhdn1nQRBHHSW1v-0PBFz54zOeVyO74,33633
7
+ pygnss/geodetic.py,sha256=RCXD4_RlzQR2DxNIFGS4iODwZZcnxklMsCw9mohYcBg,33948
8
8
  pygnss/hatanaka.py,sha256=P9XG6bZwUzfAPYn--6-DXfFQIEefeimE7fMJm_DF5zE,1951
9
9
  pygnss/ionex.py,sha256=WcY6PVwjzATjqyC0Htc5Jh_cv2a7yz4TZIcD723TpsY,14325
10
10
  pygnss/logger.py,sha256=4kvcTWXPoiG-MlyP6B330l4Fu7MfCuDjuIlIiLA8f1Y,1479
@@ -27,15 +27,15 @@ pygnss/gnss/observables.py,sha256=0x0NLkTjxf8cO9F_f_Q1b-1hEeoNjWB2x-53ecUEv0M,16
27
27
  pygnss/gnss/residuals.py,sha256=8qKGNOYkrqxHGOSjIfH21K82PAqEh2068kf78j5usL8,1244
28
28
  pygnss/gnss/types.py,sha256=lmL15KRckRiTwVkYvGzF4c1BrojnQlegrYCXSz1hGaI,10377
29
29
  pygnss/iono/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- pygnss/iono/chapman.py,sha256=u2XTQgEkQxhazfPGNdH5hEZ5YjPvATgMz4eIF4Adsfg,1396
30
+ pygnss/iono/chapman.py,sha256=eyq2RaCkLpQJRzuHt_DSNaLjto1w_W1PdT_ys8A3Bjc,1388
31
31
  pygnss/iono/gim.py,sha256=khKzClxLf46mVO6BCDk9u9DgS_50d-sbWEyoUQu7Jng,3543
32
32
  pygnss/orbit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  pygnss/orbit/kepler.py,sha256=QORTgg5yBtsQXxLWSzoZ1pmh-CwPiZlFdIYqhQhv1a0,1745
34
34
  pygnss/orbit/tle.py,sha256=6CIEielPgui3DXNv46XxOGlig31ROIwjH42xLGaeE5M,5905
35
35
  pygnss/parsers/rtklib/stats.py,sha256=YV6yadxMeQMQYZvsUCaSf4ZTpK8Bbv3f2xgu0l4PekA,5449
36
- pygnss-1.0.0.dist-info/METADATA,sha256=sDTBwqqNfXkPm03E0EEnHedlYv86Gwt1lc-SNlH5mOA,1666
37
- pygnss-1.0.0.dist-info/WHEEL,sha256=4VbEOkf4fdBUBHdV24POjoH-zuik_eIDLSImZZCAQpQ,112
38
- pygnss-1.0.0.dist-info/entry_points.txt,sha256=awWUCMfX3uMIAPPZqZfSUuw7Kd7defip8L7GtthKqgg,292
39
- pygnss-1.0.0.dist-info/top_level.txt,sha256=oZRSR-qOv98VW2PRRMGCVNCJmewcJjyJYmxzxfeimtg,7
40
- pygnss-1.0.0.dist-info/RECORD,,
41
- pygnss-1.0.0.dist-info/licenses/LICENSE,sha256=Wwany6RAAZ9vVHjFLA9KBJ0HE77d52s2NOUA1CPAEug,1067
36
+ pygnss-1.1.0.dist-info/METADATA,sha256=ddxRfkulzB_nsS6xbvrsLHzqzRmjNBiFZHtBoo6g0dk,1666
37
+ pygnss-1.1.0.dist-info/WHEEL,sha256=4VbEOkf4fdBUBHdV24POjoH-zuik_eIDLSImZZCAQpQ,112
38
+ pygnss-1.1.0.dist-info/entry_points.txt,sha256=awWUCMfX3uMIAPPZqZfSUuw7Kd7defip8L7GtthKqgg,292
39
+ pygnss-1.1.0.dist-info/top_level.txt,sha256=oZRSR-qOv98VW2PRRMGCVNCJmewcJjyJYmxzxfeimtg,7
40
+ pygnss-1.1.0.dist-info/RECORD,,
41
+ pygnss-1.1.0.dist-info/licenses/LICENSE,sha256=Wwany6RAAZ9vVHjFLA9KBJ0HE77d52s2NOUA1CPAEug,1067
File without changes