geospacelab 0.11.1__py3-none-any.whl → 0.11.3__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.
geospacelab/__init__.py CHANGED
@@ -6,7 +6,7 @@ __author__ = "Lei Cai"
6
6
  __copyright__ = "Copyright 2021, GeospaceLAB"
7
7
  __credits__ = ["Lei Cai"]
8
8
  __license__ = "BSD-3-Clause License"
9
- __version__ = "0.11.1"
9
+ __version__ = "0.11.3"
10
10
  __maintainer__ = "Lei Cai"
11
11
  __email__ = "lei.cai@oulu.fi"
12
12
  __status__ = "Developing"
@@ -215,13 +215,14 @@ class SpaceCartesianCS(SpaceCSBase):
215
215
 
216
216
  # phi: longitude, theta: co-latitude, r: radial distance
217
217
  r = np.sqrt(self.coords.x ** 2 + self.coords.y ** 2 + self.coords.z ** 2)
218
+ r_unit = self.coords.x_unit
218
219
  theta = np.arccos(self.coords.z / r)
219
220
  phi = npmath.trig_arctan_to_sph_lon(self.coords.x, self.coords.y)
220
221
  vector = None
221
222
  if self.vector is not None:
222
223
  mylog.StreamLogger.warning("The tranformation for vectors have not been implemented!")
223
224
 
224
- coords = {'theta': theta, 'phi': phi, 'r': r}
225
+ coords = {'theta': theta, 'phi': phi, 'r': r, 'r_unit': r_unit}
225
226
  cs_new = set_cs(name=self.name, coords=coords, vector=vector, kind='sph', ut=self.ut, **kwargs)
226
227
 
227
228
  return cs_new
@@ -19,6 +19,7 @@ from geospacelab.config import prf
19
19
  import geospacelab.toolbox.utilities.pybasic as basic
20
20
  import geospacelab.toolbox.utilities.pylogging as mylog
21
21
  import geospacelab.toolbox.utilities.pydatetime as dttool
22
+ import geospacelab.cs as geo_cs
22
23
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.e.loader import Loader as default_Loader
23
24
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.downloader import Downloader as default_Downloader
24
25
  import geospacelab.datahub.sources.madrigal.satellites.dmsp.e.variable_config as var_config
@@ -159,47 +160,51 @@ class Dataset(datahub.DatasetSourced):
159
160
 
160
161
  def fix_geo_lon(self):
161
162
  from geospacelab.observatory.orbit.sc_orbit import OrbitPosition_SSCWS
162
- from scipy.interpolate import interp1d
163
+ from scipy.interpolate import CubicSpline
164
+
165
+ dts_1 = self['SC_DATETIME'].value.flatten()
166
+ dt0 = dttool.get_start_of_the_day(self.dt_fr)
167
+ sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
168
+ glat_1 = self['SC_GEO_LAT'].flatten()
169
+ glon_1 = self['SC_GEO_LON'].flatten()
170
+ alt_1 = self['SC_GEO_ALT'].flatten()
171
+
163
172
  # check outliers
164
173
  orbit_obj = OrbitPosition_SSCWS(
165
174
  dt_fr=self.dt_fr - datetime.timedelta(minutes=30),
166
175
  dt_to=self.dt_to + datetime.timedelta(minutes=30),
167
176
  sat_id='dmsp' + self.sat_id.lower()
168
177
  )
169
-
170
- glat_1 = self['SC_GEO_LAT'].value.flatten()
171
- glon_1 = self['SC_GEO_LON'].value.flatten()
172
- if glat_1.size < 2:
173
- return
174
-
175
- dts_1 = self['SC_DATETIME'].value.flatten()
176
- dt0 = dttool.get_start_of_the_day(self.dt_fr)
177
- sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
178
-
179
- glat_2 = orbit_obj['SC_GEO_LAT'].value.flatten()
180
- glon_2 = orbit_obj['SC_GEO_LON'].value.flatten()
181
- dts_2 = orbit_obj['SC_DATETIME'].value.flatten()
182
- sectime_2 = [(dt - dt0).total_seconds() for dt in dts_2]
183
-
184
- factor = np.pi / 180.
185
- sin_glon_1 = np.sin(glon_1 * factor)
186
- sin_glon_2 = np.sin(glon_2 * factor)
187
- cos_glon_2 = np.cos(glon_2 * factor)
188
- itpf_sin = interp1d(sectime_2, sin_glon_2, kind='cubic', bounds_error=False, fill_value='extrapolate')
189
- itpf_cos = interp1d(sectime_2, cos_glon_2, kind='cubic', bounds_error=False, fill_value='extrapolate')
190
- sin_glon_2_i = itpf_sin(sectime_1)
191
- cos_glon_2_i = itpf_cos(sectime_1)
192
- rad = np.sign(sin_glon_2_i) * (np.pi / 2 - np.arcsin(cos_glon_2_i))
193
- glon_new = rad / factor
194
- # rad = np.where((rad >= 0), rad, rad + 2 * numpy.pi)
195
-
196
- ind_outliers = np.where(np.abs(sin_glon_1 - sin_glon_2_i) > 0.03)[0]
197
-
178
+ dts = orbit_obj['SC_DATETIME'].flatten()
179
+ sectimes, _ = dttool.convert_datetime_to_sectime(dts, dt0=dt0)
180
+ x = orbit_obj['SC_GEO_X'].flatten()
181
+ y = orbit_obj['SC_GEO_Y'].flatten()
182
+ z = orbit_obj['SC_GEO_Z'].flatten()
183
+ f_x = CubicSpline(sectimes, x)
184
+ x_i = f_x(sectime_1)
185
+ f_y = CubicSpline(sectimes, y)
186
+ y_i = f_y(sectime_1)
187
+ f_z = CubicSpline(sectimes, z)
188
+ z_i = f_z(sectime_1)
189
+
190
+
191
+ cs = geo_cs.GEOCCartesian(
192
+ coords={'x': x_i, 'y': y_i, 'z': z_i, 'x_unit': 'km', 'y_unit': 'km', 'z_unit': 'km'}
193
+ )
194
+ cs_new = cs.to_spherical()
195
+
196
+ # glat_2 = cs_new['lat']
197
+ glon_2 = cs_new['lon']
198
+ # alt_2 = cs_new['height']
199
+
200
+ delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_2 * np.pi / 180.)
201
+
198
202
  if self.replace_orbit:
199
- glon_1 = glon_new
203
+ glon_1 = glon_2
200
204
  else:
201
- glon_1[ind_outliers] = glon_new[ind_outliers]
202
- self['SC_GEO_LON'].value = glon_1.reshape((glon_1.size, 1))
205
+ glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
206
+
207
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
203
208
 
204
209
  def search_data_files(self, **kwargs):
205
210
 
@@ -19,6 +19,7 @@ from geospacelab.config import prf
19
19
  import geospacelab.toolbox.utilities.pybasic as basic
20
20
  import geospacelab.toolbox.utilities.pylogging as mylog
21
21
  import geospacelab.toolbox.utilities.pydatetime as dttool
22
+ import geospacelab.cs as geo_cs
22
23
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.s1.loader import Loader as default_Loader
23
24
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.downloader import Downloader as default_Downloader
24
25
  import geospacelab.datahub.sources.madrigal.satellites.dmsp.s1.variable_config as var_config
@@ -179,53 +180,51 @@ class Dataset(datahub.DatasetSourced):
179
180
 
180
181
  def fix_geo_lon(self):
181
182
  from geospacelab.observatory.orbit.sc_orbit import OrbitPosition_SSCWS
182
- from scipy.interpolate import interp1d
183
+ from scipy.interpolate import CubicSpline
184
+
185
+ dts_1 = self['SC_DATETIME'].value.flatten()
186
+ dt0 = dttool.get_start_of_the_day(self.dt_fr)
187
+ sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
188
+ glat_1 = self['SC_GEO_LAT'].flatten()
189
+ glon_1 = self['SC_GEO_LON'].flatten()
190
+ alt_1 = self['SC_GEO_ALT'].flatten()
191
+
183
192
  # check outliers
184
193
  orbit_obj = OrbitPosition_SSCWS(
185
194
  dt_fr=self.dt_fr - datetime.timedelta(minutes=30),
186
195
  dt_to=self.dt_to + datetime.timedelta(minutes=30),
187
196
  sat_id='dmsp' + self.sat_id.lower()
188
197
  )
189
-
190
- glat_1 = self['SC_GEO_LAT'].value.flatten()
191
- glon_1 = self['SC_GEO_LON'].value.flatten()
192
- if glat_1.size < 2:
193
- return
194
-
195
- dts_1 = self['SC_DATETIME'].value.flatten()
196
- dt0 = dttool.get_start_of_the_day(self.dt_fr)
197
- sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
198
-
199
- glat_2 = orbit_obj['SC_GEO_LAT'].value.flatten()
200
- glon_2 = orbit_obj['SC_GEO_LON'].value.flatten()
201
- dts_2 = orbit_obj['SC_DATETIME'].value.flatten()
202
- sectime_2 = [(dt - dt0).total_seconds() for dt in dts_2]
203
-
204
- factor = np.pi / 180.
205
- sin_glon_1 = np.sin(glon_1 * factor)
206
- sin_glon_2 = np.sin(glon_2 * factor)
207
- cos_glon_2 = np.cos(glon_2 * factor)
208
- itpf_sin = interp1d(sectime_2, sin_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
209
- itpf_cos = interp1d(sectime_2, cos_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
210
- sin_glon_2_i = itpf_sin(sectime_1)
211
- sin_glon_2_i = np.where(sin_glon_2_i > 1., 1., sin_glon_2_i)
212
- sin_glon_2_i = np.where(sin_glon_2_i < -1., -1., sin_glon_2_i)
198
+ dts = orbit_obj['SC_DATETIME'].flatten()
199
+ sectimes, _ = dttool.convert_datetime_to_sectime(dts, dt0=dt0)
200
+ x = orbit_obj['SC_GEO_X'].flatten()
201
+ y = orbit_obj['SC_GEO_Y'].flatten()
202
+ z = orbit_obj['SC_GEO_Z'].flatten()
203
+ f_x = CubicSpline(sectimes, x)
204
+ x_i = f_x(sectime_1)
205
+ f_y = CubicSpline(sectimes, y)
206
+ y_i = f_y(sectime_1)
207
+ f_z = CubicSpline(sectimes, z)
208
+ z_i = f_z(sectime_1)
213
209
 
214
- cos_glon_2_i = itpf_cos(sectime_1)
215
- cos_glon_2_i = np.where(cos_glon_2_i > 1., 1., cos_glon_2_i)
216
- cos_glon_2_i = np.where(cos_glon_2_i < -1., -1., cos_glon_2_i)
217
210
 
218
- rad = np.sign(sin_glon_2_i) * (np.pi / 2 - np.arcsin(cos_glon_2_i))
219
- glon_new = rad / factor
220
- # rad = np.where((rad >= 0), rad, rad + 2 * numpy.pi)
221
-
222
- ind_outliers = np.where(np.abs(sin_glon_1 - sin_glon_2_i) > 0.03)[0]
223
-
211
+ cs = geo_cs.GEOCCartesian(
212
+ coords={'x': x_i, 'y': y_i, 'z': z_i, 'x_unit': 'km', 'y_unit': 'km', 'z_unit': 'km'}
213
+ )
214
+ cs_new = cs.to_spherical()
215
+
216
+ # glat_2 = cs_new['lat']
217
+ glon_2 = cs_new['lon']
218
+ # alt_2 = cs_new['height']
219
+
220
+ delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_1 * np.pi / 180.)
221
+
224
222
  if self.replace_orbit:
225
- glon_1 = glon_new
223
+ glon_1 = glon_2
226
224
  else:
227
- glon_1[ind_outliers] = glon_new[ind_outliers]
228
- self['SC_GEO_LON'].value = glon_1.reshape((glon_1.size, 1))
225
+ glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
226
+
227
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
229
228
 
230
229
  def search_data_files(self, **kwargs):
231
230
 
@@ -19,6 +19,7 @@ from geospacelab.config import prf
19
19
  import geospacelab.toolbox.utilities.pybasic as basic
20
20
  import geospacelab.toolbox.utilities.pylogging as mylog
21
21
  import geospacelab.toolbox.utilities.pydatetime as dttool
22
+ import geospacelab.cs as geo_cs
22
23
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.s4.loader import Loader as default_Loader
23
24
  from geospacelab.datahub.sources.madrigal.satellites.dmsp.downloader import Downloader as default_Downloader
24
25
  import geospacelab.datahub.sources.madrigal.satellites.dmsp.s4.variable_config as var_config
@@ -151,47 +152,94 @@ class Dataset(datahub.DatasetSourced):
151
152
 
152
153
  def fix_geo_lon(self):
153
154
  from geospacelab.observatory.orbit.sc_orbit import OrbitPosition_SSCWS
154
- from scipy.interpolate import interp1d
155
+ from scipy.interpolate import CubicSpline
156
+
157
+ dts_1 = self['SC_DATETIME'].value.flatten()
158
+ dt0 = dttool.get_start_of_the_day(self.dt_fr)
159
+ sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
160
+ glat_1 = self['SC_GEO_LAT'].flatten()
161
+ glon_1 = self['SC_GEO_LON'].flatten()
162
+ alt_1 = self['SC_GEO_ALT'].flatten()
163
+
155
164
  # check outliers
156
165
  orbit_obj = OrbitPosition_SSCWS(
157
166
  dt_fr=self.dt_fr - datetime.timedelta(minutes=30),
158
167
  dt_to=self.dt_to + datetime.timedelta(minutes=30),
159
168
  sat_id='dmsp' + self.sat_id.lower()
160
169
  )
161
-
162
- glat_1 = self['SC_GEO_LAT'].value.flatten()
163
- glon_1 = self['SC_GEO_LON'].value.flatten()
164
- if glat_1.size < 2:
165
- return
166
-
167
- dts_1 = self['SC_DATETIME'].value.flatten()
168
- dt0 = dttool.get_start_of_the_day(self.dt_fr)
169
- sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
170
-
171
- glat_2 = orbit_obj['SC_GEO_LAT'].value.flatten()
172
- glon_2 = orbit_obj['SC_GEO_LON'].value.flatten()
173
- dts_2 = orbit_obj['SC_DATETIME'].value.flatten()
174
- sectime_2 = [(dt - dt0).total_seconds() for dt in dts_2]
175
-
176
- factor = np.pi / 180.
177
- sin_glon_1 = np.sin(glon_1 * factor)
178
- sin_glon_2 = np.sin(glon_2 * factor)
179
- cos_glon_2 = np.cos(glon_2 * factor)
180
- itpf_sin = interp1d(sectime_2, sin_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
181
- itpf_cos = interp1d(sectime_2, cos_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
182
- sin_glon_2_i = itpf_sin(sectime_1)
183
- cos_glon_2_i = itpf_cos(sectime_1)
184
- rad = np.sign(sin_glon_2_i) * (np.pi / 2 - np.arcsin(cos_glon_2_i))
185
- glon_new = rad / factor
186
- # rad = np.where((rad >= 0), rad, rad + 2 * numpy.pi)
187
-
188
- ind_outliers = np.where(np.abs(sin_glon_1 - sin_glon_2_i) > 0.03)[0]
189
-
170
+ dts = orbit_obj['SC_DATETIME'].flatten()
171
+ sectimes, _ = dttool.convert_datetime_to_sectime(dts, dt0=dt0)
172
+ x = orbit_obj['SC_GEO_X'].flatten()
173
+ y = orbit_obj['SC_GEO_Y'].flatten()
174
+ z = orbit_obj['SC_GEO_Z'].flatten()
175
+ f_x = CubicSpline(sectimes, x)
176
+ x_i = f_x(sectime_1)
177
+ f_y = CubicSpline(sectimes, y)
178
+ y_i = f_y(sectime_1)
179
+ f_z = CubicSpline(sectimes, z)
180
+ z_i = f_z(sectime_1)
181
+
182
+
183
+ cs = geo_cs.GEOCCartesian(
184
+ coords={'x': x_i, 'y': y_i, 'z': z_i, 'x_unit': 'km', 'y_unit': 'km', 'z_unit': 'km'}
185
+ )
186
+ cs_new = cs.to_spherical()
187
+
188
+ # glat_2 = cs_new['lat']
189
+ glon_2 = cs_new['lon']
190
+ # alt_2 = cs_new['height']
191
+
192
+ delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_2 * np.pi / 180.)
193
+
190
194
  if self.replace_orbit:
191
- glon_1 = glon_new
195
+ glon_1 = glon_2
192
196
  else:
193
- glon_1[ind_outliers] = glon_new[ind_outliers]
194
- self['SC_GEO_LON'].value = glon_1.reshape((glon_1.size, 1))
197
+ glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
198
+
199
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
200
+
201
+ # from geospacelab.observatory.orbit.sc_orbit import OrbitPosition_SSCWS
202
+ # from scipy.interpolate import interp1d
203
+ # # check outliers
204
+ # orbit_obj = OrbitPosition_SSCWS(
205
+ # dt_fr=self.dt_fr - datetime.timedelta(minutes=30),
206
+ # dt_to=self.dt_to + datetime.timedelta(minutes=30),
207
+ # sat_id='dmsp' + self.sat_id.lower()
208
+ # )
209
+
210
+ # glat_1 = self['SC_GEO_LAT'].value.flatten()
211
+ # glon_1 = self['SC_GEO_LON'].value.flatten()
212
+ # if glat_1.size < 2:
213
+ # return
214
+
215
+ # dts_1 = self['SC_DATETIME'].value.flatten()
216
+ # dt0 = dttool.get_start_of_the_day(self.dt_fr)
217
+ # sectime_1 = [(dt - dt0).total_seconds() for dt in dts_1]
218
+
219
+ # glat_2 = orbit_obj['SC_GEO_LAT'].value.flatten()
220
+ # glon_2 = orbit_obj['SC_GEO_LON'].value.flatten()
221
+ # dts_2 = orbit_obj['SC_DATETIME'].value.flatten()
222
+ # sectime_2 = [(dt - dt0).total_seconds() for dt in dts_2]
223
+
224
+ # factor = np.pi / 180.
225
+ # sin_glon_1 = np.sin(glon_1 * factor)
226
+ # sin_glon_2 = np.sin(glon_2 * factor)
227
+ # cos_glon_2 = np.cos(glon_2 * factor)
228
+ # itpf_sin = interp1d(sectime_2, sin_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
229
+ # itpf_cos = interp1d(sectime_2, cos_glon_2, kind='linear', bounds_error=False, fill_value='extrapolate')
230
+ # sin_glon_2_i = itpf_sin(sectime_1)
231
+ # cos_glon_2_i = itpf_cos(sectime_1)
232
+ # rad = np.sign(sin_glon_2_i) * (np.pi / 2 - np.arcsin(cos_glon_2_i))
233
+ # glon_new = rad / factor
234
+ # # rad = np.where((rad >= 0), rad, rad + 2 * numpy.pi)
235
+
236
+ # ind_outliers = np.where(np.abs(sin_glon_1 - sin_glon_2_i) > 0.03)[0]
237
+
238
+ # if self.replace_orbit:
239
+ # glon_1 = glon_new
240
+ # else:
241
+ # glon_1[ind_outliers] = glon_new[ind_outliers]
242
+ # self['SC_GEO_LON'].value = glon_1.reshape((glon_1.size, 1))
195
243
 
196
244
  def search_data_files(self, **kwargs):
197
245
 
@@ -303,7 +303,6 @@ def regridding_2d_xgaps(
303
303
  xx_2[i] = xxx + np.min([datetime.timedelta(diff_x[i-1]), xres, x_res_md]) / 2
304
304
  else:
305
305
  xx_2[i] = xxx + np.min([datetime.timedelta(diff_x[i]), xres, x_res_md]) / 2
306
-
307
306
 
308
307
  xx = numpy.hstack((xx_1[:, numpy.newaxis], xx_2[:, numpy.newaxis]))
309
308
  xnew = xx.flatten()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geospacelab
3
- Version: 0.11.1
3
+ Version: 0.11.3
4
4
  Summary: Collect, manage, and visualize geospace data.
5
5
  Home-page: https://github.com/JouleCai/geospacelab
6
6
  Author: Lei Cai
@@ -1,4 +1,4 @@
1
- geospacelab/__init__.py,sha256=EaeDqf4F-JACq5ng6JBu4Qa3gtTN2cIhCIlUo601n0M,801
1
+ geospacelab/__init__.py,sha256=xiz4NDGAUaQjk4xt4ndLfOQX7hOQs3x8lpm4xLKy9tE,801
2
2
  geospacelab/config/__init__.py,sha256=--F2bcKRCNIbPaFz4bySMkuxGg1ZxF1j1uyxMA0t3xA,660
3
3
  geospacelab/config/__mpl__.py,sha256=bO10-mtYDF1EhnRFuXX4H8TUU3esxOZe-qfTrzRhBk0,4705
4
4
  geospacelab/config/_preferences.py,sha256=VKXXWNvFzIMXGmvb7Udd900DoubMlqrcu-gLmzHmzMk,4754
@@ -7,7 +7,7 @@ geospacelab/coords/geo_utilities.py,sha256=7_C98Cd29tzNl86kdWYmVC8UBS8E07oJIR6Ma
7
7
  geospacelab/cs/__init__.py,sha256=lzPhfypd0EfsOJnKsrrK2dQo3sxj8lpblYEhpz2i9xA,1282
8
8
  geospacelab/cs/_aacgm.py,sha256=6NmY_CVnECs-xZo1y2q3eglBc-ZrK-0SWtj6247Xq1E,723
9
9
  geospacelab/cs/_apex.py,sha256=9S-I0MMV5aU_MBO6Pi0AnFCGumfwIravW_VnGONvGYE,756
10
- geospacelab/cs/_cs_base.py,sha256=iZSlChh_tn6bw2k71c_LFs3jIvWy91ClxpOUO9MYYfg,17124
10
+ geospacelab/cs/_cs_base.py,sha256=bERqTF1uNLUFA3F1ySccyJt-t1Dhu1_B1E7-prrgV5o,17178
11
11
  geospacelab/cs/_geo.py,sha256=cLrb2r-xD5aVwKENUzaFVV71tPpOC21zCmUIQmf67eg,18242
12
12
  geospacelab/cs/geo_utilities.py,sha256=RWsioSB6_n3bT502ONho8eyJaFfFVmNBv1T0RwOPD64,604
13
13
  geospacelab/datahub/__dataset_base__.py,sha256=XPcwlfIXNFeoqQoe_PNNNfKW8pPI7rEz3bdrVqLPSCQ,20616
@@ -196,13 +196,13 @@ geospacelab/datahub/sources/madrigal/isr/risr_n/vi/variable_config.py,sha256=dE-
196
196
  geospacelab/datahub/sources/madrigal/satellites/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
197
  geospacelab/datahub/sources/madrigal/satellites/dmsp/__init__.py,sha256=YnuaB5J_ER8LrLUFghlty0YHYnmd9_2IHNW9TBQLaSI,487
198
198
  geospacelab/datahub/sources/madrigal/satellites/dmsp/downloader.py,sha256=jnA8XpiD-bhi5lM1p1er93D-kS7aE8XgYZVVGcE0Aho,4886
199
- geospacelab/datahub/sources/madrigal/satellites/dmsp/e/__init__.py,sha256=2LmuPOzOH9lhMqXkrb4gj9Wxsmdq2mXSA0phTlrK0eU,10309
199
+ geospacelab/datahub/sources/madrigal/satellites/dmsp/e/__init__.py,sha256=_l1rcUrGWUV8XJg0D1KzQEeA3bLEWg_y5w2be2wDhM4,10246
200
200
  geospacelab/datahub/sources/madrigal/satellites/dmsp/e/loader.py,sha256=kZ9AeI0LsNWS26Kwfp6azvDl2IutcWKBPDd6o0tKASc,4902
201
201
  geospacelab/datahub/sources/madrigal/satellites/dmsp/e/variable_config.py,sha256=exp1bYVmDBVlIbraeNgAuVEnjxg5IC2ED1cZIEiPj1U,10280
202
- geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/__init__.py,sha256=u7Z0SFUaLNzPV7aIqcaEUTyIIYPHHJF3rXMWCDYbSUY,11536
202
+ geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/__init__.py,sha256=le8raC-lW_vUTXLvdsmf5-jhUGS7tlZ7ZeLH__zD9NI,11173
203
203
  geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/loader.py,sha256=o5zEkosq7LyNlBIjlefKUpYpePCDbyL_yd3HrrUrk5Q,3360
204
204
  geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/variable_config.py,sha256=Amp90wHogRQOESLH2b4D0jfeBozIKvvOnwx-_waU0us,6745
205
- geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/__init__.py,sha256=0Qkn18pmVBmc0y0Kk6TRJBynoU_ysYMsXLzAAXB37M8,10198
205
+ geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/__init__.py,sha256=6lA2b-pE_h9ofuWMgTJqpEdDRGY2rGlVAKvIqoGvXe4,12077
206
206
  geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/loader.py,sha256=LL8IAMwmgQX06lgVECh6Rx6TGXEoHmAkFDmouJ6kQOo,3229
207
207
  geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/variable_config.py,sha256=4DhvQxFonoYiU_3f9ObE2OkJOXDkHfw0RUMHa3FLTv4,4054
208
208
  geospacelab/datahub/sources/ncei/__init__.py,sha256=MHpNJ-PJBjywheG5CZDgj89fsxVG5qSxi_vkTsxibd8,658
@@ -331,7 +331,7 @@ geospacelab/toolbox/io/__init__.py,sha256=YcFkmOGWXNiOXWsMFxFPhn32UnbxmeSrluTp6O
331
331
  geospacelab/toolbox/io/dialog.py,sha256=y87PKCXQS5_axbrNuVrcYN2uIfr-ZHICr7yMQ0yH1M4,1067
332
332
  geospacelab/toolbox/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
333
  geospacelab/toolbox/utilities/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
334
- geospacelab/toolbox/utilities/numpyarray.py,sha256=u0UfyRRJiKPXO1YIWLeq-szuPY8eXK513wRv8-1l6Bg,12457
334
+ geospacelab/toolbox/utilities/numpyarray.py,sha256=Sr7j5Kfe_vtc185GUX99olkML1Ld81jN6YmrNPX1wcM,12448
335
335
  geospacelab/toolbox/utilities/numpymath.py,sha256=xr-u9vsN5UMZ6pjomJ2O3A1n00Eg3yH5fN4lcY7rR_Q,3810
336
336
  geospacelab/toolbox/utilities/pybasic.py,sha256=-wLWoQMTroJ49nn8H_-hsFxDSiHXMiea86U6u0W8_cM,3310
337
337
  geospacelab/toolbox/utilities/pyclass.py,sha256=DnnzLH1ovlxArtqCpywZUfDoNzYi7HmMW2s17Xd30LI,2813
@@ -382,7 +382,7 @@ geospacelab/wrapper/geopack/geopack/t89.py,sha256=zDVNPrmtK1NnNHgohQEPqOOJDsm2Z-
382
382
  geospacelab/wrapper/geopack/geopack/t96.py,sha256=ktcoo1R7Z3NtkWHENuseu48ub4-JfQGqFV0ZOtd0zH8,65292
383
383
  geospacelab/wrapper/geopack/geopack/test_geopack1.md,sha256=dMUY0O1BgZsKpmJ6BLSQ80B6p6DZcB7OceFeyPOlFK0,15324
384
384
  geospacelab/wrapper/geopack/geopack/test_geopack1.py,sha256=qjLz6O3BAk3H58IpmxXyftwZTkh3vPGp49C-al4hjf0,6669
385
- geospacelab-0.11.1.dist-info/licenses/LICENSE,sha256=2yRlwLt4o5Z6OZAGcyvBj-zfFX1Uw7E6CzqODg7khqs,1515
385
+ geospacelab-0.11.3.dist-info/licenses/LICENSE,sha256=2yRlwLt4o5Z6OZAGcyvBj-zfFX1Uw7E6CzqODg7khqs,1515
386
386
  test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
387
387
  test/test_ampere.py,sha256=0-HZURubpv1mBK3bJ_qTqx39L1jezgRoU5neXMPYgZQ,2968
388
388
  test/test_dmsp_s1.py,sha256=5m_7mjdDGja8ovshNPV3LKW_6q6mIwT9XKqoyRiH79A,3588
@@ -392,7 +392,7 @@ test/test_omni.py,sha256=Zk1LZozPiY5V0aSRmK6GTQuB01hHn_j2j3Brm6Ea_po,1632
392
392
  test/test_superdarn.py,sha256=uP55muvXryPzNGHinWkiGv2PxvRs4f9M9h1WIBEBW7k,2846
393
393
  test/test_swarm.py,sha256=PDDE9nUshhQpXZbV_ZwcsjbMhI73fRaojTZv9rtRzZE,15568
394
394
  test/test_swarm_new.py,sha256=mzhMAx-M9W3Ue5noTyfBx4c3Vtc3b_ZUEvGgL9v8UE4,853
395
- geospacelab-0.11.1.dist-info/METADATA,sha256=YVqScTExFFxfxfJZZ9wIGX7YAphRApV4_jde8tbnGFM,24238
396
- geospacelab-0.11.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
397
- geospacelab-0.11.1.dist-info/top_level.txt,sha256=98eDwrSNgyQFAtSA06QMP71gw9BzgIj0uvkTudpGly4,12
398
- geospacelab-0.11.1.dist-info/RECORD,,
395
+ geospacelab-0.11.3.dist-info/METADATA,sha256=pJAWwX7298awjnEVp3uHuz8WKuU0Vt62iWQ8HEZXtUQ,24238
396
+ geospacelab-0.11.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
397
+ geospacelab-0.11.3.dist-info/top_level.txt,sha256=98eDwrSNgyQFAtSA06QMP71gw9BzgIj0uvkTudpGly4,12
398
+ geospacelab-0.11.3.dist-info/RECORD,,