Attachment 'NIKA2_Time_Estimator.py'
Download 1 #!/usr/bin/env python
2 ##############################################################################################
3 ### Created by: P. Garcia ###
4 ### Revised by: A. Ritacco ###
5 ### Revised by: B. Ladjelate ###
6 ### Title: NIKA2_Time_Estimator.py ###
7 ### Purpose: Calculation of the total integration time for observing proposals ###
8 ### Creation Date: 2016.JULY.28 ###
9 ### Date of last revision: 2018.JAN.20 ###
10 ### Revision history: ###
11 ### - 2016.JULY.29: comments from C. Kramer & A. Sievers implemented ###
12 ### - 2016.AUG.03 : changed formula to N. Billot expression ###
13 ### - 2017.JAN.29 : - fpix set to 0.75 (commisi. results) ###
14 ### - NEFD0 @ 2 mm set to 15 mJy/sqrt(hz) (commisi. results) ###
15 ### - overhead set as used defined parameter between 1.5 - 2.0 ###
16 ### - 2017.JULY.28: - According to the NIKA2 technical paper submitted on July, 3rd 2017 ###
17 ### - fpix @1mm, 2mm set to 0.84 and 0.90, respectively ###
18 ### - NEFD0 @1mm, 2mm set to 20 and 6 mJy/sqrt(hz), respectively ###
19 ### - FWHM set to 11.2 @1mm and 17.7 @2mm ###
20 ### - 2017.SEPT.28 - An error in the data software led sensitivities too optimistics ###
21 ### - NEFD0 @1mm, 2mm set to 40 and 10 mJy/sqrt(hz), respectively ###
22 ### - 2018.JAN.20: - NEFD0 @1mm, 2mm set to 33 and 8 mJy/sqrt(hz), respectively ###
23 ### - 2019.FEB.18: - Corrected a mistake in the calculation of the mapping speed ###
24 ##############################################################################################
25 import numpy as np, sys
26 import math
27 import sys
28 import os
29 os.system("rm -f *.py~")
30
31 #version = 'v 2017.JAN.29'
32 #version = 'v 2017.JULY.28'
33 #version = 'v 2017.SEPT.28'
34 version = 'v 2018.JAN.20'
35 version = 'v 2019.FEB.18'
36
37
38 class bcolors:
39 HEADER = '\033[95m'
40 OKBLUE = '\033[94m'
41 OKGREEN = '\033[92m'
42 WARNING = '\033[93m'
43 FAIL = '\033[91m'
44 ENDC = '\033[0m'
45 BOLD = '\033[1m'
46 UNDERLINE = '\033[4m'
47
48 print ''
49 print bcolors.UNDERLINE + bcolors.HEADER + bcolors.BOLD + 'Time-estimator-NIKA2 '+version+' '+bcolors.ENDC
50 print ''
51 print bcolors.HEADER + bcolors.BOLD + ' See the "Guidelines for observing time estimates with the NIKA2 continuum camera' + bcolors.ENDC
52 print bcolors.HEADER + bcolors.BOLD + ' at the IRAM-30m Telescope" for details on used parameters and calculations.\n' + bcolors.ENDC
53
54 ################################
55 ##### CONVERSION FACTORS #######
56 ################################
57
58 ########## K_cmb ############
59 def b_v_cmb(freq,tcmb):
60 h = 6.626070040*10**(-34) # (J.s) Planck constant
61 k = 1.38064852*10**(-23) # (J/K) Boltzmann constant
62 c = 299792458 # (m/s^2) light speed
63 freq = freq*10**9 # Hz
64 bv = 1.0/(((2*h*freq**3)/((c**2)*(np.e**((h*freq)/(k*tcmb)) - 1)))*(np.e**((h*freq)/(k*tcmb))/(np.e**((h*freq)/(k*tcmb)) - 1))*(h*freq/(k*tcmb**2))) / 10**20
65 return bv
66
67 ########## Ysz ##############
68 def y_sz(freq,tcmb):
69 h = 6.626070040*10**(-34) # (J.s) Planck constant
70 k = 1.38064852*10**(-23) # (J/K) Boltzmann constant
71 c = 299792458 # (m/s^2) light speed
72 freq = freq*10**9 # Hz
73 Ysz = 1.0
74 bv = 1.0/(((2*h*freq**3)/((c**2)*(np.e**((h*freq)/(k*tcmb)) - 1)))*(np.e**((h*freq)/(k*tcmb))/(np.e**((h*freq)/(k*tcmb)) - 1))*(h*freq/(k*tcmb**2)))
75 bv = 1.0/bv
76 y_sz = (bv*tcmb)*(((h*freq/(k*tcmb))*((np.e**((h*freq)/(k*tcmb)) + 1)/(np.e**((h*freq)/(k*tcmb)) -1))) -4)*Ysz /10**(-20)
77 y_sz = 1.0/y_sz
78 return y_sz
79
80 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
81 #%%%%%%%%%%%%%%%%%%%%% FIXED GENERAL PARAMETERS %%%%%%%%%%%%%%%%%%%%%%
82 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83
84 ################################################
85 ##### BEAM SIZES AND CONVERSION TO RADIANS #####
86 ################################################
87 res_band1_spec = 11.2 #From NIKA2 1st paper #MEMO # 12.0 # [arcsec]
88 res_band2_spec = 17.7 #From NIKA2 1st paper #MEMO # 20.0 # [arcsec]
89 teta_band1_spec = res_band1_spec*math.pi/180.0/3600.0 # in sr units
90 teta_band2_spec = res_band2_spec*math.pi/180.0/3600.0 # in sr units
91 area_teta_band1_spec = ((teta_band1_spec/2.0)**2)*math.pi # in sr units
92 area_teta_band2_spec = ((teta_band2_spec/2.0)**2)*math.pi # in sr units
93 ############################
94 ##### OTHER PARAMETERS #####
95 ############################
96 #fpix_spec = 0.75
97 fpix_spec_1mm = 0.84 # As presented at the NIKA2 consortium meeting
98 fpix_spec_2mm = 0.90 # As presented at the NIKA2 consortium meeting
99 bv_1 = 0.075 # band1, do not change
100 cv_1 = 0.001 # band1, do not change
101 bv_2 = 0.025 # band2, do not change
102 cv_2 = 0.001 # band2, do not change
103 tiempo = 1.0 # [hours]
104 FoV = 6.5 # [arcmin] diameter
105 FoVArea = ((FoV/2.0)**2)*math.pi # [arcmin^2]
106 narrays1 = 2
107 narrays2 = 1
108 verbose_flag = 0
109 #foverhead = 2.0 # value fixed for all proposals in 2016
110 ##########################################
111 ##### NEFDo VALUES FROM OBSERVATIONS #####
112 ##########################################
113 NEFD_band1_spec = 33 #Changed in Jan. 20 #From NIKA2 1st paper arXiv:1707.00908 #MEMO
114 NEFD_band2_spec = 8 #Changed in Jan. 20 #From NIKA2 1st paper arXiv:1707.00908 #comissioning results 2017
115
116 #######################################
117 ##### SAMPLING ANGULAR VELOCITIES #####
118 #######################################
119 sampl_vel_fast = 48.0 # [arcsec/second]
120 sampl_vel_mid = 24.0 # [arcsec/second]
121 sampl_vel_slow = 12.0 # [arcsec/second]
122 sampl_rate = 23.84 # [hz]
123 sampl_rate_pol = 2*23.84 # [hz]
124 slewing_loss = 1.0 # to account for slewing of single OTF line
125 ##########################################
126 ##########################################
127 ##########################################
128
129 rango = len(sys.argv)
130 for i in range(rango):
131
132 if sys.argv[i] == ("--help") or rango == 1:
133
134 print ' USAGE:\n'
135 print ' python NIKA2_Time_Estimator.py --help '
136 print ' python NIKA2_Time_Estimator.py --band 1 --rms 2.00 --pwv 2 --elevation 40 --Xsize 6.5 --Ysize 6.5 --filter 1.0 --overhead 1.5'
137 print ' python NIKA2_Time_Estimator.py --band 2 --rms 1.00 --pwv 4 --elevation 50 --Xsize 15 --Ysize 15 --filter 2.0 --overhead 2.0 --verbose '
138 print '\n'
139 print ' OPTIONS:\n'
140 print ' help => This help.'
141 print ' band => Set 1 or 2 for the 1 mm or the 2 mm bands, respectively.'
142 print ' rms => Wanted flux density per beam. Any value above the confusion limit in [mJy/beam].'
143 print ' pwv => Precipitable water vapor in [mm].'
144 print ' elevation => Values from 15 to < 83 [deg].'
145 print ' Xsize Ysize => Map lengths. Xsize and Ysize are in [arcmin]. Minimum map size is 6.5x6.5 [arcmin^2] for homogeneous RMS noise distribution.'
146 print ' filter => Factor for post-processing noise filtering. Values from 1.0 (point-like source) to 2.0 (extended bright emission).'
147 print ' overhead => Factor for telescope overheads between 1.5 and 2.0 (slewing, pointing, focusing, calibration), i.e. all telescope time which is not spend integrating on-source.'
148 print ' verbose => Set to get list of parameters used in the calculations, RMS noise unit conversion, and allowed OTF scan speeds.\n'
149 sys.exit()
150
151 if sys.argv[i] == ("--band"):
152 band = int(sys.argv[i+1])
153 if band == 1:
154 narrays = narrays1
155 mili = 1.2
156 if band == 2:
157 narrays = narrays2
158 mili = 2.0
159 if band < 1 or band > 2:
160 print ' %%%%%%%%%%%%%%%%%%%%%%%'
161 print bcolors.BOLD + bcolors.FAIL +' Band %2i is not defined.' % (band) + bcolors.ENDC
162 print ' %%%%%%%%%%%%%%%%%%%%%%%'
163 print ''
164 sys.exit()
165
166 if sys.argv[i] == ("--rms"):
167 rms = float(sys.argv[i+1])
168
169 if sys.argv[i] == ("--pwv"):
170 pwv = float(sys.argv[i+1])
171
172 if sys.argv[i] == ("--elevation"):
173 elevation = float(sys.argv[i+1])
174 if elevation < 15 or elevation > 83:
175 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
176 print bcolors.BOLD + bcolors.FAIL +' Elevation %3i [degrees] is outside the telescope`s limits: 15 - 83 [degrees].' % (elevation) + bcolors.ENDC
177 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
178 print ''
179 sys.exit()
180
181 if sys.argv[i] == ("--Xsize"):
182 dx = float(sys.argv[i+1])
183
184 if sys.argv[i] == ("--Ysize"):
185 dy = float(sys.argv[i+1])
186
187 if sys.argv[i] == ("--filter"):
188 filtering = float(sys.argv[i+1])
189 if filtering < 1 or filtering > 2:
190 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
191 print bcolors.BOLD + bcolors.FAIL +' Filter value %2.1f is outside the standard limits: 1.0 - 2.0' % (filtering) + bcolors.ENDC
192 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
193 print ''
194 sys.exit()
195
196 if sys.argv[i] == ("--overhead"):
197 foverhead = float(sys.argv[i+1])
198 if foverhead < 1.5 or foverhead > 2:
199 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
200 print bcolors.BOLD + bcolors.FAIL +' Overhead value %2.1f is outside the standard limits: 1.5 - 2.0' % (foverhead) + bcolors.ENDC
201 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
202 print ''
203 sys.exit()
204
205 if sys.argv[i] == ("--verbose"):
206 verbose_flag = 1
207
208 area_obs = dx*dy
209
210 if area_obs < 4.0:
211 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
212 print bcolors.BOLD + bcolors.FAIL +' Introduced map size is %3.1f [arcmin^2]. Minimum value is 4.0 [arcmin^2]' % (area_obs) + bcolors.ENDC
213 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
214 print ''
215 sys.exit()
216
217 ###############################################################################################
218 ### SIGMA ESTIMATION CALCULATION, EFFECTIVE NEFD FROM PWV GIVEN VALUES AND UNITS CONVERSION ###
219 ###############################################################################################
220
221 if band == 1:
222 tau = bv_1*pwv + cv_1
223 NEFD_spec_eff = NEFD_band1_spec*(np.e**(tau/np.sin(elevation*math.pi/180.)))
224 rms_point_MJy_spec = rms/area_teta_band1_spec/10**9
225 rms_point_cmb_spec = rms_point_MJy_spec*b_v_cmb(260,2.726)*10**6
226 rms_point_ys_spec = rms_point_MJy_spec*y_sz(260,2.726)*10**6
227 rms_point_ys_spec = np.abs(rms_point_ys_spec)
228 #########################################
229 ### ratio of areas with fraction of valid pixel in the 2mm band ###
230 #########################################
231 factor_area_spec = (1+(area_obs/(FoVArea*fpix_spec_1mm))) # from N. Billot Doc.
232 ##########################################################
233 ### Integration Time calculations for given conditions ###
234 ##########################################################
235 t_spec = ((NEFD_spec_eff*filtering/rms)**2)*factor_area_spec*(foverhead)/3600.0 #hours
236 s_map_spec = ((FoVArea*fpix_spec_1mm)/(((NEFD_spec_eff*filtering)**2)*foverhead))*3600.0 # arcmin^2 / hour^-1/ mJy^-2
237 if band == 2:
238 tau = bv_2*pwv + cv_2
239 NEFD_spec_eff = NEFD_band2_spec*(np.e**(tau/np.sin(elevation*math.pi/180.)))
240 rms_point_MJy_spec = rms/area_teta_band2_spec/10**9
241 rms_point_cmb_spec = rms_point_MJy_spec*b_v_cmb(150,2.726)*10**6
242 rms_point_ys_spec = rms_point_MJy_spec*y_sz(150,2.726)*10**6
243 rms_point_ys_spec = np.abs(rms_point_ys_spec)
244 #########################################
245 ### ratio of areas with fraction of valid pixel in the 2mm band ###
246 #########################################
247 factor_area_spec = (1+(area_obs/(FoVArea*fpix_spec_2mm))) # from N. Billot Doc.
248 ##########################################################
249 ### Integration Time calculations for given conditions ###
250 ##########################################################
251 t_spec = ((NEFD_spec_eff*filtering/rms)**2)*factor_area_spec*(foverhead)/3600.0 #hours
252 s_map_spec = ((FoVArea*fpix_spec_2mm)/(((NEFD_spec_eff*filtering)**2)*foverhead))*3600.0 # arcmin^2 / hour^-1/ mJy^-2
253
254 #########################################
255 #### TIME PER OTF LINE TO REACH TOTAL ###
256 #########################################
257
258 T_SLOW = slewing_loss*((dx*60.0)/sampl_vel_slow)/60.0 # [minutes]
259 T_MID = slewing_loss*((dx*60.0)/sampl_vel_mid)/60.0 # [minutes]
260 T_FAST = slewing_loss*((dx*60.0)/sampl_vel_fast)/60.0 # [minutes]
261
262 if verbose_flag == 1:
263
264 print ''
265 print '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
266 print '%%%%%%%%%% General Parameters Used for the Calculations %%%%%%%%%%%'
267 print '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
268 print ''
269 print '------------------------------------------------------------------------'
270 print '| Parameters | Band 1 (1.2 mm) | Band 2 (2.0 mm) |'
271 print '------------------------------------------------------------------------'
272 print '| opacity | %6.3fxpwv + %6.3f | %6.3fxpwv + %6.3f |' % (bv_1,cv_1,bv_2,cv_2)
273 print '------------------------------------------------------------------------'
274 print '| HPBW [arcsec] | %6.1f | %6.1f |' % (res_band1_spec,res_band2_spec)
275 print '------------------------------------------------------------------------'
276 print '| NEFDo [mJy.s^0.5] | %6.1f | %6.1f |' % (NEFD_band1_spec,NEFD_band2_spec)
277 print '------------------------------------------------------------------------'
278 print '| fpix | %6.2f | %6.2f |' % (fpix_spec_1mm, fpix_spec_2mm)
279 print '------------------------------------------------------------------------'
280 if band == 1:
281 print '| rms [mJy/beam] | %6.2f | |' % (rms)
282 if band == 2:
283 print '| rms [mJy/beam] | | %6.2f |' % (rms)
284 print '------------------------------------------------------------------------'
285 print '| FoV [arcmin] | %6.1f |' % (FoV)
286 print '------------------------------------------------------------------------'
287 print '| h-filtering | %6.2f |' % (filtering)
288 print '------------------------------------------------------------------------'
289 print '| h-overhead | %6.2f |' % (foverhead)
290 print '------------------------------------------------------------------------'
291 print '| OTF slow [arcsec/s] | %4i |' % (sampl_vel_slow)
292 print '------------------------------------------------------------------------'
293 print '| OTF mid [arcsec/s] | %4i |' % (sampl_vel_mid)
294 print '------------------------------------------------------------------------'
295 print '| OTF fast [arcsec/s] | %4i |' % (sampl_vel_fast)
296 print '------------------------------------------------------------------------'
297 print '| Dump [hz] | %6.2f |' % (sampl_rate)
298 print '------------------------------------------------------------------------'
299 print '| Dump POL [hz] | %6.2f |' % (sampl_rate_pol)
300 print '------------------------------------------------------------------------'
301 print ''
302
303 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
304 print ' %%%%%%%%%%%%%%%%% Units Conversion %%%%%%%%%%%%%%%%%'
305 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
306 print ''
307 print ' --------------------------------------------------------'
308 print ' | (User Defined) | Band %1i |' % (band)
309 print ' --------------------------------------------------------'
310 print ' |rms [mJy/beam] | %8.2f |' % (rms)
311 print ' --------------------------------------------------------'
312 print ' |rms point-like source [MJy/sr] | %6.2f |' % (rms_point_MJy_spec)
313 print ' |rms point-like source [K_CMB]x10^-6 | %5i |' % (rms_point_cmb_spec)
314 print ' |*rms point.like source [Ysz]x10^-6 | %5i |' % (rms_point_ys_spec)
315 print ' --------------------------------------------------------'
316 print ' |* for Ysz = 1.0 |'
317 print ' --------------------------------------------------------'
318 print ''
319
320
321 #############################
322 #### TABLE FINAL RESULTS ####
323 #############################
324
325 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
326 print ' %%%%%%%%%%%%%%%%%%%%%% Results %%%%%%%%%%%%%%%%%%%%%%'
327 print ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%'
328 print ''
329 print ' for: El = %2i (deg), PWV = %1i (mm), tau = %4.2f, rms = %6.2f' % (elevation,pwv,tau,rms)
330 print ' Area = %4.1f (arcmin^2), Filter = %4.1f, Overhead = %4.1f' % (area_obs,filtering,foverhead)
331 print ' ---------------------------------------------------------------'
332 print ' | (User Defined) | | |'
333 print ' ---------------------------------------------------------------'
334 print ' | Band | | %1i |' % (band)
335 print ' ---------------------------------------------------------------'
336 if band == 1:
337 print ' | Total Integration Time at 1mm | [hours] | %6.1f |' % (t_spec)
338 print ' ---------------------------------------------------------------'
339 print ' | Mapping speed | [arcmin^-2/hour/mJy^-2 ] | %6.1f |' % (s_map_spec)
340 if band == 2:
341 print ' | Total Integration Time at 2mm | [hours] | %6.1f |' % (t_spec)
342 print ' ---------------------------------------------------------------'
343 print ' | Mapping speed | [arcmin^-2/hour/mJy^-2 ] | %6.1f |' % (s_map_spec)
344 print ' ---------------------------------------------------------------'
345 print ' '
346
347 if verbose_flag == 1:
348
349 print bcolors.WARNING + ' WARNING1: For proposed maps taking longer than 40 minutes, the total'
350 print bcolors.WARNING + ' integration time should be split into several maps.\n' + bcolors.ENDC
351 print ' '
352 print bcolors.WARNING + ' WARNING2: Note that the confusion noise is not included in this Time'
353 print bcolors.WARNING + ' Estimator and it should be discussed in the proposal whether appro-'
354 print bcolors.WARNING + ' priate. The RMS noise does not decrease indefinitely with integra- '
355 print bcolors.WARNING + ' tion time but stops at the confusion limit caused by unresolved sour-'
356 print bcolors.WARNING + ' ces within the beam. The exact threshold at which the RMS noise '
357 print bcolors.WARNING + ' reaches the confusion limit will vary with wavelength, beam size, '
358 print bcolors.WARNING + ' and the type of astronomical source (Galactic or Extra-Galactic). For'
359 print bcolors.WARNING + ' instance, for the GOODS-N field (part of the Deep Field GT Proposal),'
360 print bcolors.WARNING + ' a preliminary 1 sigma confusion limit around ~ 0.090 mJy and ~ 0.056'
361 print bcolors.WARNING + ' mJy at 1.2 mm and 2.0 mm, respectively, has been estimated (A. Beelen,'
362 print bcolors.WARNING + ' private communication).\n' + bcolors.ENDC
363
364 print ' '
365 print ' Time per OTF line for allowed scanning speeds '
366 print ' -----------------------------------------------------'
367 print ' | | OTF Scan Velocity | TIME PER OTF LINE |'
368 print ' -----------------------------------------------------'
369 print ' | | [arcsec/s] | [minutes] |'
370 print ' -----------------------------------------------------'
371 print ' | OTF-SLOW | %6.1f | %6.2f |' % (sampl_vel_slow,T_SLOW)
372 print ' | OTF-MID | %6.1f | %6.2f |' % (sampl_vel_mid,T_MID)
373 print ' | OTF-FAST | %6.1f | %6.2f |' % (sampl_vel_fast,T_FAST)
374 print ' -----------------------------------------------------'
375 print ' '
376
377 ###############################
378 #### CONVERSION TO MINUTES ####
379 ###############################
380
381 if t_spec >= 1.:
382 time_str_spec=str(round(t_spec,1))+' hours'
383
384 if t_spec < 1. and t_spec >= 1./60.:
385 time_str_spec=str(round(t_spec*60,1))+' minutes'
386
387 if t_spec < 1./60. and t_spec >= 0.1/3600.:
388 time_str_spec=str(int(t_spec*3600))+' seconds'
389
390 if t_spec < 0.1/3600.:
391 time_str_spec='0.1 (seconds)'
392
393 slew_overhe = str(int((slewing_loss-1.0)*100.0))
394
395 ##############################
396 #### OUTPUT FINAL RESULTS ####
397 ##############################
398
399 print bcolors.HEADER + '**********************************************'
400 print '*** Total Integration Time => ' + time_str_spec + ' ***'
401 print '**********************************************\n'
402 print ''
403
404 print bcolors.HEADER + bcolors.UNDERLINE + 'Please include the following text into your proposal:\n' + bcolors.ENDC
405
406 print 'According to the published commissioning results of the NIKA2 instrument, the total observing time using the NIKA2 '+str(band)+' mm band to map a region of '+str(round(area_obs,1))+' [arcmin^2] to reach an rms of '+str(rms)+' [mJy/beam], assuming '+str(pwv)+' [mm] pwv, '+str(elevation)+' [deg] elevation, Filter = '+str(filtering)+', Overhead = '+str(foverhead)+', was estimated to be *'+time_str_spec+'*, using the time estimator '+version+'.\n'
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.