seppy 0.1.12__py3-none-any.whl → 0.1.14__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.
Potentially problematic release.
This version of seppy might be problematic. Click here for more details.
- seppy/data/test/20230719_side0.csv +402 -0
- seppy/data/test/20230719_side1.csv +402 -0
- seppy/data/test/20230719_side2.csv +402 -0
- seppy/loader/soho.py +34 -16
- seppy/loader/stereo.py +16 -5
- seppy/loader/wind.py +6 -0
- seppy/tests/test_loader.py +15 -14
- seppy/tests/test_tools.py +204 -42
- seppy/tools/__init__.py +45 -18
- seppy/tools/widgets.py +1 -1
- seppy/util/__init__.py +52 -11
- seppy/version.py +1 -1
- {seppy-0.1.12.dist-info → seppy-0.1.14.dist-info}/METADATA +11 -12
- seppy-0.1.14.dist-info/RECORD +29 -0
- {seppy-0.1.12.dist-info → seppy-0.1.14.dist-info}/WHEEL +1 -1
- seppy/data/test/psp_isois-epihi_l2-het-rates60_20210531_v15.cdf +0 -0
- seppy-0.1.12.dist-info/RECORD +0 -27
- {seppy-0.1.12.dist-info → seppy-0.1.14.dist-info}/LICENSE.rst +0 -0
- {seppy-0.1.12.dist-info → seppy-0.1.14.dist-info}/top_level.txt +0 -0
seppy/tools/__init__.py
CHANGED
|
@@ -19,7 +19,7 @@ from seppy.loader.solo import epd_load
|
|
|
19
19
|
from seppy.loader.stereo import calc_av_en_flux_HET as calc_av_en_flux_ST_HET
|
|
20
20
|
from seppy.loader.stereo import calc_av_en_flux_SEPT, stereo_load
|
|
21
21
|
from seppy.loader.wind import wind3dp_load
|
|
22
|
-
from seppy.util import
|
|
22
|
+
from seppy.util import bepi_sixs_load, calc_av_en_flux_sixs, custom_warning, flux2series, resample_df
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
# This is to get rid of this specific warning:
|
|
@@ -92,10 +92,8 @@ class Event:
|
|
|
92
92
|
# names from the dataframe.
|
|
93
93
|
self.load_all_viewing()
|
|
94
94
|
|
|
95
|
-
# JG: This is NOT enough to just check this at this position! This needs to be aborting the process if the specific combination is chosen!
|
|
96
|
-
# JG: Removed here and moved to appropriate positions.
|
|
97
95
|
# # Check that the data that was loaded is valid. If not, give a warning.
|
|
98
|
-
|
|
96
|
+
self.validate_data()
|
|
99
97
|
|
|
100
98
|
# Download radio cdf files ONLY if asked to
|
|
101
99
|
if self.radio_spacecraft is not None:
|
|
@@ -107,15 +105,21 @@ class Event:
|
|
|
107
105
|
Provide an error msg if this object is initialized with a combination that yields invalid data products.
|
|
108
106
|
"""
|
|
109
107
|
|
|
110
|
-
#
|
|
108
|
+
# SolO/STEP data before 22 Oct 2021 is not supported yet for non-'Pixel averaged' viewing
|
|
109
|
+
warn_mess_step_pixels_old = "SolO/STEP data is not included yet for individual Pixels for dates preceding Oct 22, 2021. Only 'Pixel averaged' is supported."
|
|
111
110
|
if self.spacecraft == "solo" and self.sensor == "step":
|
|
112
111
|
if self.start_date < pd.to_datetime("2021-10-22").date():
|
|
113
112
|
if not self.viewing == 'Pixel averaged':
|
|
114
|
-
|
|
113
|
+
# when 'viewing' is undefined, only give a warning; if it's wrong defined, abort with warning
|
|
114
|
+
if not self.viewing:
|
|
115
|
+
# warnings.warn(message=warn_mess_step_pixels_old)
|
|
116
|
+
custom_warning(message=warn_mess_step_pixels_old)
|
|
117
|
+
else:
|
|
118
|
+
raise Warning(warn_mess_step_pixels_old)
|
|
115
119
|
|
|
116
120
|
# Electron data for SolO/STEP is removed for now (Feb 2024, JG)
|
|
117
121
|
if self.spacecraft == "solo" and self.sensor == "step" and self.species.lower()[0] == 'e':
|
|
118
|
-
raise Warning("
|
|
122
|
+
raise Warning("SolO/STEP electron data is not implemented yet!")
|
|
119
123
|
|
|
120
124
|
def update_onset_attributes(self, flux_series, onset_stats, onset_found, peak_flux, peak_time, fig, bg_mean):
|
|
121
125
|
"""
|
|
@@ -269,6 +273,10 @@ class Event:
|
|
|
269
273
|
meta = {"E5": "0.45 - 0.50 MeV",
|
|
270
274
|
"E15": "0.70 - 1.10 MeV"}
|
|
271
275
|
|
|
276
|
+
# TODO:
|
|
277
|
+
# - add resample_df here?
|
|
278
|
+
# - add pos_timestamp here
|
|
279
|
+
|
|
272
280
|
self.update_viewing(viewing)
|
|
273
281
|
return df, meta
|
|
274
282
|
|
|
@@ -341,7 +349,8 @@ class Event:
|
|
|
341
349
|
df, meta = bepi_sixs_load(startdate=self.start_date,
|
|
342
350
|
enddate=self.end_date,
|
|
343
351
|
side=viewing,
|
|
344
|
-
path=self.data_path
|
|
352
|
+
path=self.data_path,
|
|
353
|
+
pos_timestamp='center')
|
|
345
354
|
df_i = df[[f"P{i}" for i in range(1, 10)]]
|
|
346
355
|
df_e = df[[f"E{i}" for i in range(1, 8)]]
|
|
347
356
|
return df_i, df_e, meta
|
|
@@ -472,7 +481,10 @@ class Event:
|
|
|
472
481
|
self.update_viewing(viewing)
|
|
473
482
|
|
|
474
483
|
if self.spacecraft == 'solo':
|
|
475
|
-
if viewing
|
|
484
|
+
if not viewing:
|
|
485
|
+
raise Exception("For this operation, the instrument's 'viewing' direction must be defined in the call of 'Event'!")
|
|
486
|
+
|
|
487
|
+
elif viewing == 'sun':
|
|
476
488
|
|
|
477
489
|
self.current_df_i = self.df_i_sun
|
|
478
490
|
self.current_df_e = self.df_e_sun
|
|
@@ -1094,7 +1106,7 @@ class Event:
|
|
|
1094
1106
|
|
|
1095
1107
|
if (self.spacecraft == 'solo' or self.spacecraft == 'psp'):
|
|
1096
1108
|
plabel = AnchoredText(f"Onset time: {str(onset_stats[-1])[:19]}\n"
|
|
1097
|
-
f"Peak flux: {df_flux_peak['flux'][0]:.2E}",
|
|
1109
|
+
f"Peak flux: {df_flux_peak['flux'].iloc[0]:.2E}",
|
|
1098
1110
|
prop=dict(size=13), frameon=True,
|
|
1099
1111
|
loc=(4))
|
|
1100
1112
|
# if(self.spacecraft[:2].lower() == 'st' or self.spacecraft == 'soho' or self.spacecraft == 'wind'):
|
|
@@ -1178,8 +1190,9 @@ class Event:
|
|
|
1178
1190
|
# Check if background is separated from plot range by over a day, issue a warning if so, but don't
|
|
1179
1191
|
if (background_range[0] < xlim[0] - datetime.timedelta(days=1) and background_range[0] < xlim[1] - datetime.timedelta(days=1)) or \
|
|
1180
1192
|
(background_range[1] > xlim[0] + datetime.timedelta(days=1) and background_range[1] > xlim[1] + datetime.timedelta(days=1)):
|
|
1181
|
-
background_warning = "
|
|
1182
|
-
warnings.warn(message=background_warning)
|
|
1193
|
+
background_warning = "Your background_range is separated from plot_range by over a day. If this was intentional you may ignore this warning."
|
|
1194
|
+
# warnings.warn(message=background_warning)
|
|
1195
|
+
custom_warning(message=background_warning)
|
|
1183
1196
|
|
|
1184
1197
|
if (self.spacecraft[:2].lower() == 'st' and self.sensor == 'sept') \
|
|
1185
1198
|
or (self.spacecraft.lower() == 'psp' and self.sensor.startswith('isois')) \
|
|
@@ -1503,6 +1516,8 @@ class Event:
|
|
|
1503
1516
|
return yaxis_bin_boundaries * y_multiplier
|
|
1504
1517
|
|
|
1505
1518
|
def combine_grids_and_ybins(grid, grid1, y_arr, y_arr1):
|
|
1519
|
+
# TODO: Which bin exactly is removed here? HET? EPT? (JG)
|
|
1520
|
+
|
|
1506
1521
|
# solo/het lowest electron channel partially overlaps with ept highest channel -> erase the "extra" bin where overlapping hapens
|
|
1507
1522
|
if self.spacecraft == "solo" and (self.sensor == "het" or other.sensor == "het") and self.species in ("electrons", "electron", 'e'):
|
|
1508
1523
|
|
|
@@ -1545,6 +1560,8 @@ class Event:
|
|
|
1545
1560
|
if self.spacecraft == "solo":
|
|
1546
1561
|
|
|
1547
1562
|
if instrument == "step":
|
|
1563
|
+
# custom_warning('The lower STEP energy channels are partly overlapping, which is not correctly implemented at the moment!')
|
|
1564
|
+
raise Warning('SolO/STEP is not implemented yet in the dynamic spectrum tool!')
|
|
1548
1565
|
|
|
1549
1566
|
# All viewings are contained in the same dataframe, choose the pixel (viewing) here
|
|
1550
1567
|
pixel = self.viewing.split(' ')[1]
|
|
@@ -1599,8 +1616,13 @@ class Event:
|
|
|
1599
1616
|
s_identifier = "protons"
|
|
1600
1617
|
if instrument.lower() == "ephin":
|
|
1601
1618
|
particle_data = self.current_df_e
|
|
1619
|
+
# Here drop the E300 channel altogether from the dataframe if the data is produced after Oct 4, 2017,
|
|
1620
|
+
# for it contains no valid data. Keyword axis==1 refers to the columns axis.
|
|
1621
|
+
if self.start_date > pd.to_datetime("2017-10-04").date():
|
|
1622
|
+
particle_data = particle_data.drop("E300", axis=1)
|
|
1623
|
+
|
|
1602
1624
|
s_identifier = "electrons"
|
|
1603
|
-
raise Warning('SOHO/EPHIN is not implemented yet in the dynamic spectrum tool!')
|
|
1625
|
+
# raise Warning('SOHO/EPHIN is not implemented yet in the dynamic spectrum tool!')
|
|
1604
1626
|
|
|
1605
1627
|
if spacecraft == "psp":
|
|
1606
1628
|
if instrument.lower() == "isois-epihi":
|
|
@@ -2285,11 +2307,11 @@ class Event:
|
|
|
2285
2307
|
energy_ranges = self.current_energies["channels_dict_df_p"]["ch_strings"].values
|
|
2286
2308
|
if self.sensor.lower() == "ephin":
|
|
2287
2309
|
# Choose only the first 4 channels (E150, E300, E1300 and E3000)
|
|
2288
|
-
#
|
|
2310
|
+
# These are the only electron channels (rest are p and He), and we
|
|
2289
2311
|
# use only electron data here.
|
|
2290
2312
|
energy_ranges = [val for val in self.current_energies.values()][:4]
|
|
2291
2313
|
if self.sensor.lower() in ("ephin-5", "ephin-15"):
|
|
2292
|
-
energy_ranges = [value for
|
|
2314
|
+
energy_ranges = [value for _, value in self.current_energies.items()]
|
|
2293
2315
|
|
|
2294
2316
|
if self.spacecraft == "psp":
|
|
2295
2317
|
energy_dict = self.meta
|
|
@@ -2442,9 +2464,13 @@ class Event:
|
|
|
2442
2464
|
from IPython.display import display
|
|
2443
2465
|
|
|
2444
2466
|
# This has to be run first, otherwise self.current_df does not exist
|
|
2445
|
-
# Note that PSP will by default have its viewing==
|
|
2446
|
-
if self.viewing !=
|
|
2447
|
-
self.
|
|
2467
|
+
# Note that PSP will by default have its viewing=='all', which does not yield proper dataframes
|
|
2468
|
+
if self.viewing != 'all':
|
|
2469
|
+
if self.spacecraft == 'solo' and not self.viewing:
|
|
2470
|
+
raise Warning("For this operation the instrument's 'viewing' direction must be defined in the call of 'Event'! Please define and re-run.")
|
|
2471
|
+
return
|
|
2472
|
+
else:
|
|
2473
|
+
self.choose_data(self.viewing)
|
|
2448
2474
|
else:
|
|
2449
2475
|
if self.sensor == "isois-epihi":
|
|
2450
2476
|
# Just choose data with either ´A´ or ´B´. I'm not sure if there's a difference
|
|
@@ -2521,6 +2547,7 @@ class Event:
|
|
|
2521
2547
|
'display.max_columns', None,
|
|
2522
2548
|
):
|
|
2523
2549
|
display(df)
|
|
2550
|
+
return
|
|
2524
2551
|
|
|
2525
2552
|
def save_and_update_rcparams(self, plotting_function: str):
|
|
2526
2553
|
"""
|
seppy/tools/widgets.py
CHANGED
|
@@ -61,7 +61,7 @@ radio_dict = {
|
|
|
61
61
|
"None": None,
|
|
62
62
|
"STEREO-A": ("ahead", "STEREO-A"),
|
|
63
63
|
"STEREO-B": ("behind", "STEREO-B"),
|
|
64
|
-
"WIND (Coming soon!)": ("wind", "WIND")
|
|
64
|
+
# "WIND (Coming soon!)": ("wind", "WIND") # TODO: re-add when supported!
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
# Drop-downs for dynamic particle spectrum:
|
seppy/util/__init__.py
CHANGED
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import datetime
|
|
3
|
+
import warnings
|
|
4
|
+
|
|
4
5
|
import astropy.constants as const
|
|
5
6
|
import astropy.units as u
|
|
7
|
+
import numpy as np
|
|
8
|
+
import pandas as pd
|
|
6
9
|
import sunpy.sun.constants as sconst
|
|
7
|
-
|
|
8
|
-
import datetime
|
|
9
10
|
from sunpy.coordinates import get_horizons_coord
|
|
10
11
|
|
|
11
12
|
# Utilities toolbox, contains helpful functions
|
|
12
13
|
|
|
13
14
|
|
|
15
|
+
def custom_formatwarning(message, *args, **kwargs):
|
|
16
|
+
# ignore everything except the message
|
|
17
|
+
FAIL = '\033[91m'
|
|
18
|
+
ENDC = '\033[0m'
|
|
19
|
+
BOLD = "\033[1m"
|
|
20
|
+
return BOLD+FAIL+'WARNING: '+ENDC+ str(message) + '\n'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def custom_warning(message):
|
|
24
|
+
formatwarning_orig = warnings.formatwarning
|
|
25
|
+
warnings.formatwarning = custom_formatwarning
|
|
26
|
+
warnings.warn(message)
|
|
27
|
+
warnings.formatwarning = formatwarning_orig
|
|
28
|
+
return
|
|
29
|
+
|
|
30
|
+
|
|
14
31
|
def resample_df(df, resample, pos_timestamp="center", origin="start"):
|
|
15
32
|
"""
|
|
16
33
|
Resamples a Pandas Dataframe or Series to a new frequency.
|
|
@@ -25,8 +42,9 @@ def resample_df(df, resample, pos_timestamp="center", origin="start"):
|
|
|
25
42
|
Controls if the timestamp is at the center of the time bin, or at
|
|
26
43
|
the start of it
|
|
27
44
|
origin : str, default 'start'
|
|
28
|
-
Controls if the origin of resampling is at the
|
|
29
|
-
(
|
|
45
|
+
Controls if the origin of resampling is at the first entry of the
|
|
46
|
+
input dataframe/series (‘start’), or at the start of the day
|
|
47
|
+
(‘start_day’)
|
|
30
48
|
|
|
31
49
|
Returns:
|
|
32
50
|
----------
|
|
@@ -75,7 +93,7 @@ def flux2series(flux, dates, cadence=None):
|
|
|
75
93
|
return flux_series
|
|
76
94
|
|
|
77
95
|
|
|
78
|
-
def bepicolombo_sixs_stack(path, date, side):
|
|
96
|
+
def bepicolombo_sixs_stack(path, date, side, pos_timestamp='center'):
|
|
79
97
|
# side is the index of the file here
|
|
80
98
|
try:
|
|
81
99
|
try:
|
|
@@ -90,6 +108,26 @@ def bepicolombo_sixs_stack(path, date, side):
|
|
|
90
108
|
times = [t.tz_convert(None) for t in times]
|
|
91
109
|
df.index = np.array(times)
|
|
92
110
|
df = df.drop(columns=['TimeUTC'])
|
|
111
|
+
|
|
112
|
+
# TODO: (as it's not really nicely done so far)
|
|
113
|
+
# careful!
|
|
114
|
+
# adjusting the position of the timestamp manually.
|
|
115
|
+
# requires knowledge of the original time resolution and timestamp position!
|
|
116
|
+
if type(date) is datetime.datetime:
|
|
117
|
+
change_date = pd.Timestamp(2022, 8, 29)
|
|
118
|
+
elif type(date) is datetime.date:
|
|
119
|
+
change_date = pd.Timestamp(2022, 8, 29).date()
|
|
120
|
+
if date < change_date:
|
|
121
|
+
cadence = 8
|
|
122
|
+
elif date >= change_date:
|
|
123
|
+
cadence = 24
|
|
124
|
+
#
|
|
125
|
+
if pos_timestamp == 'center':
|
|
126
|
+
df.index = df.index+pd.Timedelta(f'{cadence/2}s')
|
|
127
|
+
# warnings.warn("Assuming cadence of 8s before 2022-08-29 and 24s after!")
|
|
128
|
+
custom_warning("Assuming cadence of 8s before 2022-08-29 and 24s after!")
|
|
129
|
+
elif pos_timestamp == 'start':
|
|
130
|
+
pass
|
|
93
131
|
except FileNotFoundError:
|
|
94
132
|
print(f'Unable to open {filename}')
|
|
95
133
|
df = pd.DataFrame()
|
|
@@ -97,14 +135,14 @@ def bepicolombo_sixs_stack(path, date, side):
|
|
|
97
135
|
return df, filename
|
|
98
136
|
|
|
99
137
|
|
|
100
|
-
def bepi_sixs_load(startdate, enddate, side, path):
|
|
138
|
+
def bepi_sixs_load(startdate, enddate, side, path, pos_timestamp='center'):
|
|
101
139
|
dates = pd.date_range(startdate, enddate)
|
|
102
140
|
|
|
103
141
|
# read files into Pandas dataframes:
|
|
104
|
-
df, file = bepicolombo_sixs_stack(path, startdate, side=side)
|
|
142
|
+
df, file = bepicolombo_sixs_stack(path, startdate, side=side, pos_timestamp=pos_timestamp)
|
|
105
143
|
if len(dates) > 1:
|
|
106
144
|
for date in dates[1:]:
|
|
107
|
-
t_df, file = bepicolombo_sixs_stack(path, date.date(), side=side)
|
|
145
|
+
t_df, file = bepicolombo_sixs_stack(path, date.date(), side=side, pos_timestamp=pos_timestamp)
|
|
108
146
|
df = pd.concat([df, t_df])
|
|
109
147
|
|
|
110
148
|
channels_dict = {"Energy_Bin_str": {'E1': '71 keV', 'E2': '106 keV', 'E3': '169 keV', 'E4': '280 keV', 'E5': '960 keV', 'E6': '2240 keV', 'E7': '8170 keV',
|
|
@@ -146,6 +184,9 @@ def calc_av_en_flux_sixs(df, channel, species):
|
|
|
146
184
|
GEOMFACTOR_PROT_COMB89 = 3.34
|
|
147
185
|
GEOMFACTOR_ELEC_COMB56 = 0.0972
|
|
148
186
|
|
|
187
|
+
if type(channel) is list and len(channel) == 1:
|
|
188
|
+
channel = channel[0]
|
|
189
|
+
|
|
149
190
|
if species in ['p', 'protons']:
|
|
150
191
|
if channel == [8, 9]:
|
|
151
192
|
countrate = df['P8'] * GEOMFACTOR_PROT8 + df['P9'] * GEOMFACTOR_PROT9
|
|
@@ -313,7 +354,7 @@ def speed2energy(species, speed):
|
|
|
313
354
|
mass_dict = {'p': const.m_p, 'e': const.m_e}
|
|
314
355
|
gamma = 1/np.sqrt(1-speed**2/const.c**2)
|
|
315
356
|
K = (gamma-1)*mass_dict[species]*const.c**2
|
|
316
|
-
return K.to(u.MeV)
|
|
357
|
+
return K.to(u.MeV)
|
|
317
358
|
|
|
318
359
|
|
|
319
360
|
def speed2momentum(species, speed):
|
seppy/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: seppy
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.14
|
|
4
4
|
Summary: SEPpy
|
|
5
5
|
Home-page: https://github.com/serpentine-h2020/SEPpy
|
|
6
6
|
Author: Jan Gieseler
|
|
@@ -14,34 +14,33 @@ Classifier: Programming Language :: Python
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.8
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
19
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
18
20
|
Requires-Python: >=3.8
|
|
19
21
|
License-File: licenses/LICENSE.rst
|
|
20
22
|
Requires-Dist: astropy
|
|
23
|
+
Requires-Dist: astroquery
|
|
21
24
|
Requires-Dist: bs4
|
|
22
25
|
Requires-Dist: cdflib
|
|
23
|
-
Requires-Dist: datetime
|
|
24
|
-
Requires-Dist: drms
|
|
25
|
-
Requires-Dist: h5netcdf
|
|
26
26
|
Requires-Dist: ipykernel
|
|
27
27
|
Requires-Dist: ipywidgets
|
|
28
|
-
Requires-Dist: lxml
|
|
29
28
|
Requires-Dist: matplotlib
|
|
29
|
+
Requires-Dist: mpl-animators>=1.0.0
|
|
30
30
|
Requires-Dist: numpy
|
|
31
31
|
Requires-Dist: pandas
|
|
32
32
|
Requires-Dist: pooch
|
|
33
33
|
Requires-Dist: requests
|
|
34
34
|
Requires-Dist: solo-epd-loader
|
|
35
|
-
Requires-Dist: sunpy
|
|
36
|
-
Requires-Dist: zeep
|
|
35
|
+
Requires-Dist: sunpy>=4.1.0
|
|
37
36
|
Provides-Extra: all
|
|
38
37
|
Provides-Extra: docs
|
|
39
|
-
Requires-Dist: sphinx
|
|
40
|
-
Requires-Dist: sphinx-automodapi
|
|
38
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
39
|
+
Requires-Dist: sphinx-automodapi; extra == "docs"
|
|
41
40
|
Provides-Extra: test
|
|
42
|
-
Requires-Dist: pytest
|
|
43
|
-
Requires-Dist: pytest-doctestplus
|
|
44
|
-
Requires-Dist: pytest-cov
|
|
41
|
+
Requires-Dist: pytest; extra == "test"
|
|
42
|
+
Requires-Dist: pytest-doctestplus; extra == "test"
|
|
43
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
45
44
|
|
|
46
45
|
seppy
|
|
47
46
|
=====
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
seppy/__init__.py,sha256=M8ZBbGj0r_XdNVLzaSXF38M4wyzAgUX32LXcSYh5O5A,254
|
|
2
|
+
seppy/version.py,sha256=Yt0zY5AwafNxgEo2ms3qwU0OMj3CY7uImiooX_Os2jQ,346
|
|
3
|
+
seppy/data/test/20230719_side0.csv,sha256=0htTQcdQydRc92bkO26lxK8tDRSeN6uov13VfsqmUFQ,72368
|
|
4
|
+
seppy/data/test/20230719_side1.csv,sha256=iHCfHmOIltJatncWpns_zq3ym_-2yRu0twmDvQDbmJw,72368
|
|
5
|
+
seppy/data/test/20230719_side2.csv,sha256=eYyEQX5fNDO4E57KwKN3bHs6u5-lHaAhIHt-3f20Urg,72368
|
|
6
|
+
seppy/data/test/epi21106.rl2,sha256=Fhq5A5D1pKqEfV9mx6T8tjEei4HmSfmWBR0XaLJl_JI,180858
|
|
7
|
+
seppy/data/test/sept_ahead_ele_sun_2006_318_1min_l2_v03.dat,sha256=ReZ7cvIcC4Z_nDJ-oJQ7lsKSziA_qlZsAG74F5n3M2o,167882
|
|
8
|
+
seppy/data/test/soho_erne-hed_l2-1min_20211028_v01.cdf,sha256=RX1XX6eQevCuXqc1tTAEjPsXtlgbDeP2DsmRFVbsGwg,278505
|
|
9
|
+
seppy/data/test/solo_l2_mag-rtn-normal-1-minute_20210712_v01.cdf,sha256=Tc_-3YQMVGDwJgN1td2iqTPGfCF7YwmuyYZ2G0NiSoY,59249
|
|
10
|
+
seppy/data/test/sta_l1_het_20211028_v01.cdf,sha256=429TIPXSQI5heQVNqyRYLF7HUDZPByzk-xYf9IzSJ0U,215082
|
|
11
|
+
seppy/data/test/wi_sfsp_3dp_00000000_v01.cdf,sha256=ifAM0FiB2tepHmlpsqbotJMyQqSB3bwpPcKD6VhukFA,30939
|
|
12
|
+
seppy/data/test/wi_sfsp_3dp_20200213_v01.cdf,sha256=UiKcBPcWZkh3KIBigoZubTJ3Fw90E8p7XhbA9uW6VWk,67008
|
|
13
|
+
seppy/loader/psp.py,sha256=PbxCEW-06d2I_JGIfIAqqXMU_uPdQFhmh-fUoXpzz9k,31535
|
|
14
|
+
seppy/loader/soho.py,sha256=EIFKde1dGpT9yU6bU-XtTsHUCvTEkzHhdPOOMtqVrDU,20262
|
|
15
|
+
seppy/loader/solo.py,sha256=Nst2ZJU2yH5NHsB6M_69ryVfzt978hbmqhxaHZJREVg,3054
|
|
16
|
+
seppy/loader/stereo.py,sha256=S0_IRIFbFxLH00bSIt1uZMflmuG5dAU5sKw0w9NL9oM,24583
|
|
17
|
+
seppy/loader/wind.py,sha256=3rWV_EOcY7sY69eqtCQCZxL5GxAQZuMm1-wpJJxrej8,18460
|
|
18
|
+
seppy/tests/__init__.py,sha256=1D-l3TVbwIZHY78A-sB7kc4ldldX8ZaEq-Ntph51WVw,108
|
|
19
|
+
seppy/tests/test_loader.py,sha256=mt52vrAeSEtJ-od4Cqt0HrscN_ykKNHklGZm8OTZjLs,7767
|
|
20
|
+
seppy/tests/test_tools.py,sha256=NrKXrlgCsy9RRx2V7fUGRtB1l8N0_CXasyGjoB_lSNU,31518
|
|
21
|
+
seppy/tools/__init__.py,sha256=Ge3lQ9zVRJ27aaHSet2I1wQ9tD4emVfjnn49pUGcoiY,116086
|
|
22
|
+
seppy/tools/swaves.py,sha256=OcohPXLko0ik9FLyYMVkYxI75W4XzOKvQ2Ylnwi-wlQ,3139
|
|
23
|
+
seppy/tools/widgets.py,sha256=atQj9vvus0UgrUV6vlPcTdjpaidnERUevOp6FUmGLSI,6820
|
|
24
|
+
seppy/util/__init__.py,sha256=0J3DNmOdh9X8a-uZy0yfFe1ubFSfcF5b7K4RMSJvGHA,15705
|
|
25
|
+
seppy-0.1.14.dist-info/LICENSE.rst,sha256=SxptLPCIHKdfDjyguGdC7ai6Eze-Vz_t1jdqC8h19js,1473
|
|
26
|
+
seppy-0.1.14.dist-info/METADATA,sha256=adiL7bpY08aZg2c5uC_o_8j5hTlWn-8nksTv8v9KEcU,4399
|
|
27
|
+
seppy-0.1.14.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
|
|
28
|
+
seppy-0.1.14.dist-info/top_level.txt,sha256=G2Op1GREPmbCX81isNhYY_7ZZyLWLIm-MJC04J4Fgc4,6
|
|
29
|
+
seppy-0.1.14.dist-info/RECORD,,
|
|
Binary file
|
seppy-0.1.12.dist-info/RECORD
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
seppy/__init__.py,sha256=M8ZBbGj0r_XdNVLzaSXF38M4wyzAgUX32LXcSYh5O5A,254
|
|
2
|
-
seppy/version.py,sha256=BdI0483CKw5g6ZLk-JrMdNNQTyX9GkavgloDI4wsv2Y,346
|
|
3
|
-
seppy/data/test/epi21106.rl2,sha256=Fhq5A5D1pKqEfV9mx6T8tjEei4HmSfmWBR0XaLJl_JI,180858
|
|
4
|
-
seppy/data/test/psp_isois-epihi_l2-het-rates60_20210531_v15.cdf,sha256=u0XcZ9SpocPwuKAmu7w2qDU_yLXxg3eyf0VXvayWlT4,401828
|
|
5
|
-
seppy/data/test/sept_ahead_ele_sun_2006_318_1min_l2_v03.dat,sha256=ReZ7cvIcC4Z_nDJ-oJQ7lsKSziA_qlZsAG74F5n3M2o,167882
|
|
6
|
-
seppy/data/test/soho_erne-hed_l2-1min_20211028_v01.cdf,sha256=RX1XX6eQevCuXqc1tTAEjPsXtlgbDeP2DsmRFVbsGwg,278505
|
|
7
|
-
seppy/data/test/solo_l2_mag-rtn-normal-1-minute_20210712_v01.cdf,sha256=Tc_-3YQMVGDwJgN1td2iqTPGfCF7YwmuyYZ2G0NiSoY,59249
|
|
8
|
-
seppy/data/test/sta_l1_het_20211028_v01.cdf,sha256=429TIPXSQI5heQVNqyRYLF7HUDZPByzk-xYf9IzSJ0U,215082
|
|
9
|
-
seppy/data/test/wi_sfsp_3dp_00000000_v01.cdf,sha256=ifAM0FiB2tepHmlpsqbotJMyQqSB3bwpPcKD6VhukFA,30939
|
|
10
|
-
seppy/data/test/wi_sfsp_3dp_20200213_v01.cdf,sha256=UiKcBPcWZkh3KIBigoZubTJ3Fw90E8p7XhbA9uW6VWk,67008
|
|
11
|
-
seppy/loader/psp.py,sha256=PbxCEW-06d2I_JGIfIAqqXMU_uPdQFhmh-fUoXpzz9k,31535
|
|
12
|
-
seppy/loader/soho.py,sha256=j3cwsrJ2orWIMD_V5_bh0SUti1B53bOgUGu64lZj7o4,19466
|
|
13
|
-
seppy/loader/solo.py,sha256=Nst2ZJU2yH5NHsB6M_69ryVfzt978hbmqhxaHZJREVg,3054
|
|
14
|
-
seppy/loader/stereo.py,sha256=2dW62ZyzrJ3Rnz1dwqJEqN9kzPFJcc709PsKZsxByF8,24339
|
|
15
|
-
seppy/loader/wind.py,sha256=JerMQ-hzfOwmdXbkhB-_6NE3lCB5dwzf-x4y2DHf4DA,18375
|
|
16
|
-
seppy/tests/__init__.py,sha256=1D-l3TVbwIZHY78A-sB7kc4ldldX8ZaEq-Ntph51WVw,108
|
|
17
|
-
seppy/tests/test_loader.py,sha256=KDWqRcO6X3Md0xjV1oRFtqRFH-6sqXAVE_R7ptPeqlg,7636
|
|
18
|
-
seppy/tests/test_tools.py,sha256=ooGrnLZOdvUSCVaf-e1iiflE9U4ww_EaHrmyejoWsIE,23441
|
|
19
|
-
seppy/tools/__init__.py,sha256=XhjbQRQJKBmHWw_AgngX-qc1RmRCxWhiH8Q-7zTXAp4,114474
|
|
20
|
-
seppy/tools/swaves.py,sha256=OcohPXLko0ik9FLyYMVkYxI75W4XzOKvQ2Ylnwi-wlQ,3139
|
|
21
|
-
seppy/tools/widgets.py,sha256=DNAkFNPGZP6AJgJIIg9TD97R2L0Ba39aiC98rEFF7kw,6786
|
|
22
|
-
seppy/util/__init__.py,sha256=bYJi19iafNS3U6UbcdmbG079DR_DHphafoBQPzUln-4,14162
|
|
23
|
-
seppy-0.1.12.dist-info/LICENSE.rst,sha256=SxptLPCIHKdfDjyguGdC7ai6Eze-Vz_t1jdqC8h19js,1473
|
|
24
|
-
seppy-0.1.12.dist-info/METADATA,sha256=W1fuqlB9lniZxWtj1fGn3UeAgzIqQxosDjmC7m5D1HY,4349
|
|
25
|
-
seppy-0.1.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
26
|
-
seppy-0.1.12.dist-info/top_level.txt,sha256=G2Op1GREPmbCX81isNhYY_7ZZyLWLIm-MJC04J4Fgc4,6
|
|
27
|
-
seppy-0.1.12.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|