Helioviewer-Project / fits2img

Creates Helioviewer JP2 files from FITS
http://swhv.oma.be
5 stars 4 forks source link

EUI JP2 files not readable by SunPy. #1

Closed wafels closed 2 years ago

wafels commented 2 years ago

Over on SunPy this issue

https://github.com/sunpy/sunpy/issues/6198

points out that EUI JP2 files are not readable into Map objects by SunPy 4.0. This is because the WAVEUNIT information is not encoded in the JP2 file. Corresponding source FITS files do have the WAVEUNIT information parseable from the FITS header.

bogdanni commented 2 years ago

I don't understand this issue: the EUI FITS files do not have this keyword, it is not part of the metadata definition. Apparently, SunPy invents this information from the FITS header, my guess being from the unit comment attached to the WAVELNTH keyword.

How this could be dealt with in the JP2s? The metadata there is XML with the tags being the keywords and the elements being the values. There must be other instruments without the WAVEUNIT keyword which have JP2s (SWAP from the top of my head) and which are readable by SunPy. I bet they are handled by specific cases inside SunPy.

IMHO, this is purely a SunPy problem.

bogdanni commented 2 years ago

Exactly like I thought, if WAVEUNIT is missing, extract_waveunit is called and an attempt is made to extract the unit from the comments.

bogdanni commented 2 years ago

A general solution would be to add the possibility to have the FITS header comments in the Helioviewer XML metadata and make SunPy read them like for FITS. Then the two metadata representations (FITS & XML) can become truly equivalent (with the exception of forbidden characters in XML).

wafels commented 2 years ago

I don't think this is purely a SunPy problem. SunPy has the ability to derive the value to waveunit from the FITS file because the information is in the FITS file header. SunPy cannot derive the value to waveunit from the corresponding JP2 file because that information is not in the JP2 file XML header.

There are two options. First, the EUI JP2 files are changed to include the value of waveunit so that the information is there to be extracted (not just by SunPy, but also for any other code). Second option: SunPy sets the value waveunit, based on the understanding of the EUI metadata and instrument.

On loading a SWAP JP2 into a SunPy Map, the code does not fail but the waveunit metadata value is set to None and not the expected Angstrom.

The waveunit value should be coded in

https://github.com/sunpy/sunpy/blob/main/sunpy/map/sources/proba2.py

perhaps using the same solution as for EUI.

wafels commented 2 years ago

Sorry, the webpage did not update with your additional comment.

Yes, I agree with the proposed general solution of including more metadata information. The keycomment field in SunPy Map metadata is quite useful, and it would be good if that were carried along in the JP2 files.

bogdanni commented 2 years ago

SunPy is able to derive waveunit from FITS header because the FITS header has comments including units. The XML header has no comments because this is how it was designed, e.g.: <keyword>value</keyword>

For the time being:

  1. SunPy was patched to assume Angstrom for EUI if it cannot find the waveunit, as is the case for current JP2s
  2. Next data release of EUI will contain an explicit WAVEUNIT keyword in FITS which will naturally carry over into JP2s, therefore SunPy will always find it.
  3. We should think how to make FITS header comments available in the JP2 XML, keeping in mind there are many files already from other instruments without those comments in XML, and many instruments have FITS products with little or no comments.
bogdanni commented 2 years ago

After 10min thinking:

This can be achieved with attributes, e.g.: <WAVELNTH comment="[Angstrom] characteristic wavelength observatio">174</WAVELNTH>

Those would be naturally omitted if empty. Should be easily accessible for Python XML parsers.

bogdanni commented 2 years ago

This has been now implemented. Example AIA XML FITS metadata below. Some long-standing issues with longstring convention were also fixed.

                <fits>
                    <XTENSION comment="binary table extension">BINTABLE</XTENSION>
                    <BITPIX comment="8-bit bytes">8</BITPIX>
                    <NAXIS comment="2-dimensional binary table">2</NAXIS>
                    <NAXIS1 comment="width of table in bytes">4096</NAXIS1>
                    <NAXIS2 comment="number of rows in table">4096</NAXIS2>
                    <PCOUNT comment="size of special data area">11680697</PCOUNT>
                    <GCOUNT comment="one data group (required keyword)">1</GCOUNT>
                    <TFIELDS comment="number of fields in each row">1</TFIELDS>
                    <TTYPE1 comment="label for field   1">COMPRESSED_DATA</TTYPE1>
                    <TFORM1 comment="data format of field: variable length array">1PB(3458)</TFORM1>
                    <ZIMAGE comment="extension contains compressed image">T</ZIMAGE>
                    <ZSIMPLE comment="file does conform to FITS standard">T</ZSIMPLE>
                    <ZBITPIX comment="data type of original image">16</ZBITPIX>
                    <ZNAXIS comment="dimension of original image">2</ZNAXIS>
                    <ZNAXIS1 comment="length of original image axis">4096</ZNAXIS1>
                    <ZNAXIS2 comment="length of original image axis">4096</ZNAXIS2>
                    <ZTILE1 comment="size of tiles to be compressed">4096</ZTILE1>
                    <ZTILE2 comment="size of tiles to be compressed">1</ZTILE2>
                    <ZCMPTYPE comment="compression algorithm">RICE_1</ZCMPTYPE>
                    <ZNAME1 comment="compression block size">BLOCKSIZE</ZNAME1>
                    <ZVAL1 comment="pixels per block">32</ZVAL1>
                    <ZNAME2 comment="bytes per pixel (1, 2, 4, or 8)">BYTEPIX</ZNAME2>
                    <ZVAL2 comment="bytes per pixel (1, 2, 4, or 8)">2</ZVAL2>
                    <BLD_VERS comment="Build Version: from jsoc_version.h">V9R0X</BLD_VERS>
                    <LVL_NUM comment="LVL_NUM data level number">1.0</LVL_NUM>
                    <T_REC comment="[ISO] Slotted observation time">2017-04-27T00:00:10.000000Z</T_REC>
                    <TRECSTEP>1.000000</TRECSTEP>
                    <TRECEPOC>1977.01.01_00:00:00_TAI</TRECEPOC>
                    <TRECROUN>1</TRECROUN>
                    <ORIGIN comment="ORIGIN Location where file made">SDO/JSOC-SDP</ORIGIN>
                    <DATE comment="[ISO] Date_time of processing; ISO 860">2017-05-01T01:30:08.000000Z</DATE>
                    <TELESCOP comment="For AIA: SDO/AIA">SDO/AIA</TELESCOP>
                    <INSTRUME comment="For AIA: AIA_ATA1, AIA_ATA2, AIA_ATA3 or AIA_AT">AIA_3</INSTRUME>
                    <DATE-OBS comment="[ISO]  Date when observation started;">2017-04-27T00:00:09.346299Z</DATE-OBS>
                    <T_OBS comment="[ISO] Observation time">2017-04-27T00:00:10.346092Z</T_OBS>
                    <CAMERA comment="For AIA: 1, 2, 3  or 4">3</CAMERA>
                    <IMG_TYPE comment="Image type: LIGHT or DARK">LIGHT</IMG_TYPE>
                    <EXPTIME comment="[sec] Exposure duration: mean shutter open time">1.999586</EXPTIME>
                    <EXPSDEV comment="[sec] Exposure standard deviation">0.000154674</EXPSDEV>
                    <INT_TIME comment="[sec] CCD integration duration">2.27344</INT_TIME>
                    <WAVELNTH comment="[angstrom] Wavelength">171</WAVELNTH>
                    <WAVEUNIT comment="Wavelength unit: angstrom">angstrom</WAVEUNIT>
                    <WAVE_STR comment="Wavelength_FilterPosition">171_THIN</WAVE_STR>
                    <FSN comment="FSN Filtergram Sequence Number">150105940</FSN>
                    <FID comment="FID Filtergram ID">0</FID>
                    <QUALLEV0 comment="Level 0 Quality word">0</QUALLEV0>
                    <QUALITY comment="Level 1 Quality word">0</QUALITY>
                    <TOTVALS comment="Expected number of data values (pixels)">16777216</TOTVALS>
                    <DATAVALS comment="Actual number of data values in image">16777216</DATAVALS>
                    <MISSVALS comment="Missing values: TOTVALS - DATAVALS">0</MISSVALS>
                    <PERCENTD comment="Percent data; 100*DATAVALS/TOTVALS">100.0</PERCENTD>
                    <DATAMIN comment="Minimum value of all pixels">-6</DATAMIN>
                    <DATAMAX comment="Maximum value of all pixels">5894</DATAMAX>
                    <DATAMEDN comment="Median value of all pixels">121</DATAMEDN>
                    <DATAMEAN comment="Mean value of all pixels">163.785</DATAMEAN>
                    <DATARMS comment="Rms deviation from the mean value of all pixels">204.131</DATARMS>
                    <DATASKEW comment="Skewness from the mean value of all pixels">3.89138</DATASKEW>
                    <DATAKURT comment="Kurtosis of all pixels">33.441</DATAKURT>
                    <DATACENT comment="Median value of center column of the image">167.273</DATACENT>
                    <DATAP01 comment="DATAP01">0.0</DATAP01>
                    <DATAP10 comment="DATAP10">5.0</DATAP10>
                    <DATAP25 comment="DATAP25">11.0</DATAP25>
                    <DATAP75 comment="DATAP75">254.0</DATAP75>
                    <DATAP90 comment="DATAP90">373.0</DATAP90>
                    <DATAP95 comment="DATAP95">476.0</DATAP95>
                    <DATAP98 comment="DATAP98">665.0</DATAP98>
                    <DATAP99 comment="DATAP99">850.0</DATAP99>
                    <NSATPIX comment="Number of saturated pixels detected in image">0</NSATPIX>
                    <OSCNMEAN comment="Mean value of oversan rows">-nan</OSCNMEAN>
                    <OSCNRMS comment="Rms deviation from the mean value of overscan r">-nan</OSCNRMS>
                    <FLAT_REC comment="Flatfield series record pointer">aia.flatfield[:#439]</FLAT_REC>
                    <NSPIKES comment="Number of cosmic ray affected pixels detected i">62572</NSPIKES>
                    <CTYPE1 comment="CTYPE1; Typically HPLN-TAN (SOLARX)">HPLN-TAN</CTYPE1>
                    <CUNIT1 comment="CUNIT1; Typically arcsec">arcsec</CUNIT1>
                    <CRVAL1 comment="[arcsec/pixel] CRVAL1: image scale in the x dir">0.0</CRVAL1>
                    <CDELT1 comment="[arcsec/pixel] CDELT1: image scale in the x dir">0.599489</CDELT1>
                    <CRPIX1 comment="[pixel] CRPIX1: location of sun center in CCD x">2053.63</CRPIX1>
                    <CTYPE2 comment="CTYPE2; Typically HPLT-TAN (SOLARY)">HPLT-TAN</CTYPE2>
                    <CUNIT2 comment="CUNIT2; Typically arcsec">arcsec</CUNIT2>
                    <CRVAL2 comment="[arcsec/pixel] CRVAL2: image scale in the x dir">0.0</CRVAL2>
                    <CDELT2 comment="[arcsec/pixel] CDELT2: image scale in the y dir">0.599489</CDELT2>
                    <CRPIX2 comment="[pixel] CRPIX2: location of sun center in CCD y">2048.94</CRPIX2>
                    <CROTA2 comment="[degree] CROTA2: INST_ROT + SAT_ROT">0.0194142</CROTA2>
                    <R_SUN comment="[pixel] Radius of the Sun in pixels on the CCD">1590.43</R_SUN>
                    <MPO_REC comment="Master Pointing series record pointer">sdo.master_pointing[:#1021]</MPO_REC>
                    <INST_ROT comment="[deg] Master pointing CCD rotation wrt SDO Z ax">0.019327</INST_ROT>
                    <IMSCL_MP comment="[arcsec/pixel] Master pointing image scale">0.599489</IMSCL_MP>
                    <X0_MP comment="[pixel] Master pointing X0 sun center in CCD fr">2052.63</X0_MP>
                    <Y0_MP comment="[pixel] Master pointing Y0 sun center in CCD fr">2047.94</Y0_MP>
                    <ASD_REC comment="Ancillary Science Data series record">sdo.lev0_asd_0004[:#57103197]</ASD_REC>
                    <SAT_Y0 comment="[arcsec] Position of solar center wrt the SDO -">2.50749</SAT_Y0>
                    <SAT_Z0 comment="[arcsec] Position of solar center wrt the SDO Z">11.7961</SAT_Z0>
                    <SAT_ROT comment="[deg] Angle of solar pole wrt the SDO X axis">8.72201E-05</SAT_ROT>
                    <ACS_MODE comment="ACS pointing mode - ACS_AN_ACS_MODE">SCIENCE</ACS_MODE>
                    <ACS_ECLP comment="ACS eclipse flag - ACS_AN_FLAG_CSS_ECLIPSE">NO</ACS_ECLP>
                    <ACS_SUNP comment="ACS sun presense flag - ACS_AN_FLAG_DSS_SUNPRES">YES</ACS_SUNP>
                    <ACS_SAFE comment="ACS safe hold flag - ACS_AN_FLAG_ACE_INSAFEHOLD">NO</ACS_SAFE>
                    <ACS_CGT comment="ACS ID of Controlling Guide Telescope - ACS_AN_">GT3</ACS_CGT>
                    <ORB_REC comment="Orbit vector series">sdo.fds_orbit_vectors[2017.04.27_00:00:00_UTC]</ORB_REC>
                    <DSUN_REF comment="[m] Reference distance to Sun: 149,597,870,691.">149597870691.0</DSUN_REF>
                    <DSUN_OBS comment="[m] Distance from SDO to Sun center">150570175515.559</DSUN_OBS>
                    <RSUN_REF comment="[m] Reference radius of the Sun: 696,000,000.0">696000000.0</RSUN_REF>
                    <RSUN_OBS comment="[arcsec] Apparent radius of the Sun seen by SDO">953.4478916558101</RSUN_OBS>
                    <GAEX_OBS comment="[m] Geocentric Inertial X position">-18143928.1910911</GAEX_OBS>
                    <GAEY_OBS comment="[m] Geocentric Inertial Y position">30070145.6211529</GAEY_OBS>
                    <GAEZ_OBS comment="[m] Geocentric Inertial Z position">-23342974.5831102</GAEZ_OBS>
                    <HAEX_OBS comment="[m] Heliocentric Inertial X position">-120752483738.54</HAEX_OBS>
                    <HAEY_OBS comment="[m] Heliocentric Inertial Y position">-89945622893.60921</HAEY_OBS>
                    <HAEZ_OBS comment="[m] Heliocentric Inertial Z position">-18655847.4125051</HAEZ_OBS>
                    <OBS_VR comment="[m/s] Speed of observer in radial direction">2754.14215817084</OBS_VR>
                    <OBS_VW comment="[m/s] Speed of observer in solar-west direction">28030.7674624893</OBS_VW>
                    <OBS_VN comment="[m/s] Speed of observer in solar-north directio">4355.27484116696</OBS_VN>
                    <CRLN_OBS comment="[deg] Carrington longitude of the observer">34.7946</CRLN_OBS>
                    <CRLT_OBS comment="[deg] Carrington latitude of the observer">-4.56998</CRLT_OBS>
                    <CAR_ROT comment="Carrington rotation number of CRLN_OBS">2189</CAR_ROT>
                    <HGLN_OBS comment="[deg] Stonyhurst heliographic longitude of the">0.0</HGLN_OBS>
                    <HGLT_OBS comment="[deg] Stonyhurst heliographic latitude of the o">-4.56998</HGLT_OBS>
                    <ROI_NWIN comment="Number of Windows for Region of Interest (ROI)">-2147483648</ROI_NWIN>
                    <ROI_SUM comment="Summing Mode: 1x1, 2x2, 4x4 (0,1,2)">-2147483648</ROI_SUM>
                    <ROI_NAX1 comment="Number of CCD columns for width of ROI1">-2147483648</ROI_NAX1>
                    <ROI_NAY1 comment="Number of CCD rows for height of ROI1">-2147483648</ROI_NAY1>
                    <ROI_LLX1 comment="CCD X location of lower left corner of ROI1">-2147483648</ROI_LLX1>
                    <ROI_LLY1 comment="CCD Y location of lower left corner of ROI1">-2147483648</ROI_LLY1>
                    <ROI_NAX2 comment="Number of CCD columns for width of ROI2">-2147483648</ROI_NAX2>
                    <ROI_NAY2 comment="Number of CCD rows for height of ROI2">-2147483648</ROI_NAY2>
                    <ROI_LLX2 comment="CCD X location of lower left corner of ROI2">-2147483648</ROI_LLX2>
                    <ROI_LLY2 comment="CCD Y location of lower left corner of ROI2">-2147483648</ROI_LLY2>
                    <PIXLUNIT comment="Pixel intensity unit">DN</PIXLUNIT>
                    <DN_GAIN comment="DN/electron">17.7</DN_GAIN>
                    <EFF_AREA comment="[cmsq] effective area">2.36043</EFF_AREA>
                    <EFF_AR_V comment="version # for EFF_AREA and DN_GAIN">3.0</EFF_AR_V>
                    <TEMPCCD comment="CCD temperature: CCD_HEADER1">-72.0</TEMPCCD>
                    <TEMPGT comment="Guide telescope temperature: GT_1">14.6862</TEMPGT>
                    <TEMPSMIR comment="Secondary mirror temperature : SEC_MIRROR">35.9498</TEMPSMIR>
                    <TEMPFPAD comment="Focal plane assembly adapter temperature: FPA_A">16.4729</TEMPFPAD>
                    <ISPSNAME comment="ISP SERIES NAME">aia.lev0_isp_0011</ISPSNAME>
                    <ISPPKTIM comment="[ISO] PACKET_TIME, Prime key value for">2017-04-27T00:00:06.506866Z</ISPPKTIM>
                    <ISPPKTVN comment="PACKET_VERSION_NUMBER">001.197</ISPPKTVN>
                    <AIVNMST comment="AIA_VER_NUM_IMAGE_STATUS">453</AIVNMST>
                    <AIMGOTS comment="AIA_IMG_OBT_TIME_SH_SEC">1871942447</AIMGOTS>
                    <ASQHDR comment="AIA_SEQ_HEADER">2297589588</ASQHDR>
                    <ASQTNUM comment="AIA_SEQ_TEL_NUM">2</ASQTNUM>
                    <ASQFSN comment="AIA_SEQ_FRAME_SN">150105940</ASQFSN>
                    <AIAHFSN comment="AIA_IMG_HIST_FSN">150105932</AIAHFSN>
                    <AECDELAY comment="AIA_IMG_AEC_DELAY">1536</AECDELAY>
                    <AIAECTI comment="AIA_IMG_AEC_TABLE_ID">0</AIAECTI>
                    <AIASEN comment="AIA_IMG_AS_ENCODER">0</AIASEN>
                    <AIFDBID comment="AIA_IMG_FDB_ID">241</AIFDBID>
                    <AIMGOTSS comment="AIA_IMG_OBT_TIME_SH_SS">5516</AIMGOTSS>
                    <AIFCPS comment="AIA_IMG_FC_POSITION">6</AIFCPS>
                    <AIFTSWTH comment="AIA_IMG_FLT_TYPE_SW_TH">0</AIFTSWTH>
                    <AIFRMLID comment="AIA_IMG_FRMLIST_ID">3257</AIFRMLID>
                    <AIFTSID comment="AIA_IMG_FTS_ID">40962</AIFTSID>
                    <AIHISMXB comment="AIA_IMG_HIST_MAX_BIN">7</AIHISMXB>
                    <AIHIS192 comment="AIA_IMG_HISTC_BN_192">0</AIHIS192>
                    <AIHIS348 comment="AIA_IMG_HISTC_BN_348">3119619</AIHIS348>
                    <AIHIS604 comment="AIA_IMG_HISTC_BN_604">7723104</AIHIS604>
                    <AIHIS860 comment="AIA_IMG_HISTC_BN_860">8388608</AIHIS860>
                    <AIFWEN comment="AIA_IMG_FW_ENCODER">204</AIFWEN>
                    <AIMGSHCE comment="AIA_IMG_SH_CMDED_EXPOSURE">2000</AIMGSHCE>
                    <AECTYPE comment="AIA_IMG_AEC_TYPE">2</AECTYPE>
                    <AECMODE comment="AIA_IMG_AEC_MODE">ON</AECMODE>
                    <AISTATE comment="AIA_IMG_ISS_LOOP">CLOSED</AISTATE>
                    <AIAECENF comment="AIA_IMG_AEC_ENA_FLAG">1</AIAECENF>
                    <AIFILTYP comment="AIA_IMG_FILTER_TYPE">0</AIFILTYP>
                    <AIMSHOBC comment="AIA_IMG_SH_OPEN_BOT_CENTR">41.064</AIMSHOBC>
                    <AIMSHOBE comment="AIA_IMG_SH_OPEN_BOT_EDGE">26.068</AIMSHOBE>
                    <AIMSHOTC comment="AIA_IMG_SH_OPEN_TOP_CENTR">55.252</AIMSHOTC>
                    <AIMSHOTE comment="AIA_IMG_SH_OPEN_TOP_EDGE">69.232</AIMSHOTE>
                    <AIMSHCBC comment="AIA_IMG_SH_CLOSE_BOT_CENTR">2040.74</AIMSHCBC>
                    <AIMSHCBE comment="AIA_IMG_SH_CLOSE_BOT_EDGE">2025.83</AIMSHCBE>
                    <AIMSHCTC comment="AIA_IMG_SH_CLOSE_TOP_CENTR">2054.8</AIMSHCTC>
                    <AIMSHCTE comment="AIA_IMG_SH_CLOSE_TOP_EDGE">2068.58</AIMSHCTE>
                    <AICFGDL1 comment="AIA_IMG_CFG_DELAY_1">0</AICFGDL1>
                    <AICFGDL2 comment="AIA_IMG_CFG_DELAY_2">137</AICFGDL2>
                    <AICFGDL3 comment="AIA_IMG_CFG_DELAY_3">201</AICFGDL3>
                    <AICFGDL4 comment="AIA_IMG_CFG_DELAY_4">236</AICFGDL4>
                    <AIFOENFL comment="AIA_IMG_FOCUS_ENA_FLAG">1</AIFOENFL>
                    <AIMGFSN comment="AIA_IMG_FRLIST_POS">5</AIMGFSN>
                    <AIMGTYP comment="AIA_IMG_IMAGE_TYPE">0</AIMGTYP>
                    <AIAWVLEN comment="AIA_IMG_WAVELENGTH">7</AIAWVLEN>
                    <AIAGP1 comment="AIA_IMG_GP1">0</AIAGP1>
                    <AIAGP2 comment="AIA_IMG_GP2">0</AIAGP2>
                    <AIAGP3 comment="AIA_IMG_GP3">0</AIAGP3>
                    <AIAGP4 comment="AIA_IMG_GP4">0</AIAGP4>
                    <AIAGP5 comment="AIA_IMG_GP5">0</AIAGP5>
                    <AIAGP6 comment="AIA_IMG_GP6">0</AIAGP6>
                    <AIAGP7 comment="AIA_IMG_GP7">0</AIAGP7>
                    <AIAGP8 comment="AIA_IMG_GP8">393</AIAGP8>
                    <AIAGP9 comment="AIA_IMG_GP9">457</AIAGP9>
                    <AIAGP10 comment="AIA_IMG_GP10">748</AIAGP10>
                    <AGT1SVY comment="AIA_GT1_SUNVECTOR_Y">3</AGT1SVY>
                    <AGT1SVZ comment="AIA_GT1_SUNVECTOR_Z">-10</AGT1SVZ>
                    <AGT2SVY comment="AIA_GT2_SUNVECTOR_Y">-7</AGT2SVY>
                    <AGT2SVZ comment="AIA_GT2_SUNVECTOR_Z">-14</AGT2SVZ>
                    <AGT3SVY comment="AIA_GT3_SUNVECTOR_Y">-1</AGT3SVY>
                    <AGT3SVZ comment="AIA_GT3_SUNVECTOR_Z">0</AGT3SVZ>
                    <AGT4SVY comment="AIA_GT4_SUNVECTOR_Y">60</AGT4SVY>
                    <AGT4SVZ comment="AIA_GT4_SUNVECTOR_Z">122</AGT4SVZ>
                    <AIMGSHEN comment="AIA_IMG_SH_ENCODER">4</AIMGSHEN>
                    <KEYWDDOC comment="AIA FITS keyword">http://www.lmsal.com/sdodocs/aiafitskeywords.pdf</KEYWDDOC>
                    <RECNUM comment="JSOC Record Number">199242619</RECNUM>
                    <BLANK>-32768</BLANK>
                    <CHECKSUM comment="HDU checksum updated 2017-05-01T23:58:09">UbBJaZ9JWaAJaY7J</CHECKSUM>
                    <DATASUM comment="data unit checksum updated 2017-05-01T23:58:09">382234249</DATASUM>
                    <SUNUM comment="JSOC Storage Unit Number">926999811</SUNUM>
                    <SLOTNUM comment="JSOC Slot Number">0</SLOTNUM>
                    <SERIES comment="JSOC Series Name">aia.lev1</SERIES>
                    <SEGMENT comment="JSOC Segment File Name">image_lev1.fits</SEGMENT>
                </fits>