Bolo Calc User Manual
User Manual:
Open the PDF directly: View PDF .
Page Count: 31
Download | ![]() |
Open PDF In Browser | View PDF |
BoloCalc User Manual Version 1.0 Charles Hill, UC Berkeley Last Updated: 2018-06-14 This document is still under construction and will be updated frequently Contents 1 1 Quick Start This section covers how to get BoloCalc up and running. For more detailed information about how to define an experiment, run simulations, and read output files, see the following sections. 1.1 System Requirements BoloCalc runs on a Linux and has the following dependencies: 1. Python v2.7.2 2. Numpy v1.8 or above 1.2 Code location BoloCalc is stored on Charles Hill’s GitHub account chill90/ within the repository chill90/BoloCalc. To clone a local copy of the calculator, make sure that you have Git installed on your machine (I’ve been using Git version 2.13.5) and run 1 git clone https :// github . com / chill90 / BoloCalc . git All executables are stored at in the top-most directory 1 ~/ BoloCalc / and all libraries are stored in the src/ directory 1 ~/ BoloCalc / src / This code is still under construction and therefore is frequently being updated. Therefore, it is encouraged that the user git pull often, preferably before using the code at all. 1.3 Running mappingSpeed.py The primary BoloCalc executable is called mappingSpeed.py, which calculates • Optical power • Noise-equivalent power (NEP) contributions from ◦ Photon noise ◦ Bolometer thermal carrier noise ◦ Readout noise • Per-detector noise-equivalent temperature (NET) • Array NET • Mapping speed • Map depth given some instrument configuration. mappingSpeed.py takes as input an experiment configuration directory, which is stored in BoloCalc/Experiments/ and has the following structure: 1 2 3 4 5 6 7 8 BoloCalc / | - - Experiements / | | - - [ Experiment1 ]/ | | | - - [ ExperimentDesign1 ]/ | | | - - [ ExperimentDesign2 ]/ | | | - - ... | | - - [ Expierment2 ]/ | | - - ... 2 where the square brackets indicate the directories that can be named by the user. To calculate the sensitivity an experiment, pass its [ExperimentDesign] directory to mappingSpeed.py. BoloCalc comes with an example experiment that can be used to get started: 1 BoloCalc$ python2 .7 mappingSpeed . py Experiments / ExampleExperiment / V0 / By default, mappingSpeed.py will calculate one experiment realization, which should be shown by the status bar that appears upon execution. For information about how to tune the simulation parameters, see Section ??. After it has finished running, mappingSpeed.py generates several tables that display the calculated quantities for the simulated instrument. These tables are stored in three files named sensitivity.txt, with each file located at a different level of the experiment directory structure and containing different information: • Experiments/ExampleExperiment/V0/sensitivity.txt: contains the sensitivity, combined by observation frequency, of all telescopes in this experiment. • Experiments/ExampleExperiment/V0/Tel/sensitivity.txt: contains the sensitivity, combined by observation frequency, of all cameras in this telescope. • Experiement/ExampleExperiment/V0/Tel/Cam/sensitivity.txt: contains the sensitivity for channel in this camera. For more information about the contents of the sensitivity.txt files, see Section ??. 1.4 Running mappingSpeed vary.py The other BoloCalc executable is mappingSpeed vary.py, which calculates mapping speed for a set of instrument configurations determined by a set of specified parameters varied with linear spacing over a specified range with and with a specified step size. To run mappingSpeed vary.py, pass it the instrument configuration at the command line 1 BoloCalc$ python2 .7 mappingSpeed_vary . py Experiments / ExampleExp / V0 / There are optional command line arguments that can be passed to the executable, which are defined below • -vt: Vary the input parameters together instead of computing all possible combinations of parameters. The parameter array lengths, set by minimum, maximum, and step values, must be the same • -fh [File Handle]: Choose a custom file handle for saving the parameter variations. The input parameter variations are stored stored in BoloCalc/config/paramsToVary.txt. An example of the paramsToVary.txt is shown in Figure ?? Figure 1: Example of paramsToVary.txt For information on how to define parameters to be varied by mappingSpeed vary.py, see Section ??. By default upon download, mappingSpeed vary.py will calculate one experiment realization for each and every parameter combination (see Section ?? for details on simulation inputs). The status bar will show progression towards calculating all combinations of parameters defined over 3 the ranges. mappingSpeed vary.py saves three quantities1 to files within the directory BoloCalc/Experiments/ExampleExp/V0/paramsToVary/. The file handle can be specified using the command line argument -fh [File Handle], or it if is not specified, it will default to [Tel] [Cam] [Channel] [Param]. Below is the expected default file names that the data from the parameter-varied calculation will be saved to • Optical power: mappingSpeedVary Popt [Tel] [Cam] [Channel] [Param].txt • Photon NEP: mappingSpeedVary NEPph [Tel] [Cam] [Channel] [Param].txt • Array NET: mappingSpeedVary NETarr [Tel] [Cam] [Channel] [Param].txt where [Tel] [Cam] [Channel] [Param] is a file handle that contains the specifier for every parameter varied in the calculation. For example, if we looped over the following two parameters • Telescope “Tel,” camera “Cam,” channel “1,” optic “Mirror,” Parameter “Spillover” • Telescope “Tel,” camera “Cam,” channel “1,” Parameter “Pixel Size” the Popt output file would have the filename 1 m a p p i n g S p e e d V a r y _ P o p t _ T e l _ C a m _ 1 _ M i r r o r _ S p i l l o v e r _ T e l _ C a m _ 1 _ P i x e l S i z e . txt For information about the contents of the mappingSpeed vary.py output file, see Section ??. For more information about the output parameters, see Section ??. 1.5 Contact and Citation Please send any comments, requests, questions, or bugs to Charles Hill at chill@lbl.gov. If you use this code for published results, please cite the SPIE proceeding from 2018 “BoloCalc: a sensitivity calculator for the design of Simons Observatory,” which can be found at https: //arxiv.org/abs/1806.04316. 2 Sensitivity Calculation The primary function of BoloCalc is to import low-level instrument parameters and use them to estimate the instrument’s noise-equivalent CMB temperature (NET). This calculation is outlined by the following steps: 1. Collect input parameters and construct an instrument model 2. Calculate per-detector noise-equivalent power (NEP) due to contributions from • Photon shot and wave noise • Bolometer thermal carrier noise • Readout noise 3. Convert NEP to NET 4. Calculate the array-averaged NET, where the noise contributions from each detector are inverse-variance weighted to estimate the instantaneous sensitivity of the full camera 5. Calculate mapping speed (MS), a quantification of instrument noise in the power spectrum domain We detail the assumptions and inputs for the calculation in the following subsections. 1 More quantities can be added to this list upon request, or as needed. 4 2.1 Optical power BoloCalc assumes an array of single-moded bolometers2 within an instrument that is stationary in time. The propagation of optical power from the sky to the focal plane is represented by a onedimensional chain of blackbody absorbers/emitters in thermal equilibrium. The power deposited on the detectors is then an analytic integral over the summation of each optical element’s Planck spectra modified by its frequency-dependent efficiency and emissivity. Explicitly, the optical power on a detector is given as # Z ∞ "NX elem pi (ν) B(ν) dν , (1) Popt = 0 i=1 where ν is frequency, pi (ν) is the power spectral density of optical element i referred to the detector input, the summation contains all Nelem optical elements in the sky/telescope/camera and runs from the CMB to the focal plane, and B(ν) is the detector bandpass. The power spectral density pi (ν) for optical element i is determined by its blackbody temperature Ti , the transmission efficiency of all optics between it and the focal plane [ηi+1 (ν), ..., ηNelem (ν)], its emissivity i (ν), its spillover coefficient βi , the effective temperature by which its spilled power is absorbed Tβ;i , its scattering coefficient δi , and the effective temperature by which its scattered power is absorbed Tδ;i pi (Ti , [ηi+1 (ν), ..., ηNelem (ν)] , i (ν), βi , Tβ;i , δi , Tδ;i , ν) = NY elem ηj (ν) [i (ν) S(Ti , ν) + βi S(Tβ;i , ν) + δi S(Tδ;i , ν)] . (2) j=i+1 The power spectral density function S(T, ν) of the emitted and scattered power from each element is given by the Planck spectral density3 for a diffraction-limited, single-moded polarimeter hν S(T, ν) = exp 2.2 h hν kB T i . (3) −1 Photon noise Photon noise in bolometric detection is the result of fluctuations in the arrival times of photons at the absorbing element v # u Z " Nelem elem NX 2 ∞ u X NEPph = t2 hν pi (ν) + pi (ν) B(ν) dν . (4) 0 i=1 i=1 There are two contributions to NEPph . The first term represents shot noise NEPshot ,pwhich dominates when the photon occupation number 1 (e.g. optical wavelengths) and is ∝ Popt . The second term represents wave noise NEPwave , which dominates when the photon occupation number is 1 (e.g. radio wavelengths) and is ∝ Popt . For ground-based experiments, the photon occupation number at ∼ 100 GHz is ∼ 1, and therefore a careful handling of both terms is necessary for an accurate NET estimate. 2 3 If there is a demand, BoloCalc can be expanded to include other detector architectures, such as KIDs. BoloCalc can be expanded to incorporate non-thermal spectral densities if there is a demand for them. 5 2.3 Bolometer thermal carrier noise Thermal carrier noise in bolometers arises due to fluctuations in heat flow between the absorbing element and the bath to which it is weakly connected q 2 G , (5) NEPg = 4 kB Flink Toper where Toper is the operating temperature of the bolometer, G is the thermal conductance from the absorbing element to the bath, and Flink is a numerical factor that depends on the link’s thermal conduction index n. Flink is can be theoretically calculated via the equation n + 1 1 − (Tbath /Toper )2n+3 , (6) 2n + 3 1 − (Tbath /Toper )n+1 where Tbath is the bath temperature. However, NEPg can vary depending on the specifics of the bolometer geometry, composition, and fabrication. For example, transition-edge sensors (TES’s) have known pathological noise sources, such as flux flow noise and non-equilibrium Johnson noise, that increase the measured NEPg beyond that of Mather’s theoretical prediction. Therefore, BoloCalc provides an option for Flink to be set independent of Tbath and n, allowing NEPg to be tuned phenomenologically. Thermal conductance can be parameterized in terms of n, Tbath , and the bolometer saturation power Psat —or the power conducted from the bolometer to the bath—as Flink = G = Psat (n + 1) Therefore, NEPg ∝ sensitivity. 2.4 √ n Toper n+1 n+1 − Tbath Toper . (7) Psat , making the tuning of saturation power important to optimizing detector Readout noise Modern CMB detectors are low-impedance, voltage-biased bolometers read out using superconducting quantum interference device (SQUID) transimpedance amplifiers. Therefore, amplifier-induced readout noise can be modeled as a noise-equivalent current (NEI), referred to the power at the detector by the inverse of the detector responsivity. For a voltage-biased bolometer operating with negative feedback and high loop gain L 1, responsivity is ≈ 1/Vbias , and readout NEP is given by p NEPread = Pelec Rbolo × NEI , (8) where the bias power Pelec = Psat − Popt and Rbolo is the bolometer operating resistance. 2.5 Noise-equivalent CMB temperature A CMB bolometer is built to measure fluctuations in incident power due to fluctuations in CMB temperature. Therefore, it is useful to convert bolometer NEP into a noise-equivalent CMB temperature (NET). The total noise in the bolometer output is the quadrature sum of photon noise, thermal carrier noise, and readout noise, and the conversion to NET is given by q NEP2ph + NEP2g + NEP2read √ NETdet = M , (9) 2 (dP/dTCMB ) 6 √ where the M is a “margin” applied to the √ expected per-detector NET, and the 2 arises due to a √ unit conversion from output bandwidth 1/ Hz to integration time s. The conversion factor from optical power to CMB temperature is defined as dP/dTCMB = # 2 Z ∞ " NY elem 1 hν ξ ηi (ν) exp [hν/kB TCMB ] B(ν)dν , (10) kB TCMB (exp [hν/kB TCMB ] − 1) 0 i=1 and has units of W/KCMB . ξ is an optical coupling factor that quantifies SNR degradation associated with image degradation at the focal plane. When reconstructing the sky during analysis, data from each detector are co-added in the map domain to improve signal-to-noise. To quantify this SNR increase in the time domain, we define “array NET” as the inverse-variance-weighted average of the NETs of all yielded detectors within the camera NETdet NETarr = √ Γ, (11) Y Ndet where Ndet is the number of deployed bolometers, Y is the yield, and Γ is a factor ≥ 1 that quantifies the degree to which white noise is correlated between detector pixels on the focal plane. 2.6 Map Depth √ Finally, array NET—white noise in the time domain—is converted from units of K s to units of K-arcmin—white noise in the map domain—using the equation s 4πfsky NET2arr 10800 arcmin σS = , (12) ηobs tobs π where fsky the fraction of sky observed, tobs is the observation time of the experiment, and ηobs is the observation efficiency. 2.7 Mapping speed While NET is useful for estimating noise in the time and map domain, mapping speed (MS) is useful for describing instrument performance in the power spectrum domain MS = 1 NET2arr (13) and has units of K−2 s−1 . 2.8 Auxiliary Calculations There are a few calculations that are carried out “under the hood” if specific sets of parameters are defined in the input files (for more information about parameter definitions and dependencies, see . Ultimately, as shown in Equation , the calculate needs a temperature, emissivity, and efficiency in order to calculate the power from each element. 7 2.8.1 Synchrotron Emission Synchrotron power in units of W/Hz is given by the following equation psynch (ν) = As ν ns (14) where As is the amplitude, ν is the observation frequency, and ns is the spectral index. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.2 Dust Emission Thermal dust power in units of W/Hz is given by the following equation nd ν S(Td , ν) pdust (ν) = Ad νd (15) where Ad is the amplitude, ν is the observation frequency, νd is the pivot frequency, nd is the power law index, and Td is the effective blackbody temperature. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.3 Atmosphere Emission BoloCalc utilizes atmospheric simulations of the atmosphere at the Atacama and South Pole sites4 generated by the AM atmospheric modeling code5 , which uses data from the MERRA-2 meteorological reanalysis6 as input. The output from AM produces results consistent with measured sky loading in existing Atacama experiments. The range of input elevations handled by BoloCalc is from 20–90 deg, and the range of input PWV values is from 0–8 mm. 2.8.4 Cold Stop Spillover Efficiency Aperture efficiency can be specified explicitly, or, if it is left as “NA,” it can be derived from a combination of other parameters. The equation for aperture efficiency assumes a Gaussian beam which is parameterized by the ratio of the pixel diameter to the beam waist wf = D/w0 h π 2 D 2 i ηstop (λ) = 1 − exp − , (16) 2 F λwf where D is the pixel diameter, F is the F/# at the focal plane, and λ is the observation wavelength. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.5 Dielectric Absorption/Emission Absorption in an refractive optical element can be specified explicitly, or, if it is left as “NA,” it can be derived using the following equation (λ) = 1 − exp [−2πtn tan δ/λ] 4 More site profiles exist and can be added if requested. https://www.cfa.harvard.edu/~spaine/am/ 6 https://gmao.gsfc.nasa.gov/reanalysis/MERRA-2/ 5 8 (17) where t is the thickness of the substrate, n is the refractive index, tan δ is the loss tangent, and λ is the observation wavelength. This quantity is integrated over the observation band when calcuating the in-band optical power and signal attenuation referenced to the detector. 2.8.6 Reflector Absorption/Emission Absorption in a reflective optical element can be specified explicitly, or, if it is left as “NA,” it can be derived using the following equation r πνµ0 1 (ν) = 4 (18) σc Z0 p where ν is the observation frequency, µ0 is the permeability of free space, Z0 = µ0 /0 is the impedance of free space, and σc is the reflector conductivity at the reflector’s operating temperature. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.7 Ruze Scattering Scattering of a reflective or refractive optical element can be specified explicitly, or, if it is left as “NA,” it can be derived using Ruze’s equation " # 4πσr 2 δ(λ) = exp (19) λ where σr is the RMS surface roughness of the optical element and λ is the observation wavelength. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.8 Efficiency Efficiency can be defined explicitly for any optic or detector by passing a band file (see Section ?? and ?? for more details about band files). However, if a band file is not passed, efficiency is derived using the following equation η(ν) = 1 − r(ν) − (ν) − β − δ (20) where r(ν) is the reflection, (ν) is the dielectric absorption, β is the spillover coefficient, and δ is the scattering coefficient. This quantity is integrated over the observation band when calculating the in-band optical power and signal attenuation referenced to the detector. 2.8.9 Pixel Elevation In order to calculate the expected loading on each detector, we need to know the elevation of its projected detector pixel on the sky. This is calculated as the sum of the telescope boresight elevation, the camera boresight elevation w.r.t. telescope boresight, and the pixel elevation w.r.t. camera boresight. Therefore, the pixel elevation is given by θelv = θtel + θcam + θpix 9 (21) 2.8.10 Saturation Power Factor BoloCalc has an option to set saturation power Psat (see Section ?? for more details) as a fraction of the optical power (as defined in Equation ??) if the parameter “Saturation Power” is set to “NA” Psat = Popt × fpsat (22) where fpsat is the saturation power factor. 2.8.11 Operating Temperature Fraction BoloCalc has an option to set the operating temperature Toper (see Section ?? for more details) as a fraction of the camera base temperature Tbase if the parameter “Tc” is set to “NA” Toper = Tbath × foper (23) where foper is the operating temperature fraction. 2.8.12 Fractional Readout Noise BoloCalc has an option to set readout noise not explicitly but instead as a fractional increase on the total NEP. If either Rbolo or NEI from Equation ?? are “NA,” and if the parameter “Read Noise Frac” is not “NA” in the channels.txt file (see Section ?? for more detail), then the following equation is used to calculate readout noise: q p 2 + N EP 2 N EPread = (1 + ∆read )2 − 1 × N EPph (24) g where ∆read is the fractional increase in the total NEP due to readout noise. 2.8.13 Number of Detectors The number of total detectors in a given channel Ndet is determined by the number of detectors per wafer Ndet/waf , the number of wafers per optics tube (or equivalently, per camera) Nwaf/OT , and the number of optics tubes per telescope NOT . Ndet = Ndet/waf × Nwaf/OT × NOT 3 (25) Defining an Experiment BoloCalc has a modular object-oriented structure, which allows for arbitrary mixtures of sites, telescopes, cameras, optics, focal planes, and detectors. A BoloCalc project has the parent-child structure shown in Figure ?? and is built with four layers: experiments, telescopes, cameras, and channels, which are defined in Tab. ??. Each experiment can have an arbitrary set of telescopes (at different sites), each telescope an arbitrary set of cameras, and each camera an arbitrary set of channels. 10 Layer Definition Experiment Telescope An assemblage of CMB telescopes. A platform that carries and points one or more cameras. It observes at a specified site with a specified observation strategy and can include warm reflectors. A cryostat that houses cryogenic optics, filters, and detectors. Multiple cameras can be mounted on the same telescope. A frequency band observed by some set of detectors within a camera. A multichroic camera will have multiple channels. Camera Channel Table 1: Definitions of the layers used to build a BoloCalc project. BoloCalc Project Layer 1 Experiment • Foreground params Layer 2 Telescope 1 … • Atmosphere at site 1 Telescope N • Atmosphere at site N • Boresight Eleva7on PDF N • Boresight Eleva7on PDF 1 Layer 3 Camera 1.1 • F/# 1.1 • Op7cal stack 1.1 • Focal Plane Temp 1.1 • Pixel Elev PDF 1.1 … Camera 1.M1 Camera N.1 • F/# 1.M1 • Op7cal stack 1.M1 • Focal Plane Temp 1.M1 • Pixel Elev PDF 1.M1 • F/# N.1 • Op7cal stack N.1 • Focal Plane Temp N.1 • Pixel Elev PDF N.1 … Camera N.MN • F/# N.MN • Op7cal stack N.MN • Focal Plane Temp N.MN • Pixel Elev PDF N.MN Layer 4 Channel 1.1.1 • Detector Band 1.1.1 • Detector Params 1.1.1 • Op7cal Params 1.1.1 Channel N.1.1 • Detector Band N.1.1 • Detector Params N.1.1 • Op7cal Params N.1.1 Channel 1.M1.P1M1 Channel N.1.PN1 • Detector Band 1.M1.P1M1 • Detector Params 1.M1.P1M1 • Op7cal Params 1.M1.P1M1 • Detector Band N.1.PN1 • Detector Params N.1.PN1 • Op7cal Params N.1.PN1 Channel N.MN.1 • Detector Band N.MN.1 • Detector Params N.MN.1 • Op7cal Params N.MN.1 … … … … Channel 1.1.P11 • Detector Band 1.1.P11 • Detector Params 1.1.P11 • Op7cal Params 1.1.P11 Channel 1.M1.1 • Detector Band 1.M1.1 • Detector Params 1.M1.1 • Op7cal Params 1.M1.1 Channel N.MN.PNMN • Detector Band N.MN.PNMN • Detector Params N.MN.PNMN • Op7cal Params N.MN.PNMN Figure 2: Layout of a BoloCalc project. 3.1 Experiment Directory Layout The experiment directory is meant to be easily generalizable to various kinds of experiments and telescopes. For information about how experiments are stored within the BoloCalc/Experiments/ directory, see Section ??. Below is an overview of the file structure within an experiment directory. Each layer of an experiment has several parameters that define the input experiment. In this section, we go through them by input file. 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 BoloCalc / Experiements /[ Experiment Name ]/[ Experiment Design ] | - - config | | - - foregrounds . txt | - - Telescope1 / | | - - config / | | | - - telescope . txt | | | - - elevation . txt | | | - - [ Custom Atmospheric Profile ] ( optional ) | | - - Camera1 / | | | - - config / | | | - - camera . txt | | | - - channels . txt | | | - - optics . txt | | | - - elevation . txt | | | - - Bands / | | | - - [ Optic Band File 1] ( optional ) | | | - - [ Optic Band File 2] ( optional ) | | | - - ... | | | - - [ Detector Band File 1] ( optional ) | | | - - [ Detector Band File 2] ( optional ) | | | - - ... | | - - Camera2 / | | - - ... | - - Telescope2 / | - - ... As stated in Section ??, an experiment definition has four layers: 1. Experiment (Layer 1) • Composed of (multiple) telescopes • All telescopes in a given experiment see the same galactic foregrounds 2. Telescopes (Layer 2) • Composed of (multiple) cameras • All cameras in a given telescope see the same atmosphere • All cameras in a given telescope have the same scan strategy 3. Cameras (Layer 3) • Composed of (multiple) frequency channels • All frequency channels in a given camera have the same camera parameters • All frequency channels in a given camera see the same optical chain 4. Channels (Layer 4) • Each channel has independent detector and optical element parameters These layers allow telescopes to added to an experiment in an arbitrary location, each with arbitrary cameras, each with arbitrary frequency channels. 3.2 Parameter Definitions All parameters in BoloCalc are defined with a central value and an error bar. Therefore, all parameter variation is assumed to have an underlying Gaussian distribution, and all parameters are assumed to be uncorrelated. Parameters defined foregrounds.txt, telescope.txt, camera.txt, and channels.txt have the following format: 1 Mean +/ - Std Dev The following formatting rules should be followed for the code to work robustly and the tables to render neatly: 12 1. All central values and standard deviations should have five characters. For instance, 1.000 and 10.00 are valid, while 10.000 is not. 2. All central values and standard deviations should be separated by +/- , noting the spaces on either side of the +/− sign. Parameters defined in optics.txt are defined for multiple bands in multi-chroic cameras and therefore follow a different format: 1 [ Mean for Band 1 , Mean for Band 2 , ...] +/ - [ Std Dev for Band 1 , Std Dev for Band 2 , ...] In a similar way as with the single values, the following formatting rules should be followed for the code to work robustly and the tables to render neatly: 1. All central values and standard deviations should have five characters. For instance, 1.000 and 10.00 are valid, while 10.000 is not. 2. All arrays of central values and arrays of standard deviations should be separated by +/- , noting the spaces on either side of the +/− sign 3.3 Experiment Parameters (Layer 1) The experiment is comprised of an arbitrary set of telescopes, which are assumed to see the same the same celestial loading, including power from the CMB and galactic foregrounds. 3.3.1 foregrounds.txt The below list overviews the parameters defined in [Experiment Name]/[Experiment Version]/config/foregrounds.txt, the file that defines the galaxy through which the telescope must observe the CMB. This galactic parameters will be the same for all telescopes. • Synchrotron Spec Index ◦ Definition: “ns ” in Equation ?? ◦ Description: Spectral index of the synchrotron power law spectrum ◦ Allowed Values: Floating point value between (−∞, +∞] ◦ Default Value: 2 × 10−3 +/- 0 × 10−3 • Synchrotron Amplitude ◦ Definition: “As ” in Equation ?? ◦ Description: Amplitude of the synchrotron power law spectrum ◦ Allowed Values: Floating point value between (0.0, +∞) W/Hz ◦ Default Value: 6 × 103 +/- 0 × 103 W/Hz • Dust Temperature ◦ Definition: “Td ” in Equation ?? ◦ Description: Dust modified blackbody temperature ◦ Allowed Values: Floating point value between (0.0, +∞) K ◦ Default Value: 19.70 +/- 0.00 K • Dust Spec Index ◦ Definition: “nd ” in Equation ?? ◦ Description: The spectral index of the dust modified blackbody spectrum ◦ Allowed Values: Floating point value between (−∞, +∞) 13 ◦ Default Value: 1.50 +/- 0 • Dust Amplitude ◦ Definition: “Ad ” in Equation ?? ◦ Description: Amplitude of the dust modified blackbody spectrum ◦ Allowed Values: Floating point value between (0.0, +∞) ◦ Default Value: 2 × 10−3 +/- 0 × 10−3 • Dust Scale Frequency ◦ Definition: “νd ” in Equation ?? ◦ Description: Scale frequency for the dust modified blackbody spectrum ◦ Allowed Values: Floating point value between (0.0, +∞) ◦ Default Value: 353.0 +/- 0.0 GHz 3.4 Telescope Parameters (Layer 2) The following sections overview the input parameters for each of the telescope input files. 3.4.1 telescope.txt The below list overviews the parameters defined in telescope.txt. These parameters are used to define the site, atmospheric profile, and patch coverage parameters for the telescope. • Site ◦ Description: Site at which the telescope observes, which defines the atmospheric conditions. ◦ Allowed Values: Either “Atacama” or “Pole” ◦ Default Value: “Atacama” • Elevation ◦ Definition: θtel defined in ?? ◦ Description: Elevation at which the telescope observes. ◦ Allowed Values: [20.0, 90.0] deg above the horizon ◦ Default Value: 50.0 +/- 0.0 deg ◦ If “NA,” the elevation distribution defined in Telescope/config/elevation.txt, will be assumed. • PWV ◦ Description: Precipitable water vapor of the atmosphere through which the telescope observes. ◦ Allowed Values: [0.0, 8.0] mm ◦ Default Value: 1.0 +/- 0.0 mm ◦ If “NA,” the PWV distribution defined in Telescope/config/pwv.txt, will be assumed. • Observation Time ◦ Definition: tobs in Equation ?? ◦ Description: How long this telescope will observe ◦ Allowed Values: Floating point value between (0.0, +∞) years ◦ Default Value: 3.0 +/- 0.0 • Sky Fraction ◦ Definition: fsky in Equation ?? ◦ Description: What fraction of the sky this telescope will observe ◦ Allowed Values: Floating point value between (0.0, 1.0] ◦ Default Value: 0.7 +/- 0.0 14 • Observation Efficiency ◦ Definition: ηobs in Equation ?? ◦ Description: What fraction of the observation time will the telescope be actually observing ◦ Allowed Values: Floating point value between (0.0, 1.0] ◦ Default Value: 0.8 +/- 0.0 • NET Margin ◦ Definition: M in Equation ?? ◦ Description: Agnostic factor which multiplies the detector NETs for this telescope ◦ Allowed Values: Floating point value between (0.0, +∞) ◦ Default Value: 1.0 +/- 0.0 3.4.2 elevation.txt elevation.txt is an optional file that defines the elevation probability distribution function (PDF), which is determined by the scan strategy of the telescope. The first column is the elevation above the horizon in degrees, and the second column is the fraction of time spent at that elevation. This file is only used if the parameter “Elevation” in Telescope/config/telescope.txt is defined to be “NA” (see Section ?? for more information about telescope.txt). The probabilities should add up to one, and if they do not, the fraction will be determined by the provided probability divided by the sum of the provided probabilities. Below is a made-up example for elevation.txt. Notice that each row is separated by a commented line of hyphens, while each column is separated by a vertical bar. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #***** Elevation Distribution ****** # Elevation | Probability #--------------------------[ deg ] | NA #--------------------------30.0 | 0.100 #--------------------------40.0 | 0.100 #--------------------------50.0 | 0.300 #--------------------------60.0 | 0.400 #--------------------------70.0 | 0.100 #--------------------------- 3.4.3 pwv.txt pwv.txt is an optional file that defines the precipitable water vapor (PWV) probability distribution function (PDF), which is determined by the weather conditions at the observation site. The first column is the PWV in mm, and the second column is the fraction of time spent at that PWV value. This file is only used if the parameter “PWV” in Telescope/config/telescope.txt is defined to be “NA” (see Section ?? for more information about telescope.txt). The probabilities should add up to one, and if they do not, the fraction will be determined by the provided probability divided by the sum of the provided probabilities. Below is a made-up example for pwv.txt. Notice that each row is separated by a commented line of hyphens, while each column is separated by a vertical bar. 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #***** Site PWV Distribution ****** # PWV | Probability #--------------------------[ mm ] | NA #--------------------------0.200 | 0.100 #--------------------------0.400 | 0.100 #--------------------------0.600 | 0.200 #--------------------------0.800 | 0.200 #--------------------------1.000 | 0.100 #--------------------------1.200 | 0.100 #--------------------------1.400 | 0.100 #--------------------------1.600 | 0.100 #--------------------------- 3.4.4 atm.txt There is an option to override the code’s handling of the atmosphere by providing a custom atmospheric profile. The atmosphere file must be in [Telescope Name]/config/, and the filename must have the form atm [Elevation]deg [PWV]um.txt. For example, a valid filename is atm 60deg 1000um.txt. The atmosphere file should have four columns, delimited by white space: 1. 2. 3. 4. 1 Column Column Column Column 1: 2: 3: 4: Frequency [GHz] Optical Depth Planck Temperature [K] Transmission | Frequency [ GHz ] | Optical Depth | Planck Temp [ K ] | Transmission | Note that the temperature is in Planck units, not Rayleigh-Jeans. The passed frequency range in the atmosphere file needs to be large enough to cover the frequency bands observed by the telescope—which are defined in the “channels.txt” and “Bands/” files at the camera directory level (see Section ?? and Section for more details)—with at least a 15% buffer on the bandwidths of the highest and lowest bands. For instance, if your detector bands range from 240 to 300 GHz, your atmosphere file should have values that go from at least 205 to 345 GHz. Below is an example of an atmospheric profile generated using the AM simulation code and a configuration file designed using the 10-year MERRA dataset for the Chajnantor Observatory. 1 2 3 4 5 6 7 8 9 1.0000000 e +01 1.0020000 e +01 1.0040000 e +01 1.0060000 e +01 1.0080000 e +01 1.0100000 e +01 1.0120000 e +01 1.0140000 e +01 1.0160000 e +01 3.664259 e -03 3.667538 e -03 3.671011 e -03 3.674741 e -03 3.678826 e -03 3.683414 e -03 3.688744 e -03 3.695220 e -03 3.703583 e -03 3.589557 e +00 3.590339 e +00 3.591163 e +00 3.592043 e +00 3.593001 e +00 3.594069 e +00 3.595301 e +00 3.596788 e +00 3.598698 e +00 9.963424 e -01 9.963392 e -01 9.963357 e -01 9.963320 e -01 9.963279 e -01 9.963234 e -01 9.963181 e -01 9.963116 e -01 9.963033 e -01 16 10 11 12 1.0180000 e +01 3.715317 e -03 3.601374 e +00 9.962916 e -01 1.0200000 e +01 3.733976 e -03 3.605660 e +00 9.962730 e -01 ... 3.5 Camera Parameters (Layers 3 and 4) In the following sections, we will overview the input parameters for each of the camera input files. 3.5.1 camera.txt camera.txt defines parameters that are the same for all frequency bands observed with this camera. The file must be located within [Telescope Name]/[Camera Name]/config/. • Boresight Elevation ◦ Definition: θcam in Equation ??. ◦ Description: The elevation of the camera boresight with respect to the telescope boresight. ◦ Allowed Values: Floating point value between (-40.0, 40.0] deg ◦ Default Value: 0.0 +/- 0.0 deg • Optical Coupling ◦ Definition: ξ in Equation ??. ◦ Description: A parameter that quantifies the SNR degradation associated with how well the far-field image couples to the detector pixels on the focal plane. ◦ Allowed Values: Floating point value between (0.0, 1.0] ◦ Default Value: 1.0 +/- 0.0 • F-number ◦ Definition: F in Equation ??. ◦ Description: The focal ratio at the focal plane ◦ Allowed Values: Floating point value between (0.0, +∞) ◦ Default Value: 2.5 +/- 0.0 • Bath Temp ◦ Definition: Tbath in Equation ??. ◦ Description: The temperature of the focal plane ◦ Allowed Values: Floating point value between (0.0, +∞) K ◦ Default Value: 0.100 +/- 0.000 K 3.5.2 elevation.txt elevation.txt is an optional file that defines the elevation distribution with respect to the camera boresight of pixels on the focal plane. This file sets the value for θelv defined in equation ??. This pixel elevation distribution file has the exact same structure as the file Telescope/config/elevation.txt, which instead defines the scan strategy and is described in section ??. The first column is the elevation above the horizon in degrees, and the second column is the fraction if time spent at that elevation. This file is only used if the parameter “Elevation” in Telescope/config/elevation.txt is defined to be “NA” (see Section ?? for more information about telescope.txt). The probabilities should add up to one, and if they don not, the fraction will be determined by the provided probability divided by the sum of the provided probabilities. Below is a made-up example of correct formatting for elevation.txt. Notice that each row is separated by a commented line of hyphens, while each column is separated by a vertical bar. 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #***** Elevation Distribution ****** # Elevation | Probability #--------------------------[ deg ] | NA #--------------------------30.0 | 0.100 #--------------------------40.0 | 0.100 #--------------------------50.0 | 0.300 #--------------------------60.0 | 0.400 #--------------------------70.0 | 0.100 #--------------------------- 3.5.3 channels.txt channels.txt defines the parameters of the frequency bands and detectors that are observing in this camera. The file must be located within [Telescope Name]/[Camera Name]/config/. • Band ID ◦ Description: The identification number for this band. ◦ Allowed Values: An integer value between [1, +∞) ◦ Default Value: 1 ◦ Cannot have two bands with same Band ID on the same pixel • Pixel ID ◦ Description: The identification number for the pixel this band observes from ◦ Allowed Values: An integer value between [1, +∞) ◦ Default Value: 1 ◦ Cannot have two bands with same Band ID on the same pixel • Band Center ◦ Definition: νc in Equation ??. ◦ Description: The central frequency for this band. ◦ Allowed Values: A floating point value between (0.0, +∞) GHz ◦ Default Value: [90, 150] +/- [0, 0] GHz • Fractional BW ◦ Definition: fBW in Equation ??. ◦ Description: Fractional arithmetic bandwdith for this band ◦ Allowed Values: A floating point value between (0.0, 2.0] ◦ Default Value: [0.350, 0.275] +/- [0.000, 0.000] • Pixel Size ◦ Definition: D in Equation ??. ◦ Description: Size of the pixel via which this band is observing ◦ Allowed Values: A postive floating point value between (0.0, +∞) mm ◦ Default Value: 6.8 +/- 0.0 mm • Num Det per Wafer ◦ Definition: Ndet/waf in Equation ?? ◦ Description: Number of detectors per wafer within this band ◦ Allowed Values: An integer value between [1, +∞) 18 • • • • • • • • • ◦ Default Value: 542 Num Waf per OT ◦ Definition: Nwaf/OT in Equation ??. ◦ Description: Number of wafers with this band per camera. ◦ Allowed Values: An integer value between [1, +∞) ◦ Default Value: 7 Num OT ◦ Definition: NOT in Equation ??. ◦ Description: Number of cameras in this telescope observing at this frequency. ◦ Allowed Values: An integer value between [1, +∞) ◦ Default Value: 1 Waist Factor ◦ Definition: wf in Equation ??. ◦ Description: The ratio of the Gaussian beam waist coming from the pixel aperture to the pixel aperture diameter for this band. ◦ Allowed Values: A floating point value between [2.0, +∞) ◦ Default Value: 3.0 +/- 0.0 Det Eff ◦ Definition: ηdet in Equation ??. ◦ Description: Efficiency of the detector from the entry point of the pixel aperture to the bolometer. ◦ Allowed Values: A floating point value between (0.0, 1.0] ◦ Default Value: 0.700 +/- 0.000 Psat ◦ Definition: Psat in Equation ??. ◦ Description: Saturation power of the bolometer. ◦ Allowed Values: A floating point value between (0.0, +∞] pW ◦ Default Value: “NA” ◦ If “NA,” use Equation ?? to calculate Psat Psat Factor ◦ Definition: fpsat in Equation ??. ◦ Description: Safety factor used to caculate saturation power from optical power ◦ Allowed Values: A floating point value between (0.0, +∞) ◦ Default Value: 3.0 +/- 0.0 ◦ If “Psat” is not “NA,” this parameter is ignored. Carrier Index ◦ Definition: n in Equations ?? and ??. ◦ Description: Thermal carrier index for bolometer leg conductivity ◦ Allowed Values: A floating point value between (0.0, +∞) ◦ Default Value: 2.7 +/- 0.0 Tc ◦ Definition: Toper in Equations ??, ??, and ??. ◦ Description: Bolometer operating temperature ◦ Allowed Values: A floating point value between (0.0, +∞) K ◦ Default Value: 0.165 +/- 0.000 K ◦ If “NA,” use Equation ?? to calculate operating temperature. Tc Fraction ◦ Definition: foper in Equation ??. 19 • • • • 3.5.4 ◦ Description: Factor used to calculate transition temperature from the bath temperature ◦ Allowed Values: A floating point value between (1.0, +∞) ◦ Default Value: “NA” ◦ If “Tc” is not “NA,” this parameter is ignored. Yield ◦ Definition: Y in Equation ??. ◦ Description: Fraction of deployed detectors that are observing. This is also commonly referred to as “end-to-end” yield. ◦ Allowed Values: A floating point value between (0.0, 1.0] ◦ Default Value: 0.7 +/- 0.0 SQUID NEI ◦ Definition: NEI in Equation ??. ◦ Description: SQUID noise equivalent current. √ ◦ Allowed Values: A floating point value between (0.0, +∞) pA/ Hz ◦ Default Value: “NA” ◦ If “NA,” use Equation ?? to calculate readout noise NEPread Bolo Resistance ◦ Definition: Rbolo in Equation ??. ◦ Description: Bolometer operating resistance. ◦ Allowed Values: A floating point value between (0.0, +∞) Ω ◦ Default Value: “NA” ◦ If “NA,” use Equation ?? to calculate readout noise NEPread Read Noise Frac ◦ Definition: ∆read in Equation ??. ◦ Description: Fraction of the total NEP that is due to readout noise. ◦ Allowed Values: A floating point value between [0.0, +∞) ◦ Default Value: 0.1 +/- 0.0 ◦ If “SQUID NEI” and “Bolo Resistance” are not “NA,” this parameter is ignored. optics.txt optics.txt defines the parameters the frequency bands and detectors that are observing in this camera. The file must be located within [Telescope Name]/[Camera Name]/config/. • Element ◦ Description: Name of optical element ◦ Allowed Values: Any string ◦ Default Value: “Element” ◦ RESERVED NAMES: “Primary,” “Mirror,” “Aperture,” and “Stop” trigger additional calculations and therefore must be used purposefully • Temperature ◦ Definition: Ti in Equation ??. ◦ Description: Temperature of the optical element ◦ Allowed Values: An floating point value between (0.0, +∞) K ◦ Default Value: 4 +/- 0 K • Absorption ◦ Definition: i in Equation ??. ◦ Description: Fractional power attenuation/emission due to absorption within the optical element 20 • • • • • • • ◦ Allowed Values: A floating point value between [0.0, 1.0) ◦ Default Value: 0.000 +/- 0.000 ◦ If “NA” ... ∗ If “Mirror” or “Primary” is in “Element,” Equation ?? is used to calculate ohmic losses in the reflective optical element. ∗ If “Mirror” or “Primary” is not in “Element,” Equation ?? is used to calculate dielectric loss in the refractive optical element. Reflection ◦ Definition: r in Equation ??. ◦ Description: Fractional power lost due to reflection at the optical element. ◦ Allowed Values: A floating point value between [0.0, 1.0) ◦ Default Value: 0.000 +/- 0.000 ◦ If “NA,” Equation ?? is used to calculate reflection loss Thickness ◦ Definition: t in Equation ?? ◦ Description: Thickness of the optical element ◦ Allowed Values: A floating point value between (0.0, +∞) mm ◦ Default Value: “NA” ◦ If “Mirror” or “Primary” is in “Element,” this parameter is ignored ◦ If “Absorption” is not “NA,” this parameter is ignored Index ◦ Definition: n in Equation ??. ◦ Description: Index of refraction of the optical element. ◦ Allowed Values: A floating point value between [1.0, +∞) ◦ Default Value: “NA” ◦ If “Mirror” or “Primary” is in “Element,” this parameter is ignored ◦ If “Absorption” is not “NA,” this parameter is ignored Loss Tangent ◦ Definition: tan δ in Equation ??. ◦ Description: Loss tangent of the optical element. ◦ Allowed Values: A floating point value between [0.0, +∞) ◦ Default Value: “NA” ◦ If “Mirror” or “Primary” is in “Element,” this parameter is ignored ◦ If “Absorption” is not “NA,” this parameter is ignored Conductivity ◦ Definition: σc in Equation ??. ◦ Description: Electrical conductivity of the optical element. ◦ Allowed Values: A floating point value between (0.0, +∞) ◦ Default Value: “NA” ◦ If “Mirror” or “Primary” is not in “Element,” this parameter is ignored ◦ If “Absorption” is not “NA,” this parameter is ignored Scatter Frac ◦ Definition: δi in Equation ??. ◦ Description: Fractional power lost due to scattering. ◦ Allowed Values: A floating point value between [0.0, 1.0] ◦ Default Value: “NA” ◦ If “NA,” Equation ?? is use to calculate scattering loss. Surface Rough 21 ◦ Definition: σr in Equation ??. ◦ Description: Surface roughness of the optical element. ◦ Allowed Values: A floating point value between [0.0, +∞) ◦ Default Value: “NA” ◦ If “Scatter Frac” is not “NA,” this parameter is ignored. ◦ If “NA” and “Scatter Frac” is “NA,” scattering is assumed to be zero. • Scatter Temp ◦ Definition: Tδ;i in Equation ??. ◦ Description: The effective temperature that the scattered power lands on. ◦ Allowed Values: A floating point value between [0.0, +∞) ◦ Default Value: “NA” ◦ If “NA,” scattered power is assumed to land at “Temperature,” the temperature of the optical element itself • Spillover ◦ Definition: βi in Equation ??. ◦ Description: Fractional power that spills over the optical element. ◦ Allowed Values: A floating point value between [0.0, 1.0) ◦ Default Value: “NA” ◦ If “NA,” spillover is assumed be zero • Spillover Temp ◦ Definition: Tβ;i in Equation ??. ◦ Description: The effective temperature that the spilled power lands on. ◦ Allowed Values: A floating point value between [0.0, +∞) ◦ Default Value: “NA” ◦ If “NA,” spillover is assumed to land at “Temperature,” the temperature of the element itself 3.6 Custom Bands By default, BoloCalc assumes top hat bands for all detectors and optical elements, whose height is determined soley by the mean and standard deviation of the end-to-end optical efficiency. However, custom bands can be input for any optical element. The general file format for all band files is the same: 1 | Frequency [ GHz ] | Mean Efficiency | Standard Deviation ( optional ) | Each column is separated by a vertical bar, and the final column, which contains the error bars, can be omitted. If only two columns are present, all stand deviations are assumed to be zero. An example of a made-up detector bandpass text file, which is space-delimited, is shown below: 1 2 3 4 5 6 7 8 9 10 70. 75. 80. 85. 90. 100. 105. 110. 115. 120. 0.000 0.500 0.700 0.650 0.700 0.800 0.600 0.700 0.500 0.000 0.000 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.000 22 3.6.1 Detectors Detector band files are stored in 1 [ Telescope Name ]/[ Camera Name ]/ config / Bands / Detectors / The band is identified using its filename, which must have the format [Camera Name][Band ID].txt for text files, or [Camera Name][Band ID].csv for comma-separated value files; both file formats work equally well. For example, to load a text file for a camera named “MF” (in the directory [Telescope Name]/MF/ and a Band ID “1,” the file name should be MF1.txt. Note that for a multi-chroic camera, there should be multiple band files, one for each frequency channel. 3.6.2 Optics Optics band files are stored in 1 [ Telescope Name ]/[ Camera Name ]/ config / Bands / Optics / The band is identified using its filename, which must have the format [Optical Element Name].txt for text files, or [Optical Element Name].csv for comma-separated value files; both file formats work equally well. For example, to load a text file for an optical element named “Lens1,” the file name should be Lens1.txt. Note that there is only one band file for optical elements, even in multi-chroic cameras, as all detectors are all frequencies see the same bandpass. Also note that you can apply the same band to multiple optical elements by duplicating matching names in optics.txt. 3.7 Default Bands If no custom bands are defined, BoloCalc assumes a top-hat band function, which is determined by the detector bandpass. 3.7.1 Detectors If no custom detector bandpass is provided, then a top-hat band is assumed with an overall efficiency factor for the detector ηdet ηdet if νlo ≤ ν ≤ νhi B(ν) = , (26) 0 otherwise where the high and low band edges are defined as fBW fBW νlo = νc 1 + ; νhi = νc 1 − 2 2 (27) where νc is the band central frequency and fBW is the fractional bandwidth. 3.7.2 Optics If no custom bandpass is provided for an optical element i, then the bandpass is assumed to be a top-hat with an overall efficiency factor defined in Equation ?? ηi if νlo ≤ ν ≤ νhi B(ν) = (28) 0 otherwise 23 If a custom detector bandpass is defined, then the frequency range covered νlo to νhi are the highest and lowest frequencies defined in the custom band. Otherwise, νlo and νhi are set by Equation ??. 4 Monte Carlo Simulation BoloCalc has two executables mappingSpeed.py and mappingSpeed vary.py that, when run, use independent sampling of all parameters using the Monte Carlo (MC) method to generate NET distributions from variations in the underlying instrument parameters. For information on how to run the executables, see Sections ?? and ??. The MC simulation iterates using a nest of the following structure: • Nexp Experiment realizations ◦ Nobs Observations per experiment realization ∗ Ndet Detector realizations per observation 4.1 Simulation Inputs Simulation inputs are stored in the file BoloCalc/config/simulationInputs.txt. An example of the file is shown in Figure ??. Below, we define the parameters for the simulation explicitly. Figure 3: Example of simulation input file simulationInputs.txt • Multiprocess ◦ Description: Whether or not to use multiprocessing to calculate statistics in parallel ◦ Allowed Values: “True” or “False” ◦ Default Value: “False” • Cores ◦ Description: Number of cores to pool for parallel processing ◦ Allowed Values: Positive integer between [1, +∞) ◦ Default Value: 1 • Verbosity 24 • • • • • • 4.2 ◦ Description: Logging verbosity. 2 to print all logging output, 1 to print some output, 0 to print little output ◦ Allowed Values: Integer between [0, 2] ◦ Default Value: 1 Experiments ◦ Description: Number of experiment realizations to Monte Carlo; each time an experiment is MC-ed, its foreground, telescope, camera, and optical parameters are re-sampled. ◦ Allowed Values: Positive integer [1, +∞) ◦ Default Value: 1 ◦ If 1, assume central value (i.e. ignore the spread) for all parameters set by the experiment realization. Observations ◦ Description: Number of independently observations, which draw the PWV and telescope boresight elevation from the distributions defined in Telescope/config/pwv.txt and Telescope/config/elevation.txt. ◦ Allowed Values: Positive integer [1, +∞) ◦ Default Value: 1 Detectors ◦ Description: Number of independently-sampled detector parameters defined in channels.txt per observation. ◦ Allowed Values: Positive integer [1, +∞) ◦ Default Value: 1 ◦ If 1, assume central value for all detector parameeters Resolution ◦ Description: Frequency resolution assumed in the simulation. ◦ Allowed Values: A positive floating-point value between (0.0, 20.0] GHz ◦ Default Value: 0.1 ◦ Reducing the resolution can have a dramatic impact on the speed of the MC simulations. Foregrounds ◦ Description: Whether or not to include foregrounds in the estimate of the optical loading. ◦ Allowed Values: “True” or “False” ◦ Default Value: “False” ◦ Celestial loading doesn’t have a noticeable impact on ground-based telescopes but can be important for satellite experiments. Correlations ◦ Description: Whether to impose white noise correlations when calculating array NET ◦ Allowed Values: “True” or “False” ◦ Default Value: “True” ◦ This switch is useful for computing the impact of white-noise correlations on array NET. Parameter Variation mappingSpeed vary.py calculates the NET distribution using the MC method for a set of experiment configurations defined by the variation in user-defined parameters, which are defined in BoloCalc/config/paramsToVary.txt. An example of the paramsToVary.txt file is shown in Figure ??. Parameters are defined by row and have the following descriptors, which are organized by column: 25 • Column 1: Telescope in which the parameter is defined ◦ Leave blank if the parameter is defined in config/foregrounds.txt • Column 2: Camera in which the parameter is defined ◦ Leave blank if the parameter is defined in Tel/config/telescope.txt • Column 3: Channel for which the parameter is defined ◦ Leave blank if the parameter is defined in Cam/config/camera.txt of if Column 2 is blank. • Column 4: Optic for which the parameter is defined ◦ Leave blank unless the parameter is defined in Cam/config/optics.txt • Column 5: Parameter name, as displayed in the input text files • Column 6: Minimum parameter value to be calculated • Column 7: Maximum parameter value to be calculated • Column 8: Step size with which the parameter will be calculated over the range [Minimum, Maximum] The user can define as many simultaneous parameter variations as desired, and mappingSpeed vary.py will calculate the NET distribution for all combinations of those parameters. The results are then stored in [ExperimentDesign]/config/paramVary/. For more information regarding the contents of the output files, see Section ??. 5 Output Files Running mappingSpeed.py and/or mappingSpeed vary.py generates several output files, which quantify the performance of the simulated experiment. In this section, we go through the layout of the output files as well as their contents. 5.1 Sensitivity Tables BoloCalc produces tables of outputs related to the white noise performance of the instrument. All sensitivity tables are in files named sensitivity.txt, and there are multiple tables generated at multiple directory tree levels, describing the performance of the camera, telescope, and entire experiment. 5.1.1 [ExperimentDesign]/sensitivity.txt When mappingSpeed.py is run, it generates the following parameters in the file [ExperimentDesign]/sensitivity.txt: • Chan ◦ Description: Frequency channel name [Camera Name][Band ID] • Frequency ◦ Definition: νc in Equation ?? ◦ Description: Central frequency of the frequency channel • Frac Bandwidth ◦ Definition: fBW in Equation ?? ◦ Description: Fractional bandwidth of frequency channel • Num Det ◦ Definition: Ndet in Equation ?? ◦ Description: Total number of detectors deployed in this frequency channel, combined for all telescopes within the experiment 26 • Array NET ◦ Definition: NETarr in Equation ?? ◦ Description: Array-averaged noise-equivalent CMB temperature of this frequency channel, combined for all telescopes within the experiment • Mapping Speed ◦ Definition: MS in Equation ?? ◦ Description: Mapping speed of this frequency channel, combined for all telescopes within the experiment • Map Depth ◦ Definition: σs in Equation ?? ◦ Description: Map depth achieved by this frequency channel, combined for all telescopes within the experiment Note that if identical band names are shared between telescopes and/or cameras, the detectors are combined in this table, with the combined Array NET of that combined band is found by taking the inverse-variance average of the duplicated bands. Figure ?? shows an example of sensitivity.txt at the Experiment directory level, using the provided ExampleExperiment/V0/ configuration. Figure 4: ExampleExperiment sensitivity at the experiment level. 5.1.2 [ExperimentDesign]/[Telescope]/sensitivity.txt When mappingSpeed.py is run, it generates the following parameters in the file [ExperimentDesign]/[Telescope]/sensitivity.txt: • Chan ◦ Frequency channel name [Camera Name][Band ID] • Frequency ◦ Definition: νc in Equation ?? ◦ Description: Central frequency of the frequency channel • Frac Bandwidth ◦ Definition: fBW in Equation ?? ◦ Description: Fractional bandwidth of frequency channel • Num Det ◦ Definition: Ndet in Equation ?? ◦ Description: Total number of detectors deployed in this frequency channel, combined for all cameras within the telescope • Array NET ◦ Definition: NETarr in Equation ?? 27 ◦ Description: Aarray-averaged noise equivalent temperature of this frequency channel, combined for all cameras within the telescope • Mapping Speed ◦ Definition: MS in Equation ?? ◦ Description: Mapping speed of this frequency channel, combined for all cameras within the telescope • Map Depth ◦ Definition: σs in Equation ?? ◦ Description: Map depth achieved by this frequency channel, combined for all cameras within the telescope Note that if identical band names are shared between cameras, the detectors are combined in this table, with the combined Array NET of that band is found by taking the inverse-variance average of the duplicated bands. Figure ?? shows an example of sensitivity.txt at the telescope directory level, using the provided ExampleExperiment/V0/ configuration. Figure 5: ExampleExperiment sensitivity at the telescope level. Note that for the simple, singletelescope design of ExampleExperiment, this file is identical to what is shown in Figure ??. 5.1.3 [ExperimentDesign]/[Telescope]/[Camera]/sensitivity.txt When mappingSpeed.py is run, it generates the following parameters in the file [ExperimentDesign]/[Telescope]/[Camera]/sensitivity.txt: • Chan ◦ Frequency channel name [Camera Name][Band ID] • Frequency ◦ Definition: νc in Equation ?? ◦ Description: Central frequency of the frequency channel • Frac Bandwidth ◦ Definition: fBW in Equation ?? ◦ Description: Fractional bandwidth of frequency channel • Num Det ◦ Definition: Ndet in Equation ?? ◦ Description: Total number of detectors deployed in this frequency channel within this camera • Lyot Efficiency ◦ Definition: ηstop in Equation ?? ◦ Description: Lyot stop spillover efficiency of the frequency channel • Optical Power 28 • • • • • • • • ◦ Definition: Popt in Equation ?? ◦ Description: Total optical power on detectors within this frequency channel Photon NEP ◦ Definition: NEPph in Equation ?? ◦ Description: Noise-equivalent power due to photon noise for detectors within this frequency channel Bolometer NEP ◦ Definition: NEPg in Equation ?? ◦ Description: Noise-equivalent power due to bolometer thermal carrier noise for detectors within this frequency channel Readout NEP ◦ Definition: NEPread in Equation ?? ◦ Description: Noise-equivalent power due to readout for detectors within this frequency channel Detector NEP q ◦ Definition: NEP2ph + NEP2g + NEP2read in Equation ?? ◦ Description: Total noise-equivalent power due to the combination of photon, thermal carrier, and readout noise for detectors within this frequency channel Detector NET ◦ Definition: NETdet in Equation ?? ◦ Description: Per-detector noise-equivalent temperature for detectors within this channel Array NET ◦ Definition: NETarr in Equation ?? ◦ Description: Array-averaged noise equivalent temperature of this frequency channel within this camera Mapping Speed ◦ Definition: MS in Equation ?? ◦ Description: Mapping speed of this frequency channel within this camera Map Depth ◦ Definition: σs in Equation ?? ◦ Description: Map depth achieved by this frequency channel within this camera for every frequency channel in the provided camera. Figure ?? shows an example of sensitivity.txt at the camera directory level. Note that this sensitivity file contains the most information about each individual channel. No combining of like channels happens at this low level. Figure 6: ExampleExperiment sensitivity at the camera level. 29 5.1.4 [ExperimentDesign]/paramVary/*.txt mappingSpeed vary.py saves three quantities7 to files within the directory BoloCalc/Experiments/[Experiment]/[ExperimentDesign]/paramVary/ • Optical power: mappingSpeedVary Popt [Tel] [Cam] [Channel] [Param].txt • Photon NEP: mappingSpeedVary NEPph [Tel] [Cam] [Channel] [Param].txt • Array NET: mappingSpeedVary NETarr [Tel] [Cam] [Channel] [Param].txt where [Tel] [Cam] [Channel] [Param] is a string that contains the specifier for every parameter varied in the calculation. For example, if we looped over the following two parameters • Telescope “Tel,” camera “Cam,” channel “1,” optic “Mirror,” Parameter “Spillover” • Telescope “Tel,” camera “Cam,” channel “1,” Parameter “Pixel Size” the Popt output file would have the filename 1 m a p p i n g S p e e d V a r y _ P o p t _ T e l _ C a m _ 1 _ M i r r o r _ S p i l l o v e r _ T e l _ C a m _ 1 _ P i x e l S i z e . txt An example of the Popt output file generated by running the provided example experiment, as described in Section ??, is shown in Figure ??. A similar file will be generated for photon NEP N EPph and array NET NETarr . As the example output shows, 5.2 Optical Power Table BoloCalc also outputs tables of optical powers, including the the following information in columns: • Element ◦ Name of optical element, as defined within optics.txt for this camera • Power from Sky ◦ Power incident on this optical element from the sky side • Power to Detect ◦ Power emitted from this optical element which is seen by the detector • Cumulative Eff ◦ Cumulative Efficiency between this optical element and the detector These values are useful for understanding how signal propagates to the detector through the telescope optical chain, as well as seeing what the major sources of parasitic loading are. 5.2.1 [ExperimentDesign]/[Telescope]/[Camera]/opticalPower.txt Optical powers are listed for each channel in the camera, formatted as one table per frequency. Figure ?? is an example optical power table for 7 More quantities can be added to this list upon request, or as needed. 30 Figure 7: ExampleExperiment optical tables for camera Cam in both of its bands. opticalTable.txt table is labeled by “[camera name] + [band name].” 31 Each
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 31 Page Mode : UseOutlines Author : Title : Subject : Creator : LaTeX with hyperref package Producer : pdfTeX-1.40.17 Create Date : 2018:06:29 23:11:19-07:00 Modify Date : 2018:06:29 23:11:19-07:00 Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) kpathsea version 6.2.2EXIF Metadata provided by EXIF.tools