diff --git a/docs/source/plans.rst b/docs/source/plans.rst new file mode 100644 index 0000000..e5d2f95 --- /dev/null +++ b/docs/source/plans.rst @@ -0,0 +1,13 @@ +===== +Plans +===== + +The observing site is represented by a ``Site``. + +.. code-block:: python + + stare = maria.get_plan(start_time='2022-02-10T06:00:00', + duration=60, + pointing_frame='az_el', + scan_center=(0, 90), + scan_pattern='stare') diff --git a/docs/source/supported-sites.rst b/docs/source/supported-sites.rst new file mode 100644 index 0000000..4ef6e34 --- /dev/null +++ b/docs/source/supported-sites.rst @@ -0,0 +1,40 @@ +=============== +Supported sites +=============== + ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| site | description | region | altitude (meters) | latitude (degrees) | longitude (degrees) | documentation | +| | | | | | | | ++=====================+==============================================================+==================+===================+====================+=====================+========================================================================+ +| hoagie_haven | Hoagie Haven | princeton | 62 | 40.3522 | -74.6519 | http://hoagiehaven.com/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| amundsen_scott | Amundsen–Scott South Pole Station (BICEP, SPT) | south_pole | 2835 | 0.0 | -90.0 | https://www.nsf.gov/geo/opp/support/southp.jsp | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| cerro_chajnantor | Cerro Chajnantor (CCAT, TAO) | chajnantor | 5600 | -22.9862 | -67.7422 | https://act.princeton.edu/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| cerro_toco | Cerro Toco (ACT, POLARBEAR, SO) | chajnantor | 5190 | -22.9586 | -67.7878 | https://act.princeton.edu/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| effelsberg | Effelsberg (ERT) | effelsberg | 319 | 50.5247 | 6.8828 | https://www.mpifr-bonn.mpg.de/en/effelsberg | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| green_bank | Green Bank Observatory (MUSTANG-2) | green_bank | 825 | 38.4331 | -79.8398 | https://greenbankobservatory.org | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| llano_de_chajnantor | Llano de Chajnantor (ALMA) | chajnantor | 5064 | -23.0294 | -67.7548 | https://www.almaobservatory.org/en/home/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| mauna_kea | Mauna Kea Observatory (JCMT) | mauna_kea | 4092 | 19.8228 | -155.477 | https://www.maunakeaobservatories.org/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| meerkat | Meerkat National Park (HERA, MeerKAT) | meerkat | 1075.0 | -30.7132 | 21.4431 | https://www.protectedplanet.net/555703705?locale=en | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| pic_de_bure | Pic de Bure (NOEMA) | pic_de_bure | 2552 | 44.6339 | 5.9079 | https://iram-institute.org/observatories/noema/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| pico_veleta | IRAM 30m telescope | pico_veleta | 2850 | 37.0662 | -3.39272 | https://iram-institute.org/observatories/30-meter-telescope/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| qitai | Qitai Radio Telescope | qitai | 1800 | 43.6011 | 89.6825 | https://en.wikipedia.org/wiki/Qitai_Radio_Telescope | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| sierra_negra | Sierra Negra (LMT) | sierra_negra | 4640 | 18.9858 | -97.3147 | http://lmtgtm.org/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| srt | Sardinia Radio Telescope (MISTRAL) | san_basilio | 600 | 39.4928 | 9.245 | https://en.wikipedia.org/wiki/Sardinia_Radio_Telescope | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| summit_station | Summit Station (Greenland Telescope) | summit_camp | 3216 | 72.5789 | -38.4596 | https://geo-summit.org/ | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ +| teide | Teide Observatory (QUIJOTE) | teide | 2390 | 28.3007 | -16.511 | https://www.iac.es/en/observatorios-de-canarias/teide-observatory | ++---------------------+--------------------------------------------------------------+------------------+-------------------+--------------------+---------------------+------------------------------------------------------------------------+ diff --git a/maria/noise/levels.py b/maria/noise/levels.py new file mode 100644 index 0000000..2263784 --- /dev/null +++ b/maria/noise/levels.py @@ -0,0 +1,52 @@ +import numpy as np +import pandas as pd + + +class ReadOutBLIPs: + """ + Background limited estimates for AtLAST based of from + Sean Bryans estimator. + See https://github.com/atlast-telescope/sens_calc for more info. + """ + + def _run(self): + self._get_levels() + + def _get_levels(self): + df = pd.read_csv( + "./maria/noise/results_of_instrument_simulation.csv", index_col=0 + ) + frq_index = np.argmin(np.abs(self.f_c - df["fmin"])) + + used_b_w = df["fmax"][frq_index] - df["fmin"][frq_index] # GHz + NET = df["NET_RJ of a Single Detector"][frq_index] + + self.white_noise_RJ = NET / np.sqrt(self.b_w / used_b_w) * 1e-6 # K s^0.5 + self.pink_noise_RJ = 0.3 * (self.white_noise_RJ / 112.0e-6) + + if self.cal: + self.white_noise_RJ = self.white_noise_RJ * 0.3 / self.abscal + self.pink_noise_RJ = self.pink_noise_RJ * 0.3 / self.abscal + + +class InitNoise(ReadOutBLIPs): + """ + Estimate initial white and pink noise levels + """ + + def __init__( + self, + f_c: np.float32 = 93, # GHz -- central frequency + b_w: np.float32 = 52, # GHz -- band width + abscal: np.float32 = 1.0, # Calibration term due to atmospheric absorption + cal: bool = True, + *args, + **kwargs, + ): + super(InitNoise, self).__init__(*args, **kwargs) + + self.f_c = f_c + self.b_w = b_w + self.cal = cal + self.abscal = abscal + self._run() diff --git a/maria/noise/results_of_instrument_simulation.csv b/maria/noise/results_of_instrument_simulation.csv new file mode 100644 index 0000000..fec917b --- /dev/null +++ b/maria/noise/results_of_instrument_simulation.csv @@ -0,0 +1,10 @@ +,fmin,fmax,Nwafer,det_spacing_freq,Detector Count,Beam in Arcseconds,Loading at Detector in pW,NEP at Detectors in aWrtHz,NEFD of a Single Detector,NEFD of Entire Frequency Band,Mapping speed in deg^2/mJ^2/hour,Mapping speed in deg^2/(30 uJ)^2/hour,NET_RJ of a Single Detector,NET_RJ of Entire Frequency Band,Mapping speed in deg^2/uKrj^2/hour +0,75.0,110.0,6,120.0,8760.0,15.135135135135137,3.0202743304083337,29.954679139317207,0.19846267947048057,0.0021204439512812934,16035.441824686597,0.1443189764221794,136.79811739178456,1.4615984292060482,0.03375035849289729 +1,130.0,170.0,6,120.0,8760.0,9.333333333333334,3.0789766226840882,33.02540318011379,0.1915492284300846,0.002046578247763633,6546.041662186786,0.05891437495968108,132.82190300976444,1.4191151786631857,0.01361445254066725 +2,195.0,245.0,8,250.0,50672.0,6.363636363636363,4.893072631000369,49.097043860007645,0.23002547525862918,0.00102186121018717,12206.433850939447,0.10985790465845505,156.43507218794178,0.69494447083287,0.026392007226340213 +3,245.0,310.0,8,250.0,50672.0,5.045045045045045,7.788638606989703,69.3178842473035,0.25200161976617375,0.001119487656112251,6392.244784592502,0.057530203061332524,168.07986397978158,0.7466750933624311,0.014369070848812966 +4,335.0,365.0,20,375.0,285040.0,4.0,6.551153167289951,77.76934158020988,0.6598055720815303,0.0012358423516919382,3297.2794343963087,0.029675514909566783,402.26969621357347,0.7534673067622317,0.008870601641362627 +5,390.0,420.0,20,375.0,285040.0,3.45679012345679,10.521032514890043,114.95252757167484,1.1501420990653635,0.0021542623715720957,810.4211249017036,0.007293790124115333,604.8786964498598,1.1329621063227062,0.002930064465718445 +6,625.0,710.0,10,640.0,415100.0,2.0973782771535583,62.56720001803169,385.1762123507837,2.594954367308057,0.004027665161106462,85.35102361755125,0.0007681592125579614,726.02999173514,1.1268813588670297,0.0010903327607526285 +7,845.0,900.0,6,870.0,460236.0,1.6045845272206305,40.720661000730324,328.1353534604811,3.6561295407671337,0.005389286622558256,27.901307558399193,0.00025111176802559276,962.5514341156297,1.4188407466315287,0.0004025499854952142 +8,,,50,,,,2.3400582477040014e-07,0.021193786813650167,2066.4902306825043,,,,1448388.8024249116,,