Skip to content

Commit 95b47ca

Browse files
ivhclaude
andcommitted
Add HERMES instrument (Mercator telescope)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent bf57bc8 commit 95b47ca

4 files changed

Lines changed: 157 additions & 0 deletions

File tree

examples/hermes_example.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"""Reducing HERMES data with PyReduce.
2+
3+
HERMES (High Efficiency and Resolution Mercator Echelle Spectrograph)
4+
at the Mercator telescope, La Palma.
5+
6+
Fiber modes:
7+
HRF - High Resolution Fibre (default, R~85000)
8+
9+
File types:
10+
BIAS - bias frames
11+
HRF_FF - flatfields (Tungsten lamp)
12+
HRF_TH - wavelength calibration (ThAr + Ne lamps)
13+
HRF_OBJ - science/object spectra
14+
"""
15+
16+
import os
17+
18+
from pyreduce.pipeline import Pipeline
19+
20+
base_dir = os.environ.get("REDUCE_DATA", os.path.expanduser("~/REDUCE_DATA"))
21+
22+
steps = (
23+
"bias",
24+
"flat",
25+
"trace",
26+
# "curvature",
27+
"norm_flat",
28+
"wavecal_master",
29+
# "wavecal_init",
30+
# "wavecal",
31+
"science",
32+
# "continuum",
33+
# "finalize",
34+
)
35+
36+
data = Pipeline.from_instrument(
37+
instrument="HERMES",
38+
target="HD 82106",
39+
night="2026-04-12",
40+
channel="",
41+
steps=steps,
42+
base_dir=base_dir,
43+
input_dir=os.path.join(base_dir, "HERMES"),
44+
plot=1,
45+
).run()
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
Handles instrument specific info for the HERMES spectrograph
3+
4+
High Efficiency and Resolution Mercator Echelle Spectrograph
5+
at the Mercator telescope, La Palma.
6+
"""
7+
8+
import logging
9+
10+
from ..common import Instrument
11+
12+
logger = logging.getLogger(__name__)
13+
14+
15+
class HERMES(Instrument):
16+
def add_header_info(self, header, channel, **kwargs):
17+
header = super().add_header_info(header, channel)
18+
return header
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# HERMES instrument configuration
2+
# High Efficiency and Resolution Mercator Echelle Spectrograph
3+
# Mercator telescope, La Palma
4+
# Detector: E2V42-90 (CCD), 2048x4608 active pixels
5+
6+
__instrument__: HERMES
7+
instrument: INSTRUME
8+
id_instrument: HERMES
9+
telescope: Mercator
10+
11+
date: DATE-OBS
12+
date_format: fits
13+
14+
extension: 0
15+
orientation: 3
16+
transpose: false
17+
18+
prescan_x: 53
19+
overscan_x: 47
20+
prescan_y: 0
21+
overscan_y: 64
22+
naxis_x: NAXIS1
23+
naxis_y: NAXIS2
24+
25+
gain: DETGAIN
26+
readnoise: 5.5
27+
dark: 0
28+
sky: 0
29+
exposure_time: EXPTIME
30+
31+
ra: OBJ_RA
32+
dec: OBJ_DEC
33+
longitude: -17.8792
34+
latitude: 28.7603
35+
altitude: 2333
36+
target: OBJECT
37+
observation_type: OBSMODE
38+
39+
# File classification keywords and patterns
40+
kw_bias: OBSMODE
41+
kw_flat: OBSMODE
42+
kw_curvature: OBSMODE
43+
kw_scatter: OBSMODE
44+
kw_orders: OBSMODE
45+
kw_wave: OBSMODE
46+
kw_comb: null
47+
kw_spec: OBSMODE
48+
49+
id_bias: BIAS
50+
id_flat: HRF_FF
51+
id_orders: HRF_FF
52+
id_curvature: HRF_TH
53+
id_scatter: HRF_FF
54+
id_wave: HRF_TH
55+
id_comb: null
56+
id_spec: HRF_OBJ
57+
58+
# Fiber configuration: 2 fibers per order (science + simultaneous cal/sky)
59+
# Fiber 1 is the object fiber, fiber 2 is the simultaneous reference fiber
60+
fibers:
61+
fibers_per_order: 2
62+
groups:
63+
obj:
64+
range: [1, 2]
65+
merge: center
66+
sky:
67+
range: [2, 3]
68+
merge: center
69+
use:
70+
default: [obj, sky]
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"__instrument__": "HERMES",
3+
"__inherits__": "defaults/settings.json",
4+
"trace": {
5+
"degree": 3,
6+
"noise": 50,
7+
"noise_relative": 0.05,
8+
"min_cluster": 3000,
9+
"filter_y": 8
10+
},
11+
"norm_flat": {
12+
"extraction_height": 6,
13+
"oversampling": 10
14+
},
15+
"wavecal_master": {
16+
"extraction_height": 6
17+
},
18+
"science": {
19+
"extraction_height": 6,
20+
"oversampling": 10,
21+
"swath_width": 600,
22+
"smooth_slitfunction": 2
23+
}
24+
}

0 commit comments

Comments
 (0)