source: Sophya/trunk/Cosmo/RadioBeam/subtractradsrc.cmd@ 3825

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

modifs et ajout de programme pour traitement cartes GSM (Global Sky Model), Reza 02/08/2010

File size: 5.3 KB
Line 
1#####################################################################################
2#### Commands to run the different programs to produce foreground maps
3#### and compute radio-source subtracted P(k)
4#####################################################################################
5
6### Cube definition in file cubedef.h
7
8### Step 1/ Produce an LSS data cube with appropriate size and redshift using SimLSS
9# 1.a/ Run SimLSS
10csh> ~/Objs/exe/cmvginit3df -a -1 -2 -C -G 0. -F 0 -x 360,3 -y 360,3 -z 256,1.5 -Z 0.56 -8 1. -n 10000 -O 0,2 -o lssz056 -T 2
11# 1.b/ To run SimLSS with GSM map parameters (DeltaFreq=500 MHz)
12csh> ~/Objs/exe/cmvginit3df -a -1 -2 -C -G 0. -F 0 -x 360,3 -y 360,3 -z 256,3 -Z 0.60 -8 1. -n 10000 -O 0,2 -o lssz060 -T 2
13
14# 1.c/ Change the X and Z axis of the cube to adapt it to RadioBeam package convention
15# SimLSS output : the radial (redshift) direction along X axis of the cube (TArray)
16# RadioBeam cubes : the radial (redshift) direction along Z axis of the cube (TArray)
17# Execucte the following script in spiapp :
18
19csh> cat > racube.pic
20set f lssz056
21readfits ${f}_r.fits
22rename ${f}_r map
23print map
24c++exec \
25 TArray<r_4> omap(map.SizeY(),map.SizeZ(),map.SizeX()-2 ); \
26 for(sa_size_t i=0;i<omap.SizeX();i++) \
27 for(sa_size_t j=0;j<omap.SizeY();j++) \
28 for(sa_size_t k=0;k<omap.SizeZ();k++) \
29 omap(i,j,k)=map(k+1,i,j); \
30 KeepObj(omap);
31
32rename omap lsscube
33print lsscube
34# expmeansig lsscube val
35saveppf lsscube lsscube.ppf
36
37csh> spiapp -term -exec racube.pic
38
39
40## Step 2/ Produce synchrotron and radio source sky cubes (cube unit is Temparature- Kelvin)
41# 2.a/ Synchrotron map from HASLAM 400 MHz map
42csh> ./Objs/syncube syncmap_eq.fits syncube.ppf
43# 2.b/ radio source cube from NVSS catalog
44csh> ./Objs/srcat2cube nvss.fits nvsscube.ppf
45# 2.c/ Add the two cubes using the following spiapp script
46csh> cat > sumcubes.pic
47openppf syncube.ppf
48openppf nvsscube.ppf
49# expmeansig syncube val
50# expmeansig nvsscube val
51c++exec TArray<r_4> fgndcube = syncube+nvsscube; KeepObj(fgndcube);
52print fgndcube
53# expmeansig fgndcube val
54saveppf fgndcube fgndcube.ppf
55
56csh> spiapp -term -exec sumcubes.pic
57
58## Step 3/ Apply lobe (50 meter diameter array) effect on foreground cube and LSS cube
59csh> ./Objs/applobe 50. fgndcube.ppf fgndcube_lobe.ppf
60csh> ./Objs/applobe 50. lsscube.ppf lsscube_lobe.ppf
61## Step 3.b/ Correct for the lobe effect by bringing all to the beam of Diam/Lambda = 130
62csh> ./Objs/applobe 50. lsscube_lobe.ppf lsscube_corlobe.ppf 130
63csh> ./Objs/applobe 50. fgndcube_lobe.ppf fgndcube_corlobe.ppf 130
64
65### Step 4/ Compute power spectra
66## mass to temperature converion factor CT21 ~= 0.2 mK
67## Foreground maps are in temperature
68## Noise fluctuations Sigma^2 ~ T_sys^2 / t_obs * DeltaFreq
69## Tsys ~ 50 K , DeltaFreq ~ 0.275 MHz , t_obs ~ 1 day ~ 80 000 s.
70## sigma_noise ~ 0.35 mK
71# 4.a/ LSS power spectrum without noise
72csh> ./Objs/calcpk lsscube.ppf lsspk.ppf 0.2
73# and with noise
74csh> ./Objs/calcpk lsscube.ppf lsspkwn.ppf 0.2 0.35
75# with the lobe effect
76csh> ./Objs/calcpk lsscube_lobe.ppf lsspklobe.ppf 0.2
77csh> ./Objs/calcpk lsscube_lobe.ppf lsspklobewn.ppf 0.2 0.35
78csh> ./Objs/calcpk lsscube_corlobe.ppf lsspkcorlobe.ppf 0.2
79
80# 4.b/ Foreground power spectrum
81csh> ./Objs/calcpk fgndcube.ppf fgndpk.ppf 1000
82csh> ./Objs/calcpk fgndcube_lobe.ppf fgndpklobe.ppf 1000
83csh> ./Objs/calcpk fgndcube_corlobe.ppf fgndpkcorlobe.ppf 1000
84
85# 4.c/ Extract LSS P(k) from Foreground+LSS+noise , after cleaning/subtraction without beam
86csh> ./Objs/calcpk2 lsscube.ppf 0.2 fgndcube.ppf 1000 subpk.ppf 0.35 50. 0. 0.
87# 4.d / Extract LSS P(k) from Foreground+LSS+noise and beam effect, without beam correction
88csh> ./Objs/calcpk2 lsscube_lobe.ppf 0.2 fgndcube_lobe.ppf 1000 subpklobe.ppf 0.35 50. 0. 3.
89# 4.e / Extract LSS P(k) from Foreground+LSS+noise and beam effect - correcting to a beam of Diam/Lambda = 130
90csh> ./Objs/calcpk2 lsscube_lobe.ppf 0.2 fgndcube_lobe.ppf 1000 subpkcorlobe.ppf 0.35 50. 130. 3.
91
92### Step 5 / Check the results using spiapp
93setaxesatt 'font=helvetica,bold,16 fixedfontsize minorticks'
94delobjs *
95openppf fgndpk.ppf
96openppf fgndpklobe.ppf
97openppf fgndpkcorlobe.ppf
98openppf lsspk.ppf
99openppf lsspklobe.ppf
100openppf lsspklobewn.ppf
101openppf subpklobe.ppf
102openppf subpkcorlobe.ppf
103
104openppf subpknolss.ppf
105
106disp lsspk 'logx logy nsta xylimits=0.005,2.,4e-11,8e-6 gold'
107disp lsspklobe 'same nsta orange'
108disp lsspklobewn 'same nsta siennared'
109
110disp fgndpk 'logx logy nsta xylimits=0.005,2.,1e-10,1. navyblue'
111disp fgndpklobe 'same nsta blue'
112disp fgndpkcorlobe 'same nsta skyblue'
113disp lsspk 'same nsta gold'
114disp lsspklobewn 'same nsta siennared'
115settitle 'Pk[LSS] , Pk[Foreground] and lobe effect (Dish D=50 m)' ' ' 'font=helvetica,bold,18'
116set lines ( 'Pk[Foreground]' 'Pk[fgnd]*Lobe' 'Pk[fgnd]*Lobe/Corrected' 'Pk[LSS]' 'Pk[LSS]*Lobe+Noise' )
117set cols ( navyblue blue skyblue gold siennared )
118textdrawer lines cols 'font=helvetica,bold,16 frame'
119
120disp lsspk 'logx logy nsta xylimits=0.005,2.,4e-9,4e-5 gold'
121disp lsspklobewn 'same nsta siennared'
122disp subpkcorlobe 'same nsta red'
123disp subpknolsslobe 'same nsta green'
124
125settitle 'Recovered Pk[LSS] from LSS+Foreground(GSM) (Dish D=50 m)' ' ' 'font=helvetica,bold,18'
126set lines ( 'Pk[LSS]' 'Pk[LSS*lobe+noise]' 'Pk[ExtractedLSS]' 'Pk[residual,NoLSS]' )
127set cols ( gold siennared red green )
128textdrawer lines cols 'font=helvetica,bold,16 frame'
Note: See TracBrowser for help on using the repository browser.