Commit 88f842727aafb0d6c88ffef44e9086a7879f6e15
1 parent
5eebdedb
Exists in
master
changed
Showing
8 changed files
with
101 additions
and
88 deletions
Show diff stats
src/idl/dustem_brute_force_fit.pro
1 | 1 | FUNCTION dustem_brute_force_fit,sed,table_name,filters,normalize=normalize,fact=fact,chi2=chi2,rchi2=rchi2,show_sed=show_sed |
2 | 2 | |
3 | 3 | ;stop |
4 | -;sed must be normalized to NH=1e21 H/cm2 | |
4 | +;sed must be normalized to NH=1e20 H/cm2 | |
5 | 5 | |
6 | 6 | defsysv,'!dustem_grid',0,exist=exist |
7 | 7 | IF exist EQ 0 THEN BEGIN | ... | ... |
src/idl/dustem_compute_sed.pro
1 | 1 | FUNCTION dustem_compute_sed,p_dim,$ |
2 | 2 | st=st,$ |
3 | 3 | sed_spec=sed_spec, $ |
4 | + use_previous_fortran=use_previous_fortran, $ | |
4 | 5 | help=help |
5 | 6 | |
6 | 7 | ;+ |
... | ... | @@ -20,7 +21,7 @@ FUNCTION dustem_compute_sed,p_dim,$ |
20 | 21 | ; p_dim = parameter values |
21 | 22 | ; |
22 | 23 | ; OPTIONAL INPUT PARAMETERS: |
23 | -; st = Dustem output structure | |
24 | +; st = Dustem Fortran output structure | |
24 | 25 | ; |
25 | 26 | ; OUTPUTS: |
26 | 27 | ; sed = computed SED for filters in !dustem_data |
... | ... | @@ -30,6 +31,7 @@ FUNCTION dustem_compute_sed,p_dim,$ |
30 | 31 | ; sed_spec = dustem emission spectrum |
31 | 32 | ; |
32 | 33 | ; ACCEPTED KEY-WORDS: |
34 | +; use_previous_fortran = if set, uses the output of the previous fortran run, and does not run the fortran. | |
33 | 35 | ; help = If set, print this help |
34 | 36 | ; |
35 | 37 | ; COMMON BLOCKS: |
... | ... | @@ -59,7 +61,7 @@ IF keyword_set(help) THEN BEGIN |
59 | 61 | ENDIF |
60 | 62 | |
61 | 63 | IF not keyword_set(st) THEN BEGIN |
62 | - dustem_activate_plugins,p_dim/(*(*!dustem_fit).param_init_values),st=st | |
64 | + dustem_activate_plugins,p_dim/(*(*!dustem_fit).param_init_values),st=st,use_previous_fortran=use_previous_fortran | |
63 | 65 | ENDIF |
64 | 66 | |
65 | 67 | ; Convert into MJy/sr/1d20 |
... | ... | @@ -67,20 +69,22 @@ fact = 1.e4*(*!dustem_HCD)/(4.*!pi)/(3.e8/1.e-6/st.sed.wav)*1.e20/1.e7 ;this is |
67 | 69 | SED_spec = st.sed.em_tot * fact |
68 | 70 | |
69 | 71 | ;ADDING PLUGIN TO SPECTRUM---------------- |
70 | -scopes=tag_names((*!dustem_plugin)) | |
72 | +Nplugins=n_elements(*!dustem_plugin) | |
73 | +scopes=(*!dustem_plugin).scope | |
71 | 74 | |
72 | 75 | IF scopes[0] NE 'NONE' THEN BEGIN |
73 | -;IF ptr_valid(!dustem_plugin) THEN BEGIN | |
74 | - for i=0L,n_tags(*!dustem_plugin)-1 do begin | |
75 | - if total(strsplit((*(*!dustem_plugin).(i).scope),'+',/extract) eq 'ADD_SED') then SED_spec+=(*(*!dustem_plugin).(i).spec)[*,0] | |
76 | - endfor | |
76 | + FOR i=0L,Nplugins-1 DO BEGIN | |
77 | + IF total(strsplit((*!dustem_plugin)[i].scope,'+',/extract) eq 'ADD_SED') THEN BEGIN | |
78 | + SED_spec+=(*(*!dustem_plugin)[i].spec)[*,0] | |
79 | + ENDIF | |
80 | + ENDFOR | |
77 | 81 | ENDIF |
78 | 82 | ;------------------------------------------ |
79 | 83 | |
80 | -if not isarray(SED_spec) THEN stop | |
84 | +IF not isarray(SED_spec) THEN stop | |
81 | 85 | |
82 | 86 | ;COMPUTE THE MODEL SED |
83 | - | |
87 | +;JPB: problem there: we should be able to compute an SED even when there is no data in !dustem_data | |
84 | 88 | dustem_sed = (*(*!dustem_data).sed).values * 0. |
85 | 89 | |
86 | 90 | IF !dustem_do_cc NE 0 AND !dustem_never_do_cc EQ 0 THEN BEGIN | ... | ... |
src/idl/dustem_fit_intensity_example.pro
... | ... | @@ -257,7 +257,8 @@ if keyword_set(wait) then begin |
257 | 257 | end |
258 | 258 | |
259 | 259 | ;== INITIALISE DUSTEM |
260 | -dustem_init,model=use_model,polarization=use_polarization | |
260 | +dustem_init,model=use_model,polarization=use_polarization,/show_plot | |
261 | +;stop | |
261 | 262 | !dustem_nocatch=1 |
262 | 263 | !dustem_verbose=use_verbose |
263 | 264 | IF keyword_set(noobj) THEN !dustem_noobj=1 |
... | ... | @@ -303,7 +304,7 @@ tit='FIT INTENSITY EXAMPLE' ; plot title |
303 | 304 | ytit=textoidl('I_\nu (MJy/sr) for N_H=10^{20} H/cm^2') ; y-axis title |
304 | 305 | xtit=textoidl('\lambda (\mum)') ; x-axis title |
305 | 306 | |
306 | - | |
307 | +;stop | |
307 | 308 | ;=== RUN THE FIT |
308 | 309 | t1=systime(0,/sec) |
309 | 310 | res=dustem_mpfit_data(tol=tol,Nitermax=use_Nitermax,gtol=gtol $ | ... | ... |
src/idl/dustem_fit_intensity_phangs_example.pro
... | ... | @@ -10,7 +10,7 @@ PRO dustem_fit_intensity_phangs_example,model=model $ |
10 | 10 | |
11 | 11 | ;+ |
12 | 12 | ; NAME: |
13 | -; dustem_fit_intensity_example | |
13 | +; dustem_fit_intensity_phangs_example | |
14 | 14 | ; |
15 | 15 | ; PURPOSE: |
16 | 16 | ; This routine is an example of how to fit an observational SED |
... | ... | @@ -169,7 +169,9 @@ if keyword_set(wait) then begin |
169 | 169 | end |
170 | 170 | |
171 | 171 | ;== INITIALISE DUSTEM |
172 | -dustem_init,model=use_model,polarization=use_polarization | |
172 | +;!dustem_show_plot=1 | |
173 | +dustem_init,model=use_model,polarization=use_polarization,/show_plot | |
174 | +;stop | |
173 | 175 | !dustem_nocatch=1 |
174 | 176 | !dustem_verbose=use_verbose |
175 | 177 | IF keyword_set(noobj) THEN !dustem_noobj=1 | ... | ... |
src/idl/dustem_plugin_phangs_stellar_continuum.pro
... | ... | @@ -31,6 +31,7 @@ FUNCTION dustem_plugin_phangs_stellar_continuum,key=key $ |
31 | 31 | ; paramtag = plugin parameter names as strings |
32 | 32 | ; ACCEPTED KEY-WORDS: |
33 | 33 | ; help = if set, print this help |
34 | +; method = SSP used. can be EMILES or CB19. default='EMILES' | |
34 | 35 | ; COMMON BLOCKS: |
35 | 36 | ; None |
36 | 37 | ; SIDE EFFECTS: |
... | ... | @@ -60,31 +61,25 @@ IF keyword_set(scope) THEN BEGIN |
60 | 61 | goto, the_scope |
61 | 62 | ENDIF |
62 | 63 | |
63 | -;IF keyword_set(paramtag) THEN BEGIN | |
64 | -; out=0 | |
65 | -; goto, the_paramtag | |
66 | -;ENDIF | |
67 | - | |
68 | -;stop | |
69 | - | |
70 | -;default values of input parameters | |
64 | +;use_method='EMILES' | |
65 | +use_method='CB19' | |
71 | 66 | |
72 | 67 | age_values=[0.03, 0.05, 0.08, 0.15, 0.25, 0.40, 0.60, 1.0, 1.75, 3.0, 5.0, 8.5, 13.5] |
73 | 68 | metalicity_values=[-1.48630, -0.961400, -0.351200, +0.0600000, +0.255900, +0.397100] |
74 | 69 | |
75 | 70 | ;read template info |
76 | -info_st=dustem_read_emiles_stellar_templates(age_values,metalicity_values,/info_only) | |
77 | -;stop | |
78 | -age_values_emiles=info_st.age | |
79 | -order=sort(age_values_emiles) | |
80 | -age_values_emiles=age_values_emiles[order] | |
81 | -un=uniq(age_values_emiles) | |
82 | -age_values_emiles=age_values_emiles[un] | |
83 | -met_values_emiles=info_st.z | |
84 | -order=sort(met_values_emiles) | |
85 | -met_values_emiles=met_values_emiles[order] | |
86 | -un=uniq(met_values_emiles) | |
87 | -met_values_emiles=met_values_emiles[un] | |
71 | +;==== This is actually not used | |
72 | +;info_st=dustem_read_emiles_stellar_templates(age_values,metalicity_values,/info_only) | |
73 | +;age_values_emiles=info_st.age | |
74 | +;order=sort(age_values_emiles) | |
75 | +;age_values_emiles=age_values_emiles[order] | |
76 | +;un=uniq(age_values_emiles) | |
77 | +;age_values_emiles=age_values_emiles[un] | |
78 | +;met_values_emiles=info_st.z | |
79 | +;order=sort(met_values_emiles) | |
80 | +;met_values_emiles=met_values_emiles[order] | |
81 | +;un=uniq(met_values_emiles) | |
82 | +;met_values_emiles=met_values_emiles[un] | |
88 | 83 | |
89 | 84 | ;==== This does not work because the info files has many more entries than there are available ssps. |
90 | 85 | ;age_values=age_values_emiles |
... | ... | @@ -132,8 +127,18 @@ IF exist EQ 0 THEN BEGIN |
132 | 127 | defsysv,'!dustem_plugin_phangs_stellar_continuum',st |
133 | 128 | ENDIF |
134 | 129 | IF not ptr_valid(!dustem_plugin_phangs_stellar_continuum.ssps) THEN BEGIN |
135 | - message,'Initializing SSP templates',/continue | |
136 | - template_flux=dustem_read_emiles_stellar_templates(age_values,metalicity_values,template_wav=template_wav,Mstars=Mstars) | |
130 | + message,'Initializing SSP templates',/info | |
131 | + CASE use_method of | |
132 | + 'EMILES': BEGIN | |
133 | + template_flux=dustem_read_emiles_stellar_templates(age_values,metalicity_values,template_wav=template_wav,Mstars=Mstars) | |
134 | + END | |
135 | + 'CB19': BEGIN | |
136 | + ;== this is just to get the Mstars | |
137 | + bidon=dustem_read_emiles_stellar_templates(age_values,metalicity_values,template_wav=template_wav,Mstars=Mstars) | |
138 | + ;== This is to read in the CB19 templates | |
139 | + template_flux=dustem_read_cb19_stellar_templates(age_values=age_values,metalicity_values=metalicity_values,template_wav=template_wav,Mstars=Mstars) | |
140 | + END | |
141 | + ENDCASE | |
137 | 142 | !dustem_plugin_phangs_stellar_continuum.ssps=ptr_new(template_flux) |
138 | 143 | !dustem_plugin_phangs_stellar_continuum.wavs=ptr_new(template_wav) |
139 | 144 | !dustem_plugin_phangs_stellar_continuum.mstars=ptr_new(Mstars) |
... | ... | @@ -157,7 +162,7 @@ FOR i=2L,Nparam-1 DO BEGIN |
157 | 162 | IF count NE 0 THEN BEGIN |
158 | 163 | ssp=*(*!dustem_plugin_phangs_stellar_continuum.ssps)[i-2] |
159 | 164 | output[ind,0]=output[ind,0]+paramvalues[i]*Mstar*interpol(ssp,wavs,lambir[ind]) |
160 | - message,'Mstar='+strtrim(Mstar,2)+' paramvalue='+strtrim(paramvalues[i],2),/continue | |
165 | + message,'Mstar='+strtrim(Mstar,2)+' paramvalue='+strtrim(paramvalues[i],2),/info | |
161 | 166 | ENDIF |
162 | 167 | ENDIF |
163 | 168 | ENDFOR |
... | ... | @@ -178,12 +183,12 @@ fact3=1./NHref ;[cm2/H] to go from ergs/s/cm2 to ergs/s/H |
178 | 183 | fact4=1.e4*(*!dustem_HCD)/(4.*!pi)/(3.e8/1.e-6/lambir)*1.e20/1.e7 ;This goes from ergs/s/H to MJy/sr (see dustem_plot_dataset) |
179 | 184 | fact=fact2*fact3*fact4 |
180 | 185 | |
181 | -print,'flux(1mic)=',interpol(flux,lambir,1.),' ergs/s/cm2/AA' | |
182 | -print,'fact2=',interpol(fact2,lambir,1.) | |
183 | -print,'fact3=',fact3 | |
184 | -print,'fact4=',interpol(fact4,lambir,1.) | |
185 | -print,'fact=',interpol(fact,lambir,1.) | |
186 | -print,'flux(1mic)=',interpol(flux,lambir,1.)*interpol(fact,lambir,1.),' MJy/sr' | |
186 | +;print,'flux(1mic)=',interpol(flux,lambir,1.),' ergs/s/cm2/AA' | |
187 | +;print,'fact2=',interpol(fact2,lambir,1.) | |
188 | +;print,'fact3=',fact3 | |
189 | +;print,'fact4=',interpol(fact4,lambir,1.) | |
190 | +;print,'fact=',interpol(fact,lambir,1.) | |
191 | +;print,'flux(1mic)=',interpol(flux,lambir,1.)*interpol(fact,lambir,1.),' MJy/sr' | |
187 | 192 | |
188 | 193 | ;goto,no_unred |
189 | 194 | |
... | ... | @@ -213,7 +218,7 @@ output[*,0]=output[*,0]*fact |
213 | 218 | output[*,1]=output[*,1]*fact |
214 | 219 | output[*,2]=output[*,2]*fact |
215 | 220 | |
216 | -print,'output=',interpol(output[*,0],lambir,1.),' MJy/sr' | |
221 | +;print,'output=',interpol(output[*,0],lambir,1.),' MJy/sr' | |
217 | 222 | ;stop |
218 | 223 | |
219 | 224 | the_scope: | ... | ... |
src/idl/dustem_read_emiles_stellar_templates.pro
... | ... | @@ -39,7 +39,7 @@ FUNCTION dustem_read_emiles_stellar_templates,age_values, $ |
39 | 39 | ; PROCEDURES AND SUBROUTINES USED: |
40 | 40 | ; |
41 | 41 | ; EXAMPLES |
42 | -; | |
42 | +; st=dustem_read_emiles_stellar_templates(age_values,Z_values) | |
43 | 43 | ; MODIFICATION HISTORY: |
44 | 44 | ; Written by JPB June-2023 |
45 | 45 | ; Evolution details on the DustEMWrap gitlab. |
... | ... | @@ -91,8 +91,8 @@ metalicity_values_4str=string(metalicity_values_4str,format='(F5.2)') |
91 | 91 | FOR i=0L,n_elements(metalicity_values_4str)-1 DO metalicity_values_4str[i]=textoidl_str_replace(metalicity_values_4str[i],' ','p') |
92 | 92 | FOR i=0L,n_elements(metalicity_values_4str)-1 DO metalicity_values_4str[i]=textoidl_str_replace(metalicity_values_4str[i],'-','m') |
93 | 93 | |
94 | -print,age_values | |
95 | -print,metalicity_values | |
94 | +;print,age_values | |
95 | +;print,metalicity_values | |
96 | 96 | ;stop |
97 | 97 | |
98 | 98 | ;Ntemplates=n_elements(paramvalues)-1 |
... | ... | @@ -119,11 +119,11 @@ FOR i=1L,Ntemplates DO BEGIN |
119 | 119 | met=metalicity_values[imet] |
120 | 120 | met_str=metalicity_values_4str[imet] |
121 | 121 | age_str=age_values_4str[iage] |
122 | - message,'reading template for Age '+age_str+' Met '+met_str,/continue | |
122 | + message,'reading template for Age '+age_str+' Met '+met_str,/info | |
123 | 123 | file=dir_templates+file_start+'Z'+met_str+'T'+age_str+file_end |
124 | 124 | fi=file_info(file) |
125 | 125 | IF fi.exists THEN BEGIN |
126 | - message,'Reading SSP '+file,/continue | |
126 | + message,'Reading SSP '+file,/info | |
127 | 127 | spec=readfits(file,h,2) |
128 | 128 | templates[ii]=ptr_new(spec) |
129 | 129 | make_axis,h,wavs | ... | ... |
src/idl/dustem_sed_extractor.pro
1 | -FUNCTION dustem_sed_extractor,maps $ | |
2 | - ,index_roi $ | |
3 | - ,filters, $ | |
1 | +FUNCTION dustem_sed_extractor,maps, $ | |
2 | + index_roi, $ | |
3 | + filters, $ | |
4 | 4 | comments=comments, $ |
5 | 5 | maps_order=maps_order, $ |
6 | 6 | method=method, $ |
... | ... | @@ -25,7 +25,7 @@ FUNCTION dustem_sed_extractor,maps $ |
25 | 25 | ; sed=sed_extractor(maps,index,filters[,comments=][,maps_order=][,method=][,mask_I_undef=][,/total_intensity_only]) |
26 | 26 | ; |
27 | 27 | ; INPUTS: |
28 | -; maps : a set of Nmaps maps of same dimension [Nx,Ny,Nmaps,Ndata_sets] | |
28 | +; maps : a set of Nmaps maps of same dimension [Nx,Ny,Nmaps,Ndata_sets]. Caution, maps are changed if set_undefined is set ! | |
29 | 29 | ; index_roi : spatial index in Nx,Ny where the SED is to be extracted from (ROI=region of interest) |
30 | 30 | ; filters : DustEMWrap filters corresponding to each dataset [Ndata_sets] |
31 | 31 | ; |
... | ... | @@ -117,9 +117,10 @@ ENDIF ELSE BEGIN |
117 | 117 | ENDIF |
118 | 118 | ENDELSE |
119 | 119 | |
120 | -used_maps=maps | |
120 | +;used_maps=maps | |
121 | 121 | |
122 | 122 | IF keyword_set(set_undefined) THEN BEGIN |
123 | + used_maps=maps | |
123 | 124 | ;===== do a map of saturated stokesI pixels |
124 | 125 | mask_I_undef=maps[*,*,0,0] |
125 | 126 | mask_I_undef[*]=0 |
... | ... | @@ -132,8 +133,6 @@ IF keyword_set(set_undefined) THEN BEGIN |
132 | 133 | mask_I_undef[ind]=1 |
133 | 134 | ENDIF |
134 | 135 | ENDFOR |
135 | - | |
136 | - ;used_maps=maps | |
137 | 136 | ;set saturated stokesI pixels to la_undef in |
138 | 137 | indbad=where(mask_I_undef EQ 1,count) |
139 | 138 | IF count NE 0 THEN BEGIN |
... | ... | @@ -146,34 +145,36 @@ IF keyword_set(set_undefined) THEN BEGIN |
146 | 145 | ENDFOR |
147 | 146 | ENDFOR |
148 | 147 | ENDIF |
148 | + maps=used_maps | |
149 | + used_maps=0 | |
149 | 150 | ENDIF |
150 | 151 | |
151 | 152 | CASE use_method OF |
152 | 153 | 'MEAN':BEGIN |
153 | - FOR j=0L,Nfilt-1 DO BEGIN | |
154 | - this_map=used_maps[*,*,indI,j] | |
154 | + FOR j=0L,Nfilt-1 DO BEGIN | |
155 | + this_map=maps[*,*,indI,j] | |
155 | 156 | sed[j].stokesI=la_mean(this_map[index_roi]) |
156 | - this_map=used_maps[*,*,indII,j] | |
157 | + this_map=maps[*,*,indII,j] | |
157 | 158 | sed[j].sigmaII=la_div(la_mean(this_map[index_roi]),count_roi) |
158 | 159 | IF not keyword_set(total_intensity_only) THEN BEGIN |
159 | - this_map=used_maps[*,*,indQ,j] | |
160 | + this_map=maps[*,*,indQ,j] | |
160 | 161 | sed[j].stokesQ=la_mean(this_map[index_roi]) |
161 | - this_map=used_maps[*,*,indU,j] | |
162 | + this_map=maps[*,*,indU,j] | |
162 | 163 | sed[j].stokesU=la_mean(this_map[index_roi]) |
163 | - this_map=used_maps[*,*,indQQ,j] | |
164 | + this_map=maps[*,*,indQQ,j] | |
164 | 165 | sed[j].sigmaQQ=la_div(la_mean(this_map[index_roi]),count_roi) |
165 | - this_map=used_maps[*,*,indUU,j] | |
166 | + this_map=maps[*,*,indUU,j] | |
166 | 167 | sed[j].sigmaUU=la_div(la_mean(this_map[index_roi]),count_roi) |
167 | 168 | |
168 | - this_map=used_maps[*,*,indIQ,j] | |
169 | + this_map=maps[*,*,indIQ,j] | |
169 | 170 | sed[j].sigmaIQ=la_div(la_mean(this_map[index_roi]),count_roi) |
170 | - this_map=used_maps[*,*,indIU,j] | |
171 | + this_map=maps[*,*,indIU,j] | |
171 | 172 | sed[j].sigmaIU=la_div(la_mean(this_map[index_roi]),count_roi) |
172 | - this_map=used_maps[*,*,indQU,j] | |
173 | + this_map=maps[*,*,indQU,j] | |
173 | 174 | sed[j].sigmaQU=la_div(la_mean(this_map[index_roi]),count_roi) |
174 | 175 | ENDIF |
175 | - ENDFOR | |
176 | - END | |
176 | + ENDFOR | |
177 | + END | |
177 | 178 | 'MEAN_ONOFF': BEGIN ;This is mean ON - mean MEAN_ONOFF |
178 | 179 | IF not keyword_set(index_off) THEN BEGIN |
179 | 180 | message,'index_off keyword must be set with method '+use_method,/continue |
... | ... | @@ -182,36 +183,36 @@ CASE use_method OF |
182 | 183 | count_off=n_elements(index_off) |
183 | 184 | comments=[comments,'OFF has '+strtrim(count_off,2)+' map pixels'] |
184 | 185 | FOR j=0L,Nfilt-1 DO BEGIN |
185 | - this_map=used_maps[*,*,indI,j] | |
186 | + this_map=maps[*,*,indI,j] | |
186 | 187 | sed[j].stokesI=la_sub(la_mean(this_map[index_roi]),la_mean(this_map[index_off])) |
187 | - this_map=used_maps[*,*,indII,j] | |
188 | + this_map=maps[*,*,indII,j] | |
188 | 189 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
189 | 190 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
190 | 191 | sed[j].sigmaII=la_add(sig_on,sig_off) |
191 | 192 | IF not keyword_set(total_intensity_only) THEN BEGIN |
192 | - this_map=used_maps[*,*,indQ,j] | |
193 | + this_map=maps[*,*,indQ,j] | |
193 | 194 | sed[j].stokesQ=la_sub(la_mean(this_map[index_roi]),la_mean(this_map[index_off])) |
194 | - this_map=used_maps[*,*,indU,j] | |
195 | + this_map=maps[*,*,indU,j] | |
195 | 196 | sed[j].stokesU=la_sub(la_mean(this_map[index_roi]),la_mean(this_map[index_off])) |
196 | 197 | ;variances |
197 | - this_map=used_maps[*,*,indQQ,j] | |
198 | + this_map=maps[*,*,indQQ,j] | |
198 | 199 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
199 | 200 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
200 | 201 | sed[j].sigmaQQ=la_add(sig_on,sig_off) |
201 | - this_map=used_maps[*,*,indUU,j] | |
202 | + this_map=maps[*,*,indUU,j] | |
202 | 203 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
203 | 204 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
204 | 205 | sed[j].sigmaUU=la_add(sig_on,sig_off) |
205 | 206 | ;co-variances |
206 | - this_map=used_maps[*,*,indIQ,j] | |
207 | + this_map=maps[*,*,indIQ,j] | |
207 | 208 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
208 | 209 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
209 | 210 | sed[j].sigmaIQ=la_add(sig_on,sig_off) |
210 | - this_map=used_maps[*,*,indIU,j] | |
211 | + this_map=maps[*,*,indIU,j] | |
211 | 212 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
212 | 213 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
213 | 214 | sed[j].sigmaIU=la_add(sig_on,sig_off) |
214 | - this_map=used_maps[*,*,indQU,j] | |
215 | + this_map=maps[*,*,indQU,j] | |
215 | 216 | sig_on=la_div(la_mean(this_map[index_roi]),count_roi) |
216 | 217 | sig_off=la_div(la_mean(this_map[index_off]),count_off) |
217 | 218 | sed[j].sigmaQU=la_add(sig_on,sig_off) |
... | ... | @@ -232,21 +233,21 @@ CASE use_method OF |
232 | 233 | message,'reference filter '+reference_filter+' not found in provided filter list',/continue |
233 | 234 | stop |
234 | 235 | ENDIF |
235 | - mapI_ref=used_maps[*,*,indI,indf] | |
236 | - mapQ_ref=used_maps[*,*,indQ,indf] | |
237 | - mapU_ref=used_maps[*,*,indU,indf] | |
238 | - mapII_ref=used_maps[*,*,indII,indf] | |
239 | - mapQQ_ref=used_maps[*,*,indQQ,indf] | |
240 | - mapUU_ref=used_maps[*,*,indUU,indf] | |
236 | + mapI_ref=maps[*,*,indI,indf] | |
237 | + mapQ_ref=maps[*,*,indQ,indf] | |
238 | + mapU_ref=maps[*,*,indU,indf] | |
239 | + mapII_ref=maps[*,*,indII,indf] | |
240 | + mapQQ_ref=maps[*,*,indQQ,indf] | |
241 | + mapUU_ref=maps[*,*,indUU,indf] | |
241 | 242 | Iref=la_mean(mapI_ref[index_roi]) |
242 | 243 | Qref=la_mean(mapQ_ref[index_roi]) |
243 | 244 | Uref=la_mean(mapU_ref[index_roi]) |
244 | 245 | FOR j=0L,Nfilt-1 DO BEGIN |
245 | 246 | ;==== do the correlation in Stokes I |
246 | 247 | x=mapI_ref[index_roi] |
247 | - y=(used_maps[*,*,indI,j])[index_roi] | |
248 | + y=(maps[*,*,indI,j])[index_roi] | |
248 | 249 | sx=la_power(mapII_ref[index_roi],0.5) |
249 | - sy=la_power((used_maps[*,*,indI,j])[index_roi],0.5) | |
250 | + sy=la_power((maps[*,*,indI,j])[index_roi],0.5) | |
250 | 251 | ind_good=where(x NE la_undef() AND y NE la_undef() AND sx NE la_undef() and sy NE la_undef(),count_good) |
251 | 252 | comments=[comments,'I corelation has '+strtrim(count_good,2)+' map pixels'] |
252 | 253 | IF count_good NE 0 THEN BEGIN |
... | ... | @@ -268,9 +269,9 @@ CASE use_method OF |
268 | 269 | ENDIF |
269 | 270 | ;Do the correlation between Q maps |
270 | 271 | x=[mapQ_ref[index_roi],mapU_ref[index_roi]] |
271 | - y=[(used_maps[*,*,indQ,j])[index_roi],(used_maps[*,*,indU,j])[index_roi]] | |
272 | + y=[(maps[*,*,indQ,j])[index_roi],(maps[*,*,indU,j])[index_roi]] | |
272 | 273 | sx=la_power([mapQQ_ref[index_roi],mapUU_ref[index_roi]],0.5) |
273 | - sy=la_power([(used_maps[*,*,indQ,j])[index_roi],(used_maps[*,*,indU,j])[index_roi]],0.5) | |
274 | + sy=la_power([(maps[*,*,indQ,j])[index_roi],(maps[*,*,indU,j])[index_roi]],0.5) | |
274 | 275 | ind_good=where(x NE la_undef() AND y NE la_undef() AND sx NE la_undef() and sy NE la_undef(),count_good) |
275 | 276 | comments=[comments,'QU corelation has '+strtrim(count_good,2)+' map pixels'] |
276 | 277 | IF count_good NE 0 THEN BEGIN | ... | ... |
src/idl/dustem_write_chrg.pro
... | ... | @@ -94,7 +94,7 @@ FOR i=0L,Nst-1 DO BEGIN |
94 | 94 | fv=str_sep(ffile,'/') |
95 | 95 | file=dir+fv(n_elements(fv)-1) |
96 | 96 | ;Open file |
97 | - message,'Will write CHRG file '+file,/continue | |
97 | + message,'Will write CHRG file '+file,/info | |
98 | 98 | openw,unit,file,/get_lun |
99 | 99 | ;Print comments |
100 | 100 | IF Ncomments NE 0 THEN BEGIN | ... | ... |