source: Sophya/trunk/Cosmo/RadioBeam/anapkn.pic@ 3756

Last change on this file since 3756 was 3756, checked in by ansari, 15 years ago

Ajout des programmes de calcul de la sensibilite de l'interfero (plan(u,v), PNoise(k)) , Reza 28/04/2010

  • Property svn:executable set to *
File size: 11.7 KB
Line 
1######################################################################
2#### Script de trace de P(k) en temperature , effet de bruit, etc ####
3### Fev - Avril 2008 , BAORadio/Reza
4### Tout est dans ce script piapp + fichier de donnees PPF cmvhpkz.ppf
5## > lancer spiapp
6## > exec anapkn.pic
7## > Faire copier/coller des commandes a la fin, ds script xxtoto
8######################################################################
9
10##1 / On ouvre le fichier extrait d'un PPF fait par SimLSS (cmv)
11delobjs *
12openppf cmvhpkz.ppf
13set gdz 1.
14set k x
15set kk pow(10.,x)
16
17setaxesatt 'font=times,bold,16 fixedfontsize'
18
19
20
21# --- Cosmologie WMAP , O_L ~ 0.7 O_m ~ 0.25 H0 = 0.7 x100 km/s/Mpc
22Om = 0.25
23OL = 0.7
24# ====> On se met a z = 0.5 , lambda ~ 0.315 , nu ~ 946 MHz (spectre P(k) du fichier cmvobserv3d.ppf)
25z = 0.5
26# On considere une fraction de HI (HI/Baryon) = 0.02
27fHI = 0.020/0.1
28
29####################################################################
30## Script pour calcul du coefficient de conversion P(k)-masse en P(k) temperature en mK^2
31defscript convpk2t21 ' --> calcul le coefficient de conversion P(k) en P(k)_temperature mK^2'
32 cgeom = (1+$z)*(1+$z)/sqrt($OL+pow((1+$z),3.)*$Om)
33 cct21 = 0.57*$cgeom*$fHI
34 cct21 = $cct21*$cct21
35 echo "---- cct21 (NoFactCroiss)= $cct21"
36# On approxime le facteur de croissance lineaire au carre par
37# [(1+0.5)/(1+z)]^2 --> erreur ~ 10%
38 cct21 = $cct21*pow(1.5/(1+$z),2)
39 echo "---- Conv P(k)->Temperature mK^2 : cct21= $cct21"
40endscript
41
42# On execute ce script pour calculer cct21 a z=0.5
43convpk2t21
44
45# A z = 0.5 , DA = 1280 Mpc (ComovDA = 1920 Mpc) , H ~ 88 km/s/Mpc
46# A z = 1 , DA = 1700 Mpc (ComovDA = 3400 Mpc) , H ~ 116 km/s/Mpc
47# 10 arcmin -> l=5.58 Mpc , k=2 pi/l= 1.1
48# 1 deg = 60 arcmin -> l=55.8 Mpc , k=2 pi/l= 0.11
49# 5 deg = 300 arcmin -> l=279 Mpc , k ~ 0.02
50Hz05 = 88
51H = 88
52DAz05 = 1920
53DA = 1920
54
55## ---- VOL1,VOL2,VOL3
56## VOL0: 10deg x 10deg x Delta_z=0.2 : 335 x 335 x 680 Mpc^3 = 76 10^6 Mpc^3
57## VOL1: 20deg x 20deg x Delta_z=0.2 : VOL1 = 300 10^6 Mpc^3
58## VOL2: 360deg x 10deg x Delta_z=0.2 : VOL2 = 2700 10^6 Mpc^3
59## VOL3: 360deg x 30deg x Delta_z=0.2 : VOL3 = 10800 10^6 Mpc^3
60## VOL4: 40deg x 40deg x Delta_z=0.2 : VOL3 = 1200 10^6 Mpc^3
61set angcov ( '20x20 deg^2' '360x10 deg^2' '360x30 deg^2' '40x40 deg^2' )
62VOL0 = 76e6
63VOL1 = 300e6
64VOL2 = 2700e6
65VOL3 = 10800e6
66VOL4 = 1200e6
67
68
69## ----- Les antennes , environ 15x15 ~ 225-250 antennes elementaires
70# On considere des reflecteurs de ~ 7-8 metres de diametres, S~40 m^2
71# Ou 400 antennes de D~5 metres
72# S_totale ~ 10 000 m^2 , reparties sur ~ 200mx200m , filling factor ~ 0.25
73# FOV instantane ~ 2.5 degres de diametre (pour D~6-7 m)
74# FOV instantane ~ 4.3 x 4.3 degres^2 (pour D~5 m)
75# Resolution ~ 0.31/200 -> ~ 5 arcmin
76# VolumePixel ~ 3 Mpc x 3 Mpc x 4 Mpc ~ 36 Mpc^3
77vpixz05 = 50
78vpix = 50
79# kappa ~ (1/fill_factor)^2
80kappa = 25
81
82# Setup sur 200mx200m , 10000 m^2
83defscript setup1
84 vpixz05 = 36
85 vpix = 36
86 kappa = 200*200/10000
87 kappa = $kappa*$kappa
88 echo "setup-1: VPix=$vpix Kappa=$kappa"
89endscript
90# Setup sur 300mx300m , 10000 m^2
91defscript setup2
92 vpixz05 = 16
93 vpix = 16
94 kappa = 300*300/10000
95 kappa = $kappa*$kappa
96 echo "setup-2: VPix=$vpix Kappa=$kappa"
97endscript
98
99# Setup sur 400mx400m , 20000 m^2
100defscript setup3
101 vpixz05 = 16
102 vpix = 16
103 kappa = 400*400/20000
104 kappa = $kappa*$kappa
105 echo "setup-3: VPix=$vpix Kappa=$kappa"
106endscript
107
108# Setup 64 x D=5m sur 100mx100m , 10000 m^2
109defscript setup5
110 vpixz05 = 100
111 vpix = 100
112 kappa = 100*100/1200
113 kappa = $kappa*$kappa
114 echo "setup-5: VPix=$vpix Kappa=$kappa"
115endscript
116
117
118## delta k pour le calcul du nombre de modes, correspond a ~ l=5m/lambda / DA
119delkz05 = 0.01
120delk = 0.01
121
122
123# --- Temps d'integration a z=0.5 avec FOV=4x4 degres^2 (D=5m)
124# 120 jours pour VOl0 en ~ 7 passes (7 couvertures elementaires)
125# 360 jours pour VOl2 en ~ 16x7 passes (225 couvertures elementaires)
126# 360 jours pour VOl1 en ~ 4x7 passes (28 couvertures elementaires)
127# 360 jours pour VOl2 en ~ 90x3 passes (270 couvertures elementaires)
128# 360 jours pour VOl3 en ~ 90x9 passes (810 couvertures elementaires)
129
130set ndays ( '360 days' '360 days' '360 days' '360 days' )
131TINT1 = 1.1e6
132TINT2 = 1.1e5
133TINT3 = 3.8e4
134TINT4 = 1.e5
135
136# Bruit Tsys = 100 K = 10^5 mK
137TSYS = 1e5
138# Bruit Tsys = 50 K = 5.10^4 mK
139TSYS = 5e4
140
141DELNU = 1.e6
142
143#############################################################
144### Setup Nancay multi-beam
145defscript setupnancaymb ' --> Setup Nancay multi-beam '
146# 4x22 arcmin @ 1420 MHz (21 cm)
147# 6x33 arcmin^2 -> 3.4 x 18.5 Mpc @ z=0.5 (1920 Mpc)
148 vpixz05 = 250
149 vpix = 250
150# kappa ~ (1/fill_factor)^2
151 kappa = 1
152# FOV ~ 5 deg^2 (10degx30') @ z=0.5
153 FOV = 5
154 echo "setup-Nancay-MB: VPix=$vpix Kappa=$kappa"
155 TSYS = 200.e3
156 TINT1 = 4.e5
157 TINT2 = 1.e5
158 TINT3 = 0.25e5
159 TINT4 = 0.6e4
160 set ndays ( '60 days' '60 days' '60 days' '60 days' )
161 set vols ( $VOL1 $VOL2 $VOL3 )
162 set tints ( $TINT1 $TINT2 $TINT3 )
163endscript
164
165# Definition tableau de volumes, couleurs ...
166set vols ( $VOL1 $VOL2 $VOL3 )
167set tints ( $TINT1 $TINT2 $TINT3 )
168set cols ( red orange blue )
169
170#############################################################
171### Script de scaling des quantites avec z
172defscript scalewz ' Scale with z , Usage scalewz z DA H TimeFac'
173 if ( $# < 5 ) then
174 echo ' scalewz/error, Usage scalewz z DA H TimeFac'
175 endif
176 z = $1
177 DA = $2
178 H = $3
179 timfac = $4
180 vfac = ($DA/$DAz05)*($DA/$DAz05)*($H/$Hz05)
181 zfac = (1+$z)/1.5
182 vpix = $vpixz05*$vfac*$zfac*$zfac
183 delk = $delkz05*$zfac
184 set vols ( $VOL1 $VOL2 $VOL3 )
185 set tints ( $TINT1 $TINT2 $TINT3 )
186 for i 0:3
187 vols[i] = $vols[i]*$vfac
188 tints[i] = $tints[i]*$zfac*$zfac*$timfac
189 end
190 convpk2t21
191 echo "ScaleZ/Info: z=$z DA=$DA VPix=$vpix DelK=$delk"
192 echo "ScaleZ/Info VOLS= " $vols
193 echo "ScaleZ/Info TINTS= " $tints
194endscript
195
196
197#############################################################
198### Script de calcul de PNOISE
199defscript pnoise ' --> Calcul de PNOISE , appel pnoise tint'
200 tint = $1
201 PNOISE = $kappa*$TSYS*$TSYS*$vpix/($tint*$DELNU)
202 echo " --pnoise tint= $tint --> PNOISE= $PNOISE"
203endscript
204
205
206
207#############################################################
208### Script de calcul de coefficient de conversion P/k en sigma[P(k)]
209defscript csigpk ' --> Calcul de Sigma_P(k) = P/k * $CSPK ( appel csigpk VolSurvey)'
210 vsurv = $1
211 CSPK = sqrt(4*Pi*Pi/($delk*$vsurv))
212 echo " --csigpk V_survey= $vsurv --> CSPK= $CSPK"
213endscript
214
215#############################################################
216### Script de calcul de la valeur de k pour Deltax = 10,50,100 m @ z donne
217defscript kvalfdx ' --> Calcul de k fonction de x'
218 set lesdx ( 5 10 20 50 100 )
219 lambdaz = 0.21*(1+$z)
220 set lesk ( 1 1 1 1 1 )
221 for i 0:$#lesdx
222 lesk[i] = 2*Pi*$lesdx[i]/$DA/$lambdaz
223 end
224 echo "---kvalfdx/ lesdx=" $lesdx
225 echo "---kvalfdx/ lesk=" $lesk
226endscript
227# On l'execute
228kvalfdx
229
230#############################################################
231### Trace de P(k)
232defscript showpkt ' Affichage P(k) et P(k) en Temp mK^2 '
233 zone 1 2
234 y1 = 500
235 y2 = 9e4
236 xyl = "xylimits=0.01,0.5,$y1,$y2 logx logy minorticks"
237 n/plot hpkz.val%$kk ! ! "notit nsta connectpoints black $xyl line=solid,2"
238 setaxelabels 'k (Mpc^-1) h=0.7' 'P(k) ' 'font=times,bolditalic,16'
239 settitle 'Mass power spectrum h=0.7, z=0.5' ' ' 'font=times,bolditalic,16'
240
241 y1 = $y1*$cct21
242 y2 = $y2*$cct21
243 xyl = "xylimits=0.01,0.5,$y1,$y2 logx logy minorticks"
244 n/plot hpkz.val*${cct21}%$kk ! ! "notit nsta connectpoints black $xyl line=solid,2"
245 setaxelabels 'k (Mpc^-1) h=0.7' 'P(k) (mK^2 Mpc^3)' 'font=times,bolditalic,16'
246 settitle 'H_I sky temperature power spectrum (mK^2) , h=0.7, z=0.5' ' ' 'font=times,bolditalic,16'
247endscript
248#-----------------------------
249
250
251#############################################################
252### Script de trace de Sigma_P(k)/P(k)
253defscript showspk ' Trace de Sigma_P(k)/P(k) ( appel showspk n=0..3) '
254 xyl = "xylimits=0.01,0.5,1.e-3,0.4 logx logy minorticks"
255 set vols ( $VOL1 $VOL2 $VOL3 )
256 set cols ( red orange blue )
257 csigpk $vols[0]
258 n/plot hpkz.$CSPK/$kk%$kk ! ! "notit nsta connectpoints $cols[0] $xyl line=solid,2"
259 for i 1:$1
260 csigpk $vols[i]
261 n/plot hpkz.$CSPK/$kk%$kk ! ! "same nsta connectpoints $cols[i] line=solid,2"
262 end
263
264 setaxelabels 'k (Mpc^-1) h=0.7' 'Sigma_P(k)/P(k) ' 'font=times,bolditalic,16'
265 settitle 'Relative Sample variance (h=0.7)' ' ' 'font=times,bolditalic,16'
266 addline 0.01 0.1 0.4 0.1 'black line=dotted,1 same'
267
268 kvalfdx
269 set kcols ( orange turquoise violet gold orange )
270 for i 0:$#lesk
271 addline $lesk[i] 1.e-3 $lesk[i] 0.4 "$kcols[i] line=dashed,1 same"
272 tx = $lesk[i]*0.9
273 ty = 0.02
274 tatt = 'font=times,bolditalic,16 textdirvertup vertcenter horizcenter'
275 addtext $tx $ty " Dist= $lesdx[i] meters " "$kcols[i] $tatt"
276 end
277endscript
278
279#############################################################
280### Script de trace de P(k) +/- Sigma[P(k)
281defscript showpk ' Trace de P(k) avec +/-sigma ( appel showpk n=0..3) '
282 y1 = 500*$cct21
283 y2 = 9e4*$cct21
284 xyl = "xylimits=0.01,0.5,$y1,$y2 logx logy minorticks"
285 n/plot hpkz.val*${cct21}%$kk ! ! "notit nsta connectpoints black $xyl line=solid,2"
286# if ( $# > 1 ) then
287 for i 0:$1
288 csigpk $vols[i]
289 n/plot hpkz.val*${cct21}*(1+$CSPK/$kk)%$kk ! ! "same nstat connectpoints $cols[i] line=solid,1"
290 n/plot hpkz.val*${cct21}*(1-$CSPK/$kk)%$kk ! ! "same nstat connectpoints $cols[i] line=solid,1"
291 end
292# endif
293 setaxelabels 'k (Mpc^-1) h=0.7' 'P(k) (mK^2 Mpc^3)' 'font=times,bolditalic,16'
294 settitle 'H_I sky temperature power spectrum T21-mk' ' ' 'font=times,bolditalic,16'
295endscript
296
297
298#############################################################
299### Script de trace de PNoise superpose a P(k)
300defscript shownoise ' Trace de PNOISE ( appel shownoise n=0..3) '
301 x1 = 0.01
302 x2 = 0.5
303 for i 0:$1
304 pnoise $tints[i]
305 func $PNOISE $x1 $x2 10 "same nstat connectpoints $cols[i] line=dashed,2"
306 tx = 0.1
307 ty = $PNOISE*1.1
308 addtext $tx $ty "PNoise $angcov[i] $ndays[i] " "font=times,bolditalic,16 $cols[i]"
309 end
310# addtext 0.1 1000 ' PNoise (dashed)' 'font=times,bolditalic,16 red'
311endscript
312
313
314defscript doall
315 showpkt
316 w2ps
317 w2eps pkt.eps
318 sleep 2
319 showpk 3
320 shownoise 3
321 showspk 3
322 w2ps
323 w2eps pknoise.eps
324endscript
325
326
327defscript dopk
328 showpk 3
329 shownoise 3
330 if ( $# > 0 ) then
331 settitle "$1" ' ' 'font=times,bold,16'
332 endif
333 showspk 3
334 if ( $# > 1 ) then
335 settitle "$2" ' ' 'font=times,bold,16'
336 endif
337endscript
338
339
340defscript xxtoto
341## Exemple de commandes
342newwin 1 2
343setup1
344scalewz 0.5 1920 88 1
345dopk 'P(k), PNoise - mK^2 , Setup-1 z=0.5' 'Relative Sample Variance, z=0.5'
346##
347newwin 1 2
348setup1
349scalewz 1 3400 115 1
350dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-1 z=1.0' 'Relative Sample Variance, z=1.0'
351##
352newwin 1 2
353setup1
354scalewz 1.5 4540 150 1
355dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-1 z=1.5' 'Relative Sample Variance, z=1.5'
356##
357newwin 1 2
358setup1
359scalewz 2.0 5420 192 1
360dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-1 z=2.0' 'Relative Sample Variance, z=2.0'
361##
362newwin 1 2
363setup1
364scalewz 2.5 6120 237 1
365dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-1 z=2.5' 'Relative Sample Variance, z=2.5'
366##
367newwin 1 2
368setup2
369scalewz 0.5 1920 88 1
370dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-2 z=0.5' 'Relative Sample Variance, z=0.5'
371##
372##
373newwin 1 2
374setup2
375scalewz 1 3400 115 1
376dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-2 z=1.0' 'Relative Sample Variance, z=1.0'
377##
378newwin 1 2
379setup3
380scalewz 1 3400 115 1
381dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-3 z=1.0' 'Relative Sample Variance, z=1.0'
382##
383newwin 1 2
384setup3
385scalewz 1.5 4500 150 1
386dopk 'P(k), PNoise - mK^2 Mpc^3, Setup-3 z=1.5' 'Relative Sample Variance, z=1.5'
387
388### Setup Nancay multi-beam
389newwin 1 2
390setupnancaymb
391scalewz 0.5 1920 88 1
392dopk 'P(k), PNoise - mK^2 Mpc^3, Nancay-MultiBeam z=0.5' 'Relative Sample Variance, z=0.5'
393
394endscript
Note: See TracBrowser for help on using the repository browser.