PyThea 0.14.0__tar.gz → 1.0.0__tar.gz

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.
Files changed (65) hide show
  1. {pythea-0.14.0 → pythea-1.0.0}/CHANGELOG.md +16 -0
  2. {pythea-0.14.0 → pythea-1.0.0}/PKG-INFO +6 -2
  3. {pythea-0.14.0 → pythea-1.0.0}/PyThea/PyThea_app.py +1 -1
  4. {pythea-0.14.0 → pythea-1.0.0}/PyThea/_version.py +2 -2
  5. {pythea-0.14.0 → pythea-1.0.0}/PyThea/config/selected_imagers.py +7 -0
  6. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/aia/utils.py +6 -1
  7. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/map/maputils.py +25 -10
  8. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/figure_hashes.json +2 -2
  9. {pythea-0.14.0 → pythea-1.0.0}/PyThea/utils.py +14 -7
  10. {pythea-0.14.0 → pythea-1.0.0}/PyThea/utils_database.py +2 -1
  11. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/PKG-INFO +6 -2
  12. {pythea-0.14.0 → pythea-1.0.0}/README.md +5 -4
  13. {pythea-0.14.0 → pythea-1.0.0}/README_pypi.md +5 -1
  14. {pythea-0.14.0 → pythea-1.0.0}/.readthedocs.yaml +0 -0
  15. {pythea-0.14.0 → pythea-1.0.0}/LICENSE.md +0 -0
  16. {pythea-0.14.0 → pythea-1.0.0}/MANIFEST.in +0 -0
  17. {pythea-0.14.0 → pythea-1.0.0}/PyThea/__init__.py +0 -0
  18. {pythea-0.14.0 → pythea-1.0.0}/PyThea/callbacks.py +0 -0
  19. {pythea-0.14.0 → pythea-1.0.0}/PyThea/config/__init__.py +0 -0
  20. {pythea-0.14.0 → pythea-1.0.0}/PyThea/config/app_styles.py +0 -0
  21. {pythea-0.14.0 → pythea-1.0.0}/PyThea/config/config_sliders.py +0 -0
  22. {pythea-0.14.0 → pythea-1.0.0}/PyThea/config/selected_bodies.py +0 -0
  23. {pythea-0.14.0 → pythea-1.0.0}/PyThea/data/__init__.py +0 -0
  24. {pythea-0.14.0 → pythea-1.0.0}/PyThea/data/sample_data.py +0 -0
  25. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/LICENSE_gcs_python.md +0 -0
  26. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/Parker_spirals/__init__.py +0 -0
  27. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/Parker_spirals/utils.py +0 -0
  28. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/__init__.py +0 -0
  29. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/buttons.py +0 -0
  30. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/hek/__init__.py +0 -0
  31. {pythea-0.14.0 → pythea-1.0.0}/PyThea/extensions/hek/utils.py +0 -0
  32. {pythea-0.14.0 → pythea-1.0.0}/PyThea/geometrical_models.py +0 -0
  33. {pythea-0.14.0 → pythea-1.0.0}/PyThea/modules.py +0 -0
  34. {pythea-0.14.0 → pythea-1.0.0}/PyThea/pythea_cli.py +0 -0
  35. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/__init__.py +0 -0
  36. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/__init__.py +0 -0
  37. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/__init__.py +0 -0
  38. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/aia/__init__.py +0 -0
  39. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/lasco/__init__.py +0 -0
  40. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/lasco/utils.py +0 -0
  41. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/stereo/__init__.py +0 -0
  42. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/extern/sunkit_instruments/stereo/utils.py +0 -0
  43. {pythea-0.14.0 → pythea-1.0.0}/PyThea/sunpy_dev/map/__init__.py +0 -0
  44. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/Pythea_test.py +0 -0
  45. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/__init__.py +0 -0
  46. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/conftest.py +0 -0
  47. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_extension_utils.py +0 -0
  48. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_figures.py +0 -0
  49. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_geometrical_models.py +0 -0
  50. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_imports.py +0 -0
  51. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_remote_clients.py +0 -0
  52. {pythea-0.14.0 → pythea-1.0.0}/PyThea/test/test_utils.py +0 -0
  53. {pythea-0.14.0 → pythea-1.0.0}/PyThea/version.py +0 -0
  54. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/.DS_Store +0 -0
  55. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/SOURCES.txt +0 -0
  56. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/dependency_links.txt +0 -0
  57. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/entry_points.txt +0 -0
  58. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/not-zip-safe +0 -0
  59. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/requires.txt +0 -0
  60. {pythea-0.14.0 → pythea-1.0.0}/PyThea.egg-info/top_level.txt +0 -0
  61. {pythea-0.14.0 → pythea-1.0.0}/environment.yml +0 -0
  62. {pythea-0.14.0 → pythea-1.0.0}/pyproject.toml +0 -0
  63. {pythea-0.14.0 → pythea-1.0.0}/requirements.txt +0 -0
  64. {pythea-0.14.0 → pythea-1.0.0}/setup.cfg +0 -0
  65. {pythea-0.14.0 → pythea-1.0.0}/setup.py +0 -0
@@ -1,3 +1,19 @@
1
+ # v1.0.0 (19-Nov-2024)
2
+
3
+ ## Features
4
+ - Adds imaging data from Solar Orbiter's SOLOHi.
5
+ - Implements offline fits file loading from local database.
6
+
7
+ ## Minor Changes
8
+ - Updates Test figure hashes.
9
+ - Final changes in README before the major release.
10
+
11
+ ## Bug Fixes
12
+ - Fixes a temporary bug with JSOC and AIA prep
13
+ - Fixes potential bug with maps loading into map sequence.
14
+ - Fixes a bug when fits database is selected but no files downloaded.
15
+ - Fixes a bug with the maps clims.
16
+
1
17
  # v0.14.0 (03-Oct-2024)
2
18
 
3
19
  ## Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyThea
3
- Version: 0.14.0
3
+ Version: 1.0.0
4
4
  Summary: PyThea: A software package to reconstruct the 3D structure of CMEs and shock waves
5
5
  Home-page: https://github.com/AthKouloumvakos/PyThea
6
6
  Author: Athanasios Kouloumvakos
@@ -54,7 +54,7 @@ Requires-Dist: pytest-mpl
54
54
  ![flake8](https://github.com/AthKouloumvakos/PyThea/actions/workflows/flake8.yml/badge.svg)
55
55
  ![pytest](https://github.com/AthKouloumvakos/PyThea/actions/workflows/pytest.yml/badge.svg)
56
56
 
57
- _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO) and Solar Terrestrial Relations Observatory (STEREO).
57
+ _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO), Solar Terrestrial Relations Observatory (STEREO), and Parker Solar Probe.
58
58
 
59
59
  ## 💾 Installation
60
60
 
@@ -153,3 +153,7 @@ If you use _PyThea_ for scientific work or research presented in a publication,
153
153
  ## ⓘ The mythology of Thea:
154
154
 
155
155
  In Greek mythology, Thea, also called Euryphaessa "wide-shining", is the Titaness of sight and the shining light of the clear blue sky. Her brother/consort is Hyperion, a Titan and god of the sun, and together they are the parents of Helios (the Sun), Selene (the Moon), and Eos (the Dawn).
156
+
157
+ ## Development Support:
158
+
159
+ The lead author of this software package Athanasios Kouloumvakos acknowledges financial support from NASA Grant 80NSSC24K0071 for the further development and improvement of PyThea during 2024. This grant was part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N).
@@ -85,7 +85,7 @@ def footer_text():
85
85
  More imaging data have been added:
86
86
  - SDO/AIA images from 211A channel.
87
87
  - PSP/WISPR inner and outer telescope images.
88
- - SolO/EUI and METIS images.
88
+ - SolO/EUI, METIS, and HI(tiles 1&2) images.
89
89
  ''', icon='ℹ️')
90
90
  st.warning('''
91
91
  **NOTE: From PyThea >0.8.1 the JSON fitting files will be slightly different from the old ones.**
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.14.0'
16
- __version_tuple__ = version_tuple = (0, 14, 0)
15
+ __version__ = version = '1.0.0'
16
+ __version_tuple__ = version_tuple = (1, 0, 0)
@@ -80,3 +80,10 @@ imager_dict['EUI-FSI'] = {'fido': (a.Instrument('EUI'), a.soar.Product('EUI-FSI1
80
80
  imager_dict['METIS'] = {'fido': (a.Instrument('METIS'), a.soar.Product('METIS-VL-TB'), a.Level(2)),
81
81
  'process': {'dimensions': (1024*u.pixel, 1024*u.pixel), 'superpixel': 2},
82
82
  'source': 'SOLO', 'instrument': 'METIS', 'detector': 'VLD', 'wavelength': 'TB'}
83
+
84
+ for tile in range(1, 5):
85
+ z = 'T' if tile in [1, 2] else 'G'
86
+ imager_dict[f'SOLOHI-T{tile}'] = {'fido': (a.Instrument('SOLOHI'),
87
+ a.soar.Product(f'SOLOHI-{tile}F{z}'), a.Level(2)),
88
+ 'process': {'superpixel': 2},
89
+ 'source': 'SOLO', 'instrument': 'SOLOHI', 'detector': f'T{tile}'}
@@ -1,3 +1,4 @@
1
+ import warnings
1
2
  from astropy.time import TimeDelta
2
3
  from aiapy.calibrate import fix_observer_location, update_pointing
3
4
 
@@ -5,7 +6,11 @@ __all__ = ['prep_aia']
5
6
 
6
7
 
7
8
  def prep_aia(map_sequence):
8
- map_sequence = [update_pointing(tmap) for tmap in map_sequence]
9
+ try:
10
+ map_sequence = [update_pointing(tmap) for tmap in map_sequence]
11
+ except:
12
+ warnings.warn('Prepare AIA maps failed, script proceeded without update_pointing. Check connection with JSOC.', UserWarning)
13
+
9
14
  map_sequence = [fix_observer_location(tmap) for tmap in map_sequence]
10
15
 
11
16
  for map_ in map_sequence:
@@ -18,6 +18,16 @@ __all__ = ['maps_sequence_processing', 'get_closest', 'normalize_exposure',
18
18
  'prepare_maps', 'difference_maps', 'mask_occulter']
19
19
 
20
20
 
21
+ def check_maps_sequence(map_sequence):
22
+ if map_sequence:
23
+ if isinstance(map_sequence, MapSequence):
24
+ return map_sequence
25
+ else:
26
+ return sunpy.map.Map(map_sequence, sequence=True)
27
+ else:
28
+ return []
29
+
30
+
21
31
  def maps_sequence_processing(map_sequence, **kwargs):
22
32
  """
23
33
  Returns a sequence of maps which is processed as plain images, running or base difference images.
@@ -36,6 +46,7 @@ def maps_sequence_processing(map_sequence, **kwargs):
36
46
  A SunPy map.
37
47
  """
38
48
 
49
+ map_sequence = check_maps_sequence(map_sequence)
39
50
  if len(map_sequence) == 0:
40
51
  return []
41
52
 
@@ -139,6 +150,7 @@ def filter_maps(map_sequence, **kwargs):
139
150
 
140
151
  '''
141
152
 
153
+ map_sequence = check_maps_sequence(map_sequence)
142
154
  if len(map_sequence) == 0:
143
155
  return []
144
156
 
@@ -155,11 +167,7 @@ def filter_maps(map_sequence, **kwargs):
155
167
  map_sequence = [tmap for tmap in map_sequence if tmap.meta['polar'] == kwargs['polar']]
156
168
 
157
169
  if len(map_sequence) != 0:
158
- if isinstance(map_sequence, MapSequence):
159
- return map_sequence
160
- else:
161
- sequence_final = sunpy.map.Map(map_sequence, sequence=True)
162
-
170
+ sequence_final = check_maps_sequence(map_sequence)
163
171
  else:
164
172
  sequence_final = []
165
173
 
@@ -188,6 +196,7 @@ def prepare_maps(map_sequence, **kwargs):
188
196
 
189
197
  '''
190
198
 
199
+ map_sequence = check_maps_sequence(map_sequence)
191
200
  if len(map_sequence) == 0:
192
201
  return []
193
202
 
@@ -246,6 +255,7 @@ def difference_maps(smapi, smapm):
246
255
  if smapm.exposure_time != 1*u.second:
247
256
  smapm = normalize_exposure(smapm)
248
257
  smap_difference = smapi.data - smapm.data
258
+
249
259
  return sunpy.map.Map(smap_difference, smapi.meta)
250
260
 
251
261
 
@@ -300,11 +310,16 @@ def mask_occulter(smap, apply_mask=True, mask_value=0):
300
310
 
301
311
 
302
312
  def maps_clims(images):
303
- if images[1].instrument == 'WISPR':
304
- if images[1].detector == 'Outer':
313
+ i = 0 if len(images) < 2 else 1
314
+
315
+ if images[i].instrument == 'WISPR':
316
+ if images[i].detector == 'Outer':
305
317
  return [14., 14.]
306
- elif images[1].detector == 'Inner':
318
+ elif images[i].detector == 'Inner':
307
319
  return [13., 13.]
308
- if images[1].instrument == 'Metis':
320
+ elif images[i].instrument == 'Metis':
309
321
  return [12.80, 13.00]
310
- return [np.nanquantile(images[1].data, 0.20)-10, np.nanquantile(images[1].data, 0.80)+10]
322
+ elif images[i].instrument.startswith('SoloHI'):
323
+ return [13.95, 14.05]
324
+
325
+ return [np.nanquantile(images[i].data, 0.20)-10, np.nanquantile(images[i].data, 0.80)+10]
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "PyThea.test.test_figures.test_ellipsoid_on_AIA_venus": "f1ff774b483a8c934c9353c552278c8823216fc7d9dad4ccc00c74be3f30c4c3",
3
- "PyThea.test.test_figures.test_ellipsoid_on_AIA_mercury": "f6afda1c769a061b7ab1fc64c4e9c0f4658cdb97c3be83828ba5d98bf1bb182c",
3
+ "PyThea.test.test_figures.test_ellipsoid_on_AIA_mercury": "a70589cd9c052d80532df5f9fbbc6d857333dcd3e2e7acfbe0e73f6b98a2a6ef",
4
4
  "PyThea.test.test_figures.test_ellipsoid_on_STEREO_COR1_venus": "18a3af72e9da5b60e435f83ee3ef3f8cd0eb437eaef463329552ff56968f12ff",
5
5
  "PyThea.test.test_figures.test_ellipsoid_on_STEREO_COR2_three_planets": "231d5635f57c4d66556674a83f6cbcef7dc94b51846e977c4c2dc3dc244096ac",
6
- "PyThea.test.test_figures.test_kinematics_figure": "83e060de53b57e9d34fe50111ba60a44f7c7c7b20faae9a4381654ef1c9ea72d"
6
+ "PyThea.test.test_figures.test_kinematics_figure": "83e060de53b57e9d34fe50111ba60a44f7c7c7b20faae9a4381654ef1c9ea72d",
7
7
  "PyThea.test.test_figures.test_ellipsoid_on_WISPR_Inner_Venus": "8d831b43b0c789cacfcff8386c00af0707bb68d64fca16c6188deca93d3cba87",
8
8
  "PyThea.test.test_figures.test_ellipsoid_on_WISPR_Outer_Mercury": "f94c444f2c6f00cd5dd5deff394d0e233c9e720413fd5570b306b262915c9732"
9
9
  }
@@ -128,10 +128,7 @@ def make_figure(map, cmap='Greys_r', clim=[-20, 20], clip_model=True, **kwargs):
128
128
  if median_filter_value != 1:
129
129
  map = sunpy.map.Map(median_filter(map.data, size=int(median_filter_value)), map.meta)
130
130
 
131
- if map.instrument == 'WISPR':
132
- clim = [-10**-clim[0], 10**-clim[1]]
133
-
134
- if map.instrument == 'Metis':
131
+ if map.instrument in ['WISPR', 'Metis'] or map.instrument.startswith('SoloHI'):
135
132
  clim = [-10**-clim[0], 10**-clim[1]]
136
133
 
137
134
  if cmap == 'default':
@@ -155,9 +152,19 @@ def make_figure(map, cmap='Greys_r', clim=[-20, 20], clip_model=True, **kwargs):
155
152
  if cref.Ty > 0:
156
153
  axis.invert_yaxis()
157
154
 
158
- axis.set_title(re.sub(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}',
159
- ' $T_{AGV}:$' + parse_time(map.date_average).strftime('%Y-%m-%d %H:%M:%S'),
160
- map.latex_name.replace('VLD', 'METIS-VDL')),
155
+ if map.instrument == 'SoloHI':
156
+ title = 'SoloHI' + f' Tile-{map.detector}' ' $T_{AGV}:$' + parse_time(map.date_average).strftime('%Y-%m-%d %H:%M:%S')
157
+ elif map.instrument == 'Metis':
158
+ title = re.sub(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}',
159
+ ' $T_{AGV}:$' + parse_time(map.date_average).strftime('%Y-%m-%d %H:%M:%S'),
160
+ map.latex_name.replace('VLD', 'METIS-VDL'))
161
+ else:
162
+ title = re.sub(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}',
163
+ ' $T_{AGV}:$' + parse_time(map.date_average).strftime('%Y-%m-%d %H:%M:%S'),
164
+ map.latex_name)
165
+ print(map.instrument)
166
+ print(map.latex_name)
167
+ axis.set_title(title,
161
168
  fontsize=10, pad=8)
162
169
 
163
170
  return fig, axis
@@ -79,7 +79,8 @@ def get_fits_filenames_from_database(event_id, timerange, imager):
79
79
 
80
80
  if downloaded_files is None:
81
81
  downloaded_files = download_fits(timerange, imager)
82
-
82
+ if not downloaded_files:
83
+ return None
83
84
  nested_dict_ = create_nested_dict(db_args, downloaded_files.data)
84
85
  nested_dict_ = {str(timerange): nested_dict_}
85
86
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyThea
3
- Version: 0.14.0
3
+ Version: 1.0.0
4
4
  Summary: PyThea: A software package to reconstruct the 3D structure of CMEs and shock waves
5
5
  Home-page: https://github.com/AthKouloumvakos/PyThea
6
6
  Author: Athanasios Kouloumvakos
@@ -54,7 +54,7 @@ Requires-Dist: pytest-mpl
54
54
  ![flake8](https://github.com/AthKouloumvakos/PyThea/actions/workflows/flake8.yml/badge.svg)
55
55
  ![pytest](https://github.com/AthKouloumvakos/PyThea/actions/workflows/pytest.yml/badge.svg)
56
56
 
57
- _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO) and Solar Terrestrial Relations Observatory (STEREO).
57
+ _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO), Solar Terrestrial Relations Observatory (STEREO), and Parker Solar Probe.
58
58
 
59
59
  ## 💾 Installation
60
60
 
@@ -153,3 +153,7 @@ If you use _PyThea_ for scientific work or research presented in a publication,
153
153
  ## ⓘ The mythology of Thea:
154
154
 
155
155
  In Greek mythology, Thea, also called Euryphaessa "wide-shining", is the Titaness of sight and the shining light of the clear blue sky. Her brother/consort is Hyperion, a Titan and god of the sun, and together they are the parents of Helios (the Sun), Selene (the Moon), and Eos (the Dawn).
156
+
157
+ ## Development Support:
158
+
159
+ The lead author of this software package Athanasios Kouloumvakos acknowledges financial support from NASA Grant 80NSSC24K0071 for the further development and improvement of PyThea during 2024. This grant was part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N).
@@ -10,10 +10,7 @@
10
10
 
11
11
  ![Logo](https://github.com/AthKouloumvakos/PyThea/blob/master/docs/logo/pythea_logo.png)
12
12
 
13
- _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO) and Solar Terrestrial Relations Observatory (STEREO).
14
-
15
- > [!NOTE]
16
- > The lead author of PyThea (A. Kouloumvakos) has been awarded a NASA Grant (80NSSC24K0071) for further developing and improving PyThea, during fiscal year 2024. The awarded proposal is part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N). The proposed software enhancements and new features encompass a range of improvements, including but not limited to: improved code documentation, expanded and improved code testing, improved image processing and visualization, and the incorporation of new solar mission imaging data.
13
+ _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO), Solar Terrestrial Relations Observatory (STEREO), and Parker Solar Probe.
17
14
 
18
15
  ## 💾 Installation
19
16
 
@@ -112,3 +109,7 @@ If you use _PyThea_ for scientific work or research presented in a publication,
112
109
  ## ⓘ The mythology of Thea:
113
110
 
114
111
  In Greek mythology, Thea, also called Euryphaessa "wide-shining", is the Titaness of sight and the shining light of the clear blue sky. Her brother/consort is Hyperion, a Titan and god of the sun, and together they are the parents of Helios (the Sun), Selene (the Moon), and Eos (the Dawn).
112
+
113
+ ## Development Support:
114
+
115
+ The lead author of this software package Athanasios Kouloumvakos acknowledges financial support from NASA Grant 80NSSC24K0071 for the further development and improvement of PyThea during 2024. This grant was part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N).
@@ -7,7 +7,7 @@
7
7
  ![flake8](https://github.com/AthKouloumvakos/PyThea/actions/workflows/flake8.yml/badge.svg)
8
8
  ![pytest](https://github.com/AthKouloumvakos/PyThea/actions/workflows/pytest.yml/badge.svg)
9
9
 
10
- _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO) and Solar Terrestrial Relations Observatory (STEREO).
10
+ _PyThea_ is an open-source software package that can be used to reconstruct the 3D structure of Coronal Mass Ejections (CMEs) and shock waves and determine their kinematics using remote-sensing observations. The tool implements the Graduated Cylindrical Shell (GCS) model that can be used to reconstruct CMEs and two geometrical models, namely a spheroid and ellipsoid model to reconstruct shock waves. It also implements remote-sensing observations from multiple viewpoints such as the Solar and Heliospheric Observatory (SoHO), Solar Terrestrial Relations Observatory (STEREO), and Parker Solar Probe.
11
11
 
12
12
  ## 💾 Installation
13
13
 
@@ -106,3 +106,7 @@ If you use _PyThea_ for scientific work or research presented in a publication,
106
106
  ## ⓘ The mythology of Thea:
107
107
 
108
108
  In Greek mythology, Thea, also called Euryphaessa "wide-shining", is the Titaness of sight and the shining light of the clear blue sky. Her brother/consort is Hyperion, a Titan and god of the sun, and together they are the parents of Helios (the Sun), Selene (the Moon), and Eos (the Dawn).
109
+
110
+ ## Development Support:
111
+
112
+ The lead author of this software package Athanasios Kouloumvakos acknowledges financial support from NASA Grant 80NSSC24K0071 for the further development and improvement of PyThea during 2024. This grant was part of the NASA Headquarters Heliophysics Tools and Methods Program in response to NASA ROSES–2022 (NNH22ZDA001N).
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes