Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docroot/schema/image_layer.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"nickname": {
"type": "string",
"enum": [
"GOES-R SUVI 94","GOES-R SUVI 131","GOES-R SUVI 171","GOES-R SUVI 195","GOES-R SUVI 284","GOES-R SUVI 304","EIT 171","EIT 195","EIT 284","EIT 304","LASCO C2","LASCO C3","MDI Mag","MDI Int","AIA 94","AIA 131","AIA 171","AIA 193","AIA 211","AIA 304","AIA 335","AIA 1600","AIA 1700","AIA 4500","HMI Int","HMI Mag","EUVI-A 171","EUVI-A 195","EUVI-A 284","EUVI-A 304","EUVI-B 171","EUVI-B 195","EUVI-B 284","EUVI-B 304","COR1-A","COR2-A","COR1-B","COR2-B","SWAP 174","SXT AlMgMn","SXT thin-Al","SXT white-light","XRT Al_med/Al_mesh","XRT Al_med/Al_thick","XRT Al_med/Be_thick","XRT Al_med/Gband","XRT Al_med/Open","XRT Al_med/Ti_poly","XRT Al_poly/Al_mesh","XRT Al_poly/Al_thick","XRT Al_poly/Be_thick","XRT Al_poly/Gband","XRT Al_poly/Open","XRT Al_poly/Ti_poly","XRT Be_med/Al_mesh","XRT Be_med/Al_thick","XRT Be_med/Be_thick","XRT Be_med/Gband","XRT Be_med/Open","XRT Be_med/Ti_poly","XRT Be_thin/Al_mesh","XRT Be_thin/Al_thick","XRT Be_thin/Be_thick","XRT Be_thin/Gband","XRT Be_thin/Open","XRT Be_thin/Ti_poly","XRT C_poly/Al_mesh","XRT C_poly/Al_thick","XRT C_poly/Be_thick","XRT C_poly/Gband","XRT C_poly/Open","XRT C_poly/Ti_poly","XRT Mispositioned/Mispositioned","XRT Open/Al_mesh","XRT Open/Al_thick","XRT Open/Be_thick","XRT Open/Gband","XRT Open/Open","XRT Open/Ti_poly","TRACE 171","TRACE 195","TRACE 284","TRACE 1216","TRACE 1550","TRACE 1600","TRACE 1700","TRACE white-light","COSMO KCor","EUI FSI 174","EUI FSI 304","EUI HRI 174","EUI HRI 1216","IRIS SJI 1330","IRIS SJI 2796","IRIS SJI 1400","IRIS SJI 1600","IRIS SJI 2832","IRIS SJI 5000","GONG H-alpha","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","PUNCH","GOES","SWFO-L1","PUNCH","GOES-R SUVI 94","GOES-R SUVI 131","GOES-R SUVI 171","GOES-R SUVI 195","GOES-R SUVI 284","GOES-R SUVI 304","XRT Any/Any","XRT Any/Al_mesh","XRT Any/Al_thick","XRT Any/Be_thick","XRT Any/Gband","XRT Any/Open","XRT Any/Ti_poly","XRT Al_med/Any","XRT Al_poly/Any","XRT Be_med/Any","XRT Be_thin/Any","XRT C_poly/Any","XRT Open/Any"
"GOES-R SUVI 94","GOES-R SUVI 131","GOES-R SUVI 171","GOES-R SUVI 195","GOES-R SUVI 284","GOES-R SUVI 304","EIT 171","EIT 195","EIT 284","EIT 304","LASCO C2","LASCO C3","MDI Mag","MDI Int","AIA 94","AIA 131","AIA 171","AIA 193","AIA 211","AIA 304","AIA 335","AIA 1600","AIA 1700","AIA 4500","HMI Int","HMI Mag","EUVI-A 171","EUVI-A 195","EUVI-A 284","EUVI-A 304","EUVI-B 171","EUVI-B 195","EUVI-B 284","EUVI-B 304","COR1-A","COR2-A","COR1-B","COR2-B","SWAP 174","SXT AlMgMn","SXT thin-Al","SXT white-light","XRT Al_med/Al_mesh","XRT Al_med/Al_thick","XRT Al_med/Be_thick","XRT Al_med/Gband","XRT Al_med/Open","XRT Al_med/Ti_poly","XRT Al_poly/Al_mesh","XRT Al_poly/Al_thick","XRT Al_poly/Be_thick","XRT Al_poly/Gband","XRT Al_poly/Open","XRT Al_poly/Ti_poly","XRT Be_med/Al_mesh","XRT Be_med/Al_thick","XRT Be_med/Be_thick","XRT Be_med/Gband","XRT Be_med/Open","XRT Be_med/Ti_poly","XRT Be_thin/Al_mesh","XRT Be_thin/Al_thick","XRT Be_thin/Be_thick","XRT Be_thin/Gband","XRT Be_thin/Open","XRT Be_thin/Ti_poly","XRT C_poly/Al_mesh","XRT C_poly/Al_thick","XRT C_poly/Be_thick","XRT C_poly/Gband","XRT C_poly/Open","XRT C_poly/Ti_poly","XRT Mispositioned/Mispositioned","XRT Open/Al_mesh","XRT Open/Al_thick","XRT Open/Be_thick","XRT Open/Gband","XRT Open/Open","XRT Open/Ti_poly","TRACE 171","TRACE 195","TRACE 284","TRACE 1216","TRACE 1550","TRACE 1600","TRACE 1700","TRACE white-light","COSMO KCor","EUI FSI 174","EUI FSI 304","EUI HRI 174","EUI HRI 1216","IRIS SJI 1330","IRIS SJI 2796","IRIS SJI 1400","IRIS SJI 1600","IRIS SJI 2832","IRIS SJI 5000","GONG H-alpha","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","RHESSI","PUNCH","GOES","SWFO-L1","PUNCH","Surya AIA 94","Surya AIA 131","Surya AIA 171","Surya AIA 193","Surya AIA 211","Surya AIA 304","Surya AIA 335","Surya AIA 1600","Surya AIA 1700","GOES-R SUVI 94","GOES-R SUVI 131","GOES-R SUVI 171","GOES-R SUVI 195","GOES-R SUVI 284","GOES-R SUVI 304","XRT Any/Any","XRT Any/Al_mesh","XRT Any/Al_thick","XRT Any/Be_thick","XRT Any/Gband","XRT Any/Open","XRT Any/Ti_poly","XRT Al_med/Any","XRT Al_poly/Any","XRT Be_med/Any","XRT Be_thin/Any","XRT C_poly/Any","XRT Open/Any"
]
},
"sourceId": { "type": "integer" },
Expand All @@ -52,7 +52,7 @@
"name": {
"type": "string",
"enum": [
"", "GOES-R", "100-300keV","12-25keV","1216","131","1330","1400","1550","1600","1700","171","174","193","195","211","25-50keV","2796","2832","284","3-6keV","304","335","4500","50-100keV","5000","6-12keV","6562","735","94","AIA","Al_med","Al_mesh","Al_poly","Al_thick","AlMgMn","Any","Back Projection","Be_med","Be_thick","Be_thin","C_poly","C2","C3","CCOR-1","CCOR-2","Clean","Clean 59","continuum","COR1","COR2","COSMO","EIT","EUI","EUVI","FSI","Gband","GOES","GONG","H-alpha","Hinode","HMI","HRI","IRIS","KCor","LASCO","magnetogram","MDI","MEM GE","Mispositioned","MLSO","Open","Polarized Brightness","PROBA2","PUNCH","RHESSI","SDO","SECCHI","SJI","SOHO","SOLO","STEREO_A","STEREO_B","SUVI","SWAP","SWFO-L1","SXT","thin-Al","Ti_poly","Total Brightness","TRACE","VIS CS","VIS FWDFIT","WFI+NFI","white-light","XRT","Yohkoh"
"", "GOES-R", "100-300keV","12-25keV","1216","131","1330","1400","1550","1600","1700","171","174","193","195","211","25-50keV","2796","2832","284","3-6keV","304","335","4500","50-100keV","5000","6-12keV","6562","735","94","AIA","Al_med","Al_mesh","Al_poly","Al_thick","AlMgMn","Any","Back Projection","Be_med","Be_thick","Be_thin","C_poly","C2","C3","CCOR-1","CCOR-2","Clean","Clean 59","continuum","COR1","COR2","COSMO","EIT","EUI","EUVI","FSI","Gband","GOES","GONG","H-alpha","Hinode","HMI","HRI","IRIS","KCor","LASCO","magnetogram","MDI","MEM GE","Mispositioned","MLSO","Open","Polarized Brightness","PROBA2","PUNCH","RHESSI","SDO","SECCHI","SJI","SOHO","SOLO","STEREO_A","STEREO_B","Surya","SUVI","SWAP","SWFO-L1","SXT","thin-Al","Ti_poly","Total Brightness","TRACE","VIS CS","VIS FWDFIT","WFI+NFI","white-light","XRT","Yohkoh"
],
"$comment": "Autogenerated from available sources"
},
Expand Down Expand Up @@ -81,7 +81,7 @@
"^(Detector|Energy Band|Filter|Filter Wheel 1|Filter Wheel 2|Instrument|Measurement|Observatory|Reconstruction)$": {
"type": "string",
"enum": [
"GOES-R", "100-300keV","12-25keV","1216","131","1330","1400","1550","1600","1700","171","174","193","195","211","25-50keV","2796","2832","284","3-6keV","304","335","4500","50-100keV","5000","6-12keV","6562","735","94","AIA","Al_med","Al_mesh","Al_poly","Al_thick","AlMgMn","Any","Back Projection","Be_med","Be_thick","Be_thin","C_poly","C2","C3","CCOR-1","CCOR-2","Clean","Clean 59","continuum","COR1","COR2","COSMO","EIT","EUI","EUVI","FSI","Gband","GOES","GONG","H-alpha","Hinode","HMI","HRI","IRIS","KCor","LASCO","magnetogram","MDI","MEM GE","Mispositioned","MLSO","Open","Polarized Brightness","PROBA2","PUNCH","RHESSI","SDO","SECCHI","SJI","SOHO","SOLO","STEREO_A","STEREO_B","SUVI","SWAP","SWFO-L1","SXT","thin-Al","Ti_poly","Total Brightness","TRACE","VIS CS","VIS FWDFIT","WFI+NFI","white-light","XRT","Yohkoh"
"GOES-R", "100-300keV","12-25keV","1216","131","1330","1400","1550","1600","1700","171","174","193","195","211","25-50keV","2796","2832","284","3-6keV","304","335","4500","50-100keV","5000","6-12keV","6562","735","94","AIA","Al_med","Al_mesh","Al_poly","Al_thick","AlMgMn","Any","Back Projection","Be_med","Be_thick","Be_thin","C_poly","C2","C3","CCOR-1","CCOR-2","Clean","Clean 59","continuum","COR1","COR2","COSMO","EIT","EUI","EUVI","FSI","Gband","GOES","GONG","H-alpha","Hinode","HMI","HRI","IRIS","KCor","LASCO","magnetogram","MDI","MEM GE","Mispositioned","MLSO","Open","Polarized Brightness","PROBA2","PUNCH","RHESSI","SDO","SECCHI","SJI","SOHO","SOLO","STEREO_A","STEREO_B","Surya","SUVI","SWAP","SWFO-L1","SXT","thin-Al","Ti_poly","Total Brightness","TRACE","VIS CS","VIS FWDFIT","WFI+NFI","white-light","XRT","Yohkoh"
]
}
}
Expand Down
41 changes: 41 additions & 0 deletions install/database/2026_07_30_surya_source.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
INSERT INTO datasources (id, name, description, units, layeringOrder, enabled, sourceIdGroup, displayOrder)
VALUES
(135, 'Surya AIA 94', 'Surya AIA 94', 'Å', 1, 0, '', 0),
(136, 'Surya AIA 131', 'Surya AIA 131', 'Å', 1, 0, '', 0),
(137, 'Surya AIA 171', 'Surya AIA 171', 'Å', 1, 0, '', 0),
(138, 'Surya AIA 193', 'Surya AIA 193', 'Å', 1, 0, '', 0),
(139, 'Surya AIA 211', 'Surya AIA 211', 'Å', 1, 0, '', 0),
(140, 'Surya AIA 304', 'Surya AIA 304', 'Å', 1, 0, '', 0),
(141, 'Surya AIA 335', 'Surya AIA 335', 'Å', 1, 0, '', 0),
(142, 'Surya AIA 1600', 'Surya AIA 1600', 'Å', 1, 0, '', 0),
(143, 'Surya AIA 1700', 'Surya AIA 1700', 'Å', 1, 0, '', 0);

INSERT INTO datasource_property (sourceId, label, name, fitsName, description, uiOrder)
VALUES
(135, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(135, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(135, 'Measurement', '94', '94', '94 Angstrom', 3),
(136, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(136, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(136, 'Measurement', '131', '131', '131 Angstrom', 3),
(137, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(137, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(137, 'Measurement', '171', '171', '171 Angstrom', 3),
(138, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(138, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(138, 'Measurement', '193', '193', '193 Angstrom', 3),
(139, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(139, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(139, 'Measurement', '211', '211', '211 Angstrom', 3),
(140, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(140, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(140, 'Measurement', '304', '304', '304 Angstrom', 3),
(141, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(141, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(141, 'Measurement', '335', '335', '335 Angstrom', 3),
(142, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(142, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(142, 'Measurement', '1600', '1600', '1600 Angstrom', 3),
(143, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(143, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(143, 'Measurement', '1700', '1700', '1700 Angstrom', 3);
38 changes: 37 additions & 1 deletion install/helioviewer/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,15 @@ def create_datasource_table(cursor):
(134, 'PUNCH', 'PUNCH WFI+NFI PAM Mosaic', NULL, 1, 0, '', 0, 0, 0, 0),
(132, 'GOES', 'CCOR-1', NULL, 1, 0, '', 0, 0, 0, 0),
(133, 'SWFO-L1', 'CCOR-2', NULL, 1, 0, '', 0, 0, 0, 0),
(135, 'Surya AIA 94', 'Surya AIA 94', 'Å', 1, 0, '', 0, 0, 0, 0),
(136, 'Surya AIA 131', 'Surya AIA 131', 'Å', 1, 0, '', 0, 0, 0, 0),
(137, 'Surya AIA 171', 'Surya AIA 171', 'Å', 1, 0, '', 0, 0, 0, 0),
(138, 'Surya AIA 193', 'Surya AIA 193', 'Å', 1, 0, '', 0, 0, 0, 0),
(139, 'Surya AIA 211', 'Surya AIA 211', 'Å', 1, 0, '', 0, 0, 0, 0),
(140, 'Surya AIA 304', 'Surya AIA 304', 'Å', 1, 0, '', 0, 0, 0, 0),
(141, 'Surya AIA 335', 'Surya AIA 335', 'Å', 1, 0, '', 0, 0, 0, 0),
(142, 'Surya AIA 1600', 'Surya AIA 1600', 'Å', 1, 0, '', 0, 0, 0, 0),
(143, 'Surya AIA 1700', 'Surya AIA 1700', 'Å', 1, 0, '', 0, 0, 0, 0),
(2000, 'GOES-R SUVI 94', 'GOES-R SUVI 94', NULL, 1, 0, '', 0, 0, 0, 0),
(2001, 'GOES-R SUVI 131', 'GOES-R SUVI 131', NULL, 1, 0, '', 0, 0, 0, 0),
(2002, 'GOES-R SUVI 171', 'GOES-R SUVI 171', NULL, 1, 0, '', 0, 0, 0, 0),
Expand Down Expand Up @@ -933,7 +942,34 @@ def create_datasource_property_table(cursor):
(133, 'Observatory', 'SWFO-L1', 'SWFO-L1', 'SWFO-L1 Observatory',1),
(133, 'Instrument', 'CCOR-2', 'CCOR2', 'CCOR-2',2),
(133, 'Detector', 'CCOR-2', '1', 'CCOR-2',2),
(133, 'Measurement', 'white-light', 'white-light', 'White Light',3);""")
(133, 'Measurement', 'white-light', 'white-light', 'White Light',3),
(135, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(135, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(135, 'Measurement', '94', '94', '94 Angstrom', 3),
(136, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(136, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(136, 'Measurement', '131', '131', '131 Angstrom', 3),
(137, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(137, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(137, 'Measurement', '171', '171', '171 Angstrom', 3),
(138, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(138, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(138, 'Measurement', '193', '193', '193 Angstrom', 3),
(139, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(139, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(139, 'Measurement', '211', '211', '211 Angstrom', 3),
(140, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(140, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(140, 'Measurement', '304', '304', '304 Angstrom', 3),
(141, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(141, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(141, 'Measurement', '335', '335', '335 Angstrom', 3),
(142, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(142, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(142, 'Measurement', '1600', '1600', '1600 Angstrom', 3),
(143, 'Observatory', 'Surya', 'Surya', 'Surya AI Forecast', 1),
(143, 'Instrument', 'AIA', 'AIA', 'AIA', 2),
(143, 'Measurement', '1700', '1700', '1700 Angstrom', 3);""")

def create_movies_table(cursor):
"""Creates movie table
Expand Down
2 changes: 1 addition & 1 deletion install/helioviewer/hvpull/net/daemon.py
Original file line number Diff line number Diff line change
Expand Up @@ -773,7 +773,7 @@ def _validate(self, params):
raise BadImage("DATE")

# AIA
if params['detector'] == "AIA":
if params['detector'] == "AIA" and params['observatory'] != "Surya":
if params['header'].get("IMG_TYPE") == "DARK":
raise BadImage("DARK")
if float(params['header'].get('PERCENTD')) < 50:
Expand Down
3 changes: 3 additions & 0 deletions install/helioviewer/jp2parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,9 @@ def get_observatory(self, imageData):
This either returns the observatory that exists in the imageData or
any overrides we need to apply.
"""
# Surya forecast files embed SDO metadata but are identified by ORIGIN
if self._data.get('ORIGIN', '').lower().startswith('surya'):
return "Surya"
observatory = imageData.observatory.strip().replace(" ","_")
if observatory == "CCOR-2":
return "SWFO-L1"
Expand Down
10 changes: 5 additions & 5 deletions management/data/get_jp2_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ def get_config(filepath):
default_userconfig = os.path.join(basedir, 'settings/settings.cfg')

if filepath is not None and os.path.isfile(filepath):
config.readfp(open(filepath))
config.read(filepath)
elif os.path.isfile(default_userconfig):
config.readfp(open(default_userconfig))
config.read(default_userconfig)
else:
config.readfp(open(os.path.join(basedir, 'settings/settings.example.cfg')))
config.read(os.path.join(basedir, 'settings/settings.example.cfg'))

return config

Expand All @@ -72,12 +72,12 @@ def get_db_with_config(cfg):
dbuser = conf.get('database', 'dbuser')
dbpass = conf.get('database', 'dbpass')
db, cursor = get_db_cursor(dbhost, dbname, dbuser, dbpass)
return cursor
return db, cursor

def main():
args = parse_args()
print(args)
cursor = get_db_with_config(args.config)
db, cursor = get_db_with_config(args.config)

extract_datasource_name(args.jp2_file, cursor)

Expand Down
Loading