shipgrav 1.0.7__py2.py3-none-any.whl → 1.0.10__py2.py3-none-any.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.
- shipgrav/database.toml +4 -4
- shipgrav/io.py +72 -0
- shipgrav/tests/ex_files/MGL_dgsdata.y2025d254 +5 -0
- shipgrav/tests/ex_files/SKQ_dgs_proc.20241213T0000Z +21 -0
- shipgrav/tests/ex_files/SKQ_dgs_raw.20241018T2212Z +21 -0
- shipgrav/tests/test_grav_data.py +1 -1
- shipgrav/tests/test_grav_nodata.py +1 -1
- shipgrav/tests/test_io.py +20 -1
- shipgrav/tests/test_nav.py +1 -1
- shipgrav/tests/test_utils.py +1 -1
- {shipgrav-1.0.7.dist-info → shipgrav-1.0.10.dist-info}/METADATA +1 -1
- {shipgrav-1.0.7.dist-info → shipgrav-1.0.10.dist-info}/RECORD +14 -11
- {shipgrav-1.0.7.dist-info → shipgrav-1.0.10.dist-info}/WHEEL +0 -0
- {shipgrav-1.0.7.dist-info → shipgrav-1.0.10.dist-info}/licenses/LICENSE +0 -0
shipgrav/database.toml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[bias-values]
|
|
2
|
-
Atlantis = {'dgs'=
|
|
3
|
-
Thompson = {'dgs'=
|
|
2
|
+
Atlantis = {'dgs'=969751.259, 'bgm'=855580.65} # 2025
|
|
3
|
+
Thompson = {'dgs'=969492.789, 'bgm'=855489.8} # Jan 2026
|
|
4
4
|
Revelle = {'dgs'=968888.6465, 'bgm'=855240.81987}
|
|
5
5
|
NBP = {'dgs'=968634.2514, 'bgm'=-999}
|
|
6
6
|
Ride = {'dgs'=968895.7718, 'bgm'=-999}
|
|
7
|
-
Langseth = {'dgs'
|
|
8
|
-
Sikuliaq = {'dgs'=969538.8152, 'bgm'=-999}
|
|
7
|
+
Langseth = {'dgs'=969376.125, 'bgm'=854974.4} # 2025
|
|
8
|
+
Sikuliaq = {'dgs'=969538.8152, 'bgm'=-999} #2025
|
|
9
9
|
|
|
10
10
|
[nav-talkers]
|
|
11
11
|
Atlantis = 'GPGGA'
|
shipgrav/io.py
CHANGED
|
@@ -572,6 +572,8 @@ def read_dgs_laptop(fp, ship, ship_function=None, progressbar=True):
|
|
|
572
572
|
dat = _dgs_laptop_Thompson(path)
|
|
573
573
|
elif ship == 'Sikuliaq':
|
|
574
574
|
dat = _dgs_laptop_Sikuliaq(path)
|
|
575
|
+
elif ship == 'Langseth':
|
|
576
|
+
dat = _dgs_laptop_Langseth(path)
|
|
575
577
|
else:
|
|
576
578
|
print('R/V %s not supported for dgs laptop file read' % ship)
|
|
577
579
|
return -999
|
|
@@ -613,6 +615,55 @@ def _dgs_laptop_Thompson(path):
|
|
|
613
615
|
dat['date_time'] = pd.to_datetime(dat.pop('date')+' '+dat.pop('time'),utc=True)
|
|
614
616
|
return dat
|
|
615
617
|
|
|
618
|
+
def _dgs_laptop_Langseth(path):
|
|
619
|
+
"""Read DGS laptop data from Langseth, which has a prefix of dgsdata yyyy:ddd:hh:mm:ss.ssss
|
|
620
|
+
and some random errors of misaligned columns
|
|
621
|
+
"""
|
|
622
|
+
cleaned, skipped = [], 0
|
|
623
|
+
|
|
624
|
+
with open(path, 'r', encoding='utf-8', errors='ignore') as f:
|
|
625
|
+
for ln_no, raw in enumerate(f, 1):
|
|
626
|
+
s = raw.lstrip() # remove leading spaces before 'dgsdata'
|
|
627
|
+
# Remove optional prefix: "dgsdata yyyy:ddd:hh:mm:ss.ssss "
|
|
628
|
+
if s.startswith('dgsdata'):
|
|
629
|
+
parts = s.split(None, 2)
|
|
630
|
+
if len(parts) < 3:
|
|
631
|
+
print(f"SKIP malformed prefix in {path}: line {ln_no}")
|
|
632
|
+
skipped += 1
|
|
633
|
+
continue
|
|
634
|
+
tail = parts[2].rstrip('\n')
|
|
635
|
+
else:
|
|
636
|
+
tail = s.rstrip('\n')
|
|
637
|
+
# Skip lines that are not 26 fields and report where they are
|
|
638
|
+
fields = tail.split(',')
|
|
639
|
+
if len(fields) != 26:
|
|
640
|
+
print(f"SKIP non-26-field line in {path}: line {ln_no} (NF={len(fields)})")
|
|
641
|
+
skipped += 1
|
|
642
|
+
continue
|
|
643
|
+
|
|
644
|
+
cleaned.append(fields)
|
|
645
|
+
|
|
646
|
+
if skipped:
|
|
647
|
+
print(f"INFO: Skipped {skipped} line(s) in {path} (not 26 fields)")
|
|
648
|
+
|
|
649
|
+
if not cleaned:
|
|
650
|
+
# Return empty frame with expected columns if nothing valid
|
|
651
|
+
cols = ['rgrav','long_a','crss_a','status','ve','vcc','al','ax','lat','lon',
|
|
652
|
+
'year','month','day','hour','minute','second','date_time']
|
|
653
|
+
return pd.DataFrame(columns=cols)
|
|
654
|
+
|
|
655
|
+
dat = pd.DataFrame(np.array(cleaned).T[[1, 2, 3, 6, 10, 11, 12, 13, 14, 15, 19, 20, 21, 22, 23, 24]].T,
|
|
656
|
+
columns=['rgrav', 'long_a', 'crss_a', 'status', 've', 'vcc','al', 'ax',
|
|
657
|
+
'lat', 'lon', 'year', 'month', 'day','hour', 'minute', 'second'])
|
|
658
|
+
|
|
659
|
+
# Convert to numeric
|
|
660
|
+
for col in dat.columns:
|
|
661
|
+
dat[col] = pd.to_numeric(dat[col], errors='coerce')
|
|
662
|
+
|
|
663
|
+
dat['date_time'] = pd.to_datetime(
|
|
664
|
+
dat[['year', 'month', 'day', 'hour', 'minute', 'second']], utc=True)
|
|
665
|
+
return dat
|
|
666
|
+
|
|
616
667
|
|
|
617
668
|
def read_dgs_raw(fp, ship, scale_ccp=True, progressbar=True):
|
|
618
669
|
"""Read raw (serial) output files from DGS AT1M.
|
|
@@ -638,6 +689,8 @@ def read_dgs_raw(fp, ship, scale_ccp=True, progressbar=True):
|
|
|
638
689
|
for path in tqdm(fp,desc='reading DGS files',disable=not progressbar):
|
|
639
690
|
if ship == 'Thompson': # always with the special file formats
|
|
640
691
|
dat = _dgs_raw_Thompson(path)
|
|
692
|
+
elif ship == 'Sikuliaq':
|
|
693
|
+
dat = _dgs_raw_Sikuliaq(path)
|
|
641
694
|
else: # there might be exceptions besides Thompson but I don't know about them yet
|
|
642
695
|
dat = _dgs_raw_general(path)
|
|
643
696
|
|
|
@@ -704,6 +757,25 @@ def _dgs_raw_Thompson(path):
|
|
|
704
757
|
|
|
705
758
|
return dat
|
|
706
759
|
|
|
760
|
+
def _dgs_raw_Sikuliaq(path):
|
|
761
|
+
"""Read raw gravity file for R/V Sikuliaq. Not extensively tested.
|
|
762
|
+
"""
|
|
763
|
+
dat = pd.read_csv(path, comment='#', delimiter='\t', names=['logname', 'timestamp', 'raw'])
|
|
764
|
+
|
|
765
|
+
# Extract relevant fields
|
|
766
|
+
parts = dat['raw'].str.extract(
|
|
767
|
+
r'^\$AT1M_[^,]*,([-\d.]+),([-\d.]+),([-\d.]+),[^,]*,[^,]*,[^,]*,[^,]*,([-\d.]+),([-\d.]+),([-\d.]+),([-\d.]+),[^,]*,[^,]*,([-\d.]+),([-\d.]+)'
|
|
768
|
+
)
|
|
769
|
+
parts.columns = ['rgrav', 'long_a', 'crss_a', 'vcc', 've', 'al', 'ax', 'lat', 'lon']
|
|
770
|
+
|
|
771
|
+
# Convert to numeric
|
|
772
|
+
for col in parts.columns:
|
|
773
|
+
parts[col] = pd.to_numeric(parts[col], errors='coerce')
|
|
774
|
+
|
|
775
|
+
dat = pd.concat([dat[['timestamp']], parts], axis=1)
|
|
776
|
+
dat['date_time'] = pd.to_datetime(dat.pop('timestamp'), utc=True)
|
|
777
|
+
return dat
|
|
778
|
+
|
|
707
779
|
########################################################################
|
|
708
780
|
# reading other things (MRU etc)
|
|
709
781
|
########################################################################
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
dgsdata 2025:254:00:00:00.9100 9382.775980900780,1483.187129171984, -4.223089483153, -5.347272318276, 0.003149038929, 51.500000000000, 20830, 5546652, 28.281200000000, 52.868836000000, 0.323080000000, 16.646090000000, 0.254130000000, -0.379190000000, 23.067226666667,-112.378688333333, 5.111352558064,144.700000000000, 19.918886685114,2025,09,11,00,00,00.91,297172
|
|
2
|
+
dgsdata 2025:254:00:00:01.9201 9382.768550844663,380.608909648050, -2.882289037977, -3.642013197185, 0.002531534735, 51.500000000000, 20830, 6059436, 28.281640000000, 52.878764000000, 0.415790000000, 21.178990000000, 0.316760000000, -0.183670000000, 23.067188333333,-112.378660000000, 5.069654546462,144.700000000000, 19.835721693473,2025,09,11,00,00,01.91,297173
|
|
3
|
+
dgsdata 2025:254:00:00:02.9270 9382.768166650942,2396.951266607078, -0.499869286998, -0.758080692062, 0.001363283558, 51.500000000000, 20830, 6773987, 28.281750000000, 52.901102000000, 0.493870000000, 26.768760000000, 0.514720000000, 0.152990000000, 23.067148333333,-112.378628333333, 5.132458958999,144.700000000000, 19.755630454797,2025,09,11,00,00,02.91,297174
|
|
4
|
+
dgsdata 2025:254:00:00:03.9120 9382.773314616561,7551.568206079627, 2.084704051579, 2.431311479963, 0.000397688198, 51.500000000000, 20830, 7395594, 28.281640000000, 52.903584000000, 0.554250000000, 30.714220000000, 0.805880000000, 0.642830000000, 23.067111666667,-112.378598333333, 5.210707079537,144.500000000000, 19.678636578924,2025,09,11,00,00,03.91,297175
|
|
5
|
+
dgsdata 2025:254:00:00:04.9238 9382.780964749858,13428.584672971925, 3.915424217632, 4.815386928962, 0.000407224942, 51.500000000000, 20830, 7720796, 28.281750000000, 52.901102000000, 0.570960000000, 31.924110000000, 1.041950000000, 1.100670000000, 23.067073333333,-112.378570000000, 5.212766240604,144.300000000000, 19.604757648864,2025,09,11,00,00,04.91,297176
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Platform:
|
|
2
|
+
# Name: R/V Sikuliaq
|
|
3
|
+
# Operator: UAF
|
|
4
|
+
# IMO Number: 9578945
|
|
5
|
+
# ICES Code: 33BI
|
|
6
|
+
# Call Sign: WDN7246
|
|
7
|
+
# MMSI Number: 338417000
|
|
8
|
+
# Cruise ID: SKQ202418S
|
|
9
|
+
#
|
|
10
|
+
# Instrument:
|
|
11
|
+
# Name: Dynamic Gravity Systems Advanced Technology Marine Gravimeter
|
|
12
|
+
# Model: AT1-M
|
|
13
|
+
# Serial Number: 33
|
|
14
|
+
# Location: Aft inboard wall of tech workshop, 1-12-1
|
|
15
|
+
# Installation Date: 28 November 2023
|
|
16
|
+
#
|
|
17
|
+
# Parameters:
|
|
18
|
+
# Log Name Log Time QC_Gravity, Gravity, Long accelerometer, Cross accelerometer, beam, Sensor Temp, STATUS, Checksum, Pressure, Etemp, Ve, Vcc, Al, Ax, Latitude, Longitude, Speed, Course, VMOND, Year, Month, Day Hours, Min, Seconds, NumLine
|
|
19
|
+
#
|
|
20
|
+
grav_dgs_33_proc 2024-12-13T00:00:00.4059Z 9389.827772838045,9288.404692385160, -0.023006441952, -0.112389577912, -0.981155312199, 52.255832250000, 20766, 4039201, 28.944054383333, 51.226372500000, 0.002350000000, 0.436120000000, 0.005350000000, 0.001870000000, 21.315802416667,-157.877074616667, 0.000000000000, 8.140000000000, 0.160753801557,2024,12,12,23,59,55.00,5196653
|
|
21
|
+
grav_dgs_33_proc 2024-12-13T00:00:01.3929Z 9389.825061856613,9323.774367216154, -0.035286907588, -0.139204518700, -0.981177961967, 52.256280125000, 20766, 4036172, 28.944054383333, 51.225338333333, 0.002200000000, 0.404080000000, 0.005640000000, 0.002050000000, 21.315802483333,-157.877074600000, 0.000000000000,318.940000000000, 0.160422031783,2024,12,12,23,59,56.00,5196654
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Platform:
|
|
2
|
+
# Name: R/V Sikuliaq
|
|
3
|
+
# Operator: UAF
|
|
4
|
+
# IMO Number: 9578945
|
|
5
|
+
# ICES Code: 33BI
|
|
6
|
+
# Call Sign: WDN7246
|
|
7
|
+
# MMSI Number: 338417000
|
|
8
|
+
# Cruise ID: SKQ202416T
|
|
9
|
+
#
|
|
10
|
+
# Instrument:
|
|
11
|
+
# Name: Dynamic Gravity Systems Advanced Technology Marine Gravimeter
|
|
12
|
+
# Model: AT1-M
|
|
13
|
+
# Serial Number: 33
|
|
14
|
+
# Location: Aft inboard wall of tech workshop, 1-12-1
|
|
15
|
+
# Installation Date: 28 November 2023
|
|
16
|
+
#
|
|
17
|
+
# Parameters:
|
|
18
|
+
# Log Name Log Time $head2, dgravity, dlong, dcross, dbeam, dtemp, dpressure, detemp, rvcc, rve, ral, rax, status, check, latitude, longitude, speed, course, datestamp
|
|
19
|
+
#
|
|
20
|
+
grav_dgs_33_raw 2024-10-18T22:12:35.6591Z $AT1M_3.64_438219,19964,1208,-578,4008935,273,498,202,30569,425,277,-224,266,4061549,0.0000000000,0.0000000000,0.0000,0.0000,438219
|
|
21
|
+
grav_dgs_33_raw 2024-10-18T22:12:36.6591Z $AT1M_3.64_438220,19569,1174,-762,4008937,273,497,203,30566,410,264,-233,266,4060898,0.0000000000,0.0000000000,0.0000,0.0000,438220
|
shipgrav/tests/test_grav_data.py
CHANGED
|
@@ -58,7 +58,7 @@ class gravNoDataTestCase(unittest.TestCase):
|
|
|
58
58
|
self.assertTrue(sdat[0,0] - 130.877533 < 0.001)
|
|
59
59
|
|
|
60
60
|
def suite():
|
|
61
|
-
return unittest.
|
|
61
|
+
return unittest.defaultTestLoader.loadTestsFromTestCase(gravNoDataTestCase)
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
if __name__ == '__main__':
|
shipgrav/tests/test_io.py
CHANGED
|
@@ -94,6 +94,18 @@ class ioTestCase(unittest.TestCase):
|
|
|
94
94
|
self.assertEqual(dgs.iloc[0]['ve'], 2e-5)
|
|
95
95
|
self.assertTrue(dgs.iloc[0]['rgrav'] - 9995.95186 < 0.0001)
|
|
96
96
|
|
|
97
|
+
def test_read_dgs_dat_Langseth(self):
|
|
98
|
+
dgs = sgi.read_dgs_laptop(f'{self.ex_files}'+os.sep+'MGL_dgsdata.y2025d254', 'Langseth', progressbar=False)
|
|
99
|
+
self.assertEqual(dgs.iloc[0]['date_time'].timestamp(), 1757548800.91)
|
|
100
|
+
self.assertEqual(dgs.iloc[0]['ve'], 0.32308)
|
|
101
|
+
self.assertTrue(dgs.iloc[0]['rgrav'] - 1483.1871291 < 0.0001)
|
|
102
|
+
|
|
103
|
+
def test_read_dgs_dat_Sikuliaq(self):
|
|
104
|
+
dgs = sgi.read_dgs_laptop(f'{self.ex_files}'+os.sep+'SKQ_dgs_proc.20241213T0000Z', 'Sikuliaq', progressbar=False)
|
|
105
|
+
self.assertEqual(dgs.iloc[0]['date_time'].timestamp(), 1734047995.0)
|
|
106
|
+
self.assertEqual(dgs.iloc[0]['ve'], 0.00235)
|
|
107
|
+
self.assertTrue(dgs.iloc[0]['rgrav'] - 9288.4046923 < 0.0001)
|
|
108
|
+
|
|
97
109
|
def test_read_dgs_dat_nope(self):
|
|
98
110
|
dgs = sgi.read_dgs_laptop(f'{self.ex_files}'+os.sep+'DGStest_laptop.dat', 'Katama', progressbar=False)
|
|
99
111
|
self.assertEqual(dgs, -999)
|
|
@@ -112,6 +124,13 @@ class ioTestCase(unittest.TestCase):
|
|
|
112
124
|
self.assertEqual(dgs.iloc[0]['Gravity'], -82)
|
|
113
125
|
self.assertTrue(dgs.iloc[0]['vcc'] - 0.0357100 < 0.0001)
|
|
114
126
|
|
|
127
|
+
def test_read_dgs_raw_Sikuliaq(self):
|
|
128
|
+
dgs = sgi.read_dgs_raw(f'{self.ex_files}'+os.sep+'SKQ_dgs_raw.20241018T2212Z', 'Sikuliaq', progressbar=False)
|
|
129
|
+
self.assertEqual(
|
|
130
|
+
dgs.iloc[0]['date_time'].timestamp(), 1729289555.6591)
|
|
131
|
+
self.assertEqual(dgs.iloc[0]['rgrav'], 19964)
|
|
132
|
+
self.assertTrue(dgs.iloc[0]['vcc'] - 0.30569 < 0.001)
|
|
133
|
+
|
|
115
134
|
def test_read_mru(self):
|
|
116
135
|
mru, cols = sgi.read_other_stuff(
|
|
117
136
|
f'{self.ex_files}'+os.sep+'IXBlue.yaml', f'{self.ex_files}'+os.sep+'SR2312_mru.txt', 'PASHR')
|
|
@@ -121,7 +140,7 @@ class ioTestCase(unittest.TestCase):
|
|
|
121
140
|
|
|
122
141
|
|
|
123
142
|
def suite():
|
|
124
|
-
return unittest.
|
|
143
|
+
return unittest.defaultTestLoader.loadTestsFromTestCase(ioTestCase)
|
|
125
144
|
|
|
126
145
|
|
|
127
146
|
if __name__ == '__main__':
|
shipgrav/tests/test_nav.py
CHANGED
shipgrav/tests/test_utils.py
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
shipgrav/__init__.py,sha256=aCI3zS2iUUH_hFhwPgs-VZDSdfsCnJExBjSgCJSVpY8,12151
|
|
2
|
-
shipgrav/database.toml,sha256=
|
|
2
|
+
shipgrav/database.toml,sha256=m8d-YCaReNGNiH1L8wjdJV9ewFb1a26jEpWzcDqgUWg,634
|
|
3
3
|
shipgrav/grav.py,sha256=09d5LIczUGys9VerTngumOMLeYOqdVJVtAdBGJZw2R8,43196
|
|
4
|
-
shipgrav/io.py,sha256
|
|
4
|
+
shipgrav/io.py,sha256=E4rXr8BWT2gUaZUf7_mEZrJdpSSyTtYrCgOF8FKBwaY,34581
|
|
5
5
|
shipgrav/nav.py,sha256=3E2Il-PhTEPVv8_8PrLVe7h6slHq-2HYX_Q8PdpB6X4,2895
|
|
6
6
|
shipgrav/utils.py,sha256=BJSBrKgCOADzdb6gBO3u9n16l22zzFXTAw42e5_QkBY,9582
|
|
7
7
|
shipgrav/tests/__init__.py,sha256=i8hMukDivY8kFp7OBdo1byRJWMBvb8nDDWJcAy2cOOI,427
|
|
8
8
|
shipgrav/tests/__main__.py,sha256=iJ8xSU8ucCmIDcOuv8uasZ9iV5dNR0DDuFRZrG0o2hE,38
|
|
9
|
-
shipgrav/tests/test_grav_data.py,sha256=
|
|
10
|
-
shipgrav/tests/test_grav_nodata.py,sha256=
|
|
11
|
-
shipgrav/tests/test_io.py,sha256=
|
|
12
|
-
shipgrav/tests/test_nav.py,sha256=
|
|
13
|
-
shipgrav/tests/test_utils.py,sha256=
|
|
9
|
+
shipgrav/tests/test_grav_data.py,sha256=VTKUd9Y2rmH9rKpSSBrdga2LoBKDOGdDVBY-YXeUDkM,3559
|
|
10
|
+
shipgrav/tests/test_grav_nodata.py,sha256=5YcY4uN564Dpl_K9YUogr6v2rKwNZdBJdbSnGsQ7pWo,2224
|
|
11
|
+
shipgrav/tests/test_io.py,sha256=4HUStDkxNrAhMcLCZK6u6m13ZeINRo9XRDLp10Aejf0,7258
|
|
12
|
+
shipgrav/tests/test_nav.py,sha256=pNgf4p-GEFsTZijbEQodn40bMr1POPi-aVj63RNAr9A,1217
|
|
13
|
+
shipgrav/tests/test_utils.py,sha256=enhwMNkvoCYpPwIm0mZm3vOfK6F_CQ4VDEvYqZTJ9xA,992
|
|
14
14
|
shipgrav/tests/ex_files/AT01_bgm.BGM,sha256=yaiVxd6vFeuoiKsUhMeTh22U2VOPPOR-UApr165Ua_I,184
|
|
15
15
|
shipgrav/tests/ex_files/AT01_nav.gps,sha256=75q1E_z65N82UW33x1vcaXfIHIwY_7qq1alcD2LbahQ,722
|
|
16
16
|
shipgrav/tests/ex_files/AT05_01_bgm.RGS,sha256=3MnlHJiIyzYe7KGr-bD8dfQ1nS_-Dt4A4g6TiVuNaBw,515
|
|
@@ -18,9 +18,12 @@ shipgrav/tests/ex_files/DGStest_laptop.dat,sha256=kUwAMltUXm32Dv9BnaDakA-KtNAuMx
|
|
|
18
18
|
shipgrav/tests/ex_files/IXBlue.yaml,sha256=W-GGSMrSSvIXzX-b4rIU0u6Fv8bgNccZzNjTy-K1dNE,5394
|
|
19
19
|
shipgrav/tests/ex_files/MGL2003_bgm.y2020d244,sha256=MdF9duKY138vuVcOzZ26XcpKPSrGp20MbWYkCUtXTIk,164
|
|
20
20
|
shipgrav/tests/ex_files/MGL2003_nav.y2020d244,sha256=HheoWXYaevWkWE5uzNdv1vG5SHzh4AEog7UCu1O6Lw4,866
|
|
21
|
+
shipgrav/tests/ex_files/MGL_dgsdata.y2025d254,sha256=J61CwundT_ihbKw8N_lyEHXGYtN0uYQSyDd6_1EGTGE,1935
|
|
21
22
|
shipgrav/tests/ex_files/NBP_2301_nav.d013,sha256=Q-68kTPwGvYJ3u-nED3rem9JMSjaFxz75dYaxxrIb7c,1251
|
|
22
23
|
shipgrav/tests/ex_files/RR2212_bgm.txt,sha256=sB3Si6hhdZevjQrtoEcdztiX7Zf1H6g5GxRpZyXK-po,246
|
|
23
24
|
shipgrav/tests/ex_files/RR2212_nav.txt,sha256=BzazwIVkgILjHffoaWEKrqxN-4oOv_zGWqRvx3cF6I8,857
|
|
25
|
+
shipgrav/tests/ex_files/SKQ_dgs_proc.20241213T0000Z,sha256=9h8yCmJaKbNS3-kQVPfdt9Wmp0_K4EAewb79begfD-4,1454
|
|
26
|
+
shipgrav/tests/ex_files/SKQ_dgs_raw.20241018T2212Z,sha256=HfP6whrZA-r2py8-Y3YcDrQJdNVXox072VT0TtNQvs4,928
|
|
24
27
|
shipgrav/tests/ex_files/SR2302_nav.raw,sha256=7LhR1GEG17QDnTIp5NAamqjDteTLD2bTHaNfZrVFFh4,2352
|
|
25
28
|
shipgrav/tests/ex_files/SR2312_dgs_raw.txt,sha256=rTlIn75MBICBjnkjcn9SPCwpC5J3lMs4aq7-y6-dAmU,368
|
|
26
29
|
shipgrav/tests/ex_files/SR2312_mru.txt,sha256=YBM4qy4BS_D0U4ngEyoIFZr4QQbMWQgEO681fVEmgYM,1060
|
|
@@ -28,7 +31,7 @@ shipgrav/tests/ex_files/TN400_bgm.Raw,sha256=DL7T2aJednjGLMKJo6K8KcUYLMjQCiv6bsU
|
|
|
28
31
|
shipgrav/tests/ex_files/TN400_dgs_proc.Raw,sha256=oxTXwDdyoz5yuKe253L1GgOSR5oWGGMuXfSQWrT24Ag,760
|
|
29
32
|
shipgrav/tests/ex_files/TN400_dgs_raw.Raw,sha256=tb-zerwCH6kkbGDbnnJ6I-sAUdCHOvkKgXXrBb6zTj8,311
|
|
30
33
|
shipgrav/tests/ex_files/TN400_nav.Raw,sha256=66dgRQTXjf0JItMWE1ZGUO6NptrGqV6JyN2wdYe5bW8,194
|
|
31
|
-
shipgrav-1.0.
|
|
32
|
-
shipgrav-1.0.
|
|
33
|
-
shipgrav-1.0.
|
|
34
|
-
shipgrav-1.0.
|
|
34
|
+
shipgrav-1.0.10.dist-info/METADATA,sha256=IC-Ni5ku7QJVi32XxBlcheOhzMgbglXbsVWd8_GIqoA,2878
|
|
35
|
+
shipgrav-1.0.10.dist-info/WHEEL,sha256=aha0VrrYvgDJ3Xxl3db_g_MDIW-ZexDdrc_m-Hk8YY4,105
|
|
36
|
+
shipgrav-1.0.10.dist-info/licenses/LICENSE,sha256=5X8cMguM-HmKfS_4Om-eBqM6A1hfbgZf6pfx2G24QFI,35150
|
|
37
|
+
shipgrav-1.0.10.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|