diff --git a/scripts/check_effective_wavelengths.py b/scripts/check_effective_wavelengths.py index 9ada30b..ec943a3 100644 --- a/scripts/check_effective_wavelengths.py +++ b/scripts/check_effective_wavelengths.py @@ -6,10 +6,13 @@ SPECLITE_SURVEY_PREFIXES = { "DES": "decam2014", "Euclid_VIS": "Euclid", + "Euclid_NISP": "Euclid", "HSC": "hsc2017", "LSST": "lsst2016", } +EUCLID_FILTER_NAMES = {"IE": "VIS", "YE": "Y", "JE": "J", "HE": "H"} + def check_effective_wavelengths(survey_name): """Compare current effective wavelengths with speclite @@ -29,10 +32,7 @@ def check_effective_wavelengths(survey_name): print("------- | --------- | ---------") for filter_name in survey.available_filters: - if filter_name == "IE": - old_filter_name = "VIS" - else: - old_filter_name = filter_name + old_filter_name = EUCLID_FILTER_NAMES.get(filter_name, filter_name) speclite_filter_name = f"{speclite_prefix}-{old_filter_name}" speclite_filter = load_filter(speclite_filter_name) speclite_eff_wl = speclite_filter.effective_wavelength.to(u.nm) diff --git a/scripts/check_zeropoints.py b/scripts/check_zeropoints.py index a31c4a0..51f3f16 100644 --- a/scripts/check_zeropoints.py +++ b/scripts/check_zeropoints.py @@ -8,10 +8,13 @@ SPECLITE_SURVEY_PREFIXES = { "DES": "decam2014", "Euclid_VIS": "Euclid", + "Euclid_NISP": "Euclid", "HSC": "hsc2017", "LSST": "lsst2016", } +EUCLID_FILTER_NAMES = {"IE": "VIS", "YE": "Y", "JE": "J", "HE": "H"} + def compute_zeropoint_mag(band_name, effective_area, exposure_time=1 * u.s): """Compute the zeropoint of a given filter with speclite""" @@ -42,10 +45,7 @@ def check_zeropoints(survey_name): print("------- | --------- | ---------") for filter_name in survey.available_filters: - if filter_name == "IE": - old_filter_name = "VIS" - else: - old_filter_name = filter_name + old_filter_name = EUCLID_FILTER_NAMES.get(filter_name, filter_name) speclite_filter_name = f"{speclite_prefix}-{old_filter_name}" speclite_zp = compute_zeropoint_mag( speclite_filter_name, survey.effective_area diff --git a/surveycodex/data/Euclid_NISP.yaml b/surveycodex/data/Euclid_NISP.yaml new file mode 100644 index 0000000..a9ed556 --- /dev/null +++ b/surveycodex/data/Euclid_NISP.yaml @@ -0,0 +1,60 @@ +name: "Euclid_NISP" +description: "Euclid wide-field survey done with the Euclid space telescope and the near-infrared spectrometer and photometer (NISP), photometric channel" +pixel_scale: 0.30 +gain: 2.0 +mirror_diameter: 1.2 +obscuration: 0.13 +zeropoint_airmass: 0.0 +filters: + YE: + name: "YE" + sky_brightness: 22.1 + full_exposure_time: 112 + zeropoint: 24.99 + psf_fwhm: 0.477 + effective_wavelength: 1089.014 + JE: + name: "JE" + sky_brightness: 22.2 + full_exposure_time: 112 + zeropoint: 25.17 + psf_fwhm: 0.486 + effective_wavelength: 1379.127 + HE: + name: "HE" + sky_brightness: 22.3 + full_exposure_time: 112 + zeropoint: 25.11 + psf_fwhm: 0.492 + effective_wavelength: 1785.975 +references: + pixel_scale: + link: "https://arxiv.org/abs/2108.01201" + comment: "Euclid preparation I. The Euclid Wide Survey (Scaramella et al. 2022), Sect. 3.2: NISP has a plate scale of 0.3 arcsec/pixel" + gain: + link: "https://arxiv.org/abs/2405.13496" + comment: "Euclid: ERO -- compact- and diffuse-emission photometry pipeline, Sect. 4.3.7: NISP's average gain is 2 electrons per ADU" + mirror_diameter: + link: "https://arxiv.org/abs/1608.08603" + comment: "(v1) See section 3.1 -- NISP shares the same 1.2 m Euclid telescope as VIS, split by a dichroic" + obscuration: + link: "https://arxiv.org/abs/1608.08603" + comment: "(v1) See section 3.1 -- same shared telescope as VIS" + zeropoint_airmass: + link: "" + comment: "Space telescope" + sky_brightness: + link: "https://arxiv.org/abs/2405.13496" + comment: "Euclid: ERO -- compact- and diffuse-emission photometry pipeline, Table 2: median in-flight sky background per band from the 17 ERO fields" + full_exposure_time: + link: "https://arxiv.org/abs/2108.01201" + comment: "Euclid preparation I. The Euclid Wide Survey (Scaramella et al. 2022), Sect. 4.1: each of the three NISP photometric images (Y, J, H) in the reference observing sequence lasts 112 s -- single-pointing exposure, matching the convention used for Euclid_VIS's full_exposure_time" + zeropoint: + link: "https://speclite.readthedocs.io/en/latest/filters.html" + comment: "computed with speclite – see scripts/check_zeropoints.py" + psf_fwhm: + link: "https://arxiv.org/abs/2405.13496" + comment: "Euclid: ERO -- compact- and diffuse-emission photometry pipeline, Table 2: median in-flight FWHM per band, measured on stacked ERO survey images" + effective_wavelength: + link: "https://speclite.readthedocs.io/en/latest/filters.html" + comment: "computed with speclite – see scripts/check_effective_wavelength.py" diff --git a/surveycodex/rich.py b/surveycodex/rich.py index 0f0d4dc..41795fd 100644 --- a/surveycodex/rich.py +++ b/surveycodex/rich.py @@ -7,7 +7,13 @@ def _rich_survey_name(survey): - if survey.name in ["Euclid_VIS", "COSMOS", "Roman_WFI", "Roman_WFI_Deep"]: + if survey.name in [ + "Euclid_VIS", + "Euclid_NISP", + "COSMOS", + "Roman_WFI", + "Roman_WFI_Deep", + ]: icon = _SATELLITE else: icon = _TELESCOPE