Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add spacecraft location and instrument pointing coordinates to returned data #1

Open
jgieseler opened this issue Jan 13, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@jgieseler
Copy link
Owner

jgieseler commented Jan 13, 2022

The original CDF files (at least HET level 2) contain spacecraft location coordinates (R, heliocentric latitude & longitude), these should be contained in the returned data. In addition the pointing direction of the instrument is given as (time-independent?) variable XYZ, which will be very useful for calculation pitch-angles.

print(t_cdf_file.varattsget('HCI_R'))

{'FIELDNAM': 'S/C Radial Distance', 'CATDESC': 'Spacecraft radial distance from the Sun', 'FILLVAL': array([-1.e+31], dtype=float32), 
'LABLAXIS': 'r', 'UNITS': 'au', 'VALIDMIN': array([0.], dtype=float32), 'VALIDMAX': array([1.2], dtype=float32), 'SCALEMIN': array([0.], 
dtype=float32), 'SCALEMAX': array([1.2], dtype=float32), 'VAR_TYPE': 'support_data', 'SCALETYP': 'linear', 'VAR_NOTES': ' ', 
'DEPEND_0': 'EPOCH_6', 'FORMAT': 'F6.4', 'SI_CONVERSION': '1.495978E11>m'}
@jgieseler jgieseler added the enhancement New feature or request label Jan 13, 2022
@jgieseler jgieseler self-assigned this Jan 13, 2022
@jgieseler
Copy link
Owner Author

jgieseler commented Mar 31, 2022

>>> import cdflib
>>> from sunpy.net import Fido
>>> from sunpy.net import attrs as a
>>> from sunpy.io.cdf import read_cdf

>>> trange = a.Time('2021/07/28', '2021/07/28')
>>> dataset = a.cdaweb.Dataset('SOLO_L2_EPD-EPT-SUN-RATES')
>>> result = Fido.search(trange, dataset)
>>> downloaded_files = Fido.fetch(result)

>>> # ts = TimeSeries(downloaded_files, concatenate=True)
>>> # df = ts.to_dataframe()
>>> data = read_cdf(downloaded_files[0])

>>> data[2].to_dataframe()
                        RTN_0     RTN_1     RTN_2
EPOCH_2                                          
2021-07-28 00:00:00  0.819152 -0.573575  0.001057
2021-07-28 00:01:00  0.819153 -0.573574  0.001055
2021-07-28 00:02:00  0.819152 -0.573575  0.001057
2021-07-28 00:03:00  0.819152 -0.573576  0.001056
2021-07-28 00:04:00  0.819151 -0.573576  0.001056
...                       ...       ...       ...
2021-07-28 23:56:00  0.819152 -0.573577  0.000617
2021-07-28 23:57:00  0.819155 -0.573573  0.000615
2021-07-28 23:58:00  0.819152 -0.573576  0.000616
2021-07-28 23:59:00  0.819154 -0.573573  0.000616
2021-07-29 00:00:00  0.819152 -0.573576  0.000611

[1441 rows x 3 columns]

>>> data[3].to_dataframe()
                      HCI_Lat     HCI_Lon     HCI_R
EPOCH_3                                            
2021-07-28 00:00:00 -2.002322  132.171082  0.796568
2021-07-28 01:00:00 -2.002417  132.223343  0.796338
2021-07-28 02:00:00 -2.002511  132.275635  0.796109
2021-07-28 03:00:00 -2.002603  132.327957  0.795879
2021-07-28 04:00:00 -2.002693  132.380310  0.795649
2021-07-28 05:00:00 -2.002782  132.432693  0.795419
2021-07-28 06:00:00 -2.002870  132.485107  0.795189
2021-07-28 07:00:00 -2.002955  132.537552  0.794958
2021-07-28 08:00:00 -2.003039  132.590027  0.794728
2021-07-28 09:00:00 -2.003122  132.642532  0.794497
2021-07-28 10:00:00 -2.003202  132.695068  0.794266
2021-07-28 11:00:00 -2.003282  132.747635  0.794036
2021-07-28 12:00:00 -2.003359  132.800232  0.793804
2021-07-28 13:00:00 -2.003435  132.852859  0.793573
2021-07-28 14:00:00 -2.003509  132.905518  0.793342
2021-07-28 15:00:00 -2.003582  132.958206  0.793110
2021-07-28 16:00:00 -2.003653  133.010925  0.792879
2021-07-28 17:00:00 -2.003722  133.063675  0.792647
2021-07-28 18:00:00 -2.003789  133.116470  0.792415
2021-07-28 19:00:00 -2.003855  133.169281  0.792183
2021-07-28 20:00:00 -2.003920  133.222122  0.791950
2021-07-28 21:00:00 -2.003982  133.274994  0.791718
2021-07-28 22:00:00 -2.004043  133.327896  0.791485
2021-07-28 23:00:00 -2.004103  133.380829  0.791253
2021-07-29 00:00:00 -2.004160  133.433807  0.791020

>>> cdf = cdflib.CDF(downloaded_files[0])
>>> cdf.varattsget("XYZ")
{'FIELDNAM': 'Flow direction XYZ',
 'CATDESC': 'Particle flow direction (unit vector) in spacecraft XYZ coordinates',
 'UNITS': ' ',
 'VALIDMIN': array([-1.], dtype=float32),
 'VALIDMAX': array([1.], dtype=float32),
 'VAR_TYPE': 'support_data',
 'VAR_NOTES': ' ',
 'FORMAT': 'F6.3',
 'LABL_PTR_1': 'XYZ_Labels'}
>>> cdf.varget("XYZ")
array([-0.81915206,  0.57357645,  0.        ], dtype=float32)

@jgieseler jgieseler changed the title Add spacecraft location coordinates to returned data Add spacecraft location and instrument pointing coordinates to returned data Mar 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant