Exposure Time Calculator (ETC) and radial velocity precision estimator for the Near InfraRed Planet Searcher (NIRPS) spectrograph

Overview

NIRPS-ETC

Exposure Time Calculator (ETC) and radial velocity precision estimator for the Near InfraRed Planet Searcher (NIRPS) spectrograph

February 2022 - Before NIRPS on sky

Original NIRPS ETC code by Bruno L. Canto Martins 2018-2019

Additional edits by Nolan Grieves (University of Geneva) 2020-2022

Overview

  • The NIRPS ETC uses spectra from the NASA Infrared Telescope Facility (IRTF) as SEDs to get estimated flux values for different spectral types: http://irtfweb.ifa.hawaii.edu/~spex/IRTF_Spectral_Library/
  • The ETC calculates efficiency at different wavelengths using seeing, atmospheric efficiency from TAPAS (http://cds-espri.ipsl.fr/tapas/), and the measured global efficiency of the instrument
  • The signal to noise ratio (SNR) at each pixel or bin is calculated from the fiber diameter, sampling, readout noise, resolution, efficiency, and flux in the pixel or bin from the IRTF template (flux=(10.**(0.4*(Ho-H)))*flux_st)
  • RV precisions are calculated using, dRV=c/(Q*sqrt(Ne-)), equation 12 of Bouchy et al. (2001: https://ui.adsabs.harvard.edu/abs/2001A%26A...374..733B/abstract). The quality factors Q for spectra are calculated with ENIRIC from Phoenix simulated spectra or from spectral templates from the Spirou spectrograph
    • -> see: NIRPS-ETC/intermediate_preparation/update_RV_estimates/README_update_RV_estimates

Use

$ python NIRPS_ETC.py

  • change observing options within the code at the top
    • Observation Mode (HA/HE)
    • Seeing, in arcsec (range 0.7-1.2)
    • Airmass (range 1.0-2.0)
    • Object magnitude (H band)
    • Exposure time (in sec)
    • Spectral type (F0V/F5V/G0V/G5V/G8V/K0V/K3V/K7V/M0V/M1V/M2V/M3V/M4V/M5V/M6V/M7V/M8V/M9V/L1V/L2V/L3V/L4V/L5V/L6V/L8V/T2V)
    • bandpass ('CFHT' or 'Eniric') #YJH bandpasses that will affect the range of the spectra used to calculate RV precision
  • outputs mean SNR, in YJH, and each order, and RV precisisons for certain spectral types

OR use script version:

$ python NIRPS_ETC_script.py

  • change inputs for each target in a space separated text file with columns:
    • target st obs_mode seeing airmass H t_exp bandpass
  • change input and output text files within code to desired option
  • outputs to file the mean SNR, YJH SNRs, and RV precisions

Contents

  • inputs/
    • NIRPS_STAR_templates.txt
      • SEDs from IRTF (update with intermediate_preparation/update_effs/update_effs.py)
    • NIRPS_effs.txt
      • global efficiency of instrument (update with intermediate_preparation/update_effs/update_effs.py)
    • NIRPS_tapas.txt
      • atmospheric efficiency from TAPAS (update with intermediate_preparation/update_effs/update_effs.py)
    • NIRPS_wave_range.txt
      • wavelength range of echelle orders (update with intermediate_preparation/update_effs/update_effs.py)
    • phoenix_Q_conversions_CFHT-bandpass.txt
      • Q factor conversions for different resolutions in CFHT defined YJH bandpasses (update with intermediate_preparation/update_RV_estimates/phoenix_qfactor_resolution_conversion.py)
    • phoenix_Q_conversions_eniric-bandpass.txt
      • Q factor conversions for different resolutions in Eniric defined YJH bandpasses (update with intermediate_preparation/update_RV_estimates/phoenix_qfactor_resolution_conversion.py)
    • phoenix_eniric_Qfactors_CFHT-bandpass.csv
      • Q factors from Eniric in CFHT defined YJH bandpasses (update with eniric using command in intermediate_preparation/update_RV_estimates/README_update_RV_estimates)
    • phoenix_eniric_Qfactors_eniric-bandpass.csv
      • Q factors from Eniric in Eniric defined YJH bandpasses (update with eniric using command in intermediate_preparation/update_RV_estimates/README_update_RV_estimates)
    • spirou_fit_Qvalues_CFHT-bandpass.txt
      • Q factors from Spirou templates in CFHT defined YJH bandpasses (update with intermediate_preparation/update_RV_estimates/fit_spirou_qfactors.py)
    • spirou_fit_Qvalues_eniric-bandpass.txt.
      • Q factors from Spirou templates in Eniric defined YJH bandpasses (update with intermediate_preparation/update_RV_estimates/fit_spirou_qfactors.py)
  • intermediate_preparation/
    • ETC_v3.0_CantoMartins/
      • original ETC by Bruno Canto Martins
    • add_stellar_templates/
      • add and update stellar templates
    • update_RV_estimates/
      • update RV estimates and Q values
    • update_effs/
      • update efficiency files and resample wavelength grid for tapas, effs, and star_templates
  • outputs/
    • outputs SNR for each order and wavelength vs SNR plot from NIRPS_ETC.py
  • NIRPS_ETC.py
    • main ETC code for a single star
  • NIRPS_ETC_script.py
    • script that runs ETC for stars in etc_targets_input.txt and outputs to etc_targets_output.txt
  • etc_targets_input.txt
    • example input file for NIRPS_ETC_script.py
  • etc_targets_output.txt
    • example ouput file for NIRPS_ETC_script.py
  • nirps_etc_lib.py
    • definitions for fucntions in ETC code
Owner
Nolan Grieves
Postdoctoral Research Scientist [email protected]
Nolan Grieves
Sequence Modeling with Structured State Spaces

Structured State Spaces for Sequence Modeling This repository provides implementations and experiments for the following papers. S4 Efficiently Modeli

HazyResearch 896 Jan 01, 2023
Implementation of Kalman Filter in Python

Kalman Filter in Python This is a basic example of how Kalman filter works in Python. I do plan on refactoring and expanding this repo in the future.

Enoch Kan 35 Sep 11, 2022
Code for Pose-Controllable Talking Face Generation by Implicitly Modularized Audio-Visual Representation (CVPR 2021)

Pose-Controllable Talking Face Generation by Implicitly Modularized Audio-Visual Representation (CVPR 2021) Hang Zhou, Yasheng Sun, Wayne Wu, Chen Cha

Hang_Zhou 628 Dec 28, 2022
Recurrent Conditional Query Learning

Recurrent Conditional Query Learning (RCQL) This repository contains the Pytorch implementation of One Model Packs Thousands of Items with Recurrent C

Dongda 4 Nov 28, 2022
Jax/Flax implementation of Variational-DiffWave.

jax-variational-diffwave Jax/Flax implementation of Variational-DiffWave. (Zhifeng Kong et al., 2020, Diederik P. Kingma et al., 2021.) DiffWave with

YoungJoong Kim 37 Dec 16, 2022
learning and feeling SLAM together with hands-on-experiments

modern-slam-tutorial-python Learning and feeling SLAM together with hands-on-experiments 😀 😃 😆 Dependencies Most of the examples are based on GTSAM

Giseop Kim 59 Dec 22, 2022
Lightweight plotting to the terminal. 4x resolution via Unicode.

Uniplot Lightweight plotting to the terminal. 4x resolution via Unicode. When working with production data science code it can be handy to have plotti

Olav Stetter 203 Dec 29, 2022
Rank 3 : Source code for OPPO 6G Data Generation Challenge

OPPO 6G Data Generation with an E2E Framework Homepage of OPPO 6G Data Generation Challenge Datasets H1_32T4R.mat H2_32T4R.mat Please put the original

Sen Pei 97 Jan 07, 2023
A PyTorch implementation for Unsupervised Domain Adaptation by Backpropagation(DANN), support Office-31 and Office-Home dataset

DANN A PyTorch implementation for Unsupervised Domain Adaptation by Backpropagation Prerequisites Linux or OSX NVIDIA GPU + CUDA (may CuDNN) and corre

8 Apr 16, 2022
Implement of "Training deep neural networks via direct loss minimization" in PyTorch for 0-1 loss

This is the implementation of "Training deep neural networks via direct loss minimization" published at ICML 2016 in PyTorch. The implementation targe

Cuong Nguyen 1 Jan 18, 2022
[CVPR'21] Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation

Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformation Weixiang Yang, Qi Li, Wenxi Liu, Yuanlong Yu, Y

118 Dec 26, 2022
Virtual Dance Reality Stage: a feature that offers you to share a stage with another user virtually

Portrait Segmentation using Tensorflow This script removes the background from an input image. You can read more about segmentation here Setup The scr

291 Dec 24, 2022
Code for SentiBERT: A Transferable Transformer-Based Architecture for Compositional Sentiment Semantics (ACL'2020).

SentiBERT Code for SentiBERT: A Transferable Transformer-Based Architecture for Compositional Sentiment Semantics (ACL'2020). https://arxiv.org/abs/20

Da Yin 66 Aug 13, 2022
Contextual Attention Network: Transformer Meets U-Net

Contextual Attention Network: Transformer Meets U-Net Contexual attention network for medical image segmentation with state of the art results on skin

Reza Azad 67 Nov 28, 2022
Reduce end to end training time from days to hours (or hours to minutes), and energy requirements/costs by an order of magnitude using coresets and data selection.

COResets and Data Subset selection Reduce end to end training time from days to hours (or hours to minutes), and energy requirements/costs by an order

decile-team 244 Jan 09, 2023
A pure PyTorch batched computation implementation of "CIF: Continuous Integrate-and-Fire for End-to-End Speech Recognition"

A pure PyTorch batched computation implementation of "CIF: Continuous Integrate-and-Fire for End-to-End Speech Recognition"

張致強 14 Dec 02, 2022
Over-the-Air Ensemble Inference with Model Privacy

Over-the-Air Ensemble Inference with Model Privacy This repository contains simulations for our private ensemble inference method. Installation Instal

Selim Firat Yilmaz 1 Jun 29, 2022
An educational resource to help anyone learn deep reinforcement learning.

Status: Maintenance (expect bug fixes and minor updates) Welcome to Spinning Up in Deep RL! This is an educational resource produced by OpenAI that ma

OpenAI 7.6k Jan 09, 2023
Joint Discriminative and Generative Learning for Person Re-identification. CVPR'19 (Oral)

Joint Discriminative and Generative Learning for Person Re-identification [Project] [Paper] [YouTube] [Bilibili] [Poster] [Supp] Joint Discriminative

NVIDIA Research Projects 1.2k Dec 30, 2022
OCR Post Correction for Endangered Language Texts

📌 Coming soon: an update to the software including features from our paper on semi-supervised OCR post-correction, to be published in the Transaction

Shruti Rijhwani 96 Dec 31, 2022