Commit a7446da7e09d17e5a5ca3e936c6ee69452cf7770
1 parent
17e0f513
Exists in
master
completely re-writen with much less code lines ...
Showing
1 changed file
with
71 additions
and
3649 deletions
Show diff stats
src/idl/dustem_plugin_stellar_population.pro
1 | -FUNCTION dustem_plugin_stellar_population, key=key, val=val, scope=scope, paramtag=paramtag,help=help,test=test | |
1 | +FUNCTION dustem_plugin_stellar_population, key=key, val=val, scope=scope, paramtag=paramtag,help=help,test=test,initialize=initialize | |
2 | 2 | |
3 | 3 | ;+ |
4 | 4 | ; NAME: |
... | ... | @@ -39,32 +39,38 @@ IF keyword_set(help) THEN BEGIN |
39 | 39 | goto,the_end |
40 | 40 | ENDIF |
41 | 41 | |
42 | -IF keyword_set(scope) THEN BEGIN | |
43 | - out=0 | |
44 | - goto, the_scope | |
42 | +IF keyword_set(scope) THEN BEGIN | |
43 | + message,'Scope keyword was set',/continue | |
44 | + stop | |
45 | 45 | ENDIF |
46 | 46 | |
47 | -IF keyword_set(paramtag) THEN BEGIN | |
48 | - out=0 | |
49 | - goto, the_paramtag | |
47 | +IF keyword_set(paramtag) THEN BEGIN | |
48 | + message,'paramtag keyword was set',/continue | |
49 | + stop | |
50 | +; out=0 | |
51 | +; goto, the_paramtag | |
52 | +ENDIF | |
53 | +scope='STELLAR_POPULATION' | |
54 | +stellar_isrf=0. | |
55 | + | |
56 | +;==== read stellar population parameters if not already in memory | |
57 | +IF keyword_set(initialize) THEN BEGIN | |
58 | + defsysv,'!dustem_plugin_stellar_population',exist=exist | |
59 | + IF exist EQ 0 THEN BEGIN | |
60 | + message,'Initializing stellar population parameters',/continue | |
61 | + file = !dustem_wrap_soft_dir+'Data/STELLARPOPS/EEM_dwarf_UBVIJHK_colors_Teff.xcat' | |
62 | + st=read_xcat(file,/silent) | |
63 | + defsysv,'!dustem_plugin_stellar_population',st | |
64 | + ENDIF | |
65 | + goto,the_end | |
50 | 66 | ENDIF |
51 | 67 | |
52 | -out=0;Do we need to initialize the output? | |
53 | - | |
54 | -;===========Initializing the defaut stellar population structure=========== | |
55 | -one_pop={radius:0.,temperature:0.,distance:0.,nstars:0.,popid:''} | |
56 | - | |
57 | -;===========Counters=========== | |
58 | -popnumber = 0. | |
59 | -counto = 0. | |
60 | -countb = 0. | |
61 | -counta = 0. | |
62 | -countf = 0. | |
63 | -countg = 0. | |
64 | -;============================== | |
68 | +;stop | |
65 | 69 | |
66 | 70 | ;===========Constants (in cgs)========== (except for the stellar population distance (in pc)) |
67 | -rsun2cm = 6.957e10 | |
71 | +rsun2cm = 6.957e10 ;Rsun in cm | |
72 | +c2a = 3e18 ;speed of light in ansgtroms/s (because of the Astron's PLANCK function) | |
73 | +pc2cm = 3.086e18 ;cm (cgs) | |
68 | 74 | |
69 | 75 | ;================NOTA BENE========================================================================== |
70 | 76 | ;DATA IS NOW RETRIEVED FROM THIS TEXT FILE: "A Modern Mean Dwarf Stellar Color and Effective Temperature Sequence" |
... | ... | @@ -79,3639 +85,55 @@ rsun2cm = 6.957e10 |
79 | 85 | ;This will help ease and shorten the fitting procedure |
80 | 86 | ;If the user wants to use them without having to read the entirety of this plugin please contact the DustEmWrap team. |
81 | 87 | |
82 | -IF keyword_set(key) THEN BEGIN | |
83 | - | |
84 | - | |
85 | - ;###READING OF MS DATA### | |
86 | - file = !dustem_wrap_soft_dir+'Data/STELLARPOPS/EEM_dwarf_UBVIJHK_colors_Teff.txt' | |
87 | - frmt = '(A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A)' | |
88 | +Nstars=n_elements(!dustem_plugin_stellar_population) | |
89 | +paramvalues=fltarr(Nstars,2) ;first parameter is distance to the stars in pc, second is the number of such stars | |
90 | +Nparam=Nstars*2 | |
91 | +stellar_isrf=0. | |
92 | +spectral_types=!dustem_plugin_stellar_population.spt | |
93 | + | |
94 | +paramtag=strarr(Nparam) | |
95 | +ii=0L | |
96 | +FOR i=0L,Nparam-1 DO BEGIN | |
97 | + ij=index2ij([i],[Nstars,2]) | |
98 | + IF ij[0,1] EQ 0 THEN cc='dist to' ELSE cc='N of ' | |
99 | + paramtag[ii]=cc+spectral_types[ij[0,0]] | |
100 | + ii=ii+1 | |
101 | +ENDFOR | |
88 | 102 | |
89 | - readcol, file, V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16,V17,V18,V20,V21,V22,V23,V24,V25,V26,V27,V28,V29,V30,V31,V32, format=frmt, delim=' ', comment='#',/nan,/silent | |
90 | - ;Paramters that are needed for the BB approximation (horrible approximation even for MS stars) | |
91 | - SpecType_MS = V1 | |
92 | - T_eff_MS = V2 | |
93 | - R_star_MS = V7 | |
94 | - | |
95 | - ;JPB: This is highly non standard and makes Fawlty go "Segmentation fault" | |
96 | - ;lumclass = (strmid(key,2)).remove(-1) ; extracting the luminosity class strings | |
97 | - ;IC: Yes but we need to take into account when luminosity class is two characters and not just one. ie: IV instead of V. | |
98 | - ;But since we only have MS (V) data, (lumclass[i]=strmid(key[i],2,1)) should be ok but I'm correcting it for future input. | |
99 | - lumclass=strarr(n_elements(key)) | |
103 | +IF keyword_set(key) THEN BEGIN | |
104 | + ;stop | |
100 | 105 | FOR i=0L,n_elements(key)-1 DO BEGIN |
101 | - lumclass[i]=strmid(key[i],2,strlen(key[i])-3) | |
106 | + ij=index2ij([key[i]-1],[Nstars,2]) | |
107 | + paramvalues[ij[0,0],ij[0,1]]=val[i] | |
102 | 108 | ENDFOR |
103 | - | |
104 | - | |
105 | - params = strmid(key,0,/reverse_offset) ; extracting the indices (in the 'key' array) of the stellar parameters to fit | |
106 | - | |
107 | - ; Locating the O3 stellar population parameters - this new code structure accounts for the presence of different luminosity classes. | |
108 | - testo3 = strupcase(strmid(key,0,2)) EQ 'O3' ;NB: test is like this so that user can use lowercase for spectral class | |
109 | - ind = where(testo3,countindo3) | |
110 | - | |
111 | - ; retrieveing the defaut values from the txt database | |
112 | - tsto3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
113 | - indat = where(tsto3,ctdato3) | |
114 | - if ctdato3 ne 0 then begin | |
115 | - | |
116 | - T_eff_MS_o3 = double(T_eff_MS(indat)) | |
117 | - R_star_MS_o3 = double(R_star_MS(indat)) | |
118 | - | |
119 | - endif | |
120 | - | |
121 | - IF countindo3 NE 0 THEN BEGIN | |
122 | - lumclasso3 = lumclass(ind) | |
123 | - nlmo3 = n_elements(lumclasso3) | |
124 | - indo3_1 = fltarr(nlmo3) | |
125 | - indo3_2 = indo3_1 | |
126 | - indo3_3 = indo3_1 | |
127 | - indo3_4 = indo3_1 | |
128 | - countindo3_1 = indo3_1 | |
129 | - countindo3_2 = indo3_1 | |
130 | - countindo3_3 = indo3_1 | |
131 | - countindo3_4 = indo3_1 | |
132 | - FOR i=0L,nlmo3-1 DO BEGIN | |
133 | - popnumber+=1 | |
134 | - counto+=1 | |
135 | - indo3_1[i] = where(testo3 and params EQ 1, countindo3_1x); index of radius of this stellar population in the val array | |
136 | - countindo3_1[i] = countindo3_1x | |
137 | - indo3_2[i] = where(testo3 and params EQ 2, countindo3_2x); index of temperature of this stellar population in the val array | |
138 | - countindo3_2[i] = countindo3_2x | |
139 | - indo3_3[i] = where(testo3 and params EQ 3, countindo3_3x); index of distance of this stellar population in the val array | |
140 | - countindo3_3[i] = countindo3_3x | |
141 | - indo3_4[i] = where(testo3 and params EQ 4, countindo3_4x); index of the nstars of this stellar population in the val array (Q: does it make sense to have an nstars>1.? If not upper limiting it in the general fitting procedure might be handy) | |
142 | - countindo3_4[i] = countindo3_4x | |
143 | - ENDFOR | |
144 | - ENDIF | |
145 | - | |
146 | - ; Locating the O4 stellar population parameters | |
147 | - testo4 = strupcase(strmid(key,0,2)) EQ 'O4' | |
148 | - ind = where(testo4,countindo4) | |
149 | - | |
150 | - ; retrieveing the defaut values from the txt database | |
151 | - tsto4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
152 | - indat = where(tsto4,ctdato4) | |
153 | - if ctdato4 ne 0 then begin | |
154 | - | |
155 | - T_eff_MS_o4 = double(T_eff_MS(indat)) | |
156 | - R_star_MS_o4 = double(R_star_MS(indat)) | |
157 | - | |
158 | - endif | |
159 | - IF countindo4 NE 0 THEN BEGIN | |
160 | - lumclasso4 = lumclass(ind) | |
161 | - nlmo4 = n_elements(lumclasso4) | |
162 | - indo4_1 = fltarr(nlmo4) | |
163 | - indo4_2 = indo4_1 | |
164 | - indo4_3 = indo4_1 | |
165 | - indo4_4 = indo4_1 | |
166 | - countindo4_1 = indo4_1 | |
167 | - countindo4_2 = indo4_1 | |
168 | - countindo4_3 = indo4_1 | |
169 | - countindo4_4 = indo4_1 | |
170 | - FOR i=0L,nlmo4-1 DO BEGIN | |
171 | - popnumber+=1 | |
172 | - counto+=1 | |
173 | - indo4_1[i] = where(testo4 and params EQ 1, countindo4_1x); index of radius of this stellar population in the val array | |
174 | - countindo4_1[i] = countindo4_1x | |
175 | - indo4_2[i] = where(testo4 and params EQ 2, countindo4_2x); index of temperature of this stellar population in the val array | |
176 | - countindo4_2[i] = countindo4_2x | |
177 | - indo4_3[i] = where(testo4 and params EQ 3, countindo4_3x); index of distance of this stellar population in the val array | |
178 | - countindo4_3[i] = countindo4_3x | |
179 | - indo4_4[i] = where(testo4 and params EQ 4, countindo4_4x); index of the nstars of this stellar population in the val array | |
180 | - countindo4_4[i] = countindo4_4x | |
181 | - ENDFOR | |
182 | - ENDIF | |
183 | - | |
184 | - ; Locating the O5 stellar population parameters | |
185 | - testo5 = strupcase(strmid(key,0,2)) EQ 'O5' | |
186 | - ind = where(testo5,countindo5) | |
187 | - | |
188 | - ; retrieveing the defaut values from the txt database | |
189 | - tsto5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
190 | - indat = where(tsto5,ctdato5) | |
191 | - if ctdato5 ne 0 then begin | |
192 | - | |
193 | - T_eff_MS_o5 = double(T_eff_MS(indat)) | |
194 | - R_star_MS_o5 = double(R_star_MS(indat)) | |
195 | - | |
196 | - endif | |
197 | - IF countindo5 NE 0 THEN BEGIN | |
198 | - lumclasso5 = lumclass(ind) | |
199 | - nlmo5 = n_elements(lumclasso5) | |
200 | - indo5_1 = fltarr(nlmo5) | |
201 | - indo5_2 = indo5_1 | |
202 | - indo5_3 = indo5_1 | |
203 | - indo5_4 = indo5_1 | |
204 | - countindo5_1 = indo5_1 | |
205 | - countindo5_2 = indo5_1 | |
206 | - countindo5_3 = indo5_1 | |
207 | - countindo5_4 = indo5_1 | |
208 | - FOR i=0L,nlmo5-1 DO BEGIN | |
209 | - popnumber+=1 | |
210 | - counto+=1 | |
211 | - indo5_1[i] = where(testo5 and params EQ 1, countindo5_1x); index of radius of this stellar population in the val array | |
212 | - countindo5_1[i] = countindo5_1x | |
213 | - indo5_2[i] = where(testo5 and params EQ 2, countindo5_2x); index of temperature of this stellar population in the val array | |
214 | - countindo5_2[i] = countindo5_2x | |
215 | - indo5_3[i] = where(testo5 and params EQ 3, countindo5_3x); index of distance of this stellar population in the val array | |
216 | - countindo5_3[i] = countindo5_3x | |
217 | - indo5_4[i] = where(testo5 and params EQ 4, countindo5_4x); index of the nstars of this stellar population in the val array | |
218 | - countindo5_4[i] = countindo5_4x | |
219 | - ENDFOR | |
220 | - ENDIF | |
221 | - | |
222 | - ; Locating the O6 stellar population parameters | |
223 | - testo6 = strupcase(strmid(key,0,2)) EQ 'O6' | |
224 | - ind = where(testo6,countindo6) | |
225 | - ; retrieveing the defaut values from the txt database | |
226 | - tsto6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
227 | - indat = where(tsto6,ctdato6) | |
228 | - if ctdato6 ne 0 then begin | |
229 | - | |
230 | - T_eff_MS_o6 = double(T_eff_MS(indat)) | |
231 | - R_star_MS_o6 = double(R_star_MS(indat)) | |
232 | - | |
233 | - endif | |
234 | - IF countindo6 NE 0 THEN BEGIN | |
235 | - lumclasso6 = lumclass(ind) | |
236 | - nlmo6 = long(n_elements(lumclasso6)) | |
237 | - indo6_1 = fltarr(nlmo6) | |
238 | - indo6_2 = indo6_1 | |
239 | - indo6_3 = indo6_1 | |
240 | - indo6_4 = indo6_1 | |
241 | - countindo6_1 = indo6_1 | |
242 | - countindo6_2 = indo6_1 | |
243 | - countindo6_3 = indo6_1 | |
244 | - countindo6_4 = indo6_1 | |
245 | - FOR i=0L,nlmo6-1 DO BEGIN | |
246 | - popnumber+=1 | |
247 | - counto+=1 | |
248 | - indo6_1[i] = where(testo6 and params EQ 1, countindo6_1x); index of radius of this stellar population in the val array | |
249 | - countindo6_1[i] = countindo6_1x | |
250 | - indo6_2[i] = where(testo6 and params EQ 2, countindo6_2x); index of temperature of this stellar population in the val array | |
251 | - countindo6_2[i] = countindo6_2x | |
252 | - indo6_3[i] = where(testo6 and params EQ 3, countindo6_3x); index of distance of this stellar population in the val array | |
253 | - countindo6_3[i] = countindo6_3x | |
254 | - indo6_4[i] = where(testo6 and params EQ 4, countindo6_4x); index of the nstars of this stellar population in the val array | |
255 | - countindo6_4[i] = countindo6_4x | |
256 | - ENDFOR | |
257 | - ENDIF | |
258 | - | |
259 | - | |
260 | - ; Locating the O7 stellar population parameters | |
261 | - testo7 = strupcase(strmid(key,0,2)) EQ 'O7' | |
262 | - ind = where(testo7,countindo7) | |
263 | - ; retrieveing the defaut values from the txt database | |
264 | - tsto7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
265 | - indat = where(tsto7,ctdato7) | |
266 | - if ctdato7 ne 0 then begin | |
267 | - | |
268 | - T_eff_MS_o7 = double(T_eff_MS(indat)) | |
269 | - R_star_MS_o7 = double(R_star_MS(indat)) | |
270 | - | |
271 | - endif | |
272 | - IF countindo7 NE 0 THEN BEGIN | |
273 | - lumclasso7 = lumclass(ind) | |
274 | - nlmo7 = n_elements(lumclasso7) | |
275 | - indo7_1 = fltarr(nlmo7) | |
276 | - indo7_2 = indo7_1 | |
277 | - indo7_3 = indo7_1 | |
278 | - indo7_4 = indo7_1 | |
279 | - countindo7_1 = indo7_1 | |
280 | - countindo7_2 = indo7_1 | |
281 | - countindo7_3 = indo7_1 | |
282 | - countindo7_4 = indo7_1 | |
283 | - FOR i=0L,nlmo7-1 DO BEGIN | |
284 | - popnumber+=1 | |
285 | - counto+=1 | |
286 | - indo7_1[i] = where(testo7 and params EQ 1, countindo7_1x); index of radius of this stellar population in the val array | |
287 | - countindo7_1[i] = countindo7_1x | |
288 | - indo7_2[i] = where(testo7 and params EQ 2, countindo7_2x); index of temperature of this stellar population in the val array | |
289 | - countindo7_2[i] = countindo7_2x | |
290 | - indo7_3[i] = where(testo7 and params EQ 3, countindo7_3x); index of distance of this stellar population in the val array | |
291 | - countindo7_3[i] = countindo7_3x | |
292 | - indo7_4[i] = where(testo7 and params EQ 4, countindo7_4x); index of the nstars of this stellar population in the val array | |
293 | - countindo7_4[i] = countindo7_4x | |
294 | - ENDFOR | |
295 | - ENDIF | |
296 | - | |
297 | - ; Locating the O8 stellar population parameters | |
298 | - testo8 = strupcase(strmid(key,0,2)) EQ 'O8' | |
299 | - ind = where(testo8,countindo8) | |
300 | - ; retrieveing the defaut values from the txt database | |
301 | - tsto8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
302 | - indat = where(tsto8,ctdato8) | |
303 | - if ctdato8 ne 0 then begin | |
304 | - | |
305 | - T_eff_MS_o8 = double(T_eff_MS(indat)) | |
306 | - R_star_MS_o8 = double(R_star_MS(indat)) | |
307 | - | |
308 | - endif | |
309 | - IF countindo8 NE 0 THEN BEGIN | |
310 | - lumclasso8 = lumclass(ind) | |
311 | - nlmo8 = n_elements(lumclasso8) | |
312 | - indo8_1 = fltarr(nlmo8) | |
313 | - indo8_2 = indo8_1 | |
314 | - indo8_3 = indo8_1 | |
315 | - indo8_4 = indo8_1 | |
316 | - countindo8_1 = indo8_1 | |
317 | - countindo8_2 = indo8_1 | |
318 | - countindo8_3 = indo8_1 | |
319 | - countindo8_4 = indo8_1 | |
320 | - FOR i=0L,nlmo8-1 DO BEGIN | |
321 | - popnumber+=1 | |
322 | - counto+=1 | |
323 | - indo8_1[i] = where(testo8 and params EQ 1, countindo8_1x); index of radius of this stellar population in the val array | |
324 | - countindo8_1[i] = countindo8_1x | |
325 | - indo8_2[i] = where(testo8 and params EQ 2, countindo8_2x); index of temperature of this stellar population in the val array | |
326 | - countindo8_2[i] = countindo8_2x | |
327 | - indo8_3[i] = where(testo8 and params EQ 3, countindo8_3x); index of distance of this stellar population in the val array | |
328 | - countindo8_3[i] = countindo8_3x | |
329 | - indo8_4[i] = where(testo8 and params EQ 4, countindo8_4x); index of the nstars of this stellar population in the val array | |
330 | - countindo8_4[i] = countindo8_4x | |
331 | - ENDFOR | |
332 | - ENDIF | |
333 | - | |
334 | - ; Locating the O9 stellar population parameters | |
335 | - testo9 = strupcase(strmid(key,0,2)) EQ 'O9' | |
336 | - ind = where(testo9,countindo9) | |
337 | - ; retrieveing the defaut values from the txt database | |
338 | - tsto9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
339 | - indat = where(tsto9,ctdato9) | |
340 | - if ctdato9 ne 0 then begin | |
341 | - | |
342 | - T_eff_MS_o9 = double(T_eff_MS(indat)) | |
343 | - R_star_MS_o9 = double(R_star_MS(indat)) | |
344 | - | |
345 | - endif | |
346 | - IF countindo9 NE 0 THEN BEGIN | |
347 | - lumclasso9 = strupcase(lumclass(ind)) | |
348 | - nlmo9 = long(n_elements(lumclasso9)) | |
349 | - indo9_1 = fltarr(nlmo9) | |
350 | - indo9_2 = indo9_1 | |
351 | - indo9_3 = indo9_1 | |
352 | - indo9_4 = indo9_1 | |
353 | - countindo9_1 = indo9_1 | |
354 | - countindo9_2 = indo9_1 | |
355 | - countindo9_3 = indo9_1 | |
356 | - countindo9_4 = indo9_1 | |
357 | - FOR i=0L,nlmo9-1 DO BEGIN | |
358 | - popnumber+=1 | |
359 | - counto+=1 | |
360 | - indo9_1[i] = where(testo9 and params EQ 1, countindo9_1x); index of radius of this stellar population in the val array | |
361 | - countindo9_1[i] = countindo9_1x | |
362 | - indo9_2[i] = where(testo9 and params EQ 2, countindo9_2x); index of temperature of this stellar population in the val array | |
363 | - countindo9_2[i] = countindo9_2x | |
364 | - indo9_3[i] = where(testo9 and params EQ 3, countindo9_3x); index of distance of this stellar population in the val array | |
365 | - countindo9_3[i] = countindo9_3x | |
366 | - indo9_4[i] = where(testo9 and params EQ 4, countindo9_4x); index of the nstars of this stellar population in the val array | |
367 | - countindo9_4[i] = countindo9_4x | |
368 | - ENDFOR | |
369 | - ENDIF | |
370 | - | |
371 | - ;====================================================== | |
372 | - | |
373 | - ; Locating the B0 stellar population parameters | |
374 | - testb0 = strupcase(strmid(key,0,2)) EQ 'B0' | |
375 | - ind = where(testb0,countindb0) | |
376 | - ; retrieveing the defaut values from the txt database | |
377 | - tstb0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
378 | - indat = where(tstb0,ctdatb0) | |
379 | - if ctdatb0 ne 0 then begin | |
380 | - | |
381 | - T_eff_MS_b0 = double(T_eff_MS(indat)) | |
382 | - R_star_MS_b0 = double(R_star_MS(indat)) | |
383 | - | |
384 | - endif | |
385 | - IF countindb0 NE 0 THEN BEGIN | |
386 | - lumclassb0 = uniq(lumclass(ind)) | |
387 | - nlmb0 = n_elements(lumclassb0) | |
388 | - indb0_1 = fltarr(nlmb0) | |
389 | - indb0_2 = indb0_1 | |
390 | - indb0_3 = indb0_1 | |
391 | - indb0_4 = indb0_1 | |
392 | - countindb0_1 = indb0_1 | |
393 | - countindb0_2 = indb0_1 | |
394 | - countindb0_3 = indb0_1 | |
395 | - countindb0_4 = indb0_1 | |
396 | - FOR i=0L,nlmb0-1 DO BEGIN | |
397 | - popnumber+=1 | |
398 | - countb+=1 | |
399 | - indb0_1[i] = where(testb0 and params EQ 1, countindb0_1x); index of radius of this stellar population in the val array | |
400 | - countindb0_1[i] = countindb0_1x | |
401 | - indb0_2[i] = where(testb0 and params EQ 2, countindb0_2x); index of temperature of this stellar population in the val array | |
402 | - countindb0_2[i] = countindb0_2x | |
403 | - indb0_3[i] = where(testb0 and params EQ 3, countindb0_3x); index of distance of this stellar population in the val array | |
404 | - countindb0_3[i] = countindb0_3x | |
405 | - indb0_4[i] = where(testb0 and params EQ 4, countindb0_4x); index of the nstars of this stellar population in the val array | |
406 | - countindb0_4[i] = countindb0_4x | |
407 | - ENDFOR | |
408 | - ENDIF | |
409 | - | |
410 | - ; Locating the B1 stellar population parameters | |
411 | - testb1 = strupcase(strmid(key,0,2)) EQ 'B1' | |
412 | - ind = where(testb1,countindb1) | |
413 | - ; retrieveing the defaut values from the txt database | |
414 | - tstb1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
415 | - indat = where(tstb1,ctdatb1) | |
416 | - if ctdatb1 ne 0 then begin | |
417 | - | |
418 | - T_eff_MS_b1 = double(T_eff_MS(indat)) | |
419 | - R_star_MS_b1 = double(R_star_MS(indat)) | |
420 | - | |
421 | - endif | |
422 | - IF countindb1 NE 0 THEN BEGIN | |
423 | - lumclassb1 = strupcase(lumclass(ind)) | |
424 | - nlmb1 = long(n_elements(lumclassb1)) | |
425 | - indb1_1 = fltarr(nlmb1) | |
426 | - indb1_2 = indb1_1 | |
427 | - indb1_3 = indb1_1 | |
428 | - indb1_4 = indb1_1 | |
429 | - countindb1_1 = indb1_1 | |
430 | - countindb1_2 = indb1_1 | |
431 | - countindb1_3 = indb1_1 | |
432 | - countindb1_4 = indb1_1 | |
433 | - FOR i=0L,nlmb1-1 DO BEGIN | |
434 | - popnumber+=1 | |
435 | - countb+=1 | |
436 | - indb1_1[i] = where(testb1 and params EQ 1, countindb1_1x); index of radius of this stellar population in the val array | |
437 | - countindb1_1[i] = countindb1_1x | |
438 | - indb1_2[i] = where(testb1 and params EQ 2, countindb1_2x); index of temperature of this stellar population in the val array | |
439 | - countindb1_2[i] = countindb1_2x | |
440 | - indb1_3[i] = where(testb1 and params EQ 3, countindb1_3x); index of distance of this stellar population in the val array | |
441 | - countindb1_3[i] = countindb1_3x | |
442 | - indb1_4[i] = where(testb1 and params EQ 4, countindb1_4x); index of the nstars of this stellar population in the val array | |
443 | - countindb1_4[i] = countindb1_4x | |
444 | - ENDFOR | |
445 | - ENDIF | |
446 | - | |
447 | - ; Locating the B2 stellar population parameters | |
448 | - testb2 = strupcase(strmid(key,0,2)) EQ 'B2' | |
449 | - ind = where(testb2,countindb2) | |
450 | - ; retrieveing the defaut values from the txt database | |
451 | - tstb2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
452 | - indat = where(tstb2,ctdatb2) | |
453 | - if ctdatb2 ne 0 then begin | |
454 | - | |
455 | - T_eff_MS_b2 = double(T_eff_MS(indat)) | |
456 | - R_star_MS_b2 = double(R_star_MS(indat)) | |
457 | - | |
458 | - endif | |
459 | - IF countindb2 NE 0 THEN BEGIN | |
460 | - lumclassb2 = uniq(lumclass(ind)) | |
461 | - nlmb2 = n_elements(lumclassb2) | |
462 | - indb2_1 = fltarr(nlmb2) | |
463 | - indb2_2 = indb2_1 | |
464 | - indb2_3 = indb2_1 | |
465 | - indb2_4 = indb2_1 | |
466 | - countindb2_1 = indb2_1 | |
467 | - countindb2_2 = indb2_1 | |
468 | - countindb2_3 = indb2_1 | |
469 | - countindb2_4 = indb2_1 | |
470 | - FOR i=0L,nlmb2-1 DO BEGIN | |
471 | - popnumber+=1 | |
472 | - countb+=1 | |
473 | - indb2_1[i] = where(testb2 and params EQ 1, countindb2_1x); index of radius of this stellar population in the val array | |
474 | - countindb2_1[i] = countindb2_1x | |
475 | - indb2_2[i] = where(testb2 and params EQ 2, countindb2_2x); index of temperature of this stellar population in the val array | |
476 | - countindb2_2[i] = countindb2_2x | |
477 | - indb2_3[i] = where(testb2 and params EQ 3, countindb2_3x); index of distance of this stellar population in the val array | |
478 | - countindb2_3[i] = countindb2_3x | |
479 | - indb2_4[i] = where(testb2 and params EQ 4, countindb2_4x); index of the nstars of this stellar population in the val array | |
480 | - countindb2_4[i] = countindb2_4x | |
481 | - ENDFOR | |
482 | - ENDIF | |
483 | - | |
484 | - ; Locating the B3 stellar population parameters | |
485 | - testb3 = strupcase(strmid(key,0,2)) EQ 'B3' | |
486 | - ind = where(testb3,countindb3) | |
487 | - ; retrieveing the defaut values from the txt database | |
488 | - tstb3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
489 | - indat = where(tstb3,ctdatb3) | |
490 | - if ctdatb3 ne 0 then begin | |
491 | - | |
492 | - T_eff_MS_b3 = double(T_eff_MS(indat)) | |
493 | - R_star_MS_b3 = double(R_star_MS(indat)) | |
494 | - | |
495 | - endif | |
496 | - IF countindb3 NE 0 THEN BEGIN | |
497 | - lumclassb3 = uniq(lumclass(ind)) | |
498 | - nlmb3 = n_elements(lumclassb3) | |
499 | - indb3_1 = fltarr(nlmb3) | |
500 | - indb3_2 = indb3_1 | |
501 | - indb3_3 = indb3_1 | |
502 | - indb3_4 = indb3_1 | |
503 | - countindb3_1 = indb3_1 | |
504 | - countindb3_2 = indb3_1 | |
505 | - countindb3_3 = indb3_1 | |
506 | - countindb3_4 = indb3_1 | |
507 | - FOR i=0L,nlmb3-1 DO BEGIN | |
508 | - popnumber+=1 | |
509 | - countb+=1 | |
510 | - indb3_1[i] = where(testb3 and params EQ 1, countindb3_1x); index of radius of this stellar population in the val array | |
511 | - countindb3_1[i] = countindb3_1x | |
512 | - indb3_2[i] = where(testb3 and params EQ 2, countindb3_2x); index of temperature of this stellar population in the val array | |
513 | - countindb3_2[i] = countindb3_2x | |
514 | - indb3_3[i] = where(testb3 and params EQ 3, countindb3_3x); index of distance of this stellar population in the val array | |
515 | - countindb3_3[i] = countindb3_3x | |
516 | - indb3_4[i] = where(testb3 and params EQ 4, countindb3_4x); index of the nstars of this stellar population in the val array | |
517 | - countindb3_4[i] = countindb3_4x | |
518 | - ENDFOR | |
519 | - ENDIF | |
520 | - | |
521 | - ; Locating the B4 stellar population parameters | |
522 | - testb4 = strupcase(strmid(key,0,2)) EQ 'B4' | |
523 | - ind = where(testb4,countindb4) | |
524 | - ; retrieveing the defaut values from the txt database | |
525 | - tstb4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
526 | - indat = where(tstb4,ctdatb4) | |
527 | - if ctdatb4 ne 0 then begin | |
528 | - | |
529 | - T_eff_MS_b4 = double(T_eff_MS(indat)) | |
530 | - R_star_MS_b4 = double(R_star_MS(indat)) | |
531 | - | |
532 | - endif | |
533 | - IF countindb4 NE 0 THEN BEGIN | |
534 | - lumclassb4 = uniq(lumclass(ind)) | |
535 | - nlmb4 = n_elements(lumclassb4) | |
536 | - indb4_1 = fltarr(nlmb4) | |
537 | - indb4_2 = indb4_1 | |
538 | - indb4_3 = indb4_1 | |
539 | - indb4_4 = indb4_1 | |
540 | - countindb4_1 = indb4_1 | |
541 | - countindb4_2 = indb4_1 | |
542 | - countindb4_3 = indb4_1 | |
543 | - countindb4_4 = indb4_1 | |
544 | - FOR i=0L,nlmb4-1 DO BEGIN | |
545 | - popnumber+=1 | |
546 | - countb+=1 | |
547 | - indb4_1[i] = where(testb4 and params EQ 1, countindb4_1x); index of radius of this stellar population in the val array | |
548 | - countindb4_1[i] = countindb4_1x | |
549 | - indb4_2[i] = where(testb4 and params EQ 2, countindb4_2x); index of temperature of this stellar population in the val array | |
550 | - countindb4_2[i] = countindb4_2x | |
551 | - indb4_3[i] = where(testb4 and params EQ 3, countindb4_3x); index of distance of this stellar population in the val array | |
552 | - countindb4_3[i] = countindb4_3x | |
553 | - indb4_4[i] = where(testb4 and params EQ 4, countindb4_4x); index of the nstars of this stellar population in the val array | |
554 | - countindb4_4[i] = countindb4_4x | |
555 | - ENDFOR | |
556 | - ENDIF | |
557 | - | |
558 | - ; Locating the B5 stellar population parameters | |
559 | - testb5 = strupcase(strmid(key,0,2)) EQ 'B5' | |
560 | - ind = where(testb5,countindb5) | |
561 | - ; retrieveing the defaut values from the txt database | |
562 | - tstb5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
563 | - indat = where(tstb5,ctdatb5) | |
564 | - if ctdatb5 ne 0 then begin | |
565 | - | |
566 | - T_eff_MS_b5 = double(T_eff_MS(indat)) | |
567 | - R_star_MS_b5 = double(R_star_MS(indat)) | |
568 | - | |
569 | - endif | |
570 | - IF countindb5 NE 0 THEN BEGIN | |
571 | - lumclassb5 = uniq(lumclass(ind)) | |
572 | - nlmb5 = n_elements(lumclassb5) | |
573 | - indb5_1 = fltarr(nlmb5) | |
574 | - indb5_2 = indb5_1 | |
575 | - indb5_3 = indb5_1 | |
576 | - indb5_4 = indb5_1 | |
577 | - countindb5_1 = indb5_1 | |
578 | - countindb5_2 = indb5_1 | |
579 | - countindb5_3 = indb5_1 | |
580 | - countindb5_4 = indb5_1 | |
581 | - FOR i=0L,nlmb5-1 DO BEGIN | |
582 | - popnumber+=1 | |
583 | - countb+=1 | |
584 | - indb5_1[i] = where(testb5 and params EQ 1, countindb5_1x); index of radius of this stellar population in the val array | |
585 | - countindb5_1[i] = countindb5_1x | |
586 | - indb5_2[i] = where(testb5 and params EQ 2, countindb5_2x); index of temperature of this stellar population in the val array | |
587 | - countindb5_2[i] = countindb5_2x | |
588 | - indb5_3[i] = where(testb5 and params EQ 3, countindb5_3x); index of distance of this stellar population in the val array | |
589 | - countindb5_3[i] = countindb5_3x | |
590 | - indb5_4[i] = where(testb5 and params EQ 4, countindb5_4x); index of the nstars of this stellar population in the val array | |
591 | - countindb5_4[i] = countindb5_4x | |
592 | - ENDFOR | |
593 | - ENDIF | |
594 | - | |
595 | - ; Locating the B6 stellar population parameters | |
596 | - testb6 = strupcase(strmid(key,0,2)) EQ 'B6' | |
597 | - ind = where(testb6,countindb6) | |
598 | - ; retrieveing the defaut values from the txt database | |
599 | - tstb6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
600 | - indat = where(tstb6,ctdatb6) | |
601 | - if ctdatb6 ne 0 then begin | |
602 | - | |
603 | - T_eff_MS_b6 = double(T_eff_MS(indat)) | |
604 | - R_star_MS_b6 = double(R_star_MS(indat)) | |
605 | - | |
606 | - endif | |
607 | - IF countindb6 NE 0 THEN BEGIN | |
608 | - lumclassb6 = uniq(lumclass(ind)) | |
609 | - nlmb6 = n_elements(lumclassb6) | |
610 | - indb6_1 = fltarr(nlmb6) | |
611 | - indb6_2 = indb6_1 | |
612 | - indb6_3 = indb6_1 | |
613 | - indb6_4 = indb6_1 | |
614 | - countindb6_1 = indb6_1 | |
615 | - countindb6_2 = indb6_1 | |
616 | - countindb6_3 = indb6_1 | |
617 | - countindb6_4 = indb6_1 | |
618 | - FOR i=0L,nlmb6-1 DO BEGIN | |
619 | - popnumber+=1 | |
620 | - countb+=1 | |
621 | - indb6_1[i] = where(testb6 and params EQ 1, countindb6_1x); index of radius of this stellar population in the val array | |
622 | - countindb6_1[i] = countindb6_1x | |
623 | - indb6_2[i] = where(testb6 and params EQ 2, countindb6_2x); index of temperature of this stellar population in the val array | |
624 | - countindb6_2[i] = countindb6_2x | |
625 | - indb6_3[i] = where(testb6 and params EQ 3, countindb6_3x); index of distance of this stellar population in the val array | |
626 | - countindb6_3[i] = countindb6_3x | |
627 | - indb6_4[i] = where(testb6 and params EQ 4, countindb6_4x); index of the nstars of this stellar population in the val array | |
628 | - countindb6_4[i] = countindb6_4x | |
629 | - ENDFOR | |
630 | - ENDIF | |
631 | - | |
632 | - ; Locating the B7 stellar population parameters | |
633 | - testb7 = strupcase(strmid(key,0,2)) EQ 'B7' | |
634 | - ind = where(testb7,countindb7) | |
635 | - ; retrieveing the defaut values from the txt database | |
636 | - tstb7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
637 | - indat = where(tstb7,ctdatb7) | |
638 | - if ctdatb7 ne 0 then begin | |
639 | - | |
640 | - T_eff_MS_b7 = double(T_eff_MS(indat)) | |
641 | - R_star_MS_b7 = double(R_star_MS(indat)) | |
642 | - | |
643 | - endif | |
644 | - IF countindb7 NE 0 THEN BEGIN | |
645 | - lumclassb7 = uniq(lumclass(ind)) | |
646 | - nlmb7 = n_elements(lumclassb7) | |
647 | - indb7_1 = fltarr(nlmb7) | |
648 | - indb7_2 = indb7_1 | |
649 | - indb7_3 = indb7_1 | |
650 | - indb7_4 = indb7_1 | |
651 | - countindb7_1 = indb7_1 | |
652 | - countindb7_2 = indb7_1 | |
653 | - countindb7_3 = indb7_1 | |
654 | - countindb7_4 = indb7_1 | |
655 | - FOR i=0L,nlmb7-1 DO BEGIN | |
656 | - popnumber+=1 | |
657 | - countb+=1 | |
658 | - indb7_1[i] = where(testb7 and params EQ 1, countindb7_1x); index of radius of this stellar population in the val array | |
659 | - countindb7_1[i] = countindb7_1x | |
660 | - indb7_2[i] = where(testb7 and params EQ 2, countindb7_2x); index of temperature of this stellar population in the val array | |
661 | - countindb7_2[i] = countindb7_2x | |
662 | - indb7_3[i] = where(testb7 and params EQ 3, countindb7_3x); index of distance of this stellar population in the val array | |
663 | - countindb7_3[i] = countindb7_3x | |
664 | - indb7_4[i] = where(testb7 and params EQ 4, countindb7_4x); index of the nstars of this stellar population in the val array | |
665 | - countindb7_4[i] = countindb7_4x | |
666 | - ENDFOR | |
667 | - ENDIF | |
668 | - | |
669 | - ; Locating the B8 stellar population parameters | |
670 | - testb8 = strupcase(strmid(key,0,2)) EQ 'B8' | |
671 | - ind = where(testb8,countindb8) | |
672 | - ; retrieveing the defaut values from the txt database | |
673 | - tstb8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
674 | - indat = where(tstb8,ctdatb8) | |
675 | - if ctdatb8 ne 0 then begin | |
676 | - | |
677 | - T_eff_MS_b8 = double(T_eff_MS(indat)) | |
678 | - R_star_MS_b8 = double(R_star_MS(indat)) | |
679 | - | |
680 | - endif | |
681 | - IF countindb8 NE 0 THEN BEGIN | |
682 | - lumclassb8 = uniq(lumclass(ind)) | |
683 | - nlmb8 = n_elements(lumclassb8) | |
684 | - indb8_1 = fltarr(nlmb8) | |
685 | - indb8_2 = indb8_1 | |
686 | - indb8_3 = indb8_1 | |
687 | - indb8_4 = indb8_1 | |
688 | - countindb8_1 = indb8_1 | |
689 | - countindb8_2 = indb8_1 | |
690 | - countindb8_3 = indb8_1 | |
691 | - countindb8_4 = indb8_1 | |
692 | - FOR i=0L,nlmb8-1 DO BEGIN | |
693 | - popnumber+=1 | |
694 | - countb+=1 | |
695 | - indb8_1[i] = where(testb8 and params EQ 1, countindb8_1x); index of radius of this stellar population in the val array | |
696 | - countindb8_1[i] = countindb8_1x | |
697 | - indb8_2[i] = where(testb8 and params EQ 2, countindb8_2x); index of temperature of this stellar population in the val array | |
698 | - countindb8_2[i] = countindb8_2x | |
699 | - indb8_3[i] = where(testb8 and params EQ 3, countindb8_3x); index of distance of this stellar population in the val array | |
700 | - countindb8_3[i] = countindb8_3x | |
701 | - indb8_4[i] = where(testb8 and params EQ 4, countindb8_4x); index of the nstars of this stellar population in the val array | |
702 | - countindb8_4[i] = countindb8_4x | |
703 | - ENDFOR | |
704 | - ENDIF | |
705 | - | |
706 | - ; Locating the B9 stellar population parameters | |
707 | - testb9 = strupcase(strmid(key,0,2)) EQ 'B9' | |
708 | - ind = where(testb9,countindb9) | |
709 | - ; retrieveing the defaut values from the txt database | |
710 | - tstb9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
711 | - indat = where(tstb9,ctdatb9) | |
712 | - if ctdatb9 ne 0 then begin | |
713 | - | |
714 | - T_eff_MS_b9 = double(T_eff_MS(indat)) | |
715 | - R_star_MS_b9 = double(R_star_MS(indat)) | |
716 | - | |
717 | - endif | |
718 | - IF countindb9 NE 0 THEN BEGIN | |
719 | - lumclassb9 = uniq(lumclass(ind)) | |
720 | - nlmb9 = n_elements(lumclassb9) | |
721 | - indb9_1 = fltarr(nlmb9) | |
722 | - indb9_2 = indb9_1 | |
723 | - indb9_3 = indb9_1 | |
724 | - indb9_4 = indb9_1 | |
725 | - countindb9_1 = indb9_1 | |
726 | - countindb9_2 = indb9_1 | |
727 | - countindb9_3 = indb9_1 | |
728 | - countindb9_4 = indb9_1 | |
729 | - FOR i=0L,nlmb9-1 DO BEGIN | |
730 | - popnumber+=1 | |
731 | - countb+=1 | |
732 | - indb9_1[i] = where(testb9 and params EQ 1, countindb9_1x); index of radius of this stellar population in the val array | |
733 | - countindb9_1[i] = countindb9_1x | |
734 | - indb9_2[i] = where(testb9 and params EQ 2, countindb9_2x); index of temperature of this stellar population in the val array | |
735 | - countindb9_2[i] = countindb9_2x | |
736 | - indb9_3[i] = where(testb9 and params EQ 3, countindb9_3x); index of distance of this stellar population in the val array | |
737 | - countindb9_3[i] = countindb9_3x | |
738 | - indb9_4[i] = where(testb9 and params EQ 4, countindb9_4x); index of the nstars of this stellar population in the val array | |
739 | - countindb9_4[i] = countindb9_4x | |
740 | - ENDFOR | |
741 | - ENDIF | |
742 | - | |
743 | - | |
744 | - ;====================================================== | |
745 | - | |
746 | - ; Locating the A0 stellar population parameters | |
747 | - testa0 = strupcase(strmid(key,0,2)) EQ 'A0' | |
748 | - ind = where(testa0,countinda0) | |
749 | - ; retrieveing the defaut values from the txt database | |
750 | - tsta0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
751 | - indat = where(tsta0,ctdata0) | |
752 | - if ctdata0 ne 0 then begin | |
753 | - | |
754 | - T_eff_MS_a0 = double(T_eff_MS(indat)) | |
755 | - R_star_MS_a0 = double(R_star_MS(indat)) | |
756 | - | |
757 | - endif | |
758 | - IF countinda0 NE 0 THEN BEGIN | |
759 | - lumclassA0 = uniq(lumclass(ind)) | |
760 | - nlmA0 = n_elements(lumclassA0) | |
761 | - indA0_1 = fltarr(nlmA0) | |
762 | - indA0_2 = indA0_1 | |
763 | - indA0_3 = indA0_1 | |
764 | - indA0_4 = indA0_1 | |
765 | - countindA0_1 = indA0_1 | |
766 | - countindA0_2 = indA0_1 | |
767 | - countindA0_3 = indA0_1 | |
768 | - countindA0_4 = indA0_1 | |
769 | - FOR i=0L,nlmA0-1 DO BEGIN | |
770 | - popnumber+=1 | |
771 | - counta+=1 | |
772 | - inda0_1[i] = where(testa0 and params EQ 1, countinda0_1x); index of radius of this stellar population in the val array | |
773 | - countinda0_1[i] = countinda0_1x | |
774 | - inda0_2[i] = where(testa0 and params EQ 2, countinda0_2x); index of temperature of this stellar population in the val array | |
775 | - countinda0_2[i] = countinda0_2x | |
776 | - inda0_3[i] = where(testa0 and params EQ 3, countinda0_3x); index of distance of this stellar population in the val array | |
777 | - countinda0_3[i] = countinda0_3x | |
778 | - inda0_4[i] = where(testa0 and params EQ 4, countinda0_4x); index of the nstars of this stellar population in the val array | |
779 | - countinda0_4[i] = countinda0_4x | |
780 | - ENDFOR | |
781 | - ENDIF | |
782 | - | |
783 | - ; Locating the A1 stellar population parameters | |
784 | - testa1 = strupcase(strmid(key,0,2)) EQ 'A1' | |
785 | - ind = where(testa1,countinda1) | |
786 | - ; retrieveing the defaut values from the txt database | |
787 | - tsta1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
788 | - indat = where(tsta1,ctdata1) | |
789 | - if ctdata1 ne 0 then begin | |
790 | - | |
791 | - T_eff_MS_a1 = double(T_eff_MS(indat)) | |
792 | - R_star_MS_a1 = double(R_star_MS(indat)) | |
793 | - | |
794 | - endif | |
795 | - | |
796 | - IF countinda1 NE 0 THEN BEGIN | |
797 | - lumclassA1 = lumclass(ind) | |
798 | - nlmA1 = n_elements(lumclassA1) | |
799 | - indA1_1 = fltarr(nlmA1) | |
800 | - indA1_2 = indA1_1 | |
801 | - indA1_3 = indA1_1 | |
802 | - indA1_4 = indA1_1 | |
803 | - countindA1_1 = indA1_1 | |
804 | - countindA1_2 = indA1_1 | |
805 | - countindA1_3 = indA1_1 | |
806 | - countindA1_4 = indA1_1 | |
807 | - FOR i=0L,nlmA1-1 DO BEGIN | |
808 | - popnumber+=1 | |
809 | - counta+=1 | |
810 | - inda1_1[i] = where(testa1 and params EQ 1, countinda1_1x); index of radius of this stellar population in the val array | |
811 | - countinda1_1[i] = countinda1_1x | |
812 | - inda1_2[i] = where(testa1 and params EQ 2, countinda1_2x); index of temperature of this stellar population in the val array | |
813 | - countinda1_2[i] = countinda1_2x | |
814 | - inda1_3[i] = where(testa1 and params EQ 3, countinda1_3x); index of distance of this stellar population in the val array | |
815 | - countinda1_3[i] = countinda1_3x | |
816 | - inda1_4[i] = where(testa1 and params EQ 4, countinda1_4x); index of the nstars of this stellar population in the val array | |
817 | - countinda1_4[i] = countinda1_4x | |
818 | - ENDFOR | |
819 | - ENDIF | |
820 | - | |
821 | - ; Locating the A2 stellar population parameters | |
822 | - testa2 = strupcase(strmid(key,0,2)) EQ 'A2' | |
823 | - ind = where(testa2,countinda2) | |
824 | - ; retrieveing the defaut values from the txt database | |
825 | - tsta2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
826 | - indat = where(tsta2,ctdata2) | |
827 | - if ctdata2 ne 0 then begin | |
828 | - | |
829 | - T_eff_MS_a2 = double(T_eff_MS(indat)) | |
830 | - R_star_MS_a2 = double(R_star_MS(indat)) | |
831 | - | |
832 | - endif | |
833 | - IF countinda2 NE 0 THEN BEGIN | |
834 | - lumclassA2 = lumclass(ind) | |
835 | - nlmA2 = n_elements(lumclassA2) | |
836 | - indA2_1 = fltarr(nlmA2) | |
837 | - indA2_2 = indA2_1 | |
838 | - indA2_3 = indA2_1 | |
839 | - indA2_4 = indA2_1 | |
840 | - countindA2_1 = indA2_1 | |
841 | - countindA2_2 = indA2_1 | |
842 | - countindA2_3 = indA2_1 | |
843 | - countindA2_4 = indA2_1 | |
844 | - FOR i=0L,nlmA2-1 DO BEGIN | |
845 | - popnumber+=1 | |
846 | - counta+=1 | |
847 | - inda2_1[i] = where(testa2 and params EQ 1, countinda2_1x); index of radius of this stellar population in the val array | |
848 | - countinda2_1[i] = countinda2_1x | |
849 | - inda2_2[i] = where(testa2 and params EQ 2, countinda2_2x); index of temperature of this stellar population in the val array | |
850 | - countinda2_2[i] = countinda2_2x | |
851 | - inda2_3[i] = where(testa2 and params EQ 3, countinda2_3x); index of distance of this stellar population in the val array | |
852 | - countinda2_3[i] = countinda2_3x | |
853 | - inda2_4[i] = where(testa2 and params EQ 4, countinda2_4x); index of the nstars of this stellar population in the val array | |
854 | - countinda2_4[i] = countinda2_4x | |
855 | - ENDFOR | |
856 | - ENDIF | |
857 | - | |
858 | - ; Locating the A3 stellar population parameters | |
859 | - testa3 = strupcase(strmid(key,0,2)) EQ 'A3' | |
860 | - ind = where(testa3,countinda3) | |
861 | - ; retrieveing the defaut values from the txt database | |
862 | - tsta3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
863 | - indat = where(tsta3,ctdata3) | |
864 | - if ctdata3 ne 0 then begin | |
865 | - | |
866 | - T_eff_MS_a3 = double(T_eff_MS(indat)) | |
867 | - R_star_MS_a3 = double(R_star_MS(indat)) | |
868 | - | |
869 | - endif | |
870 | - IF countinda3 NE 0 THEN BEGIN | |
871 | - lumclassA3 = lumclass(ind) | |
872 | - nlmA3 = n_elements(lumclassA3) | |
873 | - indA3_1 = fltarr(nlmA3) | |
874 | - indA3_2 = indA3_1 | |
875 | - indA3_3 = indA3_1 | |
876 | - indA3_4 = indA3_1 | |
877 | - countindA3_1 = indA3_1 | |
878 | - countindA3_2 = indA3_1 | |
879 | - countindA3_3 = indA3_1 | |
880 | - countindA3_4 = indA3_1 | |
881 | - FOR i=0L,nlmA3-1 DO BEGIN | |
882 | - popnumber+=1 | |
883 | - counta+=1 | |
884 | - inda3_1[i] = where(testa3 and params EQ 1, countinda3_1x); index of radius of this stellar population in the val array | |
885 | - countinda3_1[i] = countinda3_1x | |
886 | - inda3_2[i] = where(testa3 and params EQ 2, countinda3_2x); index of temperature of this stellar population in the val array | |
887 | - countinda3_2[i] = countinda3_2x | |
888 | - inda3_3[i] = where(testa3 and params EQ 3, countinda3_3x); index of distance of this stellar population in the val array | |
889 | - countinda3_3[i] = countinda3_3x | |
890 | - inda3_4[i] = where(testa3 and params EQ 4, countinda3_4x); index of the nstars of this stellar population in the val array | |
891 | - countinda3_4[i] = countinda3_4x | |
892 | - ENDFOR | |
893 | - ENDIF | |
894 | - | |
895 | - ; Locating the A4 stellar population parameters | |
896 | - testa4 = strupcase(strmid(key,0,2)) EQ 'A4' | |
897 | - ind = where(testa4,countinda4) | |
898 | - ; retrieveing the defaut values from the txt database | |
899 | - tsta4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
900 | - indat = where(tsta4,ctdata4) | |
901 | - if ctdata4 ne 0 then begin | |
902 | - | |
903 | - T_eff_MS_a4 = double(T_eff_MS(indat)) | |
904 | - R_star_MS_a4 = double(R_star_MS(indat)) | |
905 | - | |
906 | - endif | |
907 | - IF countinda4 NE 0 THEN BEGIN | |
908 | - lumclassA4 = lumclass(ind) | |
909 | - nlmA4 = n_elements(lumclassA4) | |
910 | - indA4_1 = fltarr(nlmA4) | |
911 | - indA4_2 = indA4_1 | |
912 | - indA4_3 = indA4_1 | |
913 | - indA4_4 = indA4_1 | |
914 | - countindA4_1 = indA4_1 | |
915 | - countindA4_2 = indA4_1 | |
916 | - countindA4_3 = indA4_1 | |
917 | - countindA4_4 = indA4_1 | |
918 | - FOR i=0L,nlmA4-1 DO BEGIN | |
919 | - popnumber+=1 | |
920 | - counta+=1 | |
921 | - inda4_1[i] = where(testa4 and params EQ 1, countinda4_1x); index of radius of this stellar population in the val array | |
922 | - countinda4_1[i] = countinda4_1x | |
923 | - inda4_2[i] = where(testa4 and params EQ 2, countinda4_2x); index of temperature of this stellar population in the val array | |
924 | - countinda4_2[i] = countinda4_2x | |
925 | - inda4_3[i] = where(testa4 and params EQ 3, countinda4_3x); index of distance of this stellar population in the val array | |
926 | - countinda4_3[i] = countinda4_3x | |
927 | - inda4_4[i] = where(testa4 and params EQ 4, countinda4_4x); index of the nstars of this stellar population in the val array | |
928 | - countinda4_4[i] = countinda4_4x | |
929 | - ENDFOR | |
930 | - ENDIF | |
931 | - | |
932 | - ; Locating the A5 stellar population parameters | |
933 | - testa5 = strupcase(strmid(key,0,2)) EQ 'A5' | |
934 | - ind = where(testa5,countinda5) | |
935 | - ; retrieveing the defaut values from the txt database | |
936 | - tsta5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
937 | - indat = where(tsta5,ctdata5) | |
938 | - if ctdata5 ne 0 then begin | |
939 | - | |
940 | - T_eff_MS_a5 = double(T_eff_MS(indat)) | |
941 | - R_star_MS_a5 = double(R_star_MS(indat)) | |
942 | - | |
943 | - endif | |
944 | - IF countinda5 NE 0 THEN BEGIN | |
945 | - lumclassA5 = lumclass(ind) | |
946 | - nlmA5 = n_elements(lumclassA5) | |
947 | - indA5_1 = fltarr(nlmA5) | |
948 | - indA5_2 = indA5_1 | |
949 | - indA5_3 = indA5_1 | |
950 | - indA5_4 = indA5_1 | |
951 | - countindA5_1 = indA5_1 | |
952 | - countindA5_2 = indA5_1 | |
953 | - countindA5_3 = indA5_1 | |
954 | - countindA5_4 = indA5_1 | |
955 | - FOR i=0L,nlmA5-1 DO BEGIN | |
956 | - popnumber+=1 | |
957 | - counta+=1 | |
958 | - inda5_1[i] = where(testa5 and params EQ 1, countinda5_1x); index of radius of this stellar population in the val array | |
959 | - countinda5_1[i] = countinda5_1x | |
960 | - inda5_2[i] = where(testa5 and params EQ 2, countinda5_2x); index of temperature of this stellar population in the val array | |
961 | - countinda5_2[i] = countinda5_2x | |
962 | - inda5_3[i] = where(testa5 and params EQ 3, countinda5_3x); index of distance of this stellar population in the val array | |
963 | - countinda5_3[i] = countinda5_3x | |
964 | - inda5_4[i] = where(testa5 and params EQ 4, countinda5_4x); index of the nstars of this stellar population in the val array | |
965 | - countinda5_4[i] = countinda5_4x | |
966 | - ENDFOR | |
967 | - ENDIF | |
968 | - | |
969 | - ; Locating the A6 stellar population parameters | |
970 | - testa6 = strupcase(strmid(key,0,2)) EQ 'A6' | |
971 | - ind = where(testa6,countinda6) | |
972 | - ; retrieveing the defaut values from the txt database | |
973 | - tsta6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
974 | - indat = where(tsta6,ctdata6) | |
975 | - if ctdata6 ne 0 then begin | |
976 | - | |
977 | - T_eff_MS_a6 = double(T_eff_MS(indat)) | |
978 | - R_star_MS_a6 = double(R_star_MS(indat)) | |
979 | - | |
980 | - endif | |
981 | - IF countinda6 NE 0 THEN BEGIN | |
982 | - lumclassA6 = lumclass(ind) | |
983 | - nlmA6 = n_elements(lumclassA6) | |
984 | - indA6_1 = fltarr(nlmA6) | |
985 | - indA6_2 = indA6_1 | |
986 | - indA6_3 = indA6_1 | |
987 | - indA6_4 = indA6_1 | |
988 | - countindA6_1 = indA6_1 | |
989 | - countindA6_2 = indA6_1 | |
990 | - countindA6_3 = indA6_1 | |
991 | - countindA6_4 = indA6_1 | |
992 | - FOR i=0L,nlmA6-1 DO BEGIN | |
993 | - popnumber+=1 | |
994 | - counta+=1 | |
995 | - inda6_1[i] = where(testa6 and params EQ 1, countinda6_1x); index of radius of this stellar population in the val array | |
996 | - countinda6_1[i] = countinda6_1x | |
997 | - inda6_2[i] = where(testa6 and params EQ 2, countinda6_2x); index of temperature of this stellar population in the val array | |
998 | - countinda6_2[i] = countinda6_2x | |
999 | - inda6_3[i] = where(testa6 and params EQ 3, countinda6_3x); index of distance of this stellar population in the val array | |
1000 | - countinda6_3[i] = countinda6_3x | |
1001 | - inda6_4[i] = where(testa6 and params EQ 4, countinda6_4x); index of the nstars of this stellar population in the val array | |
1002 | - countinda6_4[i] = countinda6_4x | |
1003 | - ENDFOR | |
1004 | - ENDIF | |
1005 | - | |
1006 | - ; Locating the A7 stellar population parameters | |
1007 | - testa7 = strupcase(strmid(key,0,2)) EQ 'A7' | |
1008 | - ind = where(testa7,countinda7) | |
1009 | - ; retrieveing the defaut values from the txt database | |
1010 | - tsta7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1011 | - indat = where(tsta7,ctdata7) | |
1012 | - if ctdata7 ne 0 then begin | |
1013 | - | |
1014 | - T_eff_MS_a7 = double(T_eff_MS(indat)) | |
1015 | - R_star_MS_a7 = double(R_star_MS(indat)) | |
1016 | - | |
1017 | - endif | |
1018 | - IF countinda7 NE 0 THEN BEGIN | |
1019 | - lumclassA7 = lumclass(ind) | |
1020 | - nlmA7 = n_elements(lumclassA7) | |
1021 | - indA7_1 = fltarr(nlmA7) | |
1022 | - indA7_2 = indA7_1 | |
1023 | - indA7_3 = indA7_1 | |
1024 | - indA7_4 = indA7_1 | |
1025 | - countindA7_1 = indA7_1 | |
1026 | - countindA7_2 = indA7_1 | |
1027 | - countindA7_3 = indA7_1 | |
1028 | - countindA7_4 = indA7_1 | |
1029 | - FOR i=0L,nlmA7-1 DO BEGIN | |
1030 | - popnumber+=1 | |
1031 | - counta+=1 | |
1032 | - inda7_1[i] = where(testa7 and params EQ 1, countinda7_1x); index of radius of this stellar population in the val array | |
1033 | - countinda7_1[i] = countinda7_1x | |
1034 | - inda7_2[i] = where(testa7 and params EQ 2, countinda7_2x); index of temperature of this stellar population in the val array | |
1035 | - countinda7_2[i] = countinda7_2x | |
1036 | - inda7_3[i] = where(testa7 and params EQ 3, countinda7_3x); index of distance of this stellar population in the val array | |
1037 | - countinda7_3[i] = countinda7_3x | |
1038 | - inda7_4[i] = where(testa7 and params EQ 4, countinda7_4x); index of the nstars of this stellar population in the val array | |
1039 | - countinda7_4[i] = countinda7_4x | |
1040 | - ENDFOR | |
1041 | - ENDIF | |
1042 | - | |
1043 | - ; Locating the A8 stellar population parameters | |
1044 | - testa8 = strupcase(strmid(key,0,2)) EQ 'A8' | |
1045 | - ind = where(testa8,countinda8) | |
1046 | - ; retrieveing the defaut values from the txt database | |
1047 | - tsta8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1048 | - indat = where(tsta8,ctdata8) | |
1049 | - if ctdata8 ne 0 then begin | |
1050 | - | |
1051 | - T_eff_MS_a8 = double(T_eff_MS(indat)) | |
1052 | - R_star_MS_a8 = double(R_star_MS(indat)) | |
1053 | - | |
1054 | - endif | |
1055 | - IF countinda8 NE 0 THEN BEGIN | |
1056 | - lumclassA8 = lumclass(ind) | |
1057 | - nlmA8 = n_elements(lumclassA8) | |
1058 | - indA8_1 = fltarr(nlmA8) | |
1059 | - indA8_2 = indA8_1 | |
1060 | - indA8_3 = indA8_1 | |
1061 | - indA8_4 = indA8_1 | |
1062 | - countindA8_1 = indA8_1 | |
1063 | - countindA8_2 = indA8_1 | |
1064 | - countindA8_3 = indA8_1 | |
1065 | - countindA8_4 = indA8_1 | |
1066 | - FOR i=0L,nlmA8-1 DO BEGIN | |
1067 | - popnumber+=1 | |
1068 | - counta+=1 | |
1069 | - inda8_1[i] = where(testa8 and params EQ 1, countinda8_1x); index of radius of this stellar population in the val array | |
1070 | - countinda8_1[i] = countinda8_1x | |
1071 | - inda8_2[i] = where(testa8 and params EQ 2, countinda8_2x); index of temperature of this stellar population in the val array | |
1072 | - countinda8_2[i] = countinda8_2x | |
1073 | - inda8_3[i] = where(testa8 and params EQ 3, countinda8_3x); index of distance of this stellar population in the val array | |
1074 | - countinda8_3[i] = countinda8_3x | |
1075 | - inda8_4[i] = where(testa8 and params EQ 4, countinda8_4x); index of the nstars of this stellar population in the val array | |
1076 | - countinda8_4[i] = countinda8_4x | |
1077 | - ENDFOR | |
1078 | - ENDIF | |
1079 | - | |
1080 | - ; Locating the A9 stellar population parameters | |
1081 | - testa9 = strupcase(strmid(key,0,2)) EQ 'A9' | |
1082 | - ind = where(testa9,countinda9) | |
1083 | - ; retrieveing the defaut values from the txt database | |
1084 | - tsta9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1085 | - indat = where(tsta9,ctdata9) | |
1086 | - if ctdata9 ne 0 then begin | |
1087 | - | |
1088 | - T_eff_MS_a9 = double(T_eff_MS(indat)) | |
1089 | - R_star_MS_a9 = double(R_star_MS(indat)) | |
1090 | - | |
1091 | - endif | |
1092 | - IF countinda9 NE 0 THEN BEGIN | |
1093 | - lumclassA9 = lumclass(ind) | |
1094 | - nlmA9 = n_elements(lumclassA9) | |
1095 | - indA9_1 = fltarr(nlmA9) | |
1096 | - indA9_2 = indA9_1 | |
1097 | - indA9_3 = indA9_1 | |
1098 | - indA9_4 = indA9_1 | |
1099 | - countindA9_1 = indA9_1 | |
1100 | - countindA9_2 = indA9_1 | |
1101 | - countindA9_3 = indA9_1 | |
1102 | - countindA9_4 = indA9_1 | |
1103 | - FOR i=0L,nlmA9-1 DO BEGIN | |
1104 | - popnumber+=1 | |
1105 | - counta+=1 | |
1106 | - inda9_1[i] = where(testa9 and params EQ 1, countinda9_1x); index of radius of this stellar population in the val array | |
1107 | - countinda9_1[i] = countinda9_1x | |
1108 | - inda9_2[i] = where(testa9 and params EQ 2, countinda9_2x); index of temperature of this stellar population in the val array | |
1109 | - countinda9_2[i] = countinda9_2x | |
1110 | - inda9_3[i] = where(testa9 and params EQ 3, countinda9_3x); index of distance of this stellar population in the val array | |
1111 | - countinda9_3[i] = countinda9_3x | |
1112 | - inda9_4[i] = where(testa9 and params EQ 4, countinda9_4x); index of the nstars of this stellar population in the val array | |
1113 | - countinda9_4[i] = countinda9_4x | |
1114 | - ENDFOR | |
1115 | - ENDIF | |
1116 | - | |
1117 | - | |
1118 | - ;====================================================== | |
1119 | - | |
1120 | - ; Locating the F0 stellar population parameters | |
1121 | - testf0 = strupcase(strmid(key,0,2)) EQ 'F0' | |
1122 | - ind = where(testf0,countindf0) | |
1123 | - ; retrieveing the defaut values from the txt database | |
1124 | - tstf0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1125 | - indat = where(tstf0,ctdatf0) | |
1126 | - if ctdatf0 ne 0 then begin | |
1127 | - | |
1128 | - T_eff_MS_f0 = double(T_eff_MS(indat)) | |
1129 | - R_star_MS_f0 = double(R_star_MS(indat)) | |
1130 | - | |
1131 | - endif | |
1132 | - IF countindf0 NE 0 THEN BEGIN | |
1133 | - lumclassF0 = lumclass(ind) | |
1134 | - nlmF0 = n_elements(lumclassF0) | |
1135 | - indF0_1 = fltarr(nlmF0) | |
1136 | - indF0_2 = indF0_1 | |
1137 | - indF0_3 = indF0_1 | |
1138 | - indF0_4 = indF0_1 | |
1139 | - countindF0_1 = indF0_1 | |
1140 | - countindF0_2 = indF0_1 | |
1141 | - countindF0_3 = indF0_1 | |
1142 | - countindF0_4 = indF0_1 | |
1143 | - FOR i=0L,nlmF0-1 DO BEGIN | |
1144 | - popnumber+=1 | |
1145 | - countf+=1 | |
1146 | - indf0_1[i] = where(testf0 and params EQ 1, countindf0_1x); index of radius of this stellar population in the val array | |
1147 | - countindf0_1[i] = countindf0_1x | |
1148 | - indf0_2[i] = where(testf0 and params EQ 2, countindf0_2x); index of temperature of this stellar population in the val array | |
1149 | - countindf0_2[i] = countindf0_2x | |
1150 | - indf0_3[i] = where(testf0 and params EQ 3, countindf0_3x); index of distance of this stellar population in the val array | |
1151 | - countindf0_3[i] = countindf0_3x | |
1152 | - indf0_4[i] = where(testf0 and params EQ 4, countindf0_4x); index of the nstars of this stellar population in the val array | |
1153 | - countindf0_4[i] = countindf0_4x | |
1154 | - ENDFOR | |
1155 | - ENDIF | |
1156 | - | |
1157 | - ; Locating the F1 stellar population parameters | |
1158 | - testf1 = strupcase(strmid(key,0,2)) EQ 'F1' | |
1159 | - ind = where(testf1,countindf1) | |
1160 | - ; retrieveing the defaut values from the txt database | |
1161 | - tstf1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1162 | - indat = where(tstf1,ctdatf1) | |
1163 | - if ctdatf1 ne 0 then begin | |
1164 | - | |
1165 | - T_eff_MS_f1 = double(T_eff_MS(indat)) | |
1166 | - R_star_MS_f1 = double(R_star_MS(indat)) | |
1167 | - | |
1168 | - endif | |
1169 | - IF countindf1 NE 0 THEN BEGIN | |
1170 | - lumclassF1 = lumclass(ind) | |
1171 | - nlmF1 = n_elements(lumclassF1) | |
1172 | - indF1_1 = fltarr(nlmF1) | |
1173 | - indF1_2 = indF1_1 | |
1174 | - indF1_3 = indF1_1 | |
1175 | - indF1_4 = indF1_1 | |
1176 | - countindF1_1 = indF1_1 | |
1177 | - countindF1_2 = indF1_1 | |
1178 | - countindF1_3 = indF1_1 | |
1179 | - countindF1_4 = indF1_1 | |
1180 | - FOR i=0L,nlmF1-1 DO BEGIN | |
1181 | - popnumber+=1 | |
1182 | - countf+=1 | |
1183 | - indf1_1[i] = where(testf1 and params EQ 1, countindf1_1x); index of radius of this stellar population in the val array | |
1184 | - countindf1_1[i] = countindf1_1x | |
1185 | - indf1_2[i] = where(testf1 and params EQ 2, countindf1_2x); index of temperature of this stellar population in the val array | |
1186 | - countindf1_2[i] = countindf1_2x | |
1187 | - indf1_3[i] = where(testf1 and params EQ 3, countindf1_3x); index of distance of this stellar population in the val array | |
1188 | - countindf1_3[i] = countindf1_3x | |
1189 | - indf1_4[i] = where(testf1 and params EQ 4, countindf1_4x); index of the nstars of this stellar population in the val array | |
1190 | - countindf1_4[i] = countindf1_4x | |
1191 | - ENDFOR | |
1192 | - ENDIF | |
1193 | - | |
1194 | - ; Locating the F2 stellar population parameters | |
1195 | - testf2 = strupcase(strmid(key,0,2)) EQ 'F2' | |
1196 | - ind = where(testf2,countindf2) | |
1197 | - ; retrieveing the defaut values from the txt database | |
1198 | - tstf2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1199 | - indat = where(tstf2,ctdatf2) | |
1200 | - if ctdatf2 ne 0 then begin | |
1201 | - | |
1202 | - T_eff_MS_f2 = double(T_eff_MS(indat)) | |
1203 | - R_star_MS_f2 = double(R_star_MS(indat)) | |
1204 | - | |
1205 | - endif | |
1206 | - IF countindf2 NE 0 THEN BEGIN | |
1207 | - lumclassF2 = lumclass(ind) | |
1208 | - nlmF2 = n_elements(lumclassF2) | |
1209 | - indF2_1 = fltarr(nlmF2) | |
1210 | - indF2_2 = testf2 | |
1211 | - indF2_3 = testf2 | |
1212 | - indF2_4 = testf2 | |
1213 | - countindF2_1 = testf2 | |
1214 | - countindF2_2 = testf2 | |
1215 | - countindF2_3 = testf2 | |
1216 | - countindF2_4 = testf2 | |
1217 | - FOR i=0L,nlmF2-1 DO BEGIN | |
1218 | - popnumber+=1 | |
1219 | - countf+=1 | |
1220 | - indf2_1[i] = where(testf2 and params EQ 1, countindf2_1x); index of radius of this stellar population in the val array | |
1221 | - countindf2_1[i] = countindf2_1x | |
1222 | - indf2_2[i] = where(testf2 and params EQ 2, countindf2_2x); index of temperature of this stellar population in the val array | |
1223 | - countindf2_2[i] = countindf2_2x | |
1224 | - indf2_3[i] = where(testf2 and params EQ 3, countindf2_3x); index of distance of this stellar population in the val array | |
1225 | - countindf2_3[i] = countindf2_3x | |
1226 | - indf2_4[i] = where(testf2 and params EQ 4, countindf2_4x); index of the nstars of this stellar population in the val array | |
1227 | - countindf2_4[i] = countindf2_4x | |
1228 | - ENDFOR | |
1229 | - ENDIF | |
1230 | - | |
1231 | - ; Locating the F3 stellar population parameters | |
1232 | - testf3 = strupcase(strmid(key,0,2)) EQ 'F3' | |
1233 | - ind = where(testf3,countindf3) | |
1234 | - ; retrieveing the defaut values from the txt database | |
1235 | - tstf3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1236 | - indat = where(tstf3,ctdatf3) | |
1237 | - if ctdatf3 ne 0 then begin | |
1238 | - | |
1239 | - T_eff_MS_f3 = double(T_eff_MS(indat)) | |
1240 | - R_star_MS_f3 = double(R_star_MS(indat)) | |
1241 | - | |
1242 | - endif | |
1243 | - IF countindf3 NE 0 THEN BEGIN | |
1244 | - lumclassF3 = lumclass(ind) | |
1245 | - nlmF3 = n_elements(lumclassF3) | |
1246 | - indF3_1 = fltarr(nlmF3) | |
1247 | - indF3_2 = indF3_1 | |
1248 | - indF3_3 = indF3_1 | |
1249 | - indF3_4 = indF3_1 | |
1250 | - countindF3_1 = indF3_1 | |
1251 | - countindF3_2 = indF3_1 | |
1252 | - countindF3_3 = indF3_1 | |
1253 | - countindF3_4 = indF3_1 | |
1254 | - FOR i=0L,nlmF3-1 DO BEGIN | |
1255 | - popnumber+=1 | |
1256 | - countf+=1 | |
1257 | - indf3_1[i] = where(testf3 and params EQ 1, countindf3_1x); index of radius of this stellar population in the val array | |
1258 | - countindf3_1[i] = countindf3_1x | |
1259 | - indf3_2[i] = where(testf3 and params EQ 2, countindf3_2x); index of temperature of this stellar population in the val array | |
1260 | - countindf3_2[i] = countindf3_2x | |
1261 | - indf3_3[i] = where(testf3 and params EQ 3, countindf3_3x); index of distance of this stellar population in the val array | |
1262 | - countindf3_3[i] = countindf3_3x | |
1263 | - indf3_4[i] = where(testf3 and params EQ 4, countindf3_4x); index of the nstars of this stellar population in the val array | |
1264 | - countindf3_4[i] = countindf3_4x | |
1265 | - ENDFOR | |
1266 | - ENDIF | |
1267 | - | |
1268 | - ; Locating the F4 stellar population parameters | |
1269 | - testf4 = strupcase(strmid(key,0,2)) EQ 'F4' | |
1270 | - ind = where(testf4,countindf4) | |
1271 | - ; retrieveing the defaut values from the txt database | |
1272 | - tstf4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1273 | - indat = where(tstf4,ctdatf4) | |
1274 | - if ctdatf4 ne 0 then begin | |
1275 | - | |
1276 | - T_eff_MS_f4 = double(T_eff_MS(indat)) | |
1277 | - R_star_MS_f4 = double(R_star_MS(indat)) | |
1278 | - | |
1279 | - endif | |
1280 | - IF countindf4 NE 0 THEN BEGIN | |
1281 | - lumclassF4 = lumclass(ind) | |
1282 | - nlmF4 = n_elements(lumclassF4) | |
1283 | - indF4_1 = fltarr(nlmF4) | |
1284 | - indF4_2 = indF4_1 | |
1285 | - indF4_3 = indF4_1 | |
1286 | - indF4_4 = indF4_1 | |
1287 | - countindF4_1 = indF4_1 | |
1288 | - countindF4_2 = indF4_1 | |
1289 | - countindF4_3 = indF4_1 | |
1290 | - countindF4_4 = indF4_1 | |
1291 | - FOR i=0L,nlmF4-1 DO BEGIN | |
1292 | - popnumber+=1 | |
1293 | - countf+=1 | |
1294 | - indf4_1[i] = where(testf4 and params EQ 1, countindf4_1x); index of radius of this stellar population in the val array | |
1295 | - countindf4_1[i] = countindf4_1x | |
1296 | - indf4_2[i] = where(testf4 and params EQ 2, countindf4_2x); index of temperature of this stellar population in the val array | |
1297 | - countindf4_2[i] = countindf4_2x | |
1298 | - indf4_3[i] = where(testf4 and params EQ 3, countindf4_3x); index of distance of this stellar population in the val array | |
1299 | - countindf4_3[i] = countindf4_3x | |
1300 | - indf4_4[i] = where(testf4 and params EQ 4, countindf4_4x); index of the nstars of this stellar population in the val array | |
1301 | - countindf4_4[i] = countindf4_4x | |
1302 | - ENDFOR | |
1303 | - ENDIF | |
1304 | - | |
1305 | - ; Locating the F5 stellar population parameters | |
1306 | - testf5 = strupcase(strmid(key,0,2)) EQ 'F5' | |
1307 | - ind = where(testf5,countindf5) | |
1308 | - ; retrieveing the defaut values from the txt database | |
1309 | - tstf5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1310 | - indat = where(tstf5,ctdatf5) | |
1311 | - if ctdatf5 ne 0 then begin | |
1312 | - | |
1313 | - T_eff_MS_f5 = double(T_eff_MS(indat)) | |
1314 | - R_star_MS_f5 = double(R_star_MS(indat)) | |
1315 | - | |
1316 | - endif | |
1317 | - IF countindf5 NE 0 THEN BEGIN | |
1318 | - lumclassF5 = lumclass(ind) | |
1319 | - nlmF5 = n_elements(lumclassF5) | |
1320 | - indF5_1 = fltarr(nlmF5) | |
1321 | - indF5_2 = indF5_1 | |
1322 | - indF5_3 = indF5_1 | |
1323 | - indF5_4 = indF5_1 | |
1324 | - countindF5_1 = indF5_1 | |
1325 | - countindF5_2 = indF5_1 | |
1326 | - countindF5_3 = indF5_1 | |
1327 | - countindF5_4 = indF5_1 | |
1328 | - FOR i=0L,nlmF5-1 DO BEGIN | |
1329 | - popnumber+=1 | |
1330 | - countf+=1 | |
1331 | - indf5_1[i] = where(testf5 and params EQ 1, countindf5_1x); index of radius of this stellar population in the val array | |
1332 | - countindf5_1[i] = countindf5_1x | |
1333 | - indf5_2[i] = where(testf5 and params EQ 2, countindf5_2x); index of temperature of this stellar population in the val array | |
1334 | - countindf5_2[i] = countindf5_2x | |
1335 | - indf5_3[i] = where(testf5 and params EQ 3, countindf5_3x); index of distance of this stellar population in the val array | |
1336 | - countindf5_3[i] = countindf5_3x | |
1337 | - indf5_4[i] = where(testf5 and params EQ 4, countindf5_4x); index of the nstars of this stellar population in the val array | |
1338 | - countindf5_4[i] = countindf5_4x | |
1339 | - ENDFOR | |
1340 | - ENDIF | |
1341 | - | |
1342 | - ; Locating the F6 stellar population parameters | |
1343 | - testf6 = strupcase(strmid(key,0,2)) EQ 'F6' | |
1344 | - ind = where(testf6,countindf6) | |
1345 | - ; retrieveing the defaut values from the txt database | |
1346 | - tstf6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1347 | - indat = where(tstf6,ctdatf6) | |
1348 | - if ctdatf6 ne 0 then begin | |
1349 | - | |
1350 | - T_eff_MS_f6 = double(T_eff_MS(indat)) | |
1351 | - R_star_MS_f6 = double(R_star_MS(indat)) | |
1352 | - | |
1353 | - endif | |
1354 | - IF countindf6 NE 0 THEN BEGIN | |
1355 | - lumclassF6 = lumclass(ind) | |
1356 | - nlmF6 = n_elements(lumclassF6) | |
1357 | - indF6_1 = fltarr(nlmF6) | |
1358 | - indF6_2 = indF6_1 | |
1359 | - indF6_3 = indF6_1 | |
1360 | - indF6_4 = indF6_1 | |
1361 | - countindF6_1 = indF6_1 | |
1362 | - countindF6_2 = indF6_1 | |
1363 | - countindF6_3 = indF6_1 | |
1364 | - countindF6_4 = indF6_1 | |
1365 | - FOR i=0L,nlmF6-1 DO BEGIN | |
1366 | - popnumber+=1 | |
1367 | - countf+=1 | |
1368 | - indf6_1[i] = where(testf6 and params EQ 1, countindf6_1x); index of radius of this stellar population in the val array | |
1369 | - countindf6_1[i] = countindf6_1x | |
1370 | - indf6_2[i] = where(testf6 and params EQ 2, countindf6_2x); index of temperature of this stellar population in the val array | |
1371 | - countindf6_2[i] = countindf6_2x | |
1372 | - indf6_3[i] = where(testf6 and params EQ 3, countindf6_3x); index of distance of this stellar population in the val array | |
1373 | - countindf6_3[i] = countindf6_3x | |
1374 | - indf6_4[i] = where(testf6 and params EQ 4, countindf6_4x); index of the nstars of this stellar population in the val array | |
1375 | - countindf6_4[i] = countindf6_4x | |
1376 | - ENDFOR | |
1377 | - ENDIF | |
1378 | - | |
1379 | - ; Locating the F7 stellar population parameters | |
1380 | - testf7 = strupcase(strmid(key,0,2)) EQ 'F7' | |
1381 | - ind = where(testf7,countindf7) | |
1382 | - ; retrieveing the defaut values from the txt database | |
1383 | - tstf7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1384 | - indat = where(tstf7,ctdatf7) | |
1385 | - if ctdatf7 ne 0 then begin | |
1386 | - | |
1387 | - T_eff_MS_f7 = double(T_eff_MS(indat)) | |
1388 | - R_star_MS_f7 = double(R_star_MS(indat)) | |
1389 | - | |
1390 | - endif | |
1391 | - IF countindf7 NE 0 THEN BEGIN | |
1392 | - umclassF7 = lumclass(ind) | |
1393 | - nlmF7 = n_elements(lumclassF7) | |
1394 | - indF7_1 = fltarr(nlmF7) | |
1395 | - indF7_2 = indF7_1 | |
1396 | - indF7_3 = indF7_1 | |
1397 | - indF7_4 = indF7_1 | |
1398 | - countindF7_1 = indF7_1 | |
1399 | - countindF7_2 = indF7_1 | |
1400 | - countindF7_3 = indF7_1 | |
1401 | - countindF7_4 = indF7_1 | |
1402 | - FOR i=0L,nlmF7-1 DO BEGIN | |
1403 | - popnumber+=1 | |
1404 | - countf+=1 | |
1405 | - indf7_1[i] = where(testf7 and params EQ 1, countindf7_1x); index of radius of this stellar population in the val array | |
1406 | - countindf7_1[i] = countindf7_1x | |
1407 | - indf7_2[i] = where(testf7 and params EQ 2, countindf7_2x); index of temperature of this stellar population in the val array | |
1408 | - countindf7_2[i] = countindf7_2x | |
1409 | - indf7_3[i] = where(testf7 and params EQ 3, countindf7_3x); index of distance of this stellar population in the val array | |
1410 | - countindf7_3[i] = countindf7_3x | |
1411 | - indf7_4[i] = where(testf7 and params EQ 4, countindf7_4x); index of the nstars of this stellar population in the val array | |
1412 | - countindf7_4[i] = countindf7_4x | |
1413 | - ENDFOR | |
1414 | - ENDIF | |
1415 | - | |
1416 | - ; Locating the F8 stellar population parameters | |
1417 | - testf8 = strupcase(strmid(key,0,2)) EQ 'F8' | |
1418 | - ind = where(testf8,countindf8) | |
1419 | - ; retrieveing the defaut values from the txt database | |
1420 | - tstf8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1421 | - indat = where(tstf8,ctdatf8) | |
1422 | - if ctdatf8 ne 0 then begin | |
1423 | - | |
1424 | - T_eff_MS_f8 = double(T_eff_MS(indat)) | |
1425 | - R_star_MS_f8 = double(R_star_MS(indat)) | |
1426 | - | |
1427 | - endif | |
1428 | - IF countindf8 NE 0 THEN BEGIN | |
1429 | - lumclassF8 = lumclass(ind) | |
1430 | - nlmF8 = n_elements(lumclassF8) | |
1431 | - indF8_1 = fltarr(nlmF8) | |
1432 | - indF8_2 = indF8_1 | |
1433 | - indF8_3 = indF8_1 | |
1434 | - indF8_4 = indF8_1 | |
1435 | - countindF8_1 = indF8_1 | |
1436 | - countindF8_2 = indF8_1 | |
1437 | - countindF8_3 = indF8_1 | |
1438 | - countindF8_4 = indF8_1 | |
1439 | - FOR i=0L,nlmF8-1 DO BEGIN | |
1440 | - popnumber+=1 | |
1441 | - countf+=1 | |
1442 | - indf8_1[i] = where(testf8 and params EQ 1, countindf8_1x); index of radius of this stellar population in the val array | |
1443 | - countindf8_1[i] = countindf8_1x | |
1444 | - indf8_2[i] = where(testf8 and params EQ 2, countindf8_2x); index of temperature of this stellar population in the val array | |
1445 | - countindf8_2[i] = countindf8_2x | |
1446 | - indf8_3[i] = where(testf8 and params EQ 3, countindf8_3x); index of distance of this stellar population in the val array | |
1447 | - countindf8_3[i] = countindf8_3x | |
1448 | - indf8_4[i] = where(testf8 and params EQ 4, countindf8_4x); index of the nstars of this stellar population in the val array | |
1449 | - countindf8_4[i] = countindf8_4x | |
1450 | - ENDFOR | |
1451 | - ENDIF | |
1452 | - | |
1453 | - ; Locating the F9 stellar population parameters | |
1454 | - testf9 = strupcase(strmid(key,0,2)) EQ 'F9' | |
1455 | - ind = where(testf9,countindf9) | |
1456 | - ; retrieveing the defaut values from the txt database | |
1457 | - tstf9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1458 | - indat = where(tstf9,ctdatf9) | |
1459 | - if ctdatf9 ne 0 then begin | |
1460 | - | |
1461 | - T_eff_MS_f9 = double(T_eff_MS(indat)) | |
1462 | - R_star_MS_f9 = double(R_star_MS(indat)) | |
1463 | - | |
1464 | - endif | |
1465 | - IF countindf9 NE 0 THEN BEGIN | |
1466 | - lumclassF9 = lumclass(ind) | |
1467 | - nlmF9 = n_elements(lumclassF9) | |
1468 | - indF9_1 = fltarr(nlmF9) | |
1469 | - indF9_2 = indF9_1 | |
1470 | - indF9_3 = indF9_1 | |
1471 | - indF9_4 = indF9_1 | |
1472 | - countindF9_1 = indF9_1 | |
1473 | - countindF9_2 = indF9_1 | |
1474 | - countindF9_3 = indF9_1 | |
1475 | - countindF9_4 = indF9_1 | |
1476 | - FOR i=0L,nlmF9-1 DO BEGIN | |
1477 | - popnumber+=1 | |
1478 | - countf+=1 | |
1479 | - indf9_1[i] = where(testf9 and params EQ 1, countindf9_1x); index of radius of this stellar population in the val array | |
1480 | - countindf9_1[i] = countindf9_1x | |
1481 | - indf9_2[i] = where(testf9 and params EQ 2, countindf9_2x); index of temperature of this stellar population in the val array | |
1482 | - countindf9_2[i] = countindf9_2x | |
1483 | - indf9_3[i] = where(testf9 and params EQ 3, countindf9_3x); index of distance of this stellar population in the val array | |
1484 | - countindf9_3[i] = countindf9_3x | |
1485 | - indf9_4[i] = where(testf9 and params EQ 4, countindf9_4x); index of the nstars of this stellar population in the val array | |
1486 | - countindf9_4[i] = countindf9_4x | |
1487 | - ENDFOR | |
1488 | - ENDIF | |
1489 | - | |
1490 | - | |
1491 | - ;====================================================== | |
1492 | - | |
1493 | - ; Locating the G0 stellar population parameters | |
1494 | - testg0 = strupcase(strmid(key,0,2)) EQ 'G0' | |
1495 | - ind = where(testg0,countindg0) | |
1496 | - | |
1497 | - ; retrieveing the defaut values from the txt database | |
1498 | - tstg0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1499 | - indat = where(tstg0,ctdatg0) | |
1500 | - if ctdatg0 ne 0 then begin | |
1501 | - | |
1502 | - T_eff_MS_g0 = double(T_eff_MS(indat)) | |
1503 | - R_star_MS_g0 = double(R_star_MS(indat)) | |
1504 | - | |
1505 | - endif | |
1506 | - | |
1507 | - IF countindg0 NE 0 THEN BEGIN | |
1508 | - lumclassG0 = lumclass(ind) | |
1509 | - nlmG0 = n_elements(lumclassG0) | |
1510 | - indG0_1 = fltarr(nlmG0) | |
1511 | - indG0_2 = indG0_1 | |
1512 | - indG0_3 = indG0_1 | |
1513 | - indG0_4 = indG0_1 | |
1514 | - countindG0_1 = indG0_1 | |
1515 | - countindG0_2 = indG0_1 | |
1516 | - countindG0_3 = indG0_1 | |
1517 | - countindG0_4 = indG0_1 | |
1518 | - FOR i=0L,nlmG0-1 DO BEGIN | |
1519 | - popnumber+=1 | |
1520 | - countg+=1 | |
1521 | - indg0_1[i] = where(testg0 and params EQ 1, countindg0_1x); index of radius of this stellar population in the val array | |
1522 | - countindg0_1[i] = countindg0_1x | |
1523 | - indg0_2[i] = where(testg0 and params EQ 2, countindg0_2x); index of temperature of this stellar population in the val array | |
1524 | - countindg0_2[i] = countindg0_2x | |
1525 | - indg0_3[i] = where(testg0 and params EQ 3, countindg0_3x); index of distance of this stellar population in the val array | |
1526 | - countindg0_3[i] = countindg0_3x | |
1527 | - indg0_4[i] = where(testg0 and params EQ 4, countindg0_4x); index of the nstars of this stellar population in the val array | |
1528 | - countindg0_4[i] = countindg0_4x | |
1529 | - ENDFOR | |
1530 | - ENDIF | |
1531 | - | |
1532 | - ; Locating the G1 stellar population parameters | |
1533 | - testg1 = strupcase(strmid(key,0,2)) EQ 'G1' | |
1534 | - ind = where(testg1,countindg1) | |
1535 | - | |
1536 | - ; retrieveing the defaut values from the txt database | |
1537 | - tstg1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1538 | - indat = where(tstg1,ctdatg1) | |
1539 | - if ctdatg1 ne 0 then begin | |
1540 | - | |
1541 | - T_eff_MS_g1 = double(T_eff_MS(indat)) | |
1542 | - R_star_MS_g1 = double(R_star_MS(indat)) | |
1543 | - | |
1544 | - endif | |
1545 | - IF countindg1 NE 0 THEN BEGIN | |
1546 | - lumclassG1 = lumclass(ind) | |
1547 | - nlmG1 = n_elements(lumclassG1) | |
1548 | - indG1_1 = fltarr(nlmG1) | |
1549 | - indG1_2 = indG1_1 | |
1550 | - indG1_3 = indG1_1 | |
1551 | - indG1_4 = indG1_1 | |
1552 | - countindG1_1 = indG1_1 | |
1553 | - countindG1_2 = indG1_1 | |
1554 | - countindG1_3 = indG1_1 | |
1555 | - countindG1_4 = indG1_1 | |
1556 | - FOR i=0L,nlmG1-1 DO BEGIN | |
1557 | - popnumber+=1 | |
1558 | - countg+=1 | |
1559 | - indg1_1[i] = where(testg1 and params EQ 1, countindg1_1x); index of radius of this stellar population in the val array | |
1560 | - countindg1_1[i] = countindg1_1x | |
1561 | - indg1_2[i] = where(testg1 and params EQ 2, countindg1_2x); index of temperature of this stellar population in the val array | |
1562 | - countindg1_2[i] = countindg1_2x | |
1563 | - indg1_3[i] = where(testg1 and params EQ 3, countindg1_3x); index of distance of this stellar population in the val array | |
1564 | - countindg1_3[i] = countindg1_3x | |
1565 | - indg1_4[i] = where(testg1 and params EQ 4, countindg1_4x); index of the nstars of this stellar population in the val array | |
1566 | - countindg1_4[i] = countindg1_4x | |
1567 | - ENDFOR | |
1568 | - ENDIF | |
1569 | - | |
1570 | - ; Locating the G2 stellar population parameters | |
1571 | - testg2 = strupcase(strmid(key,0,2)) EQ 'G2' | |
1572 | - ind = where(testg2,countindg2) ;sun-like star | |
1573 | - ; retrieveing the defaut values from the txt database | |
1574 | - tstg2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1575 | - indat = where(tstg2,ctdatg2) | |
1576 | - if ctdatg2 ne 0 then begin | |
1577 | - | |
1578 | - T_eff_MS_g2 = double(T_eff_MS(indat)) | |
1579 | - R_star_MS_g2 = double(R_star_MS(indat)) | |
1580 | - | |
1581 | - endif | |
1582 | - | |
1583 | - IF countindg2 NE 0 THEN BEGIN | |
1584 | - lumclassG2 = lumclass(ind) | |
1585 | - nlmG2 = n_elements(lumclassG2) | |
1586 | - indG2_1 = fltarr(nlmG2) | |
1587 | - indG2_2 = indG2_1 | |
1588 | - indG2_3 = indG2_1 | |
1589 | - indG2_4 = indG2_1 | |
1590 | - countindG2_1 = indG2_1 | |
1591 | - countindG2_2 = indG2_1 | |
1592 | - countindG2_3 = indG2_1 | |
1593 | - countindG2_4 = indG2_1 | |
1594 | - FOR i=0L,nlmG2-1 DO BEGIN | |
1595 | - popnumber+=1 | |
1596 | - countg+=1 | |
1597 | - indg2_1[i] = where(testg2 and params EQ 1, countindg2_1x); index of radius of this stellar population in the val array | |
1598 | - countindg2_1[i] = countindg2_1x | |
1599 | - indg2_2[i] = where(testg2 and params EQ 2, countindg2_2x); index of temperature of this stellar population in the val array | |
1600 | - countindg2_2[i] = countindg2_2x | |
1601 | - indg2_3[i] = where(testg2 and params EQ 3, countindg2_3x); index of distance of this stellar population in the val array | |
1602 | - countindg2_3[i] = countindg2_3x | |
1603 | - indg2_4[i] = where(testg2 and params EQ 4, countindg2_4x); index of the nstars of this stellar population in the val array | |
1604 | - countindg2_4[i] = countindg2_4x | |
1605 | - ENDFOR | |
1606 | - ENDIF | |
1607 | - | |
1608 | - ; Locating the G3 stellar population parameters | |
1609 | - testg3 = strupcase(strmid(key,0,2)) EQ 'G3' | |
1610 | - ind = where(testg3,countindg3) | |
1611 | - ; retrieveing the defaut values from the txt database | |
1612 | - tstg3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1613 | - indat = where(tstg3,ctdatg3) | |
1614 | - if ctdatg3 ne 0 then begin | |
1615 | - | |
1616 | - T_eff_MS_g3 = double(T_eff_MS(indat)) | |
1617 | - R_star_MS_g3 = double(R_star_MS(indat)) | |
1618 | - | |
1619 | - endif | |
1620 | - IF countindg3 NE 0 THEN BEGIN | |
1621 | - lumclassG3 = lumclass(ind) | |
1622 | - nlmG3 = n_elements(lumclassG3) | |
1623 | - indG3_1 = fltarr(nlmG3) | |
1624 | - indG3_2 = indG3_1 | |
1625 | - indG3_3 = indG3_1 | |
1626 | - indG3_4 = indG3_1 | |
1627 | - countindG3_1 = indG3_1 | |
1628 | - countindG3_2 = indG3_1 | |
1629 | - countindG3_3 = indG3_1 | |
1630 | - countindG3_4 = indG3_1 | |
1631 | - FOR i=0L,nlmG3-1 DO BEGIN | |
1632 | - popnumber+=1 | |
1633 | - countg+=1 | |
1634 | - indg3_1[i] = where(testg3 and params EQ 1, countindg3_1x); index of radius of this stellar population in the val array | |
1635 | - countindg3_1[i] = countindg3_1x | |
1636 | - indg3_2[i] = where(testg3 and params EQ 2, countindg3_2x); index of temperature of this stellar population in the val array | |
1637 | - countindg3_2[i] = countindg3_2x | |
1638 | - indg3_3[i] = where(testg3 and params EQ 3, countindg3_3x); index of distance of this stellar population in the val array | |
1639 | - countindg3_3[i] = countindg3_3x | |
1640 | - indg3_4[i] = where(testg3 and params EQ 4, countindg3_4x); index of the nstars of this stellar population in the val array | |
1641 | - countindg3_4[i] = countindg3_4x | |
1642 | - ENDFOR | |
1643 | - ENDIF | |
1644 | - | |
1645 | - ; Locating the G4 stellar population parameters | |
1646 | - testg3 = strupcase(strmid(key,0,2)) EQ 'G4' | |
1647 | - ind = where(testg3,countindg4) | |
1648 | - ; retrieveing the defaut values from the txt database | |
1649 | - tstg4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1650 | - indat = where(tstg4,ctdatg4) | |
1651 | - if ctdatg4 ne 0 then begin | |
1652 | - | |
1653 | - T_eff_MS_g4 = double(T_eff_MS(indat)) | |
1654 | - R_star_MS_g4 = double(R_star_MS(indat)) | |
1655 | - | |
1656 | - endif | |
1657 | - IF countindg4 NE 0 THEN BEGIN | |
1658 | - lumclassG4 = lumclass(ind) | |
1659 | - nlmG4 = n_elements(lumclassG4) | |
1660 | - indG4_1 = fltarr(nlmG4) | |
1661 | - indG4_2 = indG4_1 | |
1662 | - indG4_3 = indG4_1 | |
1663 | - indG4_4 = indG4_1 | |
1664 | - countindG4_1 = indG4_1 | |
1665 | - countindG4_2 = indG4_1 | |
1666 | - countindG4_3 = indG4_1 | |
1667 | - countindG4_4 = indG4_1 | |
1668 | - FOR i=0L,nlmG4-1 DO BEGIN | |
1669 | - popnumber+=1 | |
1670 | - countg+=1 | |
1671 | - indg4_1[i] = where(testg3 and params EQ 1, countindg4_1x); index of radius of this stellar population in the val array | |
1672 | - countindg4_1[i] = countindg4_1x | |
1673 | - indg4_2[i] = where(testg3 and params EQ 2, countindg4_2x); index of temperature of this stellar population in the val array | |
1674 | - countindg4_2[i] = countindg4_2x | |
1675 | - indg4_3[i] = where(testg3 and params EQ 3, countindg4_3x); index of distance of this stellar population in the val array | |
1676 | - countindg4_3[i] = countindg4_3x | |
1677 | - indg4_4[i] = where(testg3 and params EQ 4, countindg4_4x); index of the nstars of this stellar population in the val array | |
1678 | - countindg4_4[i] = countindg4_4x | |
1679 | - ENDFOR | |
1680 | - ENDIF | |
1681 | - | |
1682 | - ; Locating the G5 stellar population parameters | |
1683 | - testg5 = strupcase(strmid(key,0,2)) EQ 'G5' | |
1684 | - ind = where(testg5,countindg5) | |
1685 | - ; retrieveing the defaut values from the txt database | |
1686 | - tstg5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1687 | - indat = where(tstg5,ctdatg5) | |
1688 | - if ctdatg5 ne 0 then begin | |
1689 | - | |
1690 | - T_eff_MS_g5 = double(T_eff_MS(indat)) | |
1691 | - R_star_MS_g5 = double(R_star_MS(indat)) | |
1692 | - | |
1693 | - endif | |
1694 | - IF countindg5 NE 0 THEN BEGIN | |
1695 | - lumclassG5 = lumclass(ind) | |
1696 | - nlmG5 = n_elements(lumclassG5) | |
1697 | - indG5_1 = fltarr(nlmG5) | |
1698 | - indG5_2 = indG5_1 | |
1699 | - indG5_3 = indG5_1 | |
1700 | - indG5_4 = indG5_1 | |
1701 | - countindG5_1 = indG5_1 | |
1702 | - countindG5_2 = indG5_1 | |
1703 | - countindG5_3 = indG5_1 | |
1704 | - countindG5_4 = indG5_1 | |
1705 | - FOR i=0L,nlmG5-1 DO BEGIN | |
1706 | - popnumber+=1 | |
1707 | - countg+=1 | |
1708 | - indg5_1[i] = where(testg5 and params EQ 1, countindg5_1x); index of radius of this stellar population in the val array | |
1709 | - countindg5_1[i] = countindg5_1x | |
1710 | - indg5_2[i] = where(testg5 and params EQ 2, countindg5_2x); index of temperature of this stellar population in the val array | |
1711 | - countindg5_2[i] = countindg5_2x | |
1712 | - indg5_3[i] = where(testg5 and params EQ 3, countindg5_3x); index of distance of this stellar population in the val array | |
1713 | - countindg5_3[i] = countindg5_3x | |
1714 | - indg5_4[i] = where(testg5 and params EQ 4, countindg5_4x); index of the nstars of this stellar population in the val array | |
1715 | - countindg5_4[i] = countindg5_4x | |
1716 | - ENDFOR | |
1717 | - ENDIF | |
1718 | - | |
1719 | - ; Locating the G6 stellar population parameters | |
1720 | - testg6 = strupcase(strmid(key,0,2)) EQ 'G6' | |
1721 | - ind = where(testg6,countindg6) | |
1722 | - ; retrieveing the defaut values from the txt database | |
1723 | - tstg6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1724 | - indat = where(tstg6,ctdatg6) | |
1725 | - if ctdatg6 ne 0 then begin | |
1726 | - | |
1727 | - T_eff_MS_g6 = double(T_eff_MS(indat)) | |
1728 | - R_star_MS_g6 = double(R_star_MS(indat)) | |
1729 | - | |
1730 | - endif | |
1731 | - IF countindg6 NE 0 THEN BEGIN | |
1732 | - lumclassG6 = lumclass(ind) | |
1733 | - nlmG6 = n_elements(lumclassG6) | |
1734 | - indG6_1 = fltarr(nlmG6) | |
1735 | - indG6_2 = indG6_1 | |
1736 | - indG6_3 = indG6_1 | |
1737 | - indG6_4 = indG6_1 | |
1738 | - countindG6_1 = indG6_1 | |
1739 | - countindG6_2 = indG6_1 | |
1740 | - countindG6_3 = indG6_1 | |
1741 | - countindG6_4 = indG6_1 | |
1742 | - FOR i=0L,nlmG6-1 DO BEGIN | |
1743 | - popnumber+=1 | |
1744 | - countg+=1 | |
1745 | - indg6_1[i] = where(testg6 and params EQ 1, countindg6_1x); index of radius of this stellar population in the val array | |
1746 | - countindg6_1[i] = countindg6_1x | |
1747 | - indg6_2[i] = where(testg6 and params EQ 2, countindg6_2x); index of temperature of this stellar population in the val array | |
1748 | - countindg6_2[i] = countindg6_2x | |
1749 | - indg6_3[i] = where(testg6 and params EQ 3, countindg6_3x); index of distance of this stellar population in the val array | |
1750 | - countindg6_3[i] = countindg6_3x | |
1751 | - indg6_4[i] = where(testg6 and params EQ 4, countindg6_4x); index of the nstars of this stellar population in the val array | |
1752 | - countindg6_4[i] = countindg6_4x | |
1753 | - ENDFOR | |
1754 | - ENDIF | |
1755 | - | |
1756 | - ; Locating the G7 stellar population parameters | |
1757 | - testg7 = strupcase(strmid(key,0,2)) EQ 'G7' | |
1758 | - ind = where(testg7,countindg7) | |
1759 | - ; retrieveing the defaut values from the txt database | |
1760 | - tstg7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1761 | - indat = where(tstg7,ctdatg7) | |
1762 | - if ctdatg7 ne 0 then begin | |
1763 | - | |
1764 | - T_eff_MS_g7 = double(T_eff_MS(indat)) | |
1765 | - R_star_MS_g7 = double(R_star_MS(indat)) | |
1766 | - | |
1767 | - endif | |
1768 | - IF countindg7 NE 0 THEN BEGIN | |
1769 | - lumclassG7 = lumclass(ind) | |
1770 | - nlmG7 = n_elements(lumclassG7) | |
1771 | - indG7_1 = fltarr(nlmG7) | |
1772 | - indG7_2 = indG7_1 | |
1773 | - indG7_3 = indG7_1 | |
1774 | - indG7_4 = indG7_1 | |
1775 | - countindG7_1 = indG7_1 | |
1776 | - countindG7_2 = indG7_1 | |
1777 | - countindG7_3 = indG7_1 | |
1778 | - countindG7_4 = indG7_1 | |
1779 | - FOR i=0L,nlmG7-1 DO BEGIN | |
1780 | - popnumber+=1 | |
1781 | - countg+=1 | |
1782 | - indg7_1[i] = where(testg7 and params EQ 1, countindg7_1x); index of radius of this stellar population in the val array | |
1783 | - countindg7_1[i] = countindg7_1x | |
1784 | - indg7_2[i] = where(testg7 and params EQ 2, countindg7_2x); index of temperature of this stellar population in the val array | |
1785 | - countindg7_2[i] = countindg7_2x | |
1786 | - indg7_3[i] = where(testg7 and params EQ 3, countindg7_3x); index of distance of this stellar population in the val array | |
1787 | - countindg7_3[i] = countindg7_3x | |
1788 | - indg7_4[i] = where(testg7 and params EQ 4, countindg7_4x); index of the nstars of this stellar population in the val array | |
1789 | - countindg7_4[i] = countindg7_4x | |
1790 | - ENDFOR | |
1791 | - ENDIF | |
1792 | - | |
1793 | - ; Locating the G8 stellar population parameters | |
1794 | - testg8 = strupcase(strmid(key,0,2)) EQ 'G8' | |
1795 | - ind = where(testg8,countindg8) | |
1796 | - ; retrieveing the defaut values from the txt database | |
1797 | - tstg8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1798 | - indat = where(tstg8,ctdatg8) | |
1799 | - if ctdatg8 ne 0 then begin | |
1800 | - | |
1801 | - T_eff_MS_g8 = double(T_eff_MS(indat)) | |
1802 | - R_star_MS_g8 = double(R_star_MS(indat)) | |
1803 | - | |
1804 | - endif | |
1805 | - IF countindg8 NE 0 THEN BEGIN | |
1806 | - lumclassG8 = lumclass(ind) | |
1807 | - nlmG8 = n_elements(lumclassG8) | |
1808 | - indG8_1 = fltarr(nlmG8) | |
1809 | - indG8_2 = indG8_1 | |
1810 | - indG8_3 = indG8_1 | |
1811 | - indG8_4 = indG8_1 | |
1812 | - countindG8_1 = indG8_1 | |
1813 | - countindG8_2 = indG8_1 | |
1814 | - countindG8_3 = indG8_1 | |
1815 | - countindG8_4 = indG8_1 | |
1816 | - FOR i=0L,nlmG8-1 DO BEGIN | |
1817 | - popnumber+=1 | |
1818 | - countg+=1 | |
1819 | - indg8_1[i] = where(testg8 and params EQ 1, countindg8_1x); index of radius of this stellar population in the val array | |
1820 | - countindg8_1[i] = countindg8_1x | |
1821 | - indg8_2[i] = where(testg8 and params EQ 2, countindg8_2x); index of temperature of this stellar population in the val array | |
1822 | - countindg8_2[i] = countindg8_2x | |
1823 | - indg8_3[i] = where(testg8 and params EQ 3, countindg8_3x); index of distance of this stellar population in the val array | |
1824 | - countindg8_3[i] = countindg8_3x | |
1825 | - indg8_4[i] = where(testg8 and params EQ 4, countindg8_4x); index of the nstars of this stellar population in the val array | |
1826 | - countindg8_4[i] = countindg8_4x | |
1827 | - ENDFOR | |
1828 | - ENDIF | |
1829 | - | |
1830 | - ; Locating the G9 stellar population parameters | |
1831 | - testg9 = strupcase(strmid(key,0,2)) EQ 'G9' | |
1832 | - ind = where(testg9,countindg9) | |
1833 | - ; retrieveing the defaut values from the txt database | |
1834 | - tstg9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' | |
1835 | - indat = where(tstg9,ctdatg9) | |
1836 | - if ctdatg9 ne 0 then begin | |
1837 | - | |
1838 | - T_eff_MS_g9 = double(T_eff_MS(indat)) | |
1839 | - R_star_MS_g9 = double(R_star_MS(indat)) | |
1840 | - | |
1841 | - endif | |
1842 | - IF countindg9 NE 0 THEN BEGIN | |
1843 | - lumclassG9 = lumclass(ind) | |
1844 | - nlmG9 = n_elements(lumclassG9) | |
1845 | - indG9_1 = fltarr(nlmG9) | |
1846 | - indG9_2 = indG9_1 | |
1847 | - indG9_3 = indG9_1 | |
1848 | - indG9_4 = indG9_1 | |
1849 | - countindG9_1 = indG9_1 | |
1850 | - countindG9_2 = indG9_1 | |
1851 | - countindG9_3 = indG9_1 | |
1852 | - countindG9_4 = indG9_1 | |
1853 | - FOR i=0L,nlmG9-1 DO BEGIN | |
1854 | - popnumber+=1 | |
1855 | - countg+=1 | |
1856 | - indg9_1[i] = where(testg9 and params EQ 1, countindg9_1x); index of radius of this stellar population in the val array | |
1857 | - countindg9_1[i] = countindg9_1x | |
1858 | - indg9_2[i] = where(testg9 and params EQ 2, countindg9_2x); index of temperature of this stellar population in the val array | |
1859 | - countindg9_2[i] = countindg9_2x | |
1860 | - indg9_3[i] = where(testg9 and params EQ 3, countindg9_3x); index of distance of this stellar population in the val array | |
1861 | - countindg9_3[i] = countindg9_3x | |
1862 | - indg9_4[i] = where(testg9 and params EQ 4, countindg9_4x); index of the nstars of this stellar population in the val array | |
1863 | - countindg9_4[i] = countindg9_4x | |
1864 | - ENDFOR | |
1865 | - ENDIF | |
1866 | - | |
1867 | - | |
1868 | - comp_pop=replicate(one_pop,popnumber) ; Replication of the default and initialized stellar population structure to create the composite stellar population structure. All the tag values are by default set to te null value | |
1869 | - | |
1870 | 109 | ;stop |
1871 | - | |
1872 | - ;Filling the tags of the compsite stellar population structure using the indices defined above | |
1873 | - | |
1874 | - FOR i=0L,popnumber-1 DO BEGIN ; Looping over all the structure fields | |
1875 | - | |
1876 | - IF counto NE 0 THEN BEGIN ; Filling the structure of the O STELLAR POPULATION(S) | |
1877 | - | |
1878 | - FOR k=0L,counto-1 DO BEGIN | |
1879 | - | |
1880 | - IF countindo3 NE 0 THEN BEGIN | |
1881 | - FOR l=0L,nlmO3-1 DO BEGIN | |
1882 | - comp_pop(k+i+l).popid = 'O3'+lumclasso3(l)+'_stellar_population' | |
1883 | - IF countindo3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo3_1[l]))(0)*rsun2cm ELSE BEGIN | |
1884 | -; IF lumclasso3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants | |
1885 | -; IF lumclasso3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants | |
1886 | -; IF lumclasso3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants | |
1887 | -; IF lumclasso3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ;Less luminous supergiants | |
1888 | -; IF lumclasso3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants | |
1889 | -; IF lumclasso3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants | |
1890 | -; IF lumclasso3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants | |
1891 | - IF lumclasso3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o3*rsun2cm;15.0*rsun2cm ;(cm,cgs);Dwarfs: Main-sequence stars | |
1892 | -; IF lumclasso3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs | |
1893 | -; IF lumclasso3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs | |
1894 | - ENDELSE | |
1895 | - IF countindo3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo3_2[l]))(0) ELSE BEGIN | |
1896 | -; IF lumclasso3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
1897 | -; IF lumclasso3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
1898 | -; IF lumclasso3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
1899 | -; IF lumclasso3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
1900 | -; IF lumclasso3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
1901 | -; IF lumclasso3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
1902 | -; IF lumclasso3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
1903 | - IF lumclasso3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o3;44.9e3 ;(K) | |
1904 | -; IF lumclasso3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
1905 | -; IF lumclasso3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
1906 | - ENDELSE | |
1907 | - IF countindo3_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo3_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 ; should be lower limited in the general procedure because this is the average distance between two stars | |
1908 | - IF countindo3_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo3_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
1909 | - ;K+=1 | |
1910 | - ENDFOR | |
1911 | - k+=nlmo3 | |
1912 | - ENDIF | |
1913 | - | |
1914 | - IF countindo4 NE 0 THEN BEGIN | |
1915 | - FOR l=0L,nlmO4-1 DO BEGIN | |
1916 | - comp_pop(k+i+l).popid = 'O4'+lumclasso4(l)+'_stellar_population' | |
1917 | - IF countindo4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo4_1[l]))(0)*rsun2cm ELSE BEGIN | |
1918 | -; IF lumclasso4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants | |
1919 | -; IF lumclasso4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants | |
1920 | -; IF lumclasso4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants | |
1921 | -; IF lumclasso4(l) EQ 'IB' THEN comp_pop(k+i+l).radius ;Less luminous supergiants | |
1922 | -; IF lumclasso4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants | |
1923 | -; IF lumclasso4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants | |
1924 | -; IF lumclasso4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants | |
1925 | - IF lumclasso4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o4*rsun2cm;13.43*rsun2cm ;(cm,cgs);Dwarfs: Main-sequence stars | |
1926 | -; IF lumclasso4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs | |
1927 | -; IF lumclasso4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs | |
1928 | - ENDELSE | |
1929 | - IF countindo4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo4_2[l]))(0) ELSE BEGIN | |
1930 | -; IF lumclasso4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
1931 | -; IF lumclasso4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
1932 | -; IF lumclasso4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
1933 | -; IF lumclasso4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
1934 | -; IF lumclasso4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
1935 | -; IF lumclasso4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
1936 | -; IF lumclasso4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
1937 | - IF lumclasso4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o4;42.9e3 | |
1938 | -; IF lumclasso4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
1939 | -; IF lumclasso4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
1940 | - ENDELSE | |
1941 | - IF countindo4_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo4_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
1942 | - IF countindo4_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo4_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
1943 | - ;K+=1 | |
1944 | - ENDFOR | |
1945 | - k+=nlmo4 | |
1946 | - ENDIF | |
1947 | - | |
1948 | - | |
1949 | - IF countindo5 NE 0 THEN BEGIN | |
1950 | - FOR l=0L,nlmo5-1 DO BEGIN | |
1951 | - comp_pop(k+i+l).popid = 'O5'+lumclasso5(l)+'_stellar_population' | |
1952 | - IF countindo5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo5_1[l]))(0)*rsun2cm ELSE BEGIN | |
1953 | -; IF lumclasso5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants | |
1954 | -; IF lumclasso5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants | |
1955 | -; IF lumclasso5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants | |
1956 | -; IF lumclasso5(l) EQ 'IB' THEN comp_pop(k+i+l).radius ;Less luminous supergiants | |
1957 | -; IF lumclasso5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants | |
1958 | -; IF lumclasso5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants | |
1959 | -; IF lumclasso5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants | |
1960 | - IF lumclasso5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o5*rsun2cm;12*rsun2cm ;(cm,cgs);Dwarfs: Main-sequence stars | |
1961 | -; IF lumclasso5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs | |
1962 | -; IF lumclasso5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs | |
1963 | - ENDELSE | |
1964 | - IF countindo5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo5_2[l]))(0) ELSE BEGIN | |
1965 | -; IF lumclasso5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
1966 | -; IF lumclasso5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
1967 | -; IF lumclasso5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
1968 | -; IF lumclasso5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
1969 | -; IF lumclasso5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
1970 | -; IF lumclasso5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
1971 | -; IF lumclasso5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
1972 | - IF lumclasso5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o5;41.4e3 | |
1973 | -; IF lumclasso5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
1974 | -; IF lumclasso5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
1975 | - ENDELSE | |
1976 | - IF countindo5_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo5_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
1977 | - IF countindo5_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo5_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
1978 | - ;K+=1 | |
1979 | - ENDFOR | |
1980 | - k+=nlmo5 | |
1981 | - ENDIF | |
1982 | - | |
1983 | - | |
1984 | - | |
1985 | - IF countindo6 NE 0 THEN BEGIN | |
1986 | - FOR l=0L,nlmo6-1 DO BEGIN | |
1987 | - comp_pop(k+i+l).popid = 'O6'+lumclasso6(l)+'_stellar_population' | |
1988 | - IF countindo6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo6_1[l]))(0)*rsun2cm ELSE BEGIN | |
1989 | -; IF lumclasso6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
1990 | -; IF lumclasso6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
1991 | -; IF lumclasso6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
1992 | -; IF lumclasso6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
1993 | -; IF lumclasso6(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
1994 | -; IF lumclasso6(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
1995 | -; IF lumclasso6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
1996 | - IF lumclasso6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o6*rsun2cm;10.71*rsun2cm | |
1997 | -; IF lumclasso6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
1998 | -; IF lumclasso6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
1999 | - ENDELSE | |
2000 | - IF countindo6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo6_2[l]))(0) ELSE BEGIN | |
2001 | -; IF lumclasso6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2002 | -; IF lumclasso6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2003 | -; IF lumclasso6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2004 | -; IF lumclasso6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2005 | -; IF lumclasso6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2006 | -; IF lumclasso6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2007 | -; IF lumclasso6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2008 | - IF lumclasso6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o6;39.5e3 | |
2009 | -; IF lumclasso6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2010 | -; IF lumclasso6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2011 | - ENDELSE | |
2012 | - IF countindo6_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo6_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2013 | - IF countindo6_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo6_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2014 | - ;K+=1 | |
2015 | - ENDFOR | |
2016 | - k+=nlmo6 | |
2017 | - ENDIF | |
2018 | - | |
2019 | - | |
2020 | - IF countindo7 NE 0 THEN BEGIN | |
2021 | - FOR l=0L,nlmo7-1 DO BEGIN | |
2022 | - comp_pop(k+l+i).popid = 'O7'+lumclasso7(l)+'_stellar_population' | |
2023 | - IF countindo7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo7_1[l]))(0)*rsun2cm ELSE BEGIN | |
2024 | -; IF lumclasso7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2025 | -; IF lumclasso7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2026 | -; IF lumclasso7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2027 | -; IF lumclasso7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2028 | -; IF lumclasso7(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2029 | -; IF lumclasso7(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2030 | -; IF lumclasso7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2031 | - IF lumclasso7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o7*rsun2cm;9.52*rsun2cm | |
2032 | -; IF lumclasso7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2033 | -; IF lumclasso7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2034 | - | |
2035 | - ENDELSE | |
2036 | - IF countindo7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo7_2[l]))(0) ELSE BEGIN | |
2037 | -; IF lumclasso7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2038 | -; IF lumclasso7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2039 | -; IF lumclasso7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2040 | -; IF lumclasso7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2041 | -; IF lumclasso7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2042 | -; IF lumclasso7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2043 | -; IF lumclasso7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2044 | - IF lumclasso7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o7;37.1e3 | |
2045 | -; IF lumclasso7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2046 | -; IF lumclasso7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2047 | - ENDELSE | |
2048 | - IF countindo7_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo7_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2049 | - IF countindo7_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo7_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2050 | - ;K+=1 | |
2051 | - ENDFOR | |
2052 | - k+=nlmo7 | |
2053 | - ENDIF | |
2054 | - | |
2055 | - | |
2056 | - IF countindo8 NE 0 THEN BEGIN | |
2057 | - FOR l=0L,nlmo8-1 DO BEGIN | |
2058 | - comp_pop(k+i+l).popid = 'O8'+lumclasso8(l)+'_stellar_population' | |
2059 | - IF countindo8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo8_1[l]))(0)*rsun2cm ELSE BEGIN | |
2060 | -; IF lumclasso8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2061 | -; IF lumclasso8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2062 | -; IF lumclasso8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2063 | -; IF lumclasso8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2064 | -; IF lumclasso8(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2065 | -; IF lumclasso8(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2066 | -; IF lumclasso8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2067 | - IF lumclasso8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o8*rsun2cm;8.5*rsun2cm | |
2068 | -; IF lumclasso8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2069 | -; IF lumclasso8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2070 | - ENDELSE | |
2071 | - IF countindo8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo8_2[l]))(0) ELSE BEGIN | |
2072 | -; IF lumclasso8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2073 | -; IF lumclasso8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2074 | -; IF lumclasso8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2075 | -; IF lumclasso8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2076 | -; IF lumclasso8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2077 | -; IF lumclasso8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2078 | -; IF lumclasso8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2079 | - IF lumclasso8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o8*rsun2cm;35.1e3 | |
2080 | -; IF lumclasso8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2081 | -; IF lumclasso8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2082 | - ENDELSE | |
2083 | - IF countindo8_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo8_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2084 | - IF countindo8_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo8_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2085 | - ;K+=1 | |
2086 | - ENDFOR | |
2087 | - k+=nlmo8 | |
2088 | - ENDIF | |
2089 | - | |
2090 | - | |
2091 | - IF countindo9 NE 0 THEN BEGIN | |
2092 | - FOR l=0L,nlmo9-1 DO BEGIN | |
2093 | - comp_pop(k+i+l).popid = 'O9'+lumclasso9(l)+'_stellar_population' | |
2094 | - | |
2095 | - IF countindo9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo9_1[l]))(0)*rsun2cm ELSE BEGIN | |
2096 | -; IF lumclasso9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2097 | -; IF lumclasso9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2098 | - IF lumclasso9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = 20.0*rsun2cm ;taken from Alnitak Aa's data. Even though its spec type is O9.5 (not O9) | |
2099 | -; IF lumclasso9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2100 | -; IF lumclasso9(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2101 | -; IF lumclasso9(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2102 | -; IF lumclasso9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2103 | - IF lumclasso9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o9*rsun2cm;7.51*rsun2cm | |
2104 | -; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2105 | -; IF lumclasso9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2106 | - ENDELSE | |
2107 | - IF countindo9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo9_2[l]))(0) ELSE BEGIN | |
2108 | -; IF lumclasso9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2109 | -; IF lumclasso9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2110 | - IF lumclasso9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = 29.5e3 ;taken from Alnitak Aa's data. Even though its spec type is O9.5 (not O9) | |
2111 | -; IF lumclasso9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2112 | -; IF lumclasso9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2113 | -; IF lumclasso9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2114 | -; IF lumclasso9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2115 | - IF lumclasso9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o9*rsun2cm;33.3e3 | |
2116 | -; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2117 | -; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2118 | - ENDELSE | |
2119 | - | |
2120 | - IF countindo9_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indo9_3[l]))(0) ELSE comp_pop(k+i+l).distance = 1.0E+00 | |
2121 | - IF countindo9_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indo9_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2122 | - ;K+=1 | |
2123 | - | |
2124 | - ENDFOR | |
2125 | - k+=nlmo9 | |
2126 | - | |
2127 | - ENDIF | |
2128 | - | |
2129 | - ENDFOR | |
2130 | - | |
2131 | - counto=0L | |
2132 | - | |
2133 | - i+=k-1 | |
2134 | - ENDIF | |
2135 | - | |
2136 | - ;============================================================================================== | |
2137 | - | |
2138 | - IF countb NE 0 THEN BEGIN ; Filling the structure of the B STELLAR POPULATION(S) | |
2139 | - | |
2140 | - FOR k=0L,countb-1 DO BEGIN | |
2141 | - | |
2142 | - IF countindb0 NE 0 THEN BEGIN | |
2143 | - FOR l=0L,nlmb0-1 DO BEGIN | |
2144 | - comp_pop(k+i+l).popid = 'B0'+lumclassb0(l)+'_stellar_population' | |
2145 | - IF countindb0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb0_1[l]))(0)*rsun2cm ELSE BEGIN | |
2146 | -; IF lumclassb0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2147 | -; IF lumclassb0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2148 | -; IF lumclassb0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2149 | -; IF lumclassb0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2150 | -; IF lumclassb0(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2151 | -; IF lumclassb0(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2152 | -; IF lumclassb0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2153 | - IF lumclassb0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b0*rsun2cm;7.16*rsun2cm | |
2154 | -; IF lumclassb0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2155 | -; IF lumclassb0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2156 | - ENDELSE | |
2157 | - IF countindb0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb0_2[l]))(0) ELSE BEGIN | |
2158 | -; IF lumclasb0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2159 | -; IF lumclasb0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2160 | -; IF lumclasb0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2161 | -; IF lumclasb0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2162 | -; IF lumclasb0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2163 | -; IF lumclasb0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2164 | -; IF lumclasb0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2165 | - IF lumclasb0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b0;31.4e3 | |
2166 | -; IF lumclasb0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2167 | -; IF lumclasb0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2168 | - ENDELSE | |
2169 | - IF countindb0_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb0_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2170 | - IF countindb0_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb0_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2171 | - ;K+=1 | |
2172 | - ENDFOR | |
2173 | - k+=nlmb0 | |
2174 | - ENDIF | |
2175 | - | |
2176 | - IF countindb1 NE 0 THEN BEGIN | |
2177 | - FOR l=0L,nlmb1-1 DO BEGIN | |
2178 | - comp_pop(k+i+l).popid = 'B1'+lumclassb1(l)+'_stellar_population' | |
2179 | - IF countindb1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb1_1[l]))(0)*rsun2cm ELSE BEGIN | |
2180 | -; IF lumclassb1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2181 | -; IF lumclassb1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2182 | -; IF lumclassb1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2183 | -; IF lumclassb1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2184 | -; IF lumclassb1(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2185 | -; IF lumclassb1(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2186 | - IF lumclassb1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = 7.3*rsun2cm ;taken from Alnitak Ab's data. | |
2187 | - IF lumclassb1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b1*rsun2cm;5.71*rsun2cm | |
2188 | -; IF lumclassb1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2189 | -; IF lumclassb1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2190 | - ENDELSE | |
2191 | - IF countindb1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb1_2[l]))(0) ELSE BEGIN | |
2192 | -; IF lumclassb1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2193 | -; IF lumclassb1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2194 | -; IF lumclasb1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2195 | -; IF lumclassb1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2196 | -; IF lumclassb1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2197 | -; IF lumclassb1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2198 | - IF lumclassb1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = 29.0e3 ;taken from Alnitak Ab's data. | |
2199 | - IF lumclassb1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b1*rsun2cm;26.0e3 | |
2200 | -; IF lumclassb1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2201 | -; IF lumclassb1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2202 | - ENDELSE | |
2203 | - IF countindb1_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb1_3[l]))(0) ELSE comp_pop(k+i+l).distance = 1.0E+00 | |
2204 | - IF countindb1_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb1_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2205 | - ;K+=1 | |
2206 | - ENDFOR | |
2207 | - k+=nlmb1 | |
2208 | - ENDIF | |
2209 | - | |
2210 | - IF countindb2 NE 0 THEN BEGIN | |
2211 | - FOR l=0L,nlmb2-1 DO BEGIN | |
2212 | - comp_pop(k+i+l).popid = 'B2'+lumclassb2(l)+'_stellar_population' | |
2213 | - IF countindb2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb2_1[l]))(0)*rsun2cm ELSE BEGIN | |
2214 | -; IF lumclassb2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2215 | -; IF lumclassb2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2216 | -; IF lumclassb2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2217 | -; IF lumclassb2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2218 | -; IF lumclassb2(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2219 | -; IF lumclassb2(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2220 | -; IF lumclassb2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2221 | - IF lumclassb2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b2*rsun2cm;4.06*rsun2cm | |
2222 | -; IF lumclassb2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2223 | -; IF lumclassb2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2224 | - ENDELSE | |
2225 | - IF countindb2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb2_2[l]))(0) ELSE BEGIN | |
2226 | -; IF lumclasb2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2227 | -; IF lumclasb2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2228 | -; IF lumclasb2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2229 | -; IF lumclasb2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2230 | -; IF lumclasb2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2231 | -; IF lumclasb2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2232 | -; IF lumclasb2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2233 | - IF lumclasb2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b2;20.6e3 | |
2234 | -; IF lumclasb2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2235 | -; IF lumclasb2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2236 | - ENDELSE | |
2237 | - IF countindb2_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb2_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2238 | - IF countindb2_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb2_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2239 | - ;K+=1 | |
2240 | - ENDFOR | |
2241 | - k+=nlmb2 | |
2242 | - ENDIF | |
2243 | - | |
2244 | - IF countindb3 NE 0 THEN BEGIN | |
2245 | - FOR l=0L,nlmb3-1 DO BEGIN | |
2246 | - comp_pop(k+i+l).popid = 'B3'+lumclassb3(l)+'_stellar_population' | |
2247 | - IF countindb3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb3_1[l]))(0)*rsun2cm ELSE BEGIN | |
2248 | -; IF lumclassb3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2249 | -; IF lumclassb3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2250 | -; IF lumclassb3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2251 | -; IF lumclassb3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2252 | -; IF lumclassb3(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2253 | -; IF lumclassb3(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2254 | -; IF lumclassb3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2255 | - IF lumclassb3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b3*rsun2cm;3.61*rsun2cm | |
2256 | -; IF lumclassb3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2257 | -; IF lumclassb3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2258 | - ENDELSE | |
2259 | - IF countindb3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb3_2[l]))(0) ELSE BEGIN | |
2260 | -; IF lumclasb3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2261 | -; IF lumclasb3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2262 | -; IF lumclasb3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2263 | -; IF lumclasb3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2264 | -; IF lumclasb3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2265 | -; IF lumclasb3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2266 | -; IF lumclasb3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2267 | - IF lumclasb3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b3;17.0e3 | |
2268 | -; IF lumclasb3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2269 | -; IF lumclasb3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2270 | - ENDELSE | |
2271 | - IF countindb3_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb3_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2272 | - IF countindb3_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb3_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2273 | - ;K+=1 | |
2274 | - ENDFOR | |
2275 | - k+=nlmb3 | |
2276 | - ENDIF | |
2277 | - | |
2278 | - IF countindb4 NE 0 THEN BEGIN | |
2279 | - FOR l=0L,nlmb4-1 DO BEGIN | |
2280 | - comp_pop(k+i+l).popid = 'B4'+lumclassb4(l)+'_stellar_population' | |
2281 | - IF countindb4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb4_1[l]))(0)*rsun2cm ELSE BEGIN | |
2282 | -; IF lumclassb4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2283 | -; IF lumclassb4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2284 | -; IF lumclassb4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2285 | -; IF lumclassb4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2286 | -; IF lumclassb4(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2287 | -; IF lumclassb4(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2288 | -; IF lumclassb4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2289 | - IF lumclassb4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b4*rsun2cm;3.46*rsun2cm | |
2290 | -; IF lumclassb4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2291 | -; IF lumclassb4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2292 | - ENDELSE | |
2293 | - IF countindb4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb4_2[l]))(0) ELSE BEGIN | |
2294 | -; IF lumclasb4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2295 | -; IF lumclasb4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2296 | -; IF lumclasb4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2297 | -; IF lumclasb4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2298 | -; IF lumclasb4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2299 | -; IF lumclasb4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2300 | - IF lumclasb4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b4;16.4e3 | |
2301 | -; IF lumclasb4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2302 | -; IF lumclasb4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2303 | - ENDELSE | |
2304 | - IF countindb4_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb4_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2305 | - IF countindb4_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb4_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2306 | - ;K+=1 | |
2307 | - ENDFOR | |
2308 | - k+=nlmb4 | |
2309 | - ENDIF | |
2310 | - | |
2311 | - | |
2312 | - IF countindb5 NE 0 THEN BEGIN | |
2313 | - FOR l=0L,nlmb5-1 DO BEGIN | |
2314 | - comp_pop(k+i+l).popid = 'B5'+lumclassb5(l)+'_stellar_population' | |
2315 | - IF countindb5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb5_1[l]))(0)*rsun2cm ELSE BEGIN | |
2316 | -; IF lumclassb5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2317 | -; IF lumclassb5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2318 | -; IF lumclassb5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2319 | -; IF lumclassb5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2320 | -; IF lumclassb5(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2321 | -; IF lumclassb5(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2322 | -; IF lumclassb5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2323 | - IF lumclassb5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b5*rsun2cm;3.36*rsun2cm | |
2324 | -; IF lumclassb5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2325 | -; IF lumclassb5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2326 | - ENDELSE | |
2327 | - IF countindb5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb5_2[l]))(0) ELSE BEGIN | |
2328 | -; IF lumclasb5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2329 | -; IF lumclasb5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2330 | -; IF lumclasb5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2331 | -; IF lumclasb5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2332 | -; IF lumclasb5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2333 | -; IF lumclasb5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2334 | -; IF lumclasb5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2335 | - IF lumclasb5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b5;15.7e3 | |
2336 | -; IF lumclasb5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2337 | -; IF lumclasb5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2338 | - ENDELSE | |
2339 | - IF countindb5_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb5_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2340 | - IF countindb5_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb5_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2341 | - ;K+=1 | |
2342 | - ENDFOR | |
2343 | - k+=nlmb5 | |
2344 | - ENDIF | |
2345 | - | |
2346 | - | |
2347 | - IF countindb6 NE 0 THEN BEGIN | |
2348 | - FOR l=0L,nlmb6-1 DO BEGIN | |
2349 | - comp_pop(k+i+l).popid = 'B6'+lumclassb6(l)+'_stellar_population' | |
2350 | - IF countindb6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb6_1[l]))(0)*rsun2cm ELSE BEGIN | |
2351 | -; IF lumclassb6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2352 | -; IF lumclassb6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2353 | -; IF lumclassb6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2354 | -; IF lumclassb6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2355 | -; IF lumclassb6(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2356 | -; IF lumclassb6(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2357 | -; IF lumclassb6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2358 | - IF lumclassb6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b6*rsun2cm;3.27*rsun2cm | |
2359 | -; IF lumclassb6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2360 | -; IF lumclassb6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2361 | - ENDELSE | |
2362 | - IF countindb6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb6_2[l]))(0) ELSE BEGIN | |
2363 | -; IF lumclasb6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2364 | -; IF lumclasb6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2365 | -; IF lumclasb6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2366 | -; IF lumclasb6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2367 | -; IF lumclasb6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2368 | -; IF lumclasb6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2369 | -; IF lumclasb6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2370 | - IF lumclasb6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b6;14.5e3 | |
2371 | -; IF lumclasb6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2372 | -; IF lumclasb6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2373 | - ENDELSE | |
2374 | - IF countindb6_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb6_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2375 | - IF countindb6_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb6_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2376 | - ;K+=1 | |
2377 | - ENDFOR | |
2378 | - k+=nlmb6 | |
2379 | - ENDIF | |
2380 | - | |
2381 | - | |
2382 | - IF countindb7 NE 0 THEN BEGIN | |
2383 | - FOR l=0L,nlmb7-1 DO BEGIN | |
2384 | - comp_pop(k+i+l).popid = 'B7'+lumclassb7(l)+'_stellar_population' | |
2385 | - IF countindb7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb7_1[l]))(0)*rsun2cm ELSE BEGIN | |
2386 | -; IF lumclassb7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2387 | -; IF lumclassb7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2388 | -; IF lumclassb7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2389 | -; IF lumclassb7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2390 | -; IF lumclassb7(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2391 | -; IF lumclassb7(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2392 | -; IF lumclassb7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2393 | - IF lumclassb7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b7*rsun2cm;2.94*rsun2cm | |
2394 | -; IF lumclassb7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2395 | -; IF lumclassb7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2396 | - ENDELSE | |
2397 | - IF countindb7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb7_2[l]))(0)*rsun2cm ELSE BEGIN | |
2398 | -; IF lumclasb7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2399 | -; IF lumclasb7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2400 | -; IF lumclasb7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2401 | -; IF lumclasb7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2402 | -; IF lumclasb7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2403 | -; IF lumclasb7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2404 | -; IF lumclasb7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2405 | - IF lumclasb7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b7;14.0e3 | |
2406 | -; IF lumclasb7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2407 | -; IF lumclasb7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2408 | - ENDELSE | |
2409 | - IF countindb7_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb7_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2410 | - IF countindb7_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb7_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2411 | - ;K+=1 | |
2412 | - ENDFOR | |
2413 | - k+=nlmb7 | |
2414 | - ENDIF | |
2415 | - | |
2416 | - | |
2417 | - IF countindb8 NE 0 THEN BEGIN | |
2418 | - FOR l=0L,nlmb7-1 DO BEGIN | |
2419 | - comp_pop(k+i+l).popid = 'B8'+lumclassb8(l)+'_stellar_population' | |
2420 | - IF countindb8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb8_1[l]))(0)*rsun2cm ELSE BEGIN | |
2421 | -; IF lumclassb8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2422 | -; IF lumclassb9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2423 | -; IF lumclassb8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2424 | -; IF lumclassb8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2425 | -; IF lumclassb8(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2426 | -; IF lumclassb8(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2427 | -; IF lumclassb8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2428 | - IF lumclassb8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b8*rsun2cm;2.86*rsun2cm | |
2429 | -; IF lumclassb8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2430 | -; IF lumclassb8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2431 | - ENDELSE | |
2432 | - IF countindb8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb8_2[l]))(0) ELSE BEGIN | |
2433 | -; IF lumclasb8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2434 | -; IF lumclasb8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2435 | -; IF lumclasb8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2436 | -; IF lumclasb8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2437 | -; IF lumclasb8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2438 | -; IF lumclasb8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2439 | -; IF lumclasb8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2440 | - IF lumclasb8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b8;12.3e3 | |
2441 | -; IF lumclasb8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2442 | -; IF lumclasb8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2443 | - ENDELSE | |
2444 | - IF countindb8_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb8_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2445 | - IF countindb8_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb8_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2446 | - ;K+=1 | |
2447 | - ENDFOR | |
2448 | - k+=nlmb8 | |
2449 | - ENDIF | |
2450 | - | |
2451 | - | |
2452 | - IF countindb9 NE 0 THEN BEGIN | |
2453 | - FOR l=0L,nlmb9-1 DO BEGIN | |
2454 | - comp_pop(k+i+l).popid = 'B9'+lumclassb9(l)+'_stellar_population' | |
2455 | - IF countindb9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb9_1[l]))(0)*rsun2cm ELSE BEGIN | |
2456 | -; IF lumclassb9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2457 | -; IF lumclassb9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2458 | -; IF lumclassb9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2459 | -; IF lumclassb9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2460 | -; IF lumclassb9(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2461 | -; IF lumclassb9(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2462 | -; IF lumclassb9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2463 | - IF lumclassb9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b9*rsun2cm;2.49*rsun2cm | |
2464 | -; IF lumclassb9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2465 | -; IF lumclassb9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2466 | - ENDELSE | |
2467 | - IF countindb9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb9_2[l]))(0) ELSE BEGIN | |
2468 | -; IF lumclasb9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2469 | -; IF lumclasb9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2470 | -; IF lumclasb9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2471 | -; IF lumclasb9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2472 | -; IF lumclasb9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2473 | -; IF lumclasb9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2474 | -; IF lumclasb9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2475 | - IF lumclasb9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b9;10.7e3 | |
2476 | -; IF lumclasb9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2477 | -; IF lumclasb9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2478 | - ENDELSE | |
2479 | - IF countindb9_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indb9_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2480 | - IF countindb9_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indb9_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2481 | - ;K+=1 | |
2482 | - ENDFOR | |
2483 | - k+=nlmb9 | |
2484 | - ENDIF | |
2485 | - | |
2486 | - | |
2487 | - ENDFOR | |
2488 | - | |
2489 | - countb=0. | |
2490 | - | |
2491 | - i+=k-1 | |
2492 | - ENDIF | |
2493 | - | |
2494 | - ;============================================================================================== | |
2495 | - | |
2496 | - IF counta NE 0 THEN BEGIN ; Filling the structure of the A STELLAR POPULATION(S) | |
2497 | - | |
2498 | - FOR k=0L+i,counta-1+i DO BEGIN | |
2499 | - | |
2500 | - IF countinda0 NE 0 THEN BEGIN | |
2501 | - FOR l=0L,nlma0-1 DO BEGIN | |
2502 | - comp_pop(k+i+l).popid = 'A0'+lumclassa0(l)+'_stellar_population' | |
2503 | - IF countinda0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda0_1[l]))(0)*rsun2cm ELSE BEGIN | |
2504 | -; IF lumclassa0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2505 | -; IF lumclassa0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2506 | -; IF lumclassa0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2507 | -; IF lumclassa0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2508 | -; IF lumclassa0(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2509 | -; IF lumclassa0(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2510 | -; IF lumclassa0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2511 | - IF lumclassa0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a0*rsun2cm;2.193*rsun2cm | |
2512 | -; IF lumclassa0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2513 | -; IF lumclassa0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2514 | - ENDELSE | |
2515 | - IF countinda0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda0_2[l]))(0) ELSE BEGIN | |
2516 | -; IF lumclasa0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2517 | -; IF lumclasa0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2518 | -; IF lumclasa0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2519 | -; IF lumclasa0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2520 | -; IF lumclasa0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2521 | -; IF lumclasa0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2522 | -; IF lumclasa0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2523 | - IF lumclasa0(l) EQ 'V' THEN comp_pop(k+i+l).temperature =T_eff_MS_a0; 9.7e3 | |
2524 | -; IF lumclasa0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2525 | -; IF lumclasa0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2526 | - ENDELSE | |
2527 | - IF countinda0_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda0_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2528 | - IF countinda0_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda0_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2529 | - ;K+=1 | |
2530 | - ENDFOR | |
2531 | - k+=nlma0 | |
2532 | - ENDIF | |
2533 | - | |
2534 | - | |
2535 | - | |
2536 | - IF countinda1 NE 0 THEN BEGIN | |
2537 | - FOR l=0L,nlma1-1 DO BEGIN | |
2538 | - comp_pop(k+i+l).popid = 'A1'+lumclassa1(l)+'_stellar_population' | |
2539 | - IF countinda1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda1_1[l]))(0)*rsun2cm ELSE BEGIN | |
2540 | -; IF lumclassa1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2541 | -; IF lumclassa1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2542 | -; IF lumclassa1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2543 | -; IF lumclassa1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2544 | -; IF lumclassa1(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2545 | -; IF lumclassa1(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2546 | -; IF lumclassa1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2547 | - IF lumclassa1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a1*rsun2cm;2.136*rsun2cm | |
2548 | -; IF lumclassa1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2549 | -; IF lumclassa1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2550 | - ENDELSE | |
2551 | - IF countinda1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda1_2[l]))(0) ELSE BEGIN | |
2552 | -; IF lumclasa1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2553 | -; IF lumclasa1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2554 | -; IF lumclasa1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2555 | -; IF lumclasa1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2556 | -; IF lumclasa1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2557 | -; IF lumclasa1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2558 | -; IF lumclasa1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2559 | - IF lumclasa1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a1;9.3e3 | |
2560 | -; IF lumclasa1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2561 | -; IF lumclasa1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2562 | - ENDELSE | |
2563 | - IF countinda1_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda1_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2564 | - IF countinda1_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda1_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2565 | - ; K+=1 | |
2566 | - ENDFOR | |
2567 | - k+=nlma1 | |
2568 | - ENDIF | |
2569 | - | |
2570 | - IF countinda2 NE 0 THEN BEGIN | |
2571 | - FOR l=0L,nlma2-1 DO BEGIN | |
2572 | - comp_pop(k+i+l).popid = 'A2'+lumclassa2(l)+'_stellar_population' | |
2573 | - IF countinda2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda2_1[l]))(0)*rsun2cm ELSE BEGIN | |
2574 | -; IF lumclassa2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2575 | -; IF lumclassa2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2576 | -; IF lumclassa2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2577 | -; IF lumclassa2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2578 | -; IF lumclassa2(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2579 | -; IF lumclassa2(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2580 | -; IF lumclassa2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2581 | - IF lumclassa2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a2*rsun2cm;2.117*rsun2cm | |
2582 | -; IF lumclassa2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2583 | -; IF lumclassa2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2584 | - ENDELSE | |
2585 | - IF countinda2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda2_2[l]))(0) ELSE BEGIN | |
2586 | -; IF lumclasa2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2587 | -; IF lumclasa2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2588 | -; IF lumclasa2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2589 | -; IF lumclasa2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2590 | -; IF lumclasa2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2591 | -; IF lumclasa2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2592 | -; IF lumclasa2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2593 | - IF lumclasa2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a2;8.8e3 | |
2594 | -; IF lumclasa2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2595 | -; IF lumclasa2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2596 | - ENDELSE | |
2597 | - IF countinda2_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda2_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2598 | - IF countinda2_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda2_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2599 | - ;K+=1 | |
2600 | - ENDFOR | |
2601 | - k+=nlma2 | |
2602 | - ENDIF | |
2603 | - | |
2604 | - | |
2605 | - | |
2606 | - IF countinda3 NE 0 THEN BEGIN | |
2607 | - FOR l=0L,nlma3-1 DO BEGIN | |
2608 | - comp_pop(k+i+l).popid = 'A3'+lumclassa3(l)+'_stellar_population' | |
2609 | - IF countinda3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda3_1[l]))(0)*rsun2cm ELSE BEGIN | |
2610 | -; IF lumclassa3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2611 | -; IF lumclassa3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2612 | -; IF lumclassa3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2613 | -; IF lumclassa3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2614 | -; IF lumclassa3(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2615 | -; IF lumclassa3(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2616 | -; IF lumclassa3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2617 | - IF lumclassa3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a3*rsun2cm;1.861*rsun2cm | |
2618 | -; IF lumclassa3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2619 | -; IF lumclassa3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2620 | - ENDELSE | |
2621 | - IF countinda3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda3_2[l]))(0) ELSE BEGIN | |
2622 | -; IF lumclasa3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2623 | -; IF lumclasa3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2624 | -; IF lumclasa3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2625 | -; IF lumclasa3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2626 | -; IF lumclasa3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2627 | -; IF lumclasa3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2628 | -; IF lumclasa3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2629 | - IF lumclasa3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a3;8.6e3 | |
2630 | -; IF lumclasa3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2631 | -; IF lumclasa3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2632 | - ENDELSE | |
2633 | - IF countinda3_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda3_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2634 | - IF countinda3_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda3_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2635 | - ;K+=1 | |
2636 | - ENDFOR | |
2637 | - k+=nlma3 | |
2638 | - ENDIF | |
2639 | - | |
2640 | - IF countinda4 NE 0 THEN BEGIN | |
2641 | - FOR l=0L,nlma4-1 DO BEGIN | |
2642 | - comp_pop(k+i+l).popid = 'A4'+lumclassa4(l)+'_stellar_population' | |
2643 | - IF countinda4_1 NE 0 THEN comp_pop(k+i+l).radius = (val(inda4_1))(0)*rsun2cm ELSE BEGIN | |
2644 | -; IF lumclassa4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2645 | -; IF lumclassa4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2646 | -; IF lumclassa4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2647 | -; IF lumclassa4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2648 | -; IF lumclassa4(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2649 | -; IF lumclassa4(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2650 | -; IF lumclassa4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2651 | - IF lumclassa4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a4*rsun2cm;1.794*rsun2cm | |
2652 | -; IF lumclassa4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2653 | -; IF lumclassa4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2654 | - ENDELSE | |
2655 | - IF countinda4_2 NE 0 THEN comp_pop(k+i+l).temperature = (val(inda4_2))(0) ELSE BEGIN | |
2656 | -; IF lumclasa4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2657 | -; IF lumclasa4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2658 | -; IF lumclasa4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2659 | -; IF lumclasa4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2660 | -; IF lumclasa4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2661 | -; IF lumclasa4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2662 | -; IF lumclasa4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2663 | - IF lumclasa4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a4;8.25e3 | |
2664 | -; IF lumclasa4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2665 | -; IF lumclasa4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2666 | - ENDELSE | |
2667 | - IF countinda4_3 NE 0 THEN comp_pop(k+i+l).distance = (val(inda4_3))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2668 | - IF countinda4_4 NE 0 THEN comp_pop(k+i+l).nstars = (val(inda4_4))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2669 | - ;K+=1 | |
2670 | - ENDFOR | |
2671 | - k+=nlma4 | |
2672 | - ENDIF | |
2673 | - | |
2674 | - | |
2675 | - IF countinda5 NE 0 THEN BEGIN | |
2676 | - FOR l=0L,nlma5-1 DO BEGIN | |
2677 | - comp_pop(k+i+l).popid = 'A5'+lumclassa5(l)+'_stellar_population' | |
2678 | - IF countinda5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda5_1[l]))(0)*rsun2cm ELSE BEGIN | |
2679 | -; IF lumclassa5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2680 | -; IF lumclassa5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2681 | -; IF lumclassa5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2682 | -; IF lumclassa5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2683 | -; IF lumclassa5(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2684 | -; IF lumclassa5(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2685 | -; IF lumclassa5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2686 | - IF lumclassa5(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_a5*rsun2cm;1.785*rsun2cm | |
2687 | -; IF lumclassa5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2688 | -; IF lumclassa5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2689 | - ENDELSE | |
2690 | - IF countinda5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda5_2[l]))(0) ELSE BEGIN | |
2691 | -; IF lumclasa5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2692 | -; IF lumclasa5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2693 | -; IF lumclasa5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2694 | -; IF lumclasa5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2695 | -; IF lumclasa5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2696 | -; IF lumclasa5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2697 | -; IF lumclasa5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2698 | - IF lumclasa5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a5;8.1e3 | |
2699 | -; IF lumclasa5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2700 | -; IF lumclasa5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2701 | - ENDELSE | |
2702 | - IF countinda5_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda5_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2703 | - IF countinda5_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda5_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2704 | - ;K+=1 | |
2705 | - ENDFOR | |
2706 | - k+=nlma5 | |
2707 | - ENDIF | |
2708 | - | |
2709 | - | |
2710 | - IF countinda6 NE 0 THEN BEGIN | |
2711 | - FOR l=0L,nlma6-1 DO BEGIN | |
2712 | - comp_pop(k+i+l).popid = 'A6'+lumclassa6(l)+'_stellar_population' | |
2713 | - IF countinda6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda6_1[l]))(0)*rsun2cm ELSE BEGIN | |
2714 | -; IF lumclassa6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2715 | -; IF lumclassa6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2716 | -; IF lumclassa6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2717 | -; IF lumclassa6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2718 | -; IF lumclassa6(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2719 | -; IF lumclassa6(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2720 | -; IF lumclassa6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2721 | - IF lumclassa6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a6*rsun2cm;1.775*rsun2cm | |
2722 | -; IF lumclassa6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2723 | -; IF lumclassa6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2724 | - ENDELSE | |
2725 | - IF countinda6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda6_2[l]))(0) ELSE BEGIN | |
2726 | -; IF lumclasa6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2727 | -; IF lumclasa6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2728 | -; IF lumclasa6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2729 | -; IF lumclasa6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2730 | -; IF lumclasa6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2731 | -; IF lumclasa6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2732 | -; IF lumclasa6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2733 | - IF lumclasa6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a6;7.91e3 | |
2734 | -; IF lumclasa6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2735 | -; IF lumclasa6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2736 | - ENDELSE | |
2737 | - IF countinda6_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda6_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2738 | - IF countinda6_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda6_5[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2739 | - ;K+=1 | |
2740 | - ENDFOR | |
2741 | - k+=nlma6 | |
2742 | - ENDIF | |
2743 | - | |
2744 | - | |
2745 | - IF countinda7 NE 0 THEN BEGIN | |
2746 | - FOR l=0L,nlma7-1 DO BEGIN | |
2747 | - comp_pop(k+i+l).popid = 'A7'+lumclassa7(l)+'_stellar_population' | |
2748 | - IF countinda7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda7_1[l]))(0)*rsun2cm ELSE BEGIN | |
2749 | -; IF lumclassa7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2750 | -; IF lumclassa7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2751 | -; IF lumclassa7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2752 | -; IF lumclassa7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2753 | -; IF lumclassa7(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2754 | -; IF lumclassa7(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2755 | -; IF lumclassa7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2756 | - IF lumclassa7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a7*rsun2cm;1.75*rsun2cm | |
2757 | -; IF lumclassa7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2758 | -; IF lumclassa7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2759 | - ENDELSE | |
2760 | - IF countinda7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda7_2[l]))(0) ELSE BEGIN | |
2761 | -; IF lumclasa7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2762 | -; IF lumclasa7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2763 | -; IF lumclasa7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2764 | -; IF lumclasa7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2765 | -; IF lumclasa7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2766 | -; IF lumclasa7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2767 | - IF lumclasa7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a7;7.76e3 | |
2768 | -; IF lumclasa7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2769 | -; IF lumclasa7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2770 | - ENDELSE | |
2771 | - IF countinda7_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda7_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2772 | - IF countinda7_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda7_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2773 | - ;K+=1 | |
2774 | - ENDFOR | |
2775 | - k+=nlma7 | |
2776 | - ENDIF | |
2777 | - | |
2778 | - | |
2779 | - IF countinda8 NE 0 THEN BEGIN | |
2780 | - FOR l=0L,nlma8-1 DO BEGIN | |
2781 | - comp_pop(k+i+l).popid = 'A8'+lumclassa8(l)+'_stellar_population' | |
2782 | - IF countinda8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda8_1[l]))(0)*rsun2cm ELSE BEGIN | |
2783 | -; IF lumclassa8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2784 | -; IF lumclassa8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2785 | -; IF lumclassa8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2786 | -; IF lumclassa8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2787 | -; IF lumclassa8(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2788 | -; IF lumclassa8(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2789 | -; IF lumclassa8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2790 | - IF lumclassa8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a8*rsun2cm;1.747*rsun2cm | |
2791 | -; IF lumclassa8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2792 | -; IF lumclassa8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2793 | - ENDELSE | |
2794 | - IF countinda8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda8_2[l]))(0) ELSE BEGIN | |
2795 | -; IF lumclasa8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2796 | -; IF lumclasa8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2797 | -; IF lumclasa8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2798 | -; IF lumclasa8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2799 | -; IF lumclasa8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2800 | -; IF lumclasa8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2801 | -; IF lumclasa8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2802 | - IF lumclasa8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a8;7.590e3 | |
2803 | -; IF lumclasa8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2804 | -; IF lumclasa8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2805 | - ENDELSE | |
2806 | - IF countinda8_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda8_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2807 | - IF countinda8_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda8_4[l]))(0) ELSE comp_pop(k+i+l).nstars =1; stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2808 | - ;K+=1 | |
2809 | - ENDFOR | |
2810 | - k+=nlma8 | |
2811 | - ENDIF | |
2812 | - | |
2813 | - | |
2814 | - IF countinda9 NE 0 THEN BEGIN | |
2815 | - FOR l=0L,nlma9-1 DO BEGIN | |
2816 | - comp_pop(k+i+l).popid = 'A9'+lumclassa9(l)+'_stellar_population' | |
2817 | - IF countinda9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda9_1[l]))(0)*rsun2cm ELSE BEGIN | |
2818 | -; IF lumclassa9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2819 | -; IF lumclassa9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2820 | -; IF lumclassa9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2821 | -; IF lumclassa9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2822 | -; IF lumclassa9(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2823 | -; IF lumclassa9(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2824 | -; IF lumclassa9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2825 | - IF lumclassa9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a9*rsun2cm;1.747*rsun2cm | |
2826 | -; IF lumclassa9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2827 | -; IF lumclassa9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2828 | - ENDELSE | |
2829 | - IF countinda9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda9_2[l]))(0) ELSE begin | |
2830 | -; IF lumclasa9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2831 | -; IF lumclasa9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2832 | -; IF lumclasa9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2833 | -; IF lumclasa9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2834 | -; IF lumclasa9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2835 | -; IF lumclasa9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2836 | -; IF lumclasa9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2837 | - IF lumclasa9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a9;7.4e3 | |
2838 | -; IF lumclasa9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2839 | -; IF lumclasa9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2840 | - ENDELSE | |
2841 | - IF countinda9_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(inda9_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2842 | - IF countinda9_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(inda9_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2843 | - ;K+=1 | |
2844 | - ENDFOR | |
2845 | - k+=nlma9 | |
2846 | - ENDIF | |
2847 | - | |
2848 | - | |
2849 | - ENDFOR | |
2850 | - | |
2851 | - counta=0. | |
2852 | - i+=k-1 | |
2853 | - ENDIF | |
2854 | - | |
2855 | - | |
2856 | - ;============================================================================================== | |
2857 | - | |
2858 | - | |
2859 | - IF countf NE 0 THEN BEGIN ; Filling the structure of the F STELLAR POPULATION(S) | |
2860 | - | |
2861 | - FOR k=0L+i,countf-1+i DO BEGIN | |
2862 | - | |
2863 | - IF countindf0 NE 0 THEN BEGIN | |
2864 | - FOR l=0L,nlmaf0-1 DO BEGIN | |
2865 | - comp_pop(k+i+l).popid = 'F0'+lumclassf0(l)+'_stellar_population' | |
2866 | - IF countindf0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf0_1[l]))(0)*rsun2cm ELSE BEGIN | |
2867 | -; IF lumclassf0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2868 | -; IF lumclassf0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2869 | -; IF lumclassf0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2870 | -; IF lumclassf0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2871 | -; IF lumclassf0(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2872 | -; IF lumclassf0(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2873 | -; IF lumclassf0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2874 | - IF lumclassf0(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_f0*rsun2cm;1.728*rsun2cm | |
2875 | -; IF lumclassf0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2876 | -; IF lumclassf0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2877 | - ENDELSE | |
2878 | - IF countindf0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf0_2[l]))(0) ELSE BEGIN | |
2879 | -; IF lumclassf0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2880 | -; IF lumclassf0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2881 | -; IF lumclassf0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2882 | -; IF lumclassf0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2883 | -; IF lumclassf0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2884 | -; IF lumclassf0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2885 | -; IF lumclassf0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2886 | - IF lumclassf0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f0;7.22e3 | |
2887 | -; IF lumclassf0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2888 | -; IF lumclassf0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2889 | - ENDELSE | |
2890 | - IF countindf0_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf0_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2891 | - IF countindf0_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf0_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2892 | - ;K+=1 | |
2893 | - ENDFOR | |
2894 | - k+=nlmf0 | |
2895 | - ENDIF | |
2896 | - | |
2897 | - | |
2898 | - | |
2899 | - IF countindf1 NE 0 THEN BEGIN | |
2900 | - FOR l=0L,nlmaf1-1 DO BEGIN | |
2901 | - comp_pop(k+i+l).popid = 'F1'+lumclassf1(l)+'_stellar_population' | |
2902 | - IF countindf1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf1_1[l]))(0)*rsun2cm ELSE BEGIN | |
2903 | -; IF lumclassf1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2904 | -; IF lumclassf1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2905 | -; IF lumclassf1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2906 | -; IF lumclassf1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2907 | -; IF lumclassf1(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2908 | -; IF lumclassf1(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2909 | -; IF lumclassf1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2910 | - IF lumclassf1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f1*rsun2cm;1.679*rsun2cm | |
2911 | -; IF lumclassf1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2912 | -; IF lumclassf1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2913 | - ENDELSE | |
2914 | - IF countindf1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf1_2[l]))(0) ELSE BEGIN | |
2915 | -; IF lumclassf1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2916 | -; IF lumclassf1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2917 | -; IF lumclassf1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2918 | -; IF lumclassf1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2919 | -; IF lumclassf1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2920 | -; IF lumclassf1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2921 | -; IF lumclassf1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2922 | - IF lumclassf1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f1;7.02e3 | |
2923 | -; IF lumclassf1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2924 | -; IF lumclassf1(l) EQ 'VIII' THEN comp_pop(k+i+l).temperature = | |
2925 | - ENDELSE | |
2926 | - IF countindf1_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf1_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2927 | - IF countindf1_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf1_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2928 | - ;K+=1 | |
2929 | - ENDFOR | |
2930 | - k+=nlmf1 | |
2931 | - ENDIF | |
2932 | - | |
2933 | - IF countindf2 NE 0 THEN BEGIN | |
2934 | - FOR l=0L,nlmaf2-1 DO BEGIN | |
2935 | - comp_pop(k+i+l).popid = 'F2'+lumclassf2(l)+'_stellar_population' | |
2936 | - IF countindf2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf2_1[l]))(0)*rsun2cm ELSE BEGIN | |
2937 | -; IF lumclassf2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2938 | -; IF lumclassf2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2939 | -; IF lumclassf2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2940 | -; IF lumclassf2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2941 | -; IF lumclassf2(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2942 | -; IF lumclassf2(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2943 | -; IF lumclassf2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2944 | - IF lumclassf2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f2*rsun2cm;1.622*rsun2cm | |
2945 | -; IF lumclassf2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2946 | -; IF lumclassf2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2947 | - ENDELSE | |
2948 | - IF countindf2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf2_2[l]))(0) ELSE BEGIN | |
2949 | -; IF lumclassf2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2950 | -; IF lumclassf2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2951 | -; IF lumclassf2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2952 | -; IF lumclassf2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2953 | -; IF lumclassf2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2954 | -; IF lumclassf2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2955 | -; IF lumclassf2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2956 | - IF lumclassf2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f2;6.820e3 | |
2957 | -; IF lumclassf2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2958 | -; IF lumclassf2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2959 | - ENDELSE | |
2960 | - IF countindf2_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf2_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2961 | - IF countindf2_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf2_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2962 | - ;K+=1 | |
2963 | - ENDFOR | |
2964 | - k+=nlmf2 | |
2965 | - ENDIF | |
2966 | - | |
2967 | - | |
2968 | - | |
2969 | - IF countindf3 NE 0 THEN BEGIN | |
2970 | - FOR l=0L,nlmaf3-1 DO BEGIN | |
2971 | - comp_pop(k+i+l).popid = 'F3'+lumclassf3(l)+'_stellar_population' | |
2972 | - IF countindf3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf3_1[l]))(0)*rsun2cm ELSE BEGIN | |
2973 | -; IF lumclassf3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
2974 | -; IF lumclassf3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
2975 | -; IF lumclassf3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
2976 | -; IF lumclassf3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
2977 | -; IF lumclassf3(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
2978 | -; IF lumclassf3(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
2979 | -; IF lumclassf3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
2980 | - IF lumclassf3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f3*rsun2cm;1.578*rsun2cm | |
2981 | -; IF lumclassf3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
2982 | -; IF lumclassf3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
2983 | - ENDELSE | |
2984 | - IF countindf3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf3_2[l]))(0) ELSE BEGIN | |
2985 | -; IF lumclassf3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
2986 | -; IF lumclassf3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
2987 | -; IF lumclassf3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
2988 | -; IF lumclassf3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
2989 | -; IF lumclassf3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
2990 | -; IF lumclassf3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
2991 | -; IF lumclassf3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
2992 | - IF lumclassf3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f3;6.75e3 | |
2993 | -; IF lumclassf3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
2994 | -; IF lumclassf3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
2995 | - ENDELSE | |
2996 | - IF countindf3_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf3_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
2997 | - IF countindf3_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf3_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
2998 | - ;K+=1 | |
2999 | - ENDFOR | |
3000 | - k+=nlmf3 | |
3001 | - ENDIF | |
3002 | - | |
3003 | - IF countindf4 NE 0 THEN BEGIN | |
3004 | - FOR l=0L,nlmaf4-1 DO BEGIN | |
3005 | - comp_pop(k+i+l).popid = 'F4'+lumclassf4(l)+'_stellar_population' | |
3006 | - IF countindf4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf4_1[l]))(0)*rsun2cm ELSE BEGIN | |
3007 | -; IF lumclassf4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3008 | -; IF lumclassf4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3009 | -; IF lumclassf4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3010 | -; IF lumclassf4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3011 | -; IF lumclassf4(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3012 | -; IF lumclassf4(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3013 | -; IF lumclassf4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3014 | - IF lumclassf4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f4*rsun2cm;1.533*rsun2cm | |
3015 | -; IF lumclassf4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3016 | -; IF lumclassf4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3017 | - ENDELSE | |
3018 | - IF countindf4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf4_2[l]))(0) ELSE BEGIN | |
3019 | -; IF lumclassf4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3020 | -; IF lumclassf4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3021 | -; IF lumclassf4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3022 | -; IF lumclassf4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3023 | -; IF lumclassf4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3024 | -; IF lumclassf4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3025 | -; IF lumclassf4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3026 | - IF lumclassf4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f4;6.67e3 | |
3027 | -; IF lumclassf4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3028 | -; IF lumclassf4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3029 | - ENDELSE | |
3030 | - IF countindf4_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf4_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3031 | - IF countindf4_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf4_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3032 | - ;K+=1 | |
3033 | - ENDFOR | |
3034 | - k+=nlmf4 | |
3035 | - ENDIF | |
3036 | - | |
3037 | - | |
3038 | - IF countindf5 NE 0 THEN BEGIN | |
3039 | - FOR l=0L,nlmaf5-1 DO BEGIN | |
3040 | - comp_pop(k+i+l).popid = 'F5'+lumclassf5(l)+'_stellar_population' | |
3041 | - IF countindf5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf5_1[l]))(0)*rsun2cm ELSE BEGIN | |
3042 | -; IF lumclassf5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3043 | -; IF lumclassf5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3044 | -; IF lumclassf5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3045 | -; IF lumclassf5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3046 | -; IF lumclassf5(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3047 | -; IF lumclassf5(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3048 | -; IF lumclassf5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3049 | - IF lumclassf5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f5*rsun2cm;1.473*rsun2cm | |
3050 | -; IF lumclassf5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3051 | -; IF lumclassf5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3052 | - ENDELSE | |
3053 | - IF countindf5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf5_2[l]))(0) ELSE BEGIN | |
3054 | -; IF lumclassf5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3055 | -; IF lumclassf5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3056 | -; IF lumclassf5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3057 | -; IF lumclassf5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3058 | -; IF lumclassf5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3059 | -; IF lumclassf5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3060 | -; IF lumclassf5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3061 | - IF lumclassf5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f5;6.55e3 | |
3062 | -; IF lumclassf5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3063 | -; IF lumclassf5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3064 | - ENDELSE | |
3065 | - IF countindf5_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf5_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3066 | - IF countindf5_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf5_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3067 | - ;K+=1 | |
3068 | - ENDFOR | |
3069 | - k+=nlmf5 | |
3070 | - ENDIF | |
3071 | - | |
3072 | - | |
3073 | - IF countindf6 NE 0 THEN BEGIN | |
3074 | - FOR l=0L,nlmaf6-1 DO BEGIN | |
3075 | - comp_pop(k+i+l).popid = 'F6'+lumclassf6(l)+'_stellar_population' | |
3076 | - IF countindf6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf6_1[l]))(0)*rsun2cm ELSE BEGIN | |
3077 | -; IF lumclassf6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3078 | -; IF lumclassf6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3079 | -; IF lumclassf6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3080 | -; IF lumclassf6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3081 | -; IF lumclassf6(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3082 | -; IF lumclassf6(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3083 | -; IF lumclassf6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3084 | - IF lumclassf6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f6*rsun2cm;1.359*rsun2cm | |
3085 | -; IF lumclassf6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3086 | -; IF lumclassf6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3087 | - ENDELSE | |
3088 | - IF countindf6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf6_2[l]))(0) ELSE BEGIN | |
3089 | -; IF lumclassf6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3090 | -; IF lumclassf6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3091 | -; IF lumclassf6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3092 | -; IF lumclassf6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3093 | -; IF lumclassf6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3094 | -; IF lumclassf6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3095 | -; IF lumclassf6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3096 | - IF lumclassf6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f6;6.35e3 | |
3097 | -; IF lumclassf6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3098 | -; IF lumclassf6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3099 | - ENDELSE | |
3100 | - IF countindf6_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf6_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3101 | - IF countindf6_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf6_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3102 | - ;K+=1 | |
3103 | - ENDFOR | |
3104 | - k+=nlmf6 | |
3105 | - ENDIF | |
3106 | - | |
3107 | - | |
3108 | - IF countindf7 NE 0 THEN BEGIN | |
3109 | - FOR l=0L,nlmaf7-1 DO BEGIN | |
3110 | - comp_pop(k+i+l).popid = 'F7'+lumclassf7(l)+'_stellar_population' | |
3111 | - IF countindf7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf7_1[l]))(0)*rsun2cm ELSE BEGIN | |
3112 | -; IF lumclassf7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3113 | -; IF lumclassf7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3114 | -; IF lumclassf7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3115 | -; IF lumclassf7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3116 | -; IF lumclassf7(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3117 | -; IF lumclassf7(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3118 | -; IF lumclassf7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3119 | - IF lumclassf7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f7*rsun2cm;1.324*rsun2cm | |
3120 | -; IF lumclassf7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3121 | -; IF lumclassf7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3122 | - ENDELSE | |
3123 | - IF countindf7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf7_2[l]))(0) ELSE BEGIN | |
3124 | -; IF lumclassf7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3125 | -; IF lumclassf7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3126 | -; IF lumclassf7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3127 | -; IF lumclassf7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3128 | -; IF lumclassf7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3129 | -; IF lumclassf7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3130 | -; IF lumclassf7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3131 | - IF lumclassf7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f7;6.28e3 | |
3132 | -; IF lumclassf7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3133 | -; IF lumclassf7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3134 | - ENDELSE | |
3135 | - IF countindf7_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf7_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3136 | - IF countindf7_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf7_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3137 | - ;K+=1 | |
3138 | - ENDFOR | |
3139 | - k+=nlmf7 | |
3140 | - ENDIF | |
3141 | - | |
3142 | - | |
3143 | - IF countindf8 NE 0 THEN BEGIN | |
3144 | - FOR l=0L,nlmaf8-1 DO BEGIN | |
3145 | - comp_pop(k+i+l).popid = 'F8'+lumclassf8(l)+'_stellar_population' | |
3146 | - IF countindf8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf8_1[l]))(0)*rsun2cm ELSE BEGIN | |
3147 | -; IF lumclassf8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3148 | -; IF lumclassf8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3149 | -; IF lumclassf8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3150 | -; IF lumclassf8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3151 | -; IF lumclassf8(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3152 | -; IF lumclassf8(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3153 | -; IF lumclassf8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3154 | - IF lumclassf8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f8*rsun2cm;1.221*rsun2cm | |
3155 | -; IF lumclassf8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3156 | -; IF lumclassf8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3157 | - ENDELSE | |
3158 | - IF countindf8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf8_2[l]))(0) ELSE BEGIN | |
3159 | -; IF lumclassf8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3160 | -; IF lumclassf8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3161 | -; IF lumclassf8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3162 | -; IF lumclassf8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3163 | -; IF lumclassf8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3164 | -; IF lumclassf8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3165 | -; IF lumclassf8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3166 | - IF lumclassf8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f8;6.18e3 | |
3167 | -; IF lumclassf8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3168 | -; IF lumclassf8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3169 | - ENDELSE | |
3170 | - IF countindf8_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf8_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3171 | - IF countindf8_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf8_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3172 | - ;K+=1 | |
3173 | - ENDFOR | |
3174 | - k+=nlmf8 | |
3175 | - ENDIF | |
3176 | - | |
3177 | - | |
3178 | - IF countindf9 NE 0 THEN BEGIN | |
3179 | - FOR l=0L,nlmaf9-1 DO BEGIN | |
3180 | - comp_pop(k+i+l).popid = 'F9'+lumclassf9(l)+'_stellar_population' | |
3181 | - IF countindf9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf9_1[l]))(0)*rsun2cm ELSE BEGIN | |
3182 | -; IF lumclassf9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3183 | -; IF lumclassf9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3184 | -; IF lumclassf9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3185 | -; IF lumclassf9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3186 | -; IF lumclassf9(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3187 | -; IF lumclassf9(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3188 | -; IF lumclassf9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3189 | - IF lumclassf9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f9*rsun2cm;1.167*rsun2cm | |
3190 | -; IF lumclassf9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3191 | -; IF lumclassf9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3192 | - ENDELSE | |
3193 | - IF countindf9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf9_2[l]))(0) ELSE BEGIN | |
3194 | -; IF lumclassf9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3195 | -; IF lumclassf9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3196 | -; IF lumclassf9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3197 | -; IF lumclassf9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3198 | -; IF lumclassf9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3199 | -; IF lumclassf9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3200 | -; IF lumclassf9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3201 | - IF lumclassf9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f9;6.05e3 | |
3202 | -; IF lumclassf9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3203 | -; IF lumclassf9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3204 | - ENDELSE | |
3205 | - IF countindf9_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indf9_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3206 | - IF countindf9_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indf9_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3207 | - ;K+=1 | |
3208 | - ENDFOR | |
3209 | - k+=nlmf9 | |
3210 | - ENDIF | |
3211 | - | |
3212 | - | |
3213 | - ENDFOR | |
3214 | - | |
3215 | - countf=0. | |
3216 | - i+=k-1 | |
110 | + ;=== compute ISRF | |
111 | + isrf_st=((*!dustem_params).isrf) | |
112 | + stellar_isrf=dblarr(n_elements(isrf_st)) ; array of zeros to contain the new ISRF values. | |
113 | + FOR i=0L,Nstars-1 DO BEGIN | |
114 | + IF paramvalues[i,0] NE 0. THEN BEGIN | |
115 | + TEFF=!dustem_plugin_stellar_population[i].TEFF ;in K | |
116 | + Rstar=!dustem_plugin_stellar_population[i].R_Rsun ;in solar radius | |
117 | + Lstar=!dustem_plugin_stellar_population[i].logL | |
118 | + dist=paramvalues[i,0]*pc2cm ; in cm | |
119 | + number_of_stars=paramvalues[i,1] | |
120 | + omega=(Rstar*rsun2cm/dist)^2 | |
121 | + print,number_of_stars,dist,Teff,omega | |
122 | + this_component=number_of_stars*omega*dustem_planck_function(Teff,isrf_st.lambisrf) ;MJy | |
123 | + stellar_isrf=stellar_isrf+this_component | |
3217 | 124 | ENDIF |
3218 | - | |
3219 | - | |
3220 | - ;============================================================================================== | |
3221 | - | |
3222 | - IF countg NE 0 THEN BEGIN ; Filling the structure of the G STELLAR POPULATION(S) | |
3223 | - | |
3224 | - FOR k=0L+i,countg-1+i DO BEGIN | |
3225 | - | |
3226 | - IF countindg0 NE 0 THEN BEGIN | |
3227 | - FOR l=0L,nlmg0-1 DO BEGIN | |
3228 | - comp_pop(k+i+l).popid = 'G0'+lumclassg0(l)+'_stellar_population' | |
3229 | - IF countindg0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg0_1[l]))(0)*rsun2cm ELSE BEGIN | |
3230 | -; IF lumclassg0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3231 | -; IF lumclassg0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3232 | -; IF lumclassg0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3233 | -; IF lumclassg0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3234 | -; IF lumclassg0(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3235 | -; IF lumclassg0(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3236 | -; IF lumclassg0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3237 | - IF lumclassg0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g0*rsun2cm;1.1*rsun2cm | |
3238 | -; IF lumclassg0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3239 | -; IF lumclassg0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3240 | - | |
3241 | - ENDELSE | |
3242 | - IF countindg0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg0_2[l]))(0) ELSE BEGIN | |
3243 | -; IF lumclassfg0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3244 | -; IF lumclassfg0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3245 | -; IF lumclassfg0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3246 | -; IF lumclassfg0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3247 | -; IF lumclassfg0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3248 | -; IF lumclassfg0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3249 | -; IF lumclassfg0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3250 | - IF lumclassfg0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g0;5.93e3 | |
3251 | -; IF lumclassfg0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3252 | -; IF lumclassfg0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3253 | - ENDELSE | |
3254 | - IF countindg0_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg0_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3255 | - IF countindg0_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg0_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3256 | - ;K+=1 | |
3257 | - ENDFOR | |
3258 | - k+=nlmg0 | |
3259 | - ENDIF | |
3260 | - | |
3261 | - | |
3262 | - | |
3263 | - IF countindg1 NE 0 THEN BEGIN | |
3264 | - FOR l=0L,nlmg1-1 DO BEGIN | |
3265 | - comp_pop(k+i+l).popid = 'G1'+lumclassg1(l)+'_stellar_population' | |
3266 | - IF countindg1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg1_1[l]))(0)*rsun2cm ELSE BEGIN | |
3267 | -; IF lumclassg1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3268 | -; IF lumclassg1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3269 | -; IF lumclassg1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3270 | -; IF lumclassg1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3271 | -; IF lumclassg1(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3272 | -; IF lumclassg1(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3273 | -; IF lumclassg1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3274 | - IF lumclassg1(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_g1*rsun2cm;1.06*rsun2cm | |
3275 | -; IF lumclassg1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3276 | -; IF lumclassg1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3277 | - ENDELSE | |
3278 | - IF countindg1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg1_2[l]))(0) ELSE begin | |
3279 | -; IF lumclassfg1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3280 | -; IF lumclassfg1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3281 | -; IF lumclassfg1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3282 | -; IF lumclassfg1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3283 | -; IF lumclassfg1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3284 | -; IF lumclassfg1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3285 | -; IF lumclassfg1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3286 | - IF lumclassfg1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g1;5.86e3 | |
3287 | -; IF lumclassfg1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3288 | -; IF lumclassfg1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3289 | - ENDELSE | |
3290 | - IF countindg1_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg1_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3291 | - IF countindg1_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg1_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3292 | - ;K+=1 | |
3293 | - ENDFOR | |
3294 | - k+=nlmg1 | |
3295 | - ENDIF | |
3296 | - | |
3297 | - | |
3298 | - | |
3299 | - IF countindg2 NE 0 THEN BEGIN | |
3300 | - FOR l=0L,nlmg2-1 DO BEGIN | |
3301 | - comp_pop(k+i+l).popid = 'G2'+lumclassg2(l)+'_stellar_population' | |
3302 | - IF countindg2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg2_1[l]))(0)*rsun2cm ELSE BEGIN | |
3303 | -; IF lumclassg2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3304 | -; IF lumclassg2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3305 | -; IF lumclassg2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3306 | -; IF lumclassg2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3307 | -; IF lumclassg2(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3308 | -; IF lumclassg2(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3309 | -; IF lumclassg2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3310 | - IF lumclassg2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g2*rsun2cm;1.012*rsun2cm | |
3311 | -; IF lumclassg2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3312 | -; IF lumclassg2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3313 | - ENDELSE | |
3314 | - IF countindg2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg2_2[l]))(0) ELSE BEGIN | |
3315 | -; IF lumclassfg2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3316 | -; IF lumclassfg2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3317 | -; IF lumclassfg2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3318 | -; IF lumclassfg2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3319 | -; IF lumclassfg2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3320 | -; IF lumclassfg2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3321 | -; IF lumclassfg2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3322 | - IF lumclassfg2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g2;5.77e3 | |
3323 | -; IF lumclassfg2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3324 | -; IF lumclassfg2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3325 | - ENDELSE | |
3326 | - IF countindg2_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg2_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3327 | - IF countindg2_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg2_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3328 | - ;K+=1 | |
3329 | - ENDFOR | |
3330 | - k+=nlmg2 | |
3331 | - ENDIF | |
3332 | - | |
3333 | - | |
3334 | - | |
3335 | - IF countindg3 NE 0 THEN BEGIN | |
3336 | - FOR l=0L,nlmg3-1 DO BEGIN | |
3337 | - comp_pop(k+i+l).popid = 'G3'+lumclassg3(l)+'_stellar_population' | |
3338 | - IF countindg3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg3_1[l]))(0)*rsun2cm ELSE BEGIN | |
3339 | -; IF lumclassg3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3340 | -; IF lumclassg3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3341 | -; IF lumclassg3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3342 | -; IF lumclassg3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3343 | -; IF lumclassg3(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3344 | -; IF lumclassg3(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3345 | -; IF lumclassg3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3346 | - IF lumclassg3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g3*rsun2cm;1.002*rsun2cm | |
3347 | -; IF lumclassg3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3348 | -; IF lumclassg3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3349 | - ENDELSE | |
3350 | - IF countindg3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg3_2[l]))(0) ELSE BEGIN | |
3351 | -; IF lumclassfg3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3352 | -; IF lumclassfg3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3353 | -; IF lumclassfg3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3354 | -; IF lumclassfg3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3355 | -; IF lumclassfg3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3356 | -; IF lumclassfg3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3357 | -; IF lumclassfg3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3358 | - IF lumclassfg3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g3;5.72e3 | |
3359 | -; IF lumclassfg3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3360 | -; IF lumclassfg3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature | |
3361 | - ENDELSE | |
3362 | - IF countindg3_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg3_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3363 | - IF countindg3_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg3_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3364 | - ;K+=1 | |
3365 | - ENDFOR | |
3366 | - k+=nlmg3 | |
3367 | - ENDIF | |
3368 | - | |
3369 | - IF countindg4 NE 0 THEN BEGIN | |
3370 | - FOR l=0L,nlmg4-1 DO BEGIN | |
3371 | - comp_pop(k+i+l).popid = 'G4'+lumclassg4(l)+'_stellar_population' | |
3372 | - IF countindg4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg4_1[l]))(0)*rsun2cm ELSE BEGIN | |
3373 | -; IF lumclassg4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3374 | -; IF lumclassg4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3375 | -; IF lumclassg4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3376 | -; IF lumclassg4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3377 | -; IF lumclassg4(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3378 | -; IF lumclassg4(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3379 | -; IF lumclassg4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3380 | - IF lumclassg4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g4*rsun2cm;0.991*rsun2cm | |
3381 | -; IF lumclassg4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3382 | -; IF lumclassg4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3383 | - ENDELSE | |
3384 | - IF countindg4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg4_2[l]))(0) ELSE BEGIN | |
3385 | -; IF lumclassfg4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3386 | -; IF lumclassfg4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3387 | -; IF lumclassfg4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3388 | -; IF lumclassfg4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3389 | -; IF lumclassfg4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3390 | -; IF lumclassfg4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3391 | -; IF lumclassfg4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3392 | - IF lumclassfg4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g4;5.68e3 | |
3393 | -; IF lumclassfg4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3394 | -; IF lumclassfg4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3395 | - ENDELSE | |
3396 | - IF countindg4_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg4_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3397 | - IF countindg4_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg4_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3398 | - ;K+=1 | |
3399 | - ENDFOR | |
3400 | - k+=nlmg4 | |
3401 | - ENDIF | |
3402 | - | |
3403 | - | |
3404 | - IF countindg5 NE 0 THEN BEGIN | |
3405 | - FOR l=0L,nlmg5-1 DO BEGIN | |
3406 | - comp_pop(k+i+l).popid = 'G5'+lumclassg5(l)+'_stellar_population' | |
3407 | - IF countindg5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg5_1[l]))(0)*rsun2cm ELSE BEGIN | |
3408 | -; IF lumclassg5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3409 | -; IF lumclassg5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3410 | -; IF lumclassg5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3411 | -; IF lumclassg5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3412 | -; IF lumclassg5(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3413 | -; IF lumclassg5(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3414 | -; IF lumclassg5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3415 | - IF lumclassg5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g5*rsun2cm;0.977*rsun2cm | |
3416 | -; IF lumclassg5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3417 | -; IF lumclassg5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3418 | - ENDELSE | |
3419 | - IF countindg5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg5_2[l]))(0) ELSE BEGIn | |
3420 | -; IF lumclassfg5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3421 | -; IF lumclassfg5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3422 | -; IF lumclassfg5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3423 | -; IF lumclassfg5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3424 | -; IF lumclassfg5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3425 | -; IF lumclassfg5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3426 | -; IF lumclassfg5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3427 | - IF lumclassfg5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g5;5.66e3 | |
3428 | -; IF lumclassfg5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3429 | -; IF lumclassfg5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3430 | - ENDELSE | |
3431 | - IF countindg5_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg5_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3432 | - IF countindg5_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg5_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3433 | - ;K+=1 | |
3434 | - ENDFOR | |
3435 | - k+=nlmg5 | |
3436 | - ENDIF | |
3437 | - | |
3438 | - | |
3439 | - IF countindg6 NE 0 THEN BEGIN | |
3440 | - FOR l=0L,nlmg6-1 DO BEGIN | |
3441 | - comp_pop(k+i+l).popid = 'G6'+lumclassg6(l)+'_stellar_population' | |
3442 | - IF countindg6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg6_1[l]))(0)*rsun2cm ELSE BEGIN | |
3443 | -; IF lumclassg6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3444 | -; IF lumclassg6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3445 | -; IF lumclassg6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3446 | -; IF lumclassg6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3447 | -; IF lumclassg6(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3448 | -; IF lumclassg6(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3449 | -; IF lumclassg6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3450 | - IF lumclassg6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g6*rsun2cm;0.949*rsun2cm | |
3451 | -; IF lumclassg6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3452 | -; IF lumclassg6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3453 | - ENDELSE | |
3454 | - IF countindg6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg6_2[l]))(0) ELSE BEGIN | |
3455 | -; IF lumclassfg6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3456 | -; IF lumclassfg6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3457 | -; IF lumclassfg6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3458 | -; IF lumclassfg6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3459 | -; IF lumclassfg6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3460 | -; IF lumclassfg6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3461 | -; IF lumclassfg6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3462 | - IF lumclassfg6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g6;5.6e3 | |
3463 | -; IF lumclassfg6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3464 | -; IF lumclassfg6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3465 | - ENDELSE | |
3466 | - IF countindg6_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg6_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3467 | - IF countindg6_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg6_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3468 | - ;K+=1 | |
3469 | - ENDFOR | |
3470 | - k+=nlmg6 | |
3471 | - ENDIF | |
3472 | - | |
3473 | - | |
3474 | - IF countindg7 NE 0 THEN BEGIN | |
3475 | - FOR l=0L,nlmg7-1 DO BEGIN | |
3476 | - comp_pop(k+i+l).popid = 'G7'+lumclassg7(l)+'_stellar_population' | |
3477 | - IF countindg7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg7_1[l]))(0)*rsun2cm ELSE BEGIN | |
3478 | -; IF lumclassg7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3479 | -; IF lumclassg7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3480 | -; IF lumclassg7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3481 | -; IF lumclassg7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3482 | -; IF lumclassg7(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3483 | -; IF lumclassg7(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3484 | -; IF lumclassg7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3485 | - IF lumclassg7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g7*rsun2cm;0.927*rsun2cm | |
3486 | -; IF lumclassg7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3487 | -; IF lumclassg7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3488 | - ENDELSE | |
3489 | - IF countindg7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg7_2[l]))(0) ELSE BEGIN | |
3490 | -; IF lumclassfg7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3491 | -; IF lumclassfg7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3492 | -; IF lumclassfg7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3493 | -; IF lumclassfg7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3494 | -; IF lumclassfg7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3495 | -; IF lumclassfg7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3496 | -; IF lumclassfg7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3497 | - IF lumclassfg7(l) EQ 'V' THEN ccomp_pop(k+i+l).temperature = T_eff_MS_g7;5.55e3 | |
3498 | -; IF lumclassfg7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3499 | -; IF lumclassfg7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3500 | - ENDELSE | |
3501 | - IF countindg7_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg7_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3502 | - IF countindg7_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg7_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3503 | - ;K+=1 | |
3504 | - ENDFOR | |
3505 | - k+=nlmg7 | |
3506 | - ENDIF | |
3507 | - | |
3508 | - | |
3509 | - IF countindg8 NE 0 THEN BEGIN | |
3510 | - FOR l=0L,nlmg8-1 DO BEGIN | |
3511 | - comp_pop(k+i+l).popid = 'G8'+lumclassg8(l)+'_stellar_population' | |
3512 | - IF countindg8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg8_1[l]))(0)*rsun2cm ELSE BEGIN | |
3513 | -; IF lumclassg8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3514 | -; IF lumclassg8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3515 | -; IF lumclassg8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3516 | -; IF lumclassg8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3517 | -; IF lumclassg8(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3518 | -; IF lumclassg8(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3519 | -; IF lumclassg8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3520 | - IF lumclassg8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g8*rsun2cm;0.914*rsun2cm | |
3521 | -; IF lumclassg8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3522 | -; IF lumclassg8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3523 | - ENDELSE | |
3524 | - IF countindg8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg8_2[l]))(0) ELSE BEGIN | |
3525 | -; IF lumclassfg8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3526 | -; IF lumclassfg8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3527 | -; IF lumclassfg8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3528 | -; IF lumclassfg8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3529 | -; IF lumclassfg8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3530 | -; IF lumclassfg8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3531 | -; IF lumclassfg8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3532 | - IF lumclassfg8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g8;5.48e3 | |
3533 | -; IF lumclassfg8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3534 | -; IF lumclassfg8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3535 | - ENDELSE | |
3536 | - IF countindg8_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg8_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3537 | - IF countindg8_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg8_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3538 | - ;K+=1 | |
3539 | - ENDFOR | |
3540 | - k+=nlmg8 | |
3541 | - ENDIF | |
3542 | - | |
3543 | - | |
3544 | - IF countindg9 NE 0 THEN BEGIN | |
3545 | - FOR l=0L,nlmg9-1 DO BEGIN | |
3546 | - comp_pop(k+i+l).popid = 'G9'+lumclassg9(l)+'_stellar_population' | |
3547 | - IF countindg9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg9_1[l]))(0)*rsun2cm ELSE BEGIN | |
3548 | -; IF lumclassg9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = | |
3549 | -; IF lumclassg9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = | |
3550 | -; IF lumclassg9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = | |
3551 | -; IF lumclassg9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = | |
3552 | -; IF lumclassg9(l) EQ 'II' THEN comp_pop(k+i+l).radius = | |
3553 | -; IF lumclassg9(l) EQ 'III' THEN comp_pop(k+i+l).radius = | |
3554 | -; IF lumclassg9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = | |
3555 | - IF lumclassg9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g9*rsun2cm;0.853*rsun2cm | |
3556 | -; IF lumclassg9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = | |
3557 | -; IF lumclassg9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = | |
3558 | - ENDELSE | |
3559 | - IF countindg9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg9_2[l]))(0) ELSE BEGIN | |
3560 | -; IF lumclassfg9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = | |
3561 | -; IF lumclassfg9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = | |
3562 | -; IF lumclassfg9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = | |
3563 | -; IF lumclassfg9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = | |
3564 | -; IF lumclassfg9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = | |
3565 | -; IF lumclassfg9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = | |
3566 | -; IF lumclassfg9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = | |
3567 | - IF lumclassfg9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g9;5.38e3 | |
3568 | -; IF lumclassfg9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = | |
3569 | -; IF lumclassfg9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = | |
3570 | - ENDELSE | |
3571 | - IF countindg9_3[l] NE 0 THEN comp_pop(k+i+l).distance = (val(indg9_3[l]))(0) ELSE comp_pop(k+i+l).distance = 10.0 | |
3572 | - IF countindg9_4[l] NE 0 THEN comp_pop(k+i+l).nstars = (val(indg9_4[l]))(0) ELSE comp_pop(k+i+l).nstars = 1;stellar_density*(4.*!pi/3)*comp_pop(k+i+l).distance | |
3573 | - ;K+=1 | |
3574 | - ENDFOR | |
3575 | - k+=nlmg9 | |
3576 | - ENDIF | |
3577 | - | |
3578 | - ENDFOR | |
3579 | - | |
3580 | - countg=0. | |
3581 | - i+=k-1 | |
3582 | - ENDIF | |
3583 | - | |
3584 | - | |
3585 | - ;============================================================================================== | |
3586 | - | |
3587 | 125 | ENDFOR |
3588 | - | |
3589 | -st=((*!dustem_params).isrf) | |
3590 | - | |
3591 | -c2a = 3e18 ;speed of light in ansgtroms/s (because of the Astron's PLANCK function) | |
3592 | -pc2cm = 3.086e18 ;cm (cgs) | |
3593 | - | |
3594 | -wave_angstrom = st.lambisrf*1.e4 ;mic to Angstrom (Astron Planck's function uses wavelengths in Angstroms) | |
3595 | - | |
3596 | -stellar_component=fltarr(n_elements(st)) ; array of zeros to contain the new ISRF values. | |
3597 | - | |
3598 | -FOR i=0L,n_elements(comp_pop.popid)-1 DO BEGIN ; Looping over all the stellar populations | |
3599 | - | |
3600 | - omega = ((comp_pop.radius)[i]/((comp_pop.distance)[i]*pc2cm))^2 ; Dilution factor of a stellar population | |
3601 | - | |
3602 | - Inu = planck(wave_angstrom,(comp_pop.temperature)[i])*(wave_angstrom)^2/c2a ; ergs/cm2/s/Hz/sr | |
3603 | - | |
3604 | -; ;THIS PART IS ONLY FOR ORION. | |
3605 | -; ;IT SHOULD NOT BE PROVIDED IN THE RELEASE | |
3606 | -; if isa(!dustem_current) then begin | |
3607 | -; | |
3608 | -; idff = where(tag_names(*!dustem_plugin) EQ 'FREEFREE',ct_ff) | |
3609 | -; | |
3610 | -; if ct_ff ne 0 then begin | |
3611 | -; | |
3612 | -; ;look for freefree temperature in the pd vector (sysvar) | |
3613 | -; ;we need an index | |
3614 | -; | |
3615 | -; id_fftmp = where(strupcase(strmid((*(*!dustem_fit).param_descs),14)) EQ 'FREEFREE_1',ct_fftmp) | |
3616 | -; if ct_fftmp ne 0 then Te = ((*(*!dustem_fit).current_param_values)[id_fftmp])[0]*(((*(*!dustem_fit).param_init_values))[id_fftmp])[0] | |
3617 | -; ; test if Te is correct | |
3618 | -; | |
3619 | -; Beta2 = 2.e-10*(Te)^(-3/4) ;cm^3/s-1 | |
3620 | -; Rs_p3 = 1.1355d+57 ;Rs^3 for orion nebula | |
3621 | -; nH_stromgren = sqrt(Rs_p3*4*!pi*Beta2/(3*(!const.sigma)*1.0d-04*((comp_pop.temperature)[i])^4*!pi)) | |
3622 | -; | |
3623 | -; | |
3624 | -; Inu *= exp(((*!dustem_current).ext.ext_tot)*(-nh_stromgren)*4/3*Rs_p3^(1/3)/1.0d21) | |
3625 | -; | |
3626 | -; | |
3627 | -; endif | |
3628 | -; | |
3629 | -; ENDIF | |
3630 | - | |
3631 | - | |
3632 | - If !dustem_dim and isa(!dustem_current) then Inu *= exp(((*!dustem_current).ext.ext_tot)*(-(*!dustem_HCD))/1.0d21) | |
3633 | - | |
3634 | - | |
3635 | - stellar_component=stellar_component+(comp_pop.nstars)[i]*omega*Inu | |
3636 | - | |
3637 | - | |
3638 | -ENDFOR | |
3639 | -out = stellar_component | |
3640 | -;============This block creates a composite (9V) stellar population structure for when the function isn't used as a plugin=================== | |
3641 | -ENDIF ELSE BEGIN | |
3642 | - | |
3643 | - popnumber = 5. | |
3644 | - comp_pop = replicate(one_pop,popnumber) | |
3645 | - stellar_density = 0.14 ;stars/pc^3 | |
3646 | - | |
3647 | - ;###BY DEFAULT ALL STELLAR POPULATIONS ARE ON THE MS### | |
3648 | - ;BECAUSE LESS MASSIVE (COLDER) STARS ARE MORE ABUNDANT, THEY WILL BE CHOSEN TO BUILD THE COMPOSITE STELLAR STRUCTURE | |
3649 | - ;THIS MEANS THAT THE CHOSEN SPECTRAL TYPE IS 9V (MAIN SEQUENCE) | |
3650 | - | |
3651 | - ;CHOSEN STELLAR POPULATIONS | |
3652 | - ;O9V | |
3653 | - ;B9V | |
3654 | - ;A9V | |
3655 | - ;F9V | |
3656 | - ;G9V | |
3657 | - | |
3658 | - comp_pop(0).popid = 'O9V_stellar_population' | |
3659 | - comp_pop(0).radius = 7.51*rsun2cm | |
3660 | - comp_pop(0).temperature = 33.3e3 | |
3661 | - comp_pop(0).distance = 10.0 | |
3662 | - comp_pop(0).nstars = stellar_density*(4.*!pi/3)*comp_pop(0).distance | |
3663 | - | |
3664 | - comp_pop(1).popid = 'B9V_stellar_population' | |
3665 | - comp_pop(1).radius = 2.49*rsun2cm | |
3666 | - comp_pop(1).temperature = 10.7e3 | |
3667 | - comp_pop(1).distance = 10.0 | |
3668 | - comp_pop(1).nstars = stellar_density*(4.*!pi/3)*comp_pop(1).distance | |
3669 | - | |
3670 | - comp_pop(2).popid = 'A9V_stellar_population' | |
3671 | - comp_pop(2).radius = 1.747*rsun2cm | |
3672 | - comp_pop(2).temperature = 7.4e3 | |
3673 | - comp_pop(2).distance = 10.0 | |
3674 | - comp_pop(2).nstars = stellar_density*(4.*!pi/3)*comp_pop(2).distance | |
3675 | - | |
3676 | - comp_pop(3).popid = 'F9V_stellar_population' | |
3677 | - comp_pop(3).radius = 1.167*rsun2cm | |
3678 | - comp_pop(3).temperature = 6.05e3 | |
3679 | - comp_pop(3).distance = 10.0 | |
3680 | - comp_pop(3).nstars = stellar_density*(4.*!pi/3)*comp_pop(3).distance | |
3681 | - | |
3682 | - comp_pop(4).popid = 'G9V_stellar_population' | |
3683 | - comp_pop(4).radius = 0.853*rsun2cm | |
3684 | - comp_pop(4).temperature = 5.38e3 | |
3685 | - comp_pop(4).distance = 10.0 | |
3686 | - comp_pop(4).nstars = stellar_density*(4.*!pi/3)*comp_pop(4).distance | |
3687 | - | |
3688 | - st=((*!dustem_params).isrf) | |
3689 | - | |
3690 | - c2a = 3e18 ;speed of light in ansgtroms/s (because of the Astron's PLANCK function) | |
3691 | - pc2cm = 3.086e18 ;cm (cgs) | |
3692 | - | |
3693 | - wave_angstrom = st.lambisrf*1.e4 ;mic to Angstrom (Astron Planck's function uses wavelengths in Angstroms) | |
3694 | - | |
3695 | - stellar_component=fltarr(n_elements(st)) ; array of zeros to contain the new ISRF values. | |
3696 | - | |
3697 | - FOR i=0L,n_elements(comp_pop.popid)-1 DO BEGIN ; Looping over all the stellar populations | |
3698 | - | |
3699 | - omega = ((comp_pop.radius)[i]/((comp_pop.distance)[i]*pc2cm))^2 ; Dilution factor of a stellar population | |
3700 | - | |
3701 | - Inu = 4*planck(wave_angstrom,(comp_pop.temperature)[i])*(wave_angstrom)^2/c2a ; ergs/cm2/s/Hz/sr ;*4 and not using Lambert's cosine law | |
3702 | - | |
3703 | - stellar_component=stellar_component+(comp_pop.nstars)[i]*omega*Inu | |
3704 | - | |
3705 | - ENDFOR | |
3706 | - | |
3707 | - out = stellar_component | |
3708 | - | |
3709 | -ENDELSE | |
126 | + ;pass output into ergs/cm2/s/Hz | |
127 | + fact=1./1.e20*1.e7/1.e4 | |
128 | + stellar_isrf=stellar_isrf*fact ;ergs/cm2/s/Hz | |
129 | +ENDIF | |
3710 | 130 | |
3711 | -the_scope: | |
3712 | -scope='STELLAR_POPULATION' | |
3713 | -the_paramtag: | |
3714 | -paramtag=['R_star (R_sol)','T_BB (K)','D (pc)','N_stars'] | |
131 | +;the_scope: | |
132 | +;scope='STELLAR_POPULATION' | |
133 | + | |
3715 | 134 | the_end: |
3716 | -return, out | |
3717 | -end | |
135 | +;print,minmax(stellar_isrf) | |
136 | +;stop | |
137 | + | |
138 | +RETURN, stellar_isrf | |
139 | +END | ... | ... |