Difference between revisions of "Tutorial:How to contribute to the flare wiki pages"
Line 1: | Line 1: | ||
Flare wiki pages are created by the flare data processing pipeline, by using [https://www.mediawiki.org/wiki/API:Edit |WIKI APIs]. | Flare wiki pages are created by the flare data processing pipeline, by using [https://www.mediawiki.org/wiki/API:Edit |WIKI APIs]. | ||
− | + | == Python code == | |
− | + | If you have python code to be integrated into the pipeline, please prepare them similar to the template below and send them to [mailto:hualin.xiao@fhnw.ch Hualin Xiao] | |
− | == | ||
− | If you | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
#import module_name | #import module_name |
Revision as of 11:55, 14 May 2021
Flare wiki pages are created by the flare data processing pipeline, by using |WIKI APIs.
Python code
If you have python code to be integrated into the pipeline, please prepare them similar to the template below and send them to Hualin Xiao
#import module_name
def plugin_name(flare_id, start_utc, end_utc, flare_peak_utc):
#Flare ID, start UTC, end UTC and peak UTC values will be provided by the pipeline
# A plugin usually consist of blocks as below:
# - data retrieving, for example using sunpy Fido
# - data processing
# - plotting
# - save plot to file
return plot_filename
Below is a plugin example.
import astropy.units as u
from matplotlib import pyplot as plt
from sunpy.net import Fido, attrs as a
from sunpy.map import Map
def plot(folder,flare_id , start_utc, end_utc, peak_utc, wavelen=131, overwrite=False):
sdo_query = Fido.search(a.Time(utc_start, utc_end), a.Instrument('AIA'),
a.Wavelength(wavelen* u.angstrom))
sdo_res = Fido.fetch(sdo_query[0], progress=False, path=folder)
if not sdo_res:
print('AIA data not available')
return None
if sdo_res:
sdo = Map(sdo_res[0])
fig = plt.figure(figsize=(6, 6), dpi=100)
ax = fig.add_subplot(projection=sdo)
sdo.plot(clip_interval=[1, 100] * u.percent, axes=ax)
fname=os.path.join(folder, f'AIA_{wavelen}_{flare_id}.png')
plt.savefig(fname, dpi=100)
return fname
return None
if __name__=='__main__':
#for test only
plot('.',0,'2021-04-01T00:00:00', '2021-04-01T00:10:00', '2021-04-01T00:05:00' )
Note that it is also possible to attach plots to flare wiki pages