helioviewer_grab

Small script that downloads a full-disk sun image from Helioviewer for a given point in time.

It looks up the Helioviewer API for the data source matching the given keyword (e.g. hmi_continuum), fetches the image closest to the requested time, and saves it as a PNG in the current directory.

Usage

./helioviewer_grab.py 2026-08-12T18:18:00Z hmi_continuum
./helioviewer_grab.py --list    # show all available data sources
./helioviewer_grab.py --sources # short explanation of the most useful ones

Without arguments, example values are used (see the docstring in the script).

--sources prints a curated, human-readable description for the most commonly used sources (AIA wavelengths, HMI, GONG H-alpha), what each one shows and roughly how detailed it is. For full-disk imaging, SDO/HMI (0.5"/px) and SDO/AIA (0.6"/px) offer the highest resolution among the continuously available sources.

Here's a list of all available sources. The last column is a CLI value that is guaranteed to select exactly that row (pick() matches it as a substring, so shorter keywords work too, e.g. hmi_continuum):

   0  SOHO/EIT/171                              EIT 171                 soho_eit_171
   1  SOHO/EIT/195                              EIT 195                 soho_eit_195
   2  SOHO/EIT/284                              EIT 284                 soho_eit_284
   3  SOHO/EIT/304                              EIT 304                 soho_eit_304
   4  SOHO/LASCO/C2/white-light                 LASCO C2                soho_lasco_c2_white-light
   5  SOHO/LASCO/C3/white-light                 LASCO C3                soho_lasco_c3_white-light
   6  SOHO/MDI/magnetogram                      MDI Mag                 soho_mdi_magnetogram
   7  SOHO/MDI/continuum                        MDI Int                 soho_mdi_continuum
   8  SDO/AIA/94                                AIA 94                  sdo_aia_94
   9  SDO/AIA/131                               AIA 131                 sdo_aia_131
  10  SDO/AIA/171                               AIA 171                 sdo_aia_171
  11  SDO/AIA/193                               AIA 193                 sdo_aia_193
  12  SDO/AIA/211                               AIA 211                 sdo_aia_211
  13  SDO/AIA/304                               AIA 304                 sdo_aia_304
  14  SDO/AIA/335                               AIA 335                 sdo_aia_335
  15  SDO/AIA/1600                              AIA 1600                sdo_aia_1600
  16  SDO/AIA/1700                              AIA 1700                sdo_aia_1700
  17  SDO/AIA/4500                              AIA 4500                sdo_aia_4500
  18  SDO/HMI/continuum                         HMI Int                 sdo_hmi_continuum
  19  SDO/HMI/magnetogram                       HMI Mag                 sdo_hmi_magnetogram
  20  STEREO_A/SECCHI/EUVI/171                  EUVI-A 171              stereo_a_secchi_euvi_171
  21  STEREO_A/SECCHI/EUVI/195                  EUVI-A 195              stereo_a_secchi_euvi_195
  22  STEREO_A/SECCHI/EUVI/284                  EUVI-A 284              stereo_a_secchi_euvi_284
  23  STEREO_A/SECCHI/EUVI/304                  EUVI-A 304              stereo_a_secchi_euvi_304
  24  STEREO_B/SECCHI/EUVI/171                  EUVI-B 171              stereo_b_secchi_euvi_171
  25  STEREO_B/SECCHI/EUVI/195                  EUVI-B 195              stereo_b_secchi_euvi_195
  26  STEREO_B/SECCHI/EUVI/284                  EUVI-B 284              stereo_b_secchi_euvi_284
  27  STEREO_B/SECCHI/EUVI/304                  EUVI-B 304              stereo_b_secchi_euvi_304
  28  STEREO_A/SECCHI/COR1/white-light          COR1-A                  stereo_a_secchi_cor1_white-light
  29  STEREO_A/SECCHI/COR2/white-light          COR2-A                  stereo_a_secchi_cor2_white-light
  30  STEREO_B/SECCHI/COR1/white-light          COR1-B                  stereo_b_secchi_cor1_white-light
  31  STEREO_B/SECCHI/COR2/white-light          COR2-B                  stereo_b_secchi_cor2_white-light
  32  PROBA2/SWAP/174                           SWAP 174                proba2_swap_174
  33  Yohkoh/SXT/AlMgMn                         SXT AlMgMn              yohkoh_sxt_almgmn
  34  Yohkoh/SXT/thin-Al                        SXT thin-Al             yohkoh_sxt_thin-al
  35  Yohkoh/SXT/white-light                    SXT white-light         yohkoh_sxt_white-light
  39  Hinode/XRT/Al_med/Al_thick                XRT Al_med/Al_thick     hinode_xrt_al_med_al_thick
  40  Hinode/XRT/Al_med/Be_thick                XRT Al_med/Be_thick     hinode_xrt_al_med_be_thick
  42  Hinode/XRT/Al_med/Open                    XRT Al_med/Open         hinode_xrt_al_med_open
  43  Hinode/XRT/Al_med/Ti_poly                 XRT Al_med/Ti_poly      hinode_xrt_al_med_ti_poly
  44  Hinode/XRT/Al_poly/Al_mesh                XRT Al_poly/Al_mesh     hinode_xrt_al_poly_al_mesh
  45  Hinode/XRT/Al_poly/Al_thick               XRT Al_poly/Al_thick    hinode_xrt_al_poly_al_thick
  46  Hinode/XRT/Al_poly/Be_thick               XRT Al_poly/Be_thick    hinode_xrt_al_poly_be_thick
  48  Hinode/XRT/Al_poly/Open                   XRT Al_poly/Open        hinode_xrt_al_poly_open
  49  Hinode/XRT/Al_poly/Ti_poly                XRT Al_poly/Ti_poly     hinode_xrt_al_poly_ti_poly
  54  Hinode/XRT/Be_med/Open                    XRT Be_med/Open         hinode_xrt_be_med_open
  60  Hinode/XRT/Be_thin/Open                   XRT Be_thin/Open        hinode_xrt_be_thin_open
  62  Hinode/XRT/C_poly/Al_mesh                 XRT C_poly/Al_mesh      hinode_xrt_c_poly_al_mesh
  63  Hinode/XRT/C_poly/Al_thick                XRT C_poly/Al_thick     hinode_xrt_c_poly_al_thick
  66  Hinode/XRT/C_poly/Open                    XRT C_poly/Open         hinode_xrt_c_poly_open
  67  Hinode/XRT/C_poly/Ti_poly                 XRT C_poly/Ti_poly      hinode_xrt_c_poly_ti_poly
  69  Hinode/XRT/Open/Al_mesh                   XRT Open/Al_mesh        hinode_xrt_open_al_mesh
  70  Hinode/XRT/Open/Al_thick                  XRT Open/Al_thick       hinode_xrt_open_al_thick
  71  Hinode/XRT/Open/Be_thick                  XRT Open/Be_thick       hinode_xrt_open_be_thick
  74  Hinode/XRT/Open/Ti_poly                   XRT Open/Ti_poly        hinode_xrt_open_ti_poly
  75  TRACE/171                                 TRACE 171               trace_171
  76  TRACE/195                                 TRACE 195               trace_195
  77  TRACE/284                                 TRACE 284               trace_284
  78  TRACE/1216                                TRACE 1216              trace_1216
  79  TRACE/1550                                TRACE 1550              trace_1550
  80  TRACE/1600                                TRACE 1600              trace_1600
  81  TRACE/1700                                TRACE 1700              trace_1700
  82  TRACE/white-light                         TRACE white-light       trace_white-light
  83  MLSO/COSMO/KCor/735                       COSMO KCor              mlso_cosmo_kcor_735
  84  SOLO/EUI/FSI/174                          EUI FSI 174             solo_eui_fsi_174
  85  SOLO/EUI/FSI/304                          EUI FSI 304             solo_eui_fsi_304
  86  SOLO/EUI/HRI/174                          EUI HRI 174             solo_eui_hri_174
  87  SOLO/EUI/HRI/1216                         EUI HRI 1216            solo_eui_hri_1216
  88  IRIS/SJI/1330                             IRIS SJI 1330           iris_sji_1330
  89  IRIS/SJI/2796                             IRIS SJI 2796           iris_sji_2796
  90  IRIS/SJI/1400                             IRIS SJI 1400           iris_sji_1400
  92  IRIS/SJI/2832                             IRIS SJI 2832           iris_sji_2832
  94  GONG/GONG/H-alpha/6562                    GONG H-alpha            gong_gong_h-alpha_6562
  95  RHESSI/3-6keV/Back Projection             RHESSI                  rhessi_3-6kev_back_projection
  96  RHESSI/6-12keV/Back Projection            RHESSI                  rhessi_6-12kev_back_projection
  97  RHESSI/12-25keV/Back Projection           RHESSI                  rhessi_12-25kev_back_projection
  98  RHESSI/25-50keV/Back Projection           RHESSI                  rhessi_25-50kev_back_projection
  99  RHESSI/50-100keV/Back Projection          RHESSI                  rhessi_50-100kev_back_projection
 100  RHESSI/100-300keV/Back Projection         RHESSI                  rhessi_100-300kev_back_projection
 101  RHESSI/3-6keV/Clean                       RHESSI                  rhessi_3-6kev_clean
 102  RHESSI/6-12keV/Clean                      RHESSI                  rhessi_6-12kev_clean
 103  RHESSI/12-25keV/Clean                     RHESSI                  rhessi_12-25kev_clean
 104  RHESSI/25-50keV/Clean                     RHESSI                  rhessi_25-50kev_clean
 105  RHESSI/50-100keV/Clean                    RHESSI                  rhessi_50-100kev_clean
 106  RHESSI/100-300keV/Clean                   RHESSI                  rhessi_100-300kev_clean
 107  RHESSI/3-6keV/Clean 59                    RHESSI                  rhessi_3-6kev_clean_59
 108  RHESSI/6-12keV/Clean 59                   RHESSI                  rhessi_6-12kev_clean_59
 109  RHESSI/12-25keV/Clean 59                  RHESSI                  rhessi_12-25kev_clean_59
 110  RHESSI/25-50keV/Clean 59                  RHESSI                  rhessi_25-50kev_clean_59
 111  RHESSI/50-100keV/Clean 59                 RHESSI                  rhessi_50-100kev_clean_59
 112  RHESSI/100-300keV/Clean 59                RHESSI                  rhessi_100-300kev_clean_59
 113  RHESSI/3-6keV/MEM GE                      RHESSI                  rhessi_3-6kev_mem_ge
 114  RHESSI/6-12keV/MEM GE                     RHESSI                  rhessi_6-12kev_mem_ge
 115  RHESSI/12-25keV/MEM GE                    RHESSI                  rhessi_12-25kev_mem_ge
 116  RHESSI/25-50keV/MEM GE                    RHESSI                  rhessi_25-50kev_mem_ge
 117  RHESSI/50-100keV/MEM GE                   RHESSI                  rhessi_50-100kev_mem_ge
 118  RHESSI/100-300keV/MEM GE                  RHESSI                  rhessi_100-300kev_mem_ge
 119  RHESSI/3-6keV/VIS CS                      RHESSI                  rhessi_3-6kev_vis_cs
 120  RHESSI/6-12keV/VIS CS                     RHESSI                  rhessi_6-12kev_vis_cs
 121  RHESSI/12-25keV/VIS CS                    RHESSI                  rhessi_12-25kev_vis_cs
 122  RHESSI/25-50keV/VIS CS                    RHESSI                  rhessi_25-50kev_vis_cs
 123  RHESSI/50-100keV/VIS CS                   RHESSI                  rhessi_50-100kev_vis_cs
 124  RHESSI/100-300keV/VIS CS                  RHESSI                  rhessi_100-300kev_vis_cs
 125  RHESSI/3-6keV/VIS FWDFIT                  RHESSI                  rhessi_3-6kev_vis_fwdfit
 126  RHESSI/6-12keV/VIS FWDFIT                 RHESSI                  rhessi_6-12kev_vis_fwdfit
 127  RHESSI/12-25keV/VIS FWDFIT                RHESSI                  rhessi_12-25kev_vis_fwdfit
 128  RHESSI/25-50keV/VIS FWDFIT                RHESSI                  rhessi_25-50kev_vis_fwdfit
 129  RHESSI/50-100keV/VIS FWDFIT               RHESSI                  rhessi_50-100kev_vis_fwdfit
 130  RHESSI/100-300keV/VIS FWDFIT              RHESSI                  rhessi_100-300kev_vis_fwdfit
 131  PUNCH/WFI+NFI/Total Brightness            PUNCH                   punch_wfi+nfi_total_brightness
 132  GOES/CCOR-1/CCOR-1/white-light            GOES CCOR-1             goes_ccor-1_ccor-1_white-light
 134  PUNCH/WFI+NFI/Polarized Brightness        PUNCH                   punch_wfi+nfi_polarized_brightness
2000  GOES/SUVI/94                              SUVI 94                 goes_suvi_94
2001  GOES/SUVI/131                             SUVI 131                goes_suvi_131
2002  GOES/SUVI/171                             SUVI 171                goes_suvi_171
2003  GOES/SUVI/195                             SUVI 195                goes_suvi_195
2004  GOES/SUVI/284                             SUVI 284                goes_suvi_284
2005  GOES/SUVI/304                             SUVI 304                goes_suvi_304
10001  Hinode/XRT/Any/Any                        XRT Any/Any             hinode_xrt_any_any
10002  Hinode/XRT/Any/Al_mesh                    XRT Any/Al_mesh         hinode_xrt_any_al_mesh
10003  Hinode/XRT/Any/Al_thick                   XRT Any/Al_thick        hinode_xrt_any_al_thick
10004  Hinode/XRT/Any/Be_thick                   XRT Any/Be_thick        hinode_xrt_any_be_thick
10005  Hinode/XRT/Any/Gband                      XRT Any/Gband           hinode_xrt_any_gband
10006  Hinode/XRT/Any/Open                       XRT Any/Open            hinode_xrt_any_open
10007  Hinode/XRT/Any/Ti_poly                    XRT Any/Ti_poly         hinode_xrt_any_ti_poly
10008  Hinode/XRT/Al_med/Any                     XRT Al_med/Any          hinode_xrt_al_med_any
10009  Hinode/XRT/Al_poly/Any                    XRT Al_poly/Any         hinode_xrt_al_poly_any
10010  Hinode/XRT/Be_med/Any                     XRT Be_med/Any          hinode_xrt_be_med_any
10011  Hinode/XRT/Be_thin/Any                    XRT Be_thin/Any         hinode_xrt_be_thin_any
10012  Hinode/XRT/C_poly/Any                     XRT C_poly/Any          hinode_xrt_c_poly_any
10013  Hinode/XRT/Open/Any                       XRT Open/Any            hinode_xrt_open_any

Requirements

Only the Python standard library, no dependencies. With devenv, the right interpreter is available right away:

devenv shell

Author

Aaron Schmocker aaron@0x29a.ch

S
Description
Fetches an image from the helioviewer api at a given time
Readme
56 KiB
Languages
Python 97.6%
Nix 2.4%