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

Support EVE Level 2 emission lines data in timeseries #2407

Open
jmason86 opened this issue Jan 16, 2018 · 7 comments
Open

Support EVE Level 2 emission lines data in timeseries #2407

jmason86 opened this issue Jan 16, 2018 · 7 comments
Labels
Effort High Requires a large time investment Feature Request New feature wanted! Package Intermediate Requires some knowledge of the internal structure of SunPy Priority Low Slow action required timeseries Affects the timeseries submodule

Comments

@jmason86
Copy link
Sponsor Contributor

Currently, the only EVE data supported in sunpy is Level 0CS (space weather related product). Level 2 is the main science level, which consists of two products: spectra and extracted emission lines. This issue is to provide support for the lines through the timeseries module. Support for spectra should go to a separate (larger) issue.

It will require writing the python version of eve_read_whole_fits.pro, the IDL routine provided by the EVE instrument team. That code should be able to distinguish internally between the EVE spectra and lines. The output of the lines product should be formatted such that it is compatible with the existing sunpy/timeseries module.

I'm now working on implementing the above suggestions, so let me know if I should do something differently!

@jmason86
Copy link
Sponsor Contributor Author

Sample data for this should be added to the automatic download into sunpy/data/sample_data.
There is now: 20110607_EVE_L0CS_DIODES_1m.txt, and similar for AIA, etc. Will just need to add the appropriate evl_ file, corresponding to the same date as all the other sample data.

@jmason86
Copy link
Sponsor Contributor Author

Embedded in the return of this function will be the .data parameter, which will be a pandas.DataFrame, just as other timeseries data are (e.g., LYRA and RHESSI). I link to those pages, though nowhere in those documents is it specified what parameters are accessible in the return. I found the data parameter playing with my code. I think that the documentation should tell you what to expect and plan to do so in the docstring for the code I'm developing.

@jmason86
Copy link
Sponsor Contributor Author

The resolution of this issue is now dependent on one in astropy being resolved (7092) in order to convert the time provided by EVE (yyydoy, sod) to a pandas DatetimeIndex.
I have some of my own code that can do this conversion internally for now to get the job done but am hoping to use astropy.time for this intermediate step just to provide better conformity to standards.

@nabobalis nabobalis added Feature Request New feature wanted! Priority Low Slow action required Effort High Requires a large time investment Package Intermediate Requires some knowledge of the internal structure of SunPy labels Jan 22, 2019
@ayshih ayshih added the timeseries Affects the timeseries submodule label Sep 6, 2019
@wtbarnes
Copy link
Member

It looks like the blocking astropy issue mentioned above has been resolved. Is there still interest in adding a TimeSeries source for L2 EVE data?

@jmason86
Copy link
Sponsor Contributor Author

Absolutely! This could also be the enabling example to bring a whole lot more spectral time series type data into sunpy. I am absolutely swamped until December at least so if there is no rush on this, I could pick it back up and take a stab at implementing this.

@wtbarnes
Copy link
Member

Just a clarification based on the title: when you say "support" do you mean we need a Fido client or a TimeSeries source or both?

@jmason86
Copy link
Sponsor Contributor Author

Both, I think. I can't recall if those data were accessible through FIdo (they should be since they are in the VSO but I don't remember if it worked seamlessly or not).

I'm actually working on some code to read in both the EVE lines and spectra data right now for another project. It looks like astropy Tables work really well in terms of computational performance compared to using astropy's readfits function. I've had to do the time conversion now that astropy fixed that issue, and it worked great (although there's a "hack" I had to apply because astropy has a time format called unix_tai tied to the Unix standard 1970-01-01 but it doesn't have a format for the standard TAI, whose epoch starts at 1958-01-01).

All of which is to say, I think I'm getting close to being able to make a PR and resolve this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Effort High Requires a large time investment Feature Request New feature wanted! Package Intermediate Requires some knowledge of the internal structure of SunPy Priority Low Slow action required timeseries Affects the timeseries submodule
Projects
None yet
Development

No branches or pull requests

4 participants