The IDL SolarSoft package had AIA_PREP and HMI_PREP routines for cleanup of their respective image products to a Level 1.5 data quality suitable for image and movie generation.
aiapy has some recommended counterparts for AIA data.
Are there recommended steps in SunPy for HMI data?
Okay, this does not seem to be valid. The T_OBS keyword seems to use a different time format between AIA and HMI.
dataViewPupdate = update_pointing(dataViewLevel1) # update pointing information
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/wbridgma/.conda/envs/python311/lib/python3.11/site-packages/aiapy/calibrate/meta.py", line 117, in update_pointing
t_obs = astropy.time.Time(t_obs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/wbridgma/.conda/envs/python311/lib/python3.11/site-packages/astropy/time/core.py", line 1977, in __init__
self._init_from_vals(
File "/Users/wbridgma/.conda/envs/python311/lib/python3.11/site-packages/astropy/time/core.py", line 548, in _init_from_vals
self._time = self._get_time_fmt(
^^^^^^^^^^^^^^^^^^^
File "/Users/wbridgma/.conda/envs/python311/lib/python3.11/site-packages/astropy/time/core.py", line 644, in _get_time_fmt
raise ValueError(message)
ValueError: Input values did not match any of the formats where the format keyword is optional:
- 'datetime': Input values for datetime class must be datetime objects
- 'ymdhms': input must be dict or table-like
- 'iso': could not convert string to float: '.898_TAI'
- 'isot': could not convert string to float: '.898_TAI'
- 'yday': could not convert string to float: '.898_TAI'
- 'datetime64': Input values for datetime64 class must be datetime64 objects
- 'fits': Time 2019.09.15_00:00:02.898_TAI does not match fits format
- 'byear_str': Time 2019.09.15_00:00:02.898_TAI does not match byear_str format
- 'jyear_str': Time 2019.09.15_00:00:02.898_TAI does not match jyear_str format
- 'astropy_time': Input values for astropy_time class must all be the same astropy Time type.
Thanks.
The SolarSoft package had fairly symmetric support functions between AIA and HMI so it was reasonably straightforward to do equivalent processing on them for media use.
Open Source gets written by those who need it and have the background to do it, so functionally ‘accretes’ more that developed around an overall philosophy.
Seems difficult to find those old docs online.
SolarSoft generally had functions like AIA_PREP, HMI_PREP, STEREO_PREP, etc. that processed Level 1 data to Level 1.5 with various processing options.
A few weeks ago I tried to update my local SolarSoft copy but could not get it to run sufficiently to update itself. I suspect this is a local configuration issue as I run software for so many different missions, some do not play nice on the same machine/account so I have to try funky ways to keep them from stepping on each other. ;^)
I probably still have some of the old IDL codes that ran these processes if that might be any help.
As far as I understand, aiapy has the aiaprep already re-implemented in discrete steps.
It is the HMI side that while in theory we support in some manner, it wasn’t part of the original goal of the library to support fully. I would like to improve on that in some manner in the future.
Thanks for the links, I will need to find hmi_prep and see what it does and see how involved it gets.