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

Last change on this file since 3743 was 3489, checked in by ansari, 17 years ago

Les differents scripts+prog de calcul P(k)/bruit, lobe, config interfero ajoute ds ce module - Reza 28/04/2008

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