FUNCTION dustem_plugin_stellar_population, key=key, val=val, scope=scope, paramtag=paramtag,help=help,test=test ;+ ; NAME: ; dustem_plugin_stellar_population ; PURPOSE: ; replaces the default DUSTEM ISRF with a composite stellar spectrum ; CATEGORY: ; DUSTEM Wrapper ; CALLING SEQUENCE: ; dustem_plugin_stellar_population(key=key,val=val) ; INPUTS: ; None ; OPTIONAL INPUT PARAMETERS: ; key = input parameter number ; val = input parameter value ; OUTPUTS: ; None ; OPTIONAL OUTPUT PARAMETERS: ; None ; ACCEPTED KEY-WORDS: ; help = if set, print this help ; COMMON BLOCKS: ; None ; SIDE EFFECTS: ; None ; RESTRICTIONS: ; The dustem fortran code must be installed ; The dustem idl wrapper must be installed ; PROCEDURE: ; This is a dustem plugin ;- ;- HISTORY: ADDED STELLAR LUMINOSITY CLASSES IF keyword_set(test) THEN stop IF keyword_set(help) THEN BEGIN doc_library,'dustem_plugin_stellar_population' goto,the_end ENDIF IF keyword_set(scope) THEN BEGIN out=0 goto, the_scope ENDIF IF keyword_set(paramtag) THEN BEGIN out=0 goto, the_paramtag ENDIF out=0;Do we need to initialize the output? ;===========Initializing the defaut stellar population structure=========== one_pop={radius:0.,temperature:0.,distance:0.,nstars:0.,popid:''} ;===========Counters=========== popnumber = 0. counto = 0. countb = 0. counta = 0. countf = 0. countg = 0. ;============================== ;===========Constants (in cgs)========== (except for the stellar population distance (in pc)) rsun2cm = 6.957e10 ;================NOTA BENE========================================================================== ;DATA IS NOW RETRIEVED FROM THIS TEXT FILE: "A Modern Mean Dwarf Stellar Color and Effective Temperature Sequence" ;NB: intermediate spectral classes '.5' are not taken into account - this will probably have to change ;NB: Also contact we need to contact the reasercher who wrote the text file because he said so in it. ;Other luminosity classes Should be included (only MS so far). ;BB approximation is a first degree 'bad' approximation because of the lack of radiative transfer especially at the ;photosphere of stars. ;REMARKS: BECAUSE WE STILL HAVEN'T SET THE DEFAULT VALUE FOR THE MAJORIY OF THE STELLAR POULATIONS,THE CORRESPONDING LINES ARE COMMENTED INSTEAD OF SETTING ARBITRARY VALUES. ;CONSIDERED STARS: SPEC_TYPE(N=5) = OBAFG, LUM_CLASS(N=10) = IA+,IA,IAB,IB,II,III,IV,V,VI,VII ;KM spectral types are not included because their UV part was not that important to excite the dust. ;This will help ease and shorten the fitting procedure ;If the user wants to use them without having to read the entirety of this plugin please contact the DustEmWrap team. IF keyword_set(key) THEN BEGIN file = !dustem_wrap_soft_dir+'Data/STELLARPOPS/EEM_dwarf_UBVIJHK_colors_Teff.txt' 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)' 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 ;Paramters that are needed for the BB approximation (horrible approximation even for MS stars) SpecType_MS = V1 T_eff_MS = V2 R_star_MS = V7 ;JPB: This is highly non standard and makes Fawlty go "Segmentation fault" ;lumclass = (strmid(key,2)).remove(-1) ; extracting the luminosity class strings lumclass=strarr(n_elements(key)) FOR i=0L,n_elements(key)-1 DO BEGIN lumclass[i]=strmid(key[i],2,1) ENDFOR params = strmid(key,0,/reverse_offset) ; extracting the indices (in the 'key' array) of the stellar parameters to fit ; Locating the O3 stellar population parameters - this new code structure accounts for the presence of different luminosity classes. testo3 = strupcase(strmid(key,0,2)) EQ 'O3' ;NB: test is like this so that user can use lowercase for spectral class ind = where(testo3,countindo3) ; retrieveing the defaut values from the txt database tsto3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto3,ctdato3) if ctdato3 ne 0 then begin T_eff_MS_o3 = double(T_eff_MS(indat)) R_star_MS_o3 = double(R_star_MS(indat)) endif IF countindo3 NE 0 THEN BEGIN lumclasso3 = lumclass(ind) nlmo3 = n_elements(lumclasso3) indo3_1 = fltarr(nlmo3) indo3_2 = indo3_1 indo3_3 = indo3_1 indo3_4 = indo3_1 countindo3_1 = indo3_1 countindo3_2 = indo3_1 countindo3_3 = indo3_1 countindo3_4 = indo3_1 FOR i=0L,nlmo3-1 DO BEGIN popnumber+=1 counto+=1 indo3_1[i] = where(testo3 and params EQ 1, countindo3_1x); index of radius of this stellar population in the val array countindo3_1[i] = countindo3_1x indo3_2[i] = where(testo3 and params EQ 2, countindo3_2x); index of temperature of this stellar population in the val array countindo3_2[i] = countindo3_2x indo3_3[i] = where(testo3 and params EQ 3, countindo3_3x); index of distance of this stellar population in the val array countindo3_3[i] = countindo3_3x 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) countindo3_4[i] = countindo3_4x ENDFOR ENDIF ; Locating the O4 stellar population parameters testo4 = strupcase(strmid(key,0,2)) EQ 'O4' ind = where(testo4,countindo4) ; retrieveing the defaut values from the txt database tsto4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto4,ctdato4) if ctdato4 ne 0 then begin T_eff_MS_o4 = double(T_eff_MS(indat)) R_star_MS_o4 = double(R_star_MS(indat)) endif IF countindo4 NE 0 THEN BEGIN lumclasso4 = lumclass(ind) nlmo4 = n_elements(lumclasso4) indo4_1 = fltarr(nlmo4) indo4_2 = indo4_1 indo4_3 = indo4_1 indo4_4 = indo4_1 countindo4_1 = indo4_1 countindo4_2 = indo4_1 countindo4_3 = indo4_1 countindo4_4 = indo4_1 FOR i=0L,nlmo4-1 DO BEGIN popnumber+=1 counto+=1 indo4_1[i] = where(testo4 and params EQ 1, countindo4_1x); index of radius of this stellar population in the val array countindo4_1[i] = countindo4_1x indo4_2[i] = where(testo4 and params EQ 2, countindo4_2x); index of temperature of this stellar population in the val array countindo4_2[i] = countindo4_2x indo4_3[i] = where(testo4 and params EQ 3, countindo4_3x); index of distance of this stellar population in the val array countindo4_3[i] = countindo4_3x indo4_4[i] = where(testo4 and params EQ 4, countindo4_4x); index of the nstars of this stellar population in the val array countindo4_4[i] = countindo4_4x ENDFOR ENDIF ; Locating the O5 stellar population parameters testo5 = strupcase(strmid(key,0,2)) EQ 'O5' ind = where(testo5,countindo5) ; retrieveing the defaut values from the txt database tsto5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto5,ctdato5) if ctdato5 ne 0 then begin T_eff_MS_o5 = double(T_eff_MS(indat)) R_star_MS_o5 = double(R_star_MS(indat)) endif IF countindo5 NE 0 THEN BEGIN lumclasso5 = lumclass(ind) nlmo5 = n_elements(lumclasso5) indo5_1 = fltarr(nlmo5) indo5_2 = indo5_1 indo5_3 = indo5_1 indo5_4 = indo5_1 countindo5_1 = indo5_1 countindo5_2 = indo5_1 countindo5_3 = indo5_1 countindo5_4 = indo5_1 FOR i=0L,nlmo5-1 DO BEGIN popnumber+=1 counto+=1 indo5_1[i] = where(testo5 and params EQ 1, countindo5_1x); index of radius of this stellar population in the val array countindo5_1[i] = countindo5_1x indo5_2[i] = where(testo5 and params EQ 2, countindo5_2x); index of temperature of this stellar population in the val array countindo5_2[i] = countindo5_2x indo5_3[i] = where(testo5 and params EQ 3, countindo5_3x); index of distance of this stellar population in the val array countindo5_3[i] = countindo5_3x indo5_4[i] = where(testo5 and params EQ 4, countindo5_4x); index of the nstars of this stellar population in the val array countindo5_4[i] = countindo5_4x ENDFOR ENDIF ; Locating the O6 stellar population parameters testo6 = strupcase(strmid(key,0,2)) EQ 'O6' ind = where(testo6,countindo6) ; retrieveing the defaut values from the txt database tsto6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto6,ctdato6) if ctdato6 ne 0 then begin T_eff_MS_o6 = double(T_eff_MS(indat)) R_star_MS_o6 = double(R_star_MS(indat)) endif IF countindo6 NE 0 THEN BEGIN lumclasso6 = lumclass(ind) nlmo6 = long(n_elements(lumclasso6)) indo6_1 = fltarr(nlmo6) indo6_2 = indo6_1 indo6_3 = indo6_1 indo6_4 = indo6_1 countindo6_1 = indo6_1 countindo6_2 = indo6_1 countindo6_3 = indo6_1 countindo6_4 = indo6_1 FOR i=0L,nlmo6-1 DO BEGIN popnumber+=1 counto+=1 indo6_1[i] = where(testo6 and params EQ 1, countindo6_1x); index of radius of this stellar population in the val array countindo6_1[i] = countindo6_1x indo6_2[i] = where(testo6 and params EQ 2, countindo6_2x); index of temperature of this stellar population in the val array countindo6_2[i] = countindo6_2x indo6_3[i] = where(testo6 and params EQ 3, countindo6_3x); index of distance of this stellar population in the val array countindo6_3[i] = countindo6_3x indo6_4[i] = where(testo6 and params EQ 4, countindo6_4x); index of the nstars of this stellar population in the val array countindo6_4[i] = countindo6_4x ENDFOR ENDIF ; Locating the O7 stellar population parameters testo7 = strupcase(strmid(key,0,2)) EQ 'O7' ind = where(testo7,countindo7) ; retrieveing the defaut values from the txt database tsto7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto7,ctdato7) if ctdato7 ne 0 then begin T_eff_MS_o7 = double(T_eff_MS(indat)) R_star_MS_o7 = double(R_star_MS(indat)) endif IF countindo7 NE 0 THEN BEGIN lumclasso7 = lumclass(ind) nlmo7 = n_elements(lumclasso7) indo7_1 = fltarr(nlmo7) indo7_2 = indo7_1 indo7_3 = indo7_1 indo7_4 = indo7_1 countindo7_1 = indo7_1 countindo7_2 = indo7_1 countindo7_3 = indo7_1 countindo7_4 = indo7_1 FOR i=0L,nlmo7-1 DO BEGIN popnumber+=1 counto+=1 indo7_1[i] = where(testo7 and params EQ 1, countindo7_1x); index of radius of this stellar population in the val array countindo7_1[i] = countindo7_1x indo7_2[i] = where(testo7 and params EQ 2, countindo7_2x); index of temperature of this stellar population in the val array countindo7_2[i] = countindo7_2x indo7_3[i] = where(testo7 and params EQ 3, countindo7_3x); index of distance of this stellar population in the val array countindo7_3[i] = countindo7_3x indo7_4[i] = where(testo7 and params EQ 4, countindo7_4x); index of the nstars of this stellar population in the val array countindo7_4[i] = countindo7_4x ENDFOR ENDIF ; Locating the O8 stellar population parameters testo8 = strupcase(strmid(key,0,2)) EQ 'O8' ind = where(testo8,countindo8) ; retrieveing the defaut values from the txt database tsto8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto8,ctdato8) if ctdato8 ne 0 then begin T_eff_MS_o8 = double(T_eff_MS(indat)) R_star_MS_o8 = double(R_star_MS(indat)) endif IF countindo8 NE 0 THEN BEGIN lumclasso8 = lumclass(ind) nlmo8 = n_elements(lumclasso8) indo8_1 = fltarr(nlmo8) indo8_2 = indo8_1 indo8_3 = indo8_1 indo8_4 = indo8_1 countindo8_1 = indo8_1 countindo8_2 = indo8_1 countindo8_3 = indo8_1 countindo8_4 = indo8_1 FOR i=0L,nlmo8-1 DO BEGIN popnumber+=1 counto+=1 indo8_1[i] = where(testo8 and params EQ 1, countindo8_1x); index of radius of this stellar population in the val array countindo8_1[i] = countindo8_1x indo8_2[i] = where(testo8 and params EQ 2, countindo8_2x); index of temperature of this stellar population in the val array countindo8_2[i] = countindo8_2x indo8_3[i] = where(testo8 and params EQ 3, countindo8_3x); index of distance of this stellar population in the val array countindo8_3[i] = countindo8_3x indo8_4[i] = where(testo8 and params EQ 4, countindo8_4x); index of the nstars of this stellar population in the val array countindo8_4[i] = countindo8_4x ENDFOR ENDIF ; Locating the O9 stellar population parameters testo9 = strupcase(strmid(key,0,2)) EQ 'O9' ind = where(testo9,countindo9) ; retrieveing the defaut values from the txt database tsto9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'O9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsto9,ctdato9) if ctdato9 ne 0 then begin T_eff_MS_o9 = double(T_eff_MS(indat)) R_star_MS_o9 = double(R_star_MS(indat)) endif IF countindo9 NE 0 THEN BEGIN lumclasso9 = strupcase(lumclass(ind)) nlmo9 = long(n_elements(lumclasso9)) indo9_1 = fltarr(nlmo9) indo9_2 = indo9_1 indo9_3 = indo9_1 indo9_4 = indo9_1 countindo9_1 = indo9_1 countindo9_2 = indo9_1 countindo9_3 = indo9_1 countindo9_4 = indo9_1 FOR i=0L,nlmo9-1 DO BEGIN popnumber+=1 counto+=1 indo9_1[i] = where(testo9 and params EQ 1, countindo9_1x); index of radius of this stellar population in the val array countindo9_1[i] = countindo9_1x indo9_2[i] = where(testo9 and params EQ 2, countindo9_2x); index of temperature of this stellar population in the val array countindo9_2[i] = countindo9_2x indo9_3[i] = where(testo9 and params EQ 3, countindo9_3x); index of distance of this stellar population in the val array countindo9_3[i] = countindo9_3x indo9_4[i] = where(testo9 and params EQ 4, countindo9_4x); index of the nstars of this stellar population in the val array countindo9_4[i] = countindo9_4x ENDFOR ENDIF ;====================================================== ; Locating the B0 stellar population parameters testb0 = strupcase(strmid(key,0,2)) EQ 'B0' ind = where(testb0,countindb0) ; retrieveing the defaut values from the txt database tstb0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb0,ctdatb0) if ctdatb0 ne 0 then begin T_eff_MS_b0 = double(T_eff_MS(indat)) R_star_MS_b0 = double(R_star_MS(indat)) endif IF countindb0 NE 0 THEN BEGIN lumclassb0 = uniq(lumclass(ind)) nlmb0 = n_elements(lumclassb0) indb0_1 = fltarr(nlmb0) indb0_2 = indb0_1 indb0_3 = indb0_1 indb0_4 = indb0_1 countindb0_1 = indb0_1 countindb0_2 = indb0_1 countindb0_3 = indb0_1 countindb0_4 = indb0_1 FOR i=0L,nlmb0-1 DO BEGIN popnumber+=1 countb+=1 indb0_1[i] = where(testb0 and params EQ 1, countindb0_1x); index of radius of this stellar population in the val array countindb0_1[i] = countindb0_1x indb0_2[i] = where(testb0 and params EQ 2, countindb0_2x); index of temperature of this stellar population in the val array countindb0_2[i] = countindb0_2x indb0_3[i] = where(testb0 and params EQ 3, countindb0_3x); index of distance of this stellar population in the val array countindb0_3[i] = countindb0_3x indb0_4[i] = where(testb0 and params EQ 4, countindb0_4x); index of the nstars of this stellar population in the val array countindb0_4[i] = countindb0_4x ENDFOR ENDIF ; Locating the B1 stellar population parameters testb1 = strupcase(strmid(key,0,2)) EQ 'B1' ind = where(testb1,countindb1) ; retrieveing the defaut values from the txt database tstb1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb1,ctdatb1) if ctdatb1 ne 0 then begin T_eff_MS_b1 = double(T_eff_MS(indat)) R_star_MS_b1 = double(R_star_MS(indat)) endif IF countindb1 NE 0 THEN BEGIN lumclassb1 = strupcase(lumclass(ind)) nlmb1 = long(n_elements(lumclassb1)) indb1_1 = fltarr(nlmb1) indb1_2 = indb1_1 indb1_3 = indb1_1 indb1_4 = indb1_1 countindb1_1 = indb1_1 countindb1_2 = indb1_1 countindb1_3 = indb1_1 countindb1_4 = indb1_1 FOR i=0L,nlmb1-1 DO BEGIN popnumber+=1 countb+=1 indb1_1[i] = where(testb1 and params EQ 1, countindb1_1x); index of radius of this stellar population in the val array countindb1_1[i] = countindb1_1x indb1_2[i] = where(testb1 and params EQ 2, countindb1_2x); index of temperature of this stellar population in the val array countindb1_2[i] = countindb1_2x indb1_3[i] = where(testb1 and params EQ 3, countindb1_3x); index of distance of this stellar population in the val array countindb1_3[i] = countindb1_3x indb1_4[i] = where(testb1 and params EQ 4, countindb1_4x); index of the nstars of this stellar population in the val array countindb1_4[i] = countindb1_4x ENDFOR ENDIF ; Locating the B2 stellar population parameters testb2 = strupcase(strmid(key,0,2)) EQ 'B2' ind = where(testb2,countindb2) ; retrieveing the defaut values from the txt database tstb2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb2,ctdatb2) if ctdatb2 ne 0 then begin T_eff_MS_b2 = double(T_eff_MS(indat)) R_star_MS_b2 = double(R_star_MS(indat)) endif IF countindb2 NE 0 THEN BEGIN lumclassb2 = uniq(lumclass(ind)) nlmb2 = n_elements(lumclassb2) indb2_1 = fltarr(nlmb2) indb2_2 = indb2_1 indb2_3 = indb2_1 indb2_4 = indb2_1 countindb2_1 = indb2_1 countindb2_2 = indb2_1 countindb2_3 = indb2_1 countindb2_4 = indb2_1 FOR i=0L,nlmb2-1 DO BEGIN popnumber+=1 countb+=1 indb2_1[i] = where(testb2 and params EQ 1, countindb2_1x); index of radius of this stellar population in the val array countindb2_1[i] = countindb2_1x indb2_2[i] = where(testb2 and params EQ 2, countindb2_2x); index of temperature of this stellar population in the val array countindb2_2[i] = countindb2_2x indb2_3[i] = where(testb2 and params EQ 3, countindb2_3x); index of distance of this stellar population in the val array countindb2_3[i] = countindb2_3x indb2_4[i] = where(testb2 and params EQ 4, countindb2_4x); index of the nstars of this stellar population in the val array countindb2_4[i] = countindb2_4x ENDFOR ENDIF ; Locating the B3 stellar population parameters testb3 = strupcase(strmid(key,0,2)) EQ 'B3' ind = where(testb3,countindb3) ; retrieveing the defaut values from the txt database tstb3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb3,ctdatb3) if ctdatb3 ne 0 then begin T_eff_MS_b3 = double(T_eff_MS(indat)) R_star_MS_b3 = double(R_star_MS(indat)) endif IF countindb3 NE 0 THEN BEGIN lumclassb3 = uniq(lumclass(ind)) nlmb3 = n_elements(lumclassb3) indb3_1 = fltarr(nlmb3) indb3_2 = indb3_1 indb3_3 = indb3_1 indb3_4 = indb3_1 countindb3_1 = indb3_1 countindb3_2 = indb3_1 countindb3_3 = indb3_1 countindb3_4 = indb3_1 FOR i=0L,nlmb3-1 DO BEGIN popnumber+=1 countb+=1 indb3_1[i] = where(testb3 and params EQ 1, countindb3_1x); index of radius of this stellar population in the val array countindb3_1[i] = countindb3_1x indb3_2[i] = where(testb3 and params EQ 2, countindb3_2x); index of temperature of this stellar population in the val array countindb3_2[i] = countindb3_2x indb3_3[i] = where(testb3 and params EQ 3, countindb3_3x); index of distance of this stellar population in the val array countindb3_3[i] = countindb3_3x indb3_4[i] = where(testb3 and params EQ 4, countindb3_4x); index of the nstars of this stellar population in the val array countindb3_4[i] = countindb3_4x ENDFOR ENDIF ; Locating the B4 stellar population parameters testb4 = strupcase(strmid(key,0,2)) EQ 'B4' ind = where(testb4,countindb4) ; retrieveing the defaut values from the txt database tstb4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb4,ctdatb4) if ctdatb4 ne 0 then begin T_eff_MS_b4 = double(T_eff_MS(indat)) R_star_MS_b4 = double(R_star_MS(indat)) endif IF countindb4 NE 0 THEN BEGIN lumclassb4 = uniq(lumclass(ind)) nlmb4 = n_elements(lumclassb4) indb4_1 = fltarr(nlmb4) indb4_2 = indb4_1 indb4_3 = indb4_1 indb4_4 = indb4_1 countindb4_1 = indb4_1 countindb4_2 = indb4_1 countindb4_3 = indb4_1 countindb4_4 = indb4_1 FOR i=0L,nlmb4-1 DO BEGIN popnumber+=1 countb+=1 indb4_1[i] = where(testb4 and params EQ 1, countindb4_1x); index of radius of this stellar population in the val array countindb4_1[i] = countindb4_1x indb4_2[i] = where(testb4 and params EQ 2, countindb4_2x); index of temperature of this stellar population in the val array countindb4_2[i] = countindb4_2x indb4_3[i] = where(testb4 and params EQ 3, countindb4_3x); index of distance of this stellar population in the val array countindb4_3[i] = countindb4_3x indb4_4[i] = where(testb4 and params EQ 4, countindb4_4x); index of the nstars of this stellar population in the val array countindb4_4[i] = countindb4_4x ENDFOR ENDIF ; Locating the B5 stellar population parameters testb5 = strupcase(strmid(key,0,2)) EQ 'B5' ind = where(testb5,countindb5) ; retrieveing the defaut values from the txt database tstb5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb5,ctdatb5) if ctdatb5 ne 0 then begin T_eff_MS_b5 = double(T_eff_MS(indat)) R_star_MS_b5 = double(R_star_MS(indat)) endif IF countindb5 NE 0 THEN BEGIN lumclassb5 = uniq(lumclass(ind)) nlmb5 = n_elements(lumclassb5) indb5_1 = fltarr(nlmb5) indb5_2 = indb5_1 indb5_3 = indb5_1 indb5_4 = indb5_1 countindb5_1 = indb5_1 countindb5_2 = indb5_1 countindb5_3 = indb5_1 countindb5_4 = indb5_1 FOR i=0L,nlmb5-1 DO BEGIN popnumber+=1 countb+=1 indb5_1[i] = where(testb5 and params EQ 1, countindb5_1x); index of radius of this stellar population in the val array countindb5_1[i] = countindb5_1x indb5_2[i] = where(testb5 and params EQ 2, countindb5_2x); index of temperature of this stellar population in the val array countindb5_2[i] = countindb5_2x indb5_3[i] = where(testb5 and params EQ 3, countindb5_3x); index of distance of this stellar population in the val array countindb5_3[i] = countindb5_3x indb5_4[i] = where(testb5 and params EQ 4, countindb5_4x); index of the nstars of this stellar population in the val array countindb5_4[i] = countindb5_4x ENDFOR ENDIF ; Locating the B6 stellar population parameters testb6 = strupcase(strmid(key,0,2)) EQ 'B6' ind = where(testb6,countindb6) ; retrieveing the defaut values from the txt database tstb6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb6,ctdatb6) if ctdatb6 ne 0 then begin T_eff_MS_b6 = double(T_eff_MS(indat)) R_star_MS_b6 = double(R_star_MS(indat)) endif IF countindb6 NE 0 THEN BEGIN lumclassb6 = uniq(lumclass(ind)) nlmb6 = n_elements(lumclassb6) indb6_1 = fltarr(nlmb6) indb6_2 = indb6_1 indb6_3 = indb6_1 indb6_4 = indb6_1 countindb6_1 = indb6_1 countindb6_2 = indb6_1 countindb6_3 = indb6_1 countindb6_4 = indb6_1 FOR i=0L,nlmb6-1 DO BEGIN popnumber+=1 countb+=1 indb6_1[i] = where(testb6 and params EQ 1, countindb6_1x); index of radius of this stellar population in the val array countindb6_1[i] = countindb6_1x indb6_2[i] = where(testb6 and params EQ 2, countindb6_2x); index of temperature of this stellar population in the val array countindb6_2[i] = countindb6_2x indb6_3[i] = where(testb6 and params EQ 3, countindb6_3x); index of distance of this stellar population in the val array countindb6_3[i] = countindb6_3x indb6_4[i] = where(testb6 and params EQ 4, countindb6_4x); index of the nstars of this stellar population in the val array countindb6_4[i] = countindb6_4x ENDFOR ENDIF ; Locating the B7 stellar population parameters testb7 = strupcase(strmid(key,0,2)) EQ 'B7' ind = where(testb7,countindb7) ; retrieveing the defaut values from the txt database tstb7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb7,ctdatb7) if ctdatb7 ne 0 then begin T_eff_MS_b7 = double(T_eff_MS(indat)) R_star_MS_b7 = double(R_star_MS(indat)) endif IF countindb7 NE 0 THEN BEGIN lumclassb7 = uniq(lumclass(ind)) nlmb7 = n_elements(lumclassb7) indb7_1 = fltarr(nlmb7) indb7_2 = indb7_1 indb7_3 = indb7_1 indb7_4 = indb7_1 countindb7_1 = indb7_1 countindb7_2 = indb7_1 countindb7_3 = indb7_1 countindb7_4 = indb7_1 FOR i=0L,nlmb7-1 DO BEGIN popnumber+=1 countb+=1 indb7_1[i] = where(testb7 and params EQ 1, countindb7_1x); index of radius of this stellar population in the val array countindb7_1[i] = countindb7_1x indb7_2[i] = where(testb7 and params EQ 2, countindb7_2x); index of temperature of this stellar population in the val array countindb7_2[i] = countindb7_2x indb7_3[i] = where(testb7 and params EQ 3, countindb7_3x); index of distance of this stellar population in the val array countindb7_3[i] = countindb7_3x indb7_4[i] = where(testb7 and params EQ 4, countindb7_4x); index of the nstars of this stellar population in the val array countindb7_4[i] = countindb7_4x ENDFOR ENDIF ; Locating the B8 stellar population parameters testb8 = strupcase(strmid(key,0,2)) EQ 'B8' ind = where(testb8,countindb8) ; retrieveing the defaut values from the txt database tstb8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb8,ctdatb8) if ctdatb8 ne 0 then begin T_eff_MS_b8 = double(T_eff_MS(indat)) R_star_MS_b8 = double(R_star_MS(indat)) endif IF countindb8 NE 0 THEN BEGIN lumclassb8 = uniq(lumclass(ind)) nlmb8 = n_elements(lumclassb8) indb8_1 = fltarr(nlmb8) indb8_2 = indb8_1 indb8_3 = indb8_1 indb8_4 = indb8_1 countindb8_1 = indb8_1 countindb8_2 = indb8_1 countindb8_3 = indb8_1 countindb8_4 = indb8_1 FOR i=0L,nlmb8-1 DO BEGIN popnumber+=1 countb+=1 indb8_1[i] = where(testb8 and params EQ 1, countindb8_1x); index of radius of this stellar population in the val array countindb8_1[i] = countindb8_1x indb8_2[i] = where(testb8 and params EQ 2, countindb8_2x); index of temperature of this stellar population in the val array countindb8_2[i] = countindb8_2x indb8_3[i] = where(testb8 and params EQ 3, countindb8_3x); index of distance of this stellar population in the val array countindb8_3[i] = countindb8_3x indb8_4[i] = where(testb8 and params EQ 4, countindb8_4x); index of the nstars of this stellar population in the val array countindb8_4[i] = countindb8_4x ENDFOR ENDIF ; Locating the B9 stellar population parameters testb9 = strupcase(strmid(key,0,2)) EQ 'B9' ind = where(testb9,countindb9) ; retrieveing the defaut values from the txt database tstb9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'B9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstb9,ctdatb9) if ctdatb9 ne 0 then begin T_eff_MS_b9 = double(T_eff_MS(indat)) R_star_MS_b9 = double(R_star_MS(indat)) endif IF countindb9 NE 0 THEN BEGIN lumclassb9 = uniq(lumclass(ind)) nlmb9 = n_elements(lumclassb9) indb9_1 = fltarr(nlmb9) indb9_2 = indb9_1 indb9_3 = indb9_1 indb9_4 = indb9_1 countindb9_1 = indb9_1 countindb9_2 = indb9_1 countindb9_3 = indb9_1 countindb9_4 = indb9_1 FOR i=0L,nlmb9-1 DO BEGIN popnumber+=1 countb+=1 indb9_1[i] = where(testb9 and params EQ 1, countindb9_1x); index of radius of this stellar population in the val array countindb9_1[i] = countindb9_1x indb9_2[i] = where(testb9 and params EQ 2, countindb9_2x); index of temperature of this stellar population in the val array countindb9_2[i] = countindb9_2x indb9_3[i] = where(testb9 and params EQ 3, countindb9_3x); index of distance of this stellar population in the val array countindb9_3[i] = countindb9_3x indb9_4[i] = where(testb9 and params EQ 4, countindb9_4x); index of the nstars of this stellar population in the val array countindb9_4[i] = countindb9_4x ENDFOR ENDIF ;====================================================== ; Locating the A0 stellar population parameters testa0 = strupcase(strmid(key,0,2)) EQ 'A0' ind = where(testa0,countinda0) ; retrieveing the defaut values from the txt database tsta0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta0,ctdata0) if ctdata0 ne 0 then begin T_eff_MS_a0 = double(T_eff_MS(indat)) R_star_MS_a0 = double(R_star_MS(indat)) endif IF countinda0 NE 0 THEN BEGIN lumclassA0 = uniq(lumclass(ind)) nlmA0 = n_elements(lumclassA0) indA0_1 = fltarr(nlmA0) indA0_2 = indA0_1 indA0_3 = indA0_1 indA0_4 = indA0_1 countindA0_1 = indA0_1 countindA0_2 = indA0_1 countindA0_3 = indA0_1 countindA0_4 = indA0_1 FOR i=0L,nlmA0-1 DO BEGIN popnumber+=1 counta+=1 inda0_1[i] = where(testa0 and params EQ 1, countinda0_1x); index of radius of this stellar population in the val array countinda0_1[i] = countinda0_1x inda0_2[i] = where(testa0 and params EQ 2, countinda0_2x); index of temperature of this stellar population in the val array countinda0_2[i] = countinda0_2x inda0_3[i] = where(testa0 and params EQ 3, countinda0_3x); index of distance of this stellar population in the val array countinda0_3[i] = countinda0_3x inda0_4[i] = where(testa0 and params EQ 4, countinda0_4x); index of the nstars of this stellar population in the val array countinda0_4[i] = countinda0_4x ENDFOR ENDIF ; Locating the A1 stellar population parameters testa1 = strupcase(strmid(key,0,2)) EQ 'A1' ind = where(testa1,countinda1) ; retrieveing the defaut values from the txt database tsta1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta1,ctdata1) if ctdata1 ne 0 then begin T_eff_MS_a1 = double(T_eff_MS(indat)) R_star_MS_a1 = double(R_star_MS(indat)) endif IF countinda1 NE 0 THEN BEGIN lumclassA1 = lumclass(ind) nlmA1 = n_elements(lumclassA1) indA1_1 = fltarr(nlmA1) indA1_2 = indA1_1 indA1_3 = indA1_1 indA1_4 = indA1_1 countindA1_1 = indA1_1 countindA1_2 = indA1_1 countindA1_3 = indA1_1 countindA1_4 = indA1_1 FOR i=0L,nlmA1-1 DO BEGIN popnumber+=1 counta+=1 inda1_1[i] = where(testa1 and params EQ 1, countinda1_1x); index of radius of this stellar population in the val array countinda1_1[i] = countinda1_1x inda1_2[i] = where(testa1 and params EQ 2, countinda1_2x); index of temperature of this stellar population in the val array countinda1_2[i] = countinda1_2x inda1_3[i] = where(testa1 and params EQ 3, countinda1_3x); index of distance of this stellar population in the val array countinda1_3[i] = countinda1_3x inda1_4[i] = where(testa1 and params EQ 4, countinda1_4x); index of the nstars of this stellar population in the val array countinda1_4[i] = countinda1_4x ENDFOR ENDIF ; Locating the A2 stellar population parameters testa2 = strupcase(strmid(key,0,2)) EQ 'A2' ind = where(testa2,countinda2) ; retrieveing the defaut values from the txt database tsta2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta2,ctdata2) if ctdata2 ne 0 then begin T_eff_MS_a2 = double(T_eff_MS(indat)) R_star_MS_a2 = double(R_star_MS(indat)) endif IF countinda2 NE 0 THEN BEGIN lumclassA2 = lumclass(ind) nlmA2 = n_elements(lumclassA2) indA2_1 = fltarr(nlmA2) indA2_2 = indA2_1 indA2_3 = indA2_1 indA2_4 = indA2_1 countindA2_1 = indA2_1 countindA2_2 = indA2_1 countindA2_3 = indA2_1 countindA2_4 = indA2_1 FOR i=0L,nlmA2-1 DO BEGIN popnumber+=1 counta+=1 inda2_1[i] = where(testa2 and params EQ 1, countinda2_1x); index of radius of this stellar population in the val array countinda2_1[i] = countinda2_1x inda2_2[i] = where(testa2 and params EQ 2, countinda2_2x); index of temperature of this stellar population in the val array countinda2_2[i] = countinda2_2x inda2_3[i] = where(testa2 and params EQ 3, countinda2_3x); index of distance of this stellar population in the val array countinda2_3[i] = countinda2_3x inda2_4[i] = where(testa2 and params EQ 4, countinda2_4x); index of the nstars of this stellar population in the val array countinda2_4[i] = countinda2_4x ENDFOR ENDIF ; Locating the A3 stellar population parameters testa3 = strupcase(strmid(key,0,2)) EQ 'A3' ind = where(testa3,countinda3) ; retrieveing the defaut values from the txt database tsta3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta3,ctdata3) if ctdata3 ne 0 then begin T_eff_MS_a3 = double(T_eff_MS(indat)) R_star_MS_a3 = double(R_star_MS(indat)) endif IF countinda3 NE 0 THEN BEGIN lumclassA3 = lumclass(ind) nlmA3 = n_elements(lumclassA3) indA3_1 = fltarr(nlmA3) indA3_2 = indA3_1 indA3_3 = indA3_1 indA3_4 = indA3_1 countindA3_1 = indA3_1 countindA3_2 = indA3_1 countindA3_3 = indA3_1 countindA3_4 = indA3_1 FOR i=0L,nlmA3-1 DO BEGIN popnumber+=1 counta+=1 inda3_1[i] = where(testa3 and params EQ 1, countinda3_1x); index of radius of this stellar population in the val array countinda3_1[i] = countinda3_1x inda3_2[i] = where(testa3 and params EQ 2, countinda3_2x); index of temperature of this stellar population in the val array countinda3_2[i] = countinda3_2x inda3_3[i] = where(testa3 and params EQ 3, countinda3_3x); index of distance of this stellar population in the val array countinda3_3[i] = countinda3_3x inda3_4[i] = where(testa3 and params EQ 4, countinda3_4x); index of the nstars of this stellar population in the val array countinda3_4[i] = countinda3_4x ENDFOR ENDIF ; Locating the A4 stellar population parameters testa4 = strupcase(strmid(key,0,2)) EQ 'A4' ind = where(testa4,countinda4) ; retrieveing the defaut values from the txt database tsta4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta4,ctdata4) if ctdata4 ne 0 then begin T_eff_MS_a4 = double(T_eff_MS(indat)) R_star_MS_a4 = double(R_star_MS(indat)) endif IF countinda4 NE 0 THEN BEGIN lumclassA4 = lumclass(ind) nlmA4 = n_elements(lumclassA4) indA4_1 = fltarr(nlmA4) indA4_2 = indA4_1 indA4_3 = indA4_1 indA4_4 = indA4_1 countindA4_1 = indA4_1 countindA4_2 = indA4_1 countindA4_3 = indA4_1 countindA4_4 = indA4_1 FOR i=0L,nlmA4-1 DO BEGIN popnumber+=1 counta+=1 inda4_1[i] = where(testa4 and params EQ 1, countinda4_1x); index of radius of this stellar population in the val array countinda4_1[i] = countinda4_1x inda4_2[i] = where(testa4 and params EQ 2, countinda4_2x); index of temperature of this stellar population in the val array countinda4_2[i] = countinda4_2x inda4_3[i] = where(testa4 and params EQ 3, countinda4_3x); index of distance of this stellar population in the val array countinda4_3[i] = countinda4_3x inda4_4[i] = where(testa4 and params EQ 4, countinda4_4x); index of the nstars of this stellar population in the val array countinda4_4[i] = countinda4_4x ENDFOR ENDIF ; Locating the A5 stellar population parameters testa5 = strupcase(strmid(key,0,2)) EQ 'A5' ind = where(testa5,countinda5) ; retrieveing the defaut values from the txt database tsta5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta5,ctdata5) if ctdata5 ne 0 then begin T_eff_MS_a5 = double(T_eff_MS(indat)) R_star_MS_a5 = double(R_star_MS(indat)) endif IF countinda5 NE 0 THEN BEGIN lumclassA5 = lumclass(ind) nlmA5 = n_elements(lumclassA5) indA5_1 = fltarr(nlmA5) indA5_2 = indA5_1 indA5_3 = indA5_1 indA5_4 = indA5_1 countindA5_1 = indA5_1 countindA5_2 = indA5_1 countindA5_3 = indA5_1 countindA5_4 = indA5_1 FOR i=0L,nlmA5-1 DO BEGIN popnumber+=1 counta+=1 inda5_1[i] = where(testa5 and params EQ 1, countinda5_1x); index of radius of this stellar population in the val array countinda5_1[i] = countinda5_1x inda5_2[i] = where(testa5 and params EQ 2, countinda5_2x); index of temperature of this stellar population in the val array countinda5_2[i] = countinda5_2x inda5_3[i] = where(testa5 and params EQ 3, countinda5_3x); index of distance of this stellar population in the val array countinda5_3[i] = countinda5_3x inda5_4[i] = where(testa5 and params EQ 4, countinda5_4x); index of the nstars of this stellar population in the val array countinda5_4[i] = countinda5_4x ENDFOR ENDIF ; Locating the A6 stellar population parameters testa6 = strupcase(strmid(key,0,2)) EQ 'A6' ind = where(testa6,countinda6) ; retrieveing the defaut values from the txt database tsta6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta6,ctdata6) if ctdata6 ne 0 then begin T_eff_MS_a6 = double(T_eff_MS(indat)) R_star_MS_a6 = double(R_star_MS(indat)) endif IF countinda6 NE 0 THEN BEGIN lumclassA6 = lumclass(ind) nlmA6 = n_elements(lumclassA6) indA6_1 = fltarr(nlmA6) indA6_2 = indA6_1 indA6_3 = indA6_1 indA6_4 = indA6_1 countindA6_1 = indA6_1 countindA6_2 = indA6_1 countindA6_3 = indA6_1 countindA6_4 = indA6_1 FOR i=0L,nlmA6-1 DO BEGIN popnumber+=1 counta+=1 inda6_1[i] = where(testa6 and params EQ 1, countinda6_1x); index of radius of this stellar population in the val array countinda6_1[i] = countinda6_1x inda6_2[i] = where(testa6 and params EQ 2, countinda6_2x); index of temperature of this stellar population in the val array countinda6_2[i] = countinda6_2x inda6_3[i] = where(testa6 and params EQ 3, countinda6_3x); index of distance of this stellar population in the val array countinda6_3[i] = countinda6_3x inda6_4[i] = where(testa6 and params EQ 4, countinda6_4x); index of the nstars of this stellar population in the val array countinda6_4[i] = countinda6_4x ENDFOR ENDIF ; Locating the A7 stellar population parameters testa7 = strupcase(strmid(key,0,2)) EQ 'A7' ind = where(testa7,countinda7) ; retrieveing the defaut values from the txt database tsta7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta7,ctdata7) if ctdata7 ne 0 then begin T_eff_MS_a7 = double(T_eff_MS(indat)) R_star_MS_a7 = double(R_star_MS(indat)) endif IF countinda7 NE 0 THEN BEGIN lumclassA7 = lumclass(ind) nlmA7 = n_elements(lumclassA7) indA7_1 = fltarr(nlmA7) indA7_2 = indA7_1 indA7_3 = indA7_1 indA7_4 = indA7_1 countindA7_1 = indA7_1 countindA7_2 = indA7_1 countindA7_3 = indA7_1 countindA7_4 = indA7_1 FOR i=0L,nlmA7-1 DO BEGIN popnumber+=1 counta+=1 inda7_1[i] = where(testa7 and params EQ 1, countinda7_1x); index of radius of this stellar population in the val array countinda7_1[i] = countinda7_1x inda7_2[i] = where(testa7 and params EQ 2, countinda7_2x); index of temperature of this stellar population in the val array countinda7_2[i] = countinda7_2x inda7_3[i] = where(testa7 and params EQ 3, countinda7_3x); index of distance of this stellar population in the val array countinda7_3[i] = countinda7_3x inda7_4[i] = where(testa7 and params EQ 4, countinda7_4x); index of the nstars of this stellar population in the val array countinda7_4[i] = countinda7_4x ENDFOR ENDIF ; Locating the A8 stellar population parameters testa8 = strupcase(strmid(key,0,2)) EQ 'A8' ind = where(testa8,countinda8) ; retrieveing the defaut values from the txt database tsta8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta8,ctdata8) if ctdata8 ne 0 then begin T_eff_MS_a8 = double(T_eff_MS(indat)) R_star_MS_a8 = double(R_star_MS(indat)) endif IF countinda8 NE 0 THEN BEGIN lumclassA8 = lumclass(ind) nlmA8 = n_elements(lumclassA8) indA8_1 = fltarr(nlmA8) indA8_2 = indA8_1 indA8_3 = indA8_1 indA8_4 = indA8_1 countindA8_1 = indA8_1 countindA8_2 = indA8_1 countindA8_3 = indA8_1 countindA8_4 = indA8_1 FOR i=0L,nlmA8-1 DO BEGIN popnumber+=1 counta+=1 inda8_1[i] = where(testa8 and params EQ 1, countinda8_1x); index of radius of this stellar population in the val array countinda8_1[i] = countinda8_1x inda8_2[i] = where(testa8 and params EQ 2, countinda8_2x); index of temperature of this stellar population in the val array countinda8_2[i] = countinda8_2x inda8_3[i] = where(testa8 and params EQ 3, countinda8_3x); index of distance of this stellar population in the val array countinda8_3[i] = countinda8_3x inda8_4[i] = where(testa8 and params EQ 4, countinda8_4x); index of the nstars of this stellar population in the val array countinda8_4[i] = countinda8_4x ENDFOR ENDIF ; Locating the A9 stellar population parameters testa9 = strupcase(strmid(key,0,2)) EQ 'A9' ind = where(testa9,countinda9) ; retrieveing the defaut values from the txt database tsta9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'A9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tsta9,ctdata9) if ctdata9 ne 0 then begin T_eff_MS_a9 = double(T_eff_MS(indat)) R_star_MS_a9 = double(R_star_MS(indat)) endif IF countinda9 NE 0 THEN BEGIN lumclassA9 = lumclass(ind) nlmA9 = n_elements(lumclassA9) indA9_1 = fltarr(nlmA9) indA9_2 = indA9_1 indA9_3 = indA9_1 indA9_4 = indA9_1 countindA9_1 = indA9_1 countindA9_2 = indA9_1 countindA9_3 = indA9_1 countindA9_4 = indA9_1 FOR i=0L,nlmA9-1 DO BEGIN popnumber+=1 counta+=1 inda9_1[i] = where(testa9 and params EQ 1, countinda9_1x); index of radius of this stellar population in the val array countinda9_1[i] = countinda9_1x inda9_2[i] = where(testa9 and params EQ 2, countinda9_2x); index of temperature of this stellar population in the val array countinda9_2[i] = countinda9_2x inda9_3[i] = where(testa9 and params EQ 3, countinda9_3x); index of distance of this stellar population in the val array countinda9_3[i] = countinda9_3x inda9_4[i] = where(testa9 and params EQ 4, countinda9_4x); index of the nstars of this stellar population in the val array countinda9_4[i] = countinda9_4x ENDFOR ENDIF ;====================================================== ; Locating the F0 stellar population parameters testf0 = strupcase(strmid(key,0,2)) EQ 'F0' ind = where(testf0,countindf0) ; retrieveing the defaut values from the txt database tstf0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf0,ctdatf0) if ctdatf0 ne 0 then begin T_eff_MS_f0 = double(T_eff_MS(indat)) R_star_MS_f0 = double(R_star_MS(indat)) endif IF countindf0 NE 0 THEN BEGIN lumclassF0 = lumclass(ind) nlmF0 = n_elements(lumclassF0) indF0_1 = fltarr(nlmF0) indF0_2 = indF0_1 indF0_3 = indF0_1 indF0_4 = indF0_1 countindF0_1 = indF0_1 countindF0_2 = indF0_1 countindF0_3 = indF0_1 countindF0_4 = indF0_1 FOR i=0L,nlmF0-1 DO BEGIN popnumber+=1 countf+=1 indf0_1[i] = where(testf0 and params EQ 1, countindf0_1x); index of radius of this stellar population in the val array countindf0_1[i] = countindf0_1x indf0_2[i] = where(testf0 and params EQ 2, countindf0_2x); index of temperature of this stellar population in the val array countindf0_2[i] = countindf0_2x indf0_3[i] = where(testf0 and params EQ 3, countindf0_3x); index of distance of this stellar population in the val array countindf0_3[i] = countindf0_3x indf0_4[i] = where(testf0 and params EQ 4, countindf0_4x); index of the nstars of this stellar population in the val array countindf0_4[i] = countindf0_4x ENDFOR ENDIF ; Locating the F1 stellar population parameters testf1 = strupcase(strmid(key,0,2)) EQ 'F1' ind = where(testf1,countindf1) ; retrieveing the defaut values from the txt database tstf1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf1,ctdatf1) if ctdatf1 ne 0 then begin T_eff_MS_f1 = double(T_eff_MS(indat)) R_star_MS_f1 = double(R_star_MS(indat)) endif IF countindf1 NE 0 THEN BEGIN lumclassF1 = lumclass(ind) nlmF1 = n_elements(lumclassF1) indF1_1 = fltarr(nlmF1) indF1_2 = indF1_1 indF1_3 = indF1_1 indF1_4 = indF1_1 countindF1_1 = indF1_1 countindF1_2 = indF1_1 countindF1_3 = indF1_1 countindF1_4 = indF1_1 FOR i=0L,nlmF1-1 DO BEGIN popnumber+=1 countf+=1 indf1_1[i] = where(testf1 and params EQ 1, countindf1_1x); index of radius of this stellar population in the val array countindf1_1[i] = countindf1_1x indf1_2[i] = where(testf1 and params EQ 2, countindf1_2x); index of temperature of this stellar population in the val array countindf1_2[i] = countindf1_2x indf1_3[i] = where(testf1 and params EQ 3, countindf1_3x); index of distance of this stellar population in the val array countindf1_3[i] = countindf1_3x indf1_4[i] = where(testf1 and params EQ 4, countindf1_4x); index of the nstars of this stellar population in the val array countindf1_4[i] = countindf1_4x ENDFOR ENDIF ; Locating the F2 stellar population parameters testf2 = strupcase(strmid(key,0,2)) EQ 'F2' ind = where(testf2,countindf2) ; retrieveing the defaut values from the txt database tstf2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf2,ctdatf2) if ctdatf2 ne 0 then begin T_eff_MS_f2 = double(T_eff_MS(indat)) R_star_MS_f2 = double(R_star_MS(indat)) endif IF countindf2 NE 0 THEN BEGIN lumclassF2 = lumclass(ind) nlmF2 = n_elements(lumclassF2) indF2_1 = fltarr(nlmF2) indF2_2 = testf2 indF2_3 = testf2 indF2_4 = testf2 countindF2_1 = testf2 countindF2_2 = testf2 countindF2_3 = testf2 countindF2_4 = testf2 FOR i=0L,nlmF2-1 DO BEGIN popnumber+=1 countf+=1 indf2_1[i] = where(testf2 and params EQ 1, countindf2_1x); index of radius of this stellar population in the val array countindf2_1[i] = countindf2_1x indf2_2[i] = where(testf2 and params EQ 2, countindf2_2x); index of temperature of this stellar population in the val array countindf2_2[i] = countindf2_2x indf2_3[i] = where(testf2 and params EQ 3, countindf2_3x); index of distance of this stellar population in the val array countindf2_3[i] = countindf2_3x indf2_4[i] = where(testf2 and params EQ 4, countindf2_4x); index of the nstars of this stellar population in the val array countindf2_4[i] = countindf2_4x ENDFOR ENDIF ; Locating the F3 stellar population parameters testf3 = strupcase(strmid(key,0,2)) EQ 'F3' ind = where(testf3,countindf3) ; retrieveing the defaut values from the txt database tstf3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf3,ctdatf3) if ctdatf3 ne 0 then begin T_eff_MS_f3 = double(T_eff_MS(indat)) R_star_MS_f3 = double(R_star_MS(indat)) endif IF countindf3 NE 0 THEN BEGIN lumclassF3 = lumclass(ind) nlmF3 = n_elements(lumclassF3) indF3_1 = fltarr(nlmF3) indF3_2 = indF3_1 indF3_3 = indF3_1 indF3_4 = indF3_1 countindF3_1 = indF3_1 countindF3_2 = indF3_1 countindF3_3 = indF3_1 countindF3_4 = indF3_1 FOR i=0L,nlmF3-1 DO BEGIN popnumber+=1 countf+=1 indf3_1[i] = where(testf3 and params EQ 1, countindf3_1x); index of radius of this stellar population in the val array countindf3_1[i] = countindf3_1x indf3_2[i] = where(testf3 and params EQ 2, countindf3_2x); index of temperature of this stellar population in the val array countindf3_2[i] = countindf3_2x indf3_3[i] = where(testf3 and params EQ 3, countindf3_3x); index of distance of this stellar population in the val array countindf3_3[i] = countindf3_3x indf3_4[i] = where(testf3 and params EQ 4, countindf3_4x); index of the nstars of this stellar population in the val array countindf3_4[i] = countindf3_4x ENDFOR ENDIF ; Locating the F4 stellar population parameters testf4 = strupcase(strmid(key,0,2)) EQ 'F4' ind = where(testf4,countindf4) ; retrieveing the defaut values from the txt database tstf4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf4,ctdatf4) if ctdatf4 ne 0 then begin T_eff_MS_f4 = double(T_eff_MS(indat)) R_star_MS_f4 = double(R_star_MS(indat)) endif IF countindf4 NE 0 THEN BEGIN lumclassF4 = lumclass(ind) nlmF4 = n_elements(lumclassF4) indF4_1 = fltarr(nlmF4) indF4_2 = indF4_1 indF4_3 = indF4_1 indF4_4 = indF4_1 countindF4_1 = indF4_1 countindF4_2 = indF4_1 countindF4_3 = indF4_1 countindF4_4 = indF4_1 FOR i=0L,nlmF4-1 DO BEGIN popnumber+=1 countf+=1 indf4_1[i] = where(testf4 and params EQ 1, countindf4_1x); index of radius of this stellar population in the val array countindf4_1[i] = countindf4_1x indf4_2[i] = where(testf4 and params EQ 2, countindf4_2x); index of temperature of this stellar population in the val array countindf4_2[i] = countindf4_2x indf4_3[i] = where(testf4 and params EQ 3, countindf4_3x); index of distance of this stellar population in the val array countindf4_3[i] = countindf4_3x indf4_4[i] = where(testf4 and params EQ 4, countindf4_4x); index of the nstars of this stellar population in the val array countindf4_4[i] = countindf4_4x ENDFOR ENDIF ; Locating the F5 stellar population parameters testf5 = strupcase(strmid(key,0,2)) EQ 'F5' ind = where(testf5,countindf5) ; retrieveing the defaut values from the txt database tstf5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf5,ctdatf5) if ctdatf5 ne 0 then begin T_eff_MS_f5 = double(T_eff_MS(indat)) R_star_MS_f5 = double(R_star_MS(indat)) endif IF countindf5 NE 0 THEN BEGIN lumclassF5 = lumclass(ind) nlmF5 = n_elements(lumclassF5) indF5_1 = fltarr(nlmF5) indF5_2 = indF5_1 indF5_3 = indF5_1 indF5_4 = indF5_1 countindF5_1 = indF5_1 countindF5_2 = indF5_1 countindF5_3 = indF5_1 countindF5_4 = indF5_1 FOR i=0L,nlmF5-1 DO BEGIN popnumber+=1 countf+=1 indf5_1[i] = where(testf5 and params EQ 1, countindf5_1x); index of radius of this stellar population in the val array countindf5_1[i] = countindf5_1x indf5_2[i] = where(testf5 and params EQ 2, countindf5_2x); index of temperature of this stellar population in the val array countindf5_2[i] = countindf5_2x indf5_3[i] = where(testf5 and params EQ 3, countindf5_3x); index of distance of this stellar population in the val array countindf5_3[i] = countindf5_3x indf5_4[i] = where(testf5 and params EQ 4, countindf5_4x); index of the nstars of this stellar population in the val array countindf5_4[i] = countindf5_4x ENDFOR ENDIF ; Locating the F6 stellar population parameters testf6 = strupcase(strmid(key,0,2)) EQ 'F6' ind = where(testf6,countindf6) ; retrieveing the defaut values from the txt database tstf6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf6,ctdatf6) if ctdatf6 ne 0 then begin T_eff_MS_f6 = double(T_eff_MS(indat)) R_star_MS_f6 = double(R_star_MS(indat)) endif IF countindf6 NE 0 THEN BEGIN lumclassF6 = lumclass(ind) nlmF6 = n_elements(lumclassF6) indF6_1 = fltarr(nlmF6) indF6_2 = indF6_1 indF6_3 = indF6_1 indF6_4 = indF6_1 countindF6_1 = indF6_1 countindF6_2 = indF6_1 countindF6_3 = indF6_1 countindF6_4 = indF6_1 FOR i=0L,nlmF6-1 DO BEGIN popnumber+=1 countf+=1 indf6_1[i] = where(testf6 and params EQ 1, countindf6_1x); index of radius of this stellar population in the val array countindf6_1[i] = countindf6_1x indf6_2[i] = where(testf6 and params EQ 2, countindf6_2x); index of temperature of this stellar population in the val array countindf6_2[i] = countindf6_2x indf6_3[i] = where(testf6 and params EQ 3, countindf6_3x); index of distance of this stellar population in the val array countindf6_3[i] = countindf6_3x indf6_4[i] = where(testf6 and params EQ 4, countindf6_4x); index of the nstars of this stellar population in the val array countindf6_4[i] = countindf6_4x ENDFOR ENDIF ; Locating the F7 stellar population parameters testf7 = strupcase(strmid(key,0,2)) EQ 'F7' ind = where(testf7,countindf7) ; retrieveing the defaut values from the txt database tstf7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf7,ctdatf7) if ctdatf7 ne 0 then begin T_eff_MS_f7 = double(T_eff_MS(indat)) R_star_MS_f7 = double(R_star_MS(indat)) endif IF countindf7 NE 0 THEN BEGIN umclassF7 = lumclass(ind) nlmF7 = n_elements(lumclassF7) indF7_1 = fltarr(nlmF7) indF7_2 = indF7_1 indF7_3 = indF7_1 indF7_4 = indF7_1 countindF7_1 = indF7_1 countindF7_2 = indF7_1 countindF7_3 = indF7_1 countindF7_4 = indF7_1 FOR i=0L,nlmF7-1 DO BEGIN popnumber+=1 countf+=1 indf7_1[i] = where(testf7 and params EQ 1, countindf7_1x); index of radius of this stellar population in the val array countindf7_1[i] = countindf7_1x indf7_2[i] = where(testf7 and params EQ 2, countindf7_2x); index of temperature of this stellar population in the val array countindf7_2[i] = countindf7_2x indf7_3[i] = where(testf7 and params EQ 3, countindf7_3x); index of distance of this stellar population in the val array countindf7_3[i] = countindf7_3x indf7_4[i] = where(testf7 and params EQ 4, countindf7_4x); index of the nstars of this stellar population in the val array countindf7_4[i] = countindf7_4x ENDFOR ENDIF ; Locating the F8 stellar population parameters testf8 = strupcase(strmid(key,0,2)) EQ 'F8' ind = where(testf8,countindf8) ; retrieveing the defaut values from the txt database tstf8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf8,ctdatf8) if ctdatf8 ne 0 then begin T_eff_MS_f8 = double(T_eff_MS(indat)) R_star_MS_f8 = double(R_star_MS(indat)) endif IF countindf8 NE 0 THEN BEGIN lumclassF8 = lumclass(ind) nlmF8 = n_elements(lumclassF8) indF8_1 = fltarr(nlmF8) indF8_2 = indF8_1 indF8_3 = indF8_1 indF8_4 = indF8_1 countindF8_1 = indF8_1 countindF8_2 = indF8_1 countindF8_3 = indF8_1 countindF8_4 = indF8_1 FOR i=0L,nlmF8-1 DO BEGIN popnumber+=1 countf+=1 indf8_1[i] = where(testf8 and params EQ 1, countindf8_1x); index of radius of this stellar population in the val array countindf8_1[i] = countindf8_1x indf8_2[i] = where(testf8 and params EQ 2, countindf8_2x); index of temperature of this stellar population in the val array countindf8_2[i] = countindf8_2x indf8_3[i] = where(testf8 and params EQ 3, countindf8_3x); index of distance of this stellar population in the val array countindf8_3[i] = countindf8_3x indf8_4[i] = where(testf8 and params EQ 4, countindf8_4x); index of the nstars of this stellar population in the val array countindf8_4[i] = countindf8_4x ENDFOR ENDIF ; Locating the F9 stellar population parameters testf9 = strupcase(strmid(key,0,2)) EQ 'F9' ind = where(testf9,countindf9) ; retrieveing the defaut values from the txt database tstf9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'F9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstf9,ctdatf9) if ctdatf9 ne 0 then begin T_eff_MS_f9 = double(T_eff_MS(indat)) R_star_MS_f9 = double(R_star_MS(indat)) endif IF countindf9 NE 0 THEN BEGIN lumclassF9 = lumclass(ind) nlmF9 = n_elements(lumclassF9) indF9_1 = fltarr(nlmF9) indF9_2 = indF9_1 indF9_3 = indF9_1 indF9_4 = indF9_1 countindF9_1 = indF9_1 countindF9_2 = indF9_1 countindF9_3 = indF9_1 countindF9_4 = indF9_1 FOR i=0L,nlmF9-1 DO BEGIN popnumber+=1 countf+=1 indf9_1[i] = where(testf9 and params EQ 1, countindf9_1x); index of radius of this stellar population in the val array countindf9_1[i] = countindf9_1x indf9_2[i] = where(testf9 and params EQ 2, countindf9_2x); index of temperature of this stellar population in the val array countindf9_2[i] = countindf9_2x indf9_3[i] = where(testf9 and params EQ 3, countindf9_3x); index of distance of this stellar population in the val array countindf9_3[i] = countindf9_3x indf9_4[i] = where(testf9 and params EQ 4, countindf9_4x); index of the nstars of this stellar population in the val array countindf9_4[i] = countindf9_4x ENDFOR ENDIF ;====================================================== ; Locating the G0 stellar population parameters testg0 = strupcase(strmid(key,0,2)) EQ 'G0' ind = where(testg0,countindg0) ; retrieveing the defaut values from the txt database tstg0 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G0' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg0,ctdatg0) if ctdatg0 ne 0 then begin T_eff_MS_g0 = double(T_eff_MS(indat)) R_star_MS_g0 = double(R_star_MS(indat)) endif IF countindg0 NE 0 THEN BEGIN lumclassG0 = lumclass(ind) nlmG0 = n_elements(lumclassG0) indG0_1 = fltarr(nlmG0) indG0_2 = indG0_1 indG0_3 = indG0_1 indG0_4 = indG0_1 countindG0_1 = indG0_1 countindG0_2 = indG0_1 countindG0_3 = indG0_1 countindG0_4 = indG0_1 FOR i=0L,nlmG0-1 DO BEGIN popnumber+=1 countg+=1 indg0_1[i] = where(testg0 and params EQ 1, countindg0_1x); index of radius of this stellar population in the val array countindg0_1[i] = countindg0_1x indg0_2[i] = where(testg0 and params EQ 2, countindg0_2x); index of temperature of this stellar population in the val array countindg0_2[i] = countindg0_2x indg0_3[i] = where(testg0 and params EQ 3, countindg0_3x); index of distance of this stellar population in the val array countindg0_3[i] = countindg0_3x indg0_4[i] = where(testg0 and params EQ 4, countindg0_4x); index of the nstars of this stellar population in the val array countindg0_4[i] = countindg0_4x ENDFOR ENDIF ; Locating the G1 stellar population parameters testg1 = strupcase(strmid(key,0,2)) EQ 'G1' ind = where(testg1,countindg1) ; retrieveing the defaut values from the txt database tstg1 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G1' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg1,ctdatg1) if ctdatg1 ne 0 then begin T_eff_MS_g1 = double(T_eff_MS(indat)) R_star_MS_g1 = double(R_star_MS(indat)) endif IF countindg1 NE 0 THEN BEGIN lumclassG1 = lumclass(ind) nlmG1 = n_elements(lumclassG1) indG1_1 = fltarr(nlmG1) indG1_2 = indG1_1 indG1_3 = indG1_1 indG1_4 = indG1_1 countindG1_1 = indG1_1 countindG1_2 = indG1_1 countindG1_3 = indG1_1 countindG1_4 = indG1_1 FOR i=0L,nlmG1-1 DO BEGIN popnumber+=1 countg+=1 indg1_1[i] = where(testg1 and params EQ 1, countindg1_1x); index of radius of this stellar population in the val array countindg1_1[i] = countindg1_1x indg1_2[i] = where(testg1 and params EQ 2, countindg1_2x); index of temperature of this stellar population in the val array countindg1_2[i] = countindg1_2x indg1_3[i] = where(testg1 and params EQ 3, countindg1_3x); index of distance of this stellar population in the val array countindg1_3[i] = countindg1_3x indg1_4[i] = where(testg1 and params EQ 4, countindg1_4x); index of the nstars of this stellar population in the val array countindg1_4[i] = countindg1_4x ENDFOR ENDIF ; Locating the G2 stellar population parameters testg2 = strupcase(strmid(key,0,2)) EQ 'G2' ind = where(testg2,countindg2) ;sun-like star ; retrieveing the defaut values from the txt database tstg2 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G2' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg2,ctdatg2) if ctdatg2 ne 0 then begin T_eff_MS_g2 = double(T_eff_MS(indat)) R_star_MS_g2 = double(R_star_MS(indat)) endif IF countindg2 NE 0 THEN BEGIN lumclassG2 = lumclass(ind) nlmG2 = n_elements(lumclassG2) indG2_1 = fltarr(nlmG2) indG2_2 = indG2_1 indG2_3 = indG2_1 indG2_4 = indG2_1 countindG2_1 = indG2_1 countindG2_2 = indG2_1 countindG2_3 = indG2_1 countindG2_4 = indG2_1 FOR i=0L,nlmG2-1 DO BEGIN popnumber+=1 countg+=1 indg2_1[i] = where(testg2 and params EQ 1, countindg2_1x); index of radius of this stellar population in the val array countindg2_1[i] = countindg2_1x indg2_2[i] = where(testg2 and params EQ 2, countindg2_2x); index of temperature of this stellar population in the val array countindg2_2[i] = countindg2_2x indg2_3[i] = where(testg2 and params EQ 3, countindg2_3x); index of distance of this stellar population in the val array countindg2_3[i] = countindg2_3x indg2_4[i] = where(testg2 and params EQ 4, countindg2_4x); index of the nstars of this stellar population in the val array countindg2_4[i] = countindg2_4x ENDFOR ENDIF ; Locating the G3 stellar population parameters testg3 = strupcase(strmid(key,0,2)) EQ 'G3' ind = where(testg3,countindg3) ; retrieveing the defaut values from the txt database tstg3 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G3' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg3,ctdatg3) if ctdatg3 ne 0 then begin T_eff_MS_g3 = double(T_eff_MS(indat)) R_star_MS_g3 = double(R_star_MS(indat)) endif IF countindg3 NE 0 THEN BEGIN lumclassG3 = lumclass(ind) nlmG3 = n_elements(lumclassG3) indG3_1 = fltarr(nlmG3) indG3_2 = indG3_1 indG3_3 = indG3_1 indG3_4 = indG3_1 countindG3_1 = indG3_1 countindG3_2 = indG3_1 countindG3_3 = indG3_1 countindG3_4 = indG3_1 FOR i=0L,nlmG3-1 DO BEGIN popnumber+=1 countg+=1 indg3_1[i] = where(testg3 and params EQ 1, countindg3_1x); index of radius of this stellar population in the val array countindg3_1[i] = countindg3_1x indg3_2[i] = where(testg3 and params EQ 2, countindg3_2x); index of temperature of this stellar population in the val array countindg3_2[i] = countindg3_2x indg3_3[i] = where(testg3 and params EQ 3, countindg3_3x); index of distance of this stellar population in the val array countindg3_3[i] = countindg3_3x indg3_4[i] = where(testg3 and params EQ 4, countindg3_4x); index of the nstars of this stellar population in the val array countindg3_4[i] = countindg3_4x ENDFOR ENDIF ; Locating the G4 stellar population parameters testg3 = strupcase(strmid(key,0,2)) EQ 'G4' ind = where(testg3,countindg4) ; retrieveing the defaut values from the txt database tstg4 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G4' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg4,ctdatg4) if ctdatg4 ne 0 then begin T_eff_MS_g4 = double(T_eff_MS(indat)) R_star_MS_g4 = double(R_star_MS(indat)) endif IF countindg4 NE 0 THEN BEGIN lumclassG4 = lumclass(ind) nlmG4 = n_elements(lumclassG4) indG4_1 = fltarr(nlmG4) indG4_2 = indG4_1 indG4_3 = indG4_1 indG4_4 = indG4_1 countindG4_1 = indG4_1 countindG4_2 = indG4_1 countindG4_3 = indG4_1 countindG4_4 = indG4_1 FOR i=0L,nlmG4-1 DO BEGIN popnumber+=1 countg+=1 indg4_1[i] = where(testg3 and params EQ 1, countindg4_1x); index of radius of this stellar population in the val array countindg4_1[i] = countindg4_1x indg4_2[i] = where(testg3 and params EQ 2, countindg4_2x); index of temperature of this stellar population in the val array countindg4_2[i] = countindg4_2x indg4_3[i] = where(testg3 and params EQ 3, countindg4_3x); index of distance of this stellar population in the val array countindg4_3[i] = countindg4_3x indg4_4[i] = where(testg3 and params EQ 4, countindg4_4x); index of the nstars of this stellar population in the val array countindg4_4[i] = countindg4_4x ENDFOR ENDIF ; Locating the G5 stellar population parameters testg5 = strupcase(strmid(key,0,2)) EQ 'G5' ind = where(testg5,countindg5) ; retrieveing the defaut values from the txt database tstg5 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G5' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg5,ctdatg5) if ctdatg5 ne 0 then begin T_eff_MS_g5 = double(T_eff_MS(indat)) R_star_MS_g5 = double(R_star_MS(indat)) endif IF countindg5 NE 0 THEN BEGIN lumclassG5 = lumclass(ind) nlmG5 = n_elements(lumclassG5) indG5_1 = fltarr(nlmG5) indG5_2 = indG5_1 indG5_3 = indG5_1 indG5_4 = indG5_1 countindG5_1 = indG5_1 countindG5_2 = indG5_1 countindG5_3 = indG5_1 countindG5_4 = indG5_1 FOR i=0L,nlmG5-1 DO BEGIN popnumber+=1 countg+=1 indg5_1[i] = where(testg5 and params EQ 1, countindg5_1x); index of radius of this stellar population in the val array countindg5_1[i] = countindg5_1x indg5_2[i] = where(testg5 and params EQ 2, countindg5_2x); index of temperature of this stellar population in the val array countindg5_2[i] = countindg5_2x indg5_3[i] = where(testg5 and params EQ 3, countindg5_3x); index of distance of this stellar population in the val array countindg5_3[i] = countindg5_3x indg5_4[i] = where(testg5 and params EQ 4, countindg5_4x); index of the nstars of this stellar population in the val array countindg5_4[i] = countindg5_4x ENDFOR ENDIF ; Locating the G6 stellar population parameters testg6 = strupcase(strmid(key,0,2)) EQ 'G6' ind = where(testg6,countindg6) ; retrieveing the defaut values from the txt database tstg6 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G6' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg6,ctdatg6) if ctdatg6 ne 0 then begin T_eff_MS_g6 = double(T_eff_MS(indat)) R_star_MS_g6 = double(R_star_MS(indat)) endif IF countindg6 NE 0 THEN BEGIN lumclassG6 = lumclass(ind) nlmG6 = n_elements(lumclassG6) indG6_1 = fltarr(nlmG6) indG6_2 = indG6_1 indG6_3 = indG6_1 indG6_4 = indG6_1 countindG6_1 = indG6_1 countindG6_2 = indG6_1 countindG6_3 = indG6_1 countindG6_4 = indG6_1 FOR i=0L,nlmG6-1 DO BEGIN popnumber+=1 countg+=1 indg6_1[i] = where(testg6 and params EQ 1, countindg6_1x); index of radius of this stellar population in the val array countindg6_1[i] = countindg6_1x indg6_2[i] = where(testg6 and params EQ 2, countindg6_2x); index of temperature of this stellar population in the val array countindg6_2[i] = countindg6_2x indg6_3[i] = where(testg6 and params EQ 3, countindg6_3x); index of distance of this stellar population in the val array countindg6_3[i] = countindg6_3x indg6_4[i] = where(testg6 and params EQ 4, countindg6_4x); index of the nstars of this stellar population in the val array countindg6_4[i] = countindg6_4x ENDFOR ENDIF ; Locating the G7 stellar population parameters testg7 = strupcase(strmid(key,0,2)) EQ 'G7' ind = where(testg7,countindg7) ; retrieveing the defaut values from the txt database tstg7 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G7' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg7,ctdatg7) if ctdatg7 ne 0 then begin T_eff_MS_g7 = double(T_eff_MS(indat)) R_star_MS_g7 = double(R_star_MS(indat)) endif IF countindg7 NE 0 THEN BEGIN lumclassG7 = lumclass(ind) nlmG7 = n_elements(lumclassG7) indG7_1 = fltarr(nlmG7) indG7_2 = indG7_1 indG7_3 = indG7_1 indG7_4 = indG7_1 countindG7_1 = indG7_1 countindG7_2 = indG7_1 countindG7_3 = indG7_1 countindG7_4 = indG7_1 FOR i=0L,nlmG7-1 DO BEGIN popnumber+=1 countg+=1 indg7_1[i] = where(testg7 and params EQ 1, countindg7_1x); index of radius of this stellar population in the val array countindg7_1[i] = countindg7_1x indg7_2[i] = where(testg7 and params EQ 2, countindg7_2x); index of temperature of this stellar population in the val array countindg7_2[i] = countindg7_2x indg7_3[i] = where(testg7 and params EQ 3, countindg7_3x); index of distance of this stellar population in the val array countindg7_3[i] = countindg7_3x indg7_4[i] = where(testg7 and params EQ 4, countindg7_4x); index of the nstars of this stellar population in the val array countindg7_4[i] = countindg7_4x ENDFOR ENDIF ; Locating the G8 stellar population parameters testg8 = strupcase(strmid(key,0,2)) EQ 'G8' ind = where(testg8,countindg8) ; retrieveing the defaut values from the txt database tstg8 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G8' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg8,ctdatg8) if ctdatg8 ne 0 then begin T_eff_MS_g8 = double(T_eff_MS(indat)) R_star_MS_g8 = double(R_star_MS(indat)) endif IF countindg8 NE 0 THEN BEGIN lumclassG8 = lumclass(ind) nlmG8 = n_elements(lumclassG8) indG8_1 = fltarr(nlmG8) indG8_2 = indG8_1 indG8_3 = indG8_1 indG8_4 = indG8_1 countindG8_1 = indG8_1 countindG8_2 = indG8_1 countindG8_3 = indG8_1 countindG8_4 = indG8_1 FOR i=0L,nlmG8-1 DO BEGIN popnumber+=1 countg+=1 indg8_1[i] = where(testg8 and params EQ 1, countindg8_1x); index of radius of this stellar population in the val array countindg8_1[i] = countindg8_1x indg8_2[i] = where(testg8 and params EQ 2, countindg8_2x); index of temperature of this stellar population in the val array countindg8_2[i] = countindg8_2x indg8_3[i] = where(testg8 and params EQ 3, countindg8_3x); index of distance of this stellar population in the val array countindg8_3[i] = countindg8_3x indg8_4[i] = where(testg8 and params EQ 4, countindg8_4x); index of the nstars of this stellar population in the val array countindg8_4[i] = countindg8_4x ENDFOR ENDIF ; Locating the G9 stellar population parameters testg9 = strupcase(strmid(key,0,2)) EQ 'G9' ind = where(testg9,countindg9) ; retrieveing the defaut values from the txt database tstg9 = strtrim(strmid(SpecType_MS,0,2),2) EQ 'G9' and strtrim(strmid(SpecType_MS,2,1),2) NE '.' indat = where(tstg9,ctdatg9) if ctdatg9 ne 0 then begin T_eff_MS_g9 = double(T_eff_MS(indat)) R_star_MS_g9 = double(R_star_MS(indat)) endif IF countindg9 NE 0 THEN BEGIN lumclassG9 = lumclass(ind) nlmG9 = n_elements(lumclassG9) indG9_1 = fltarr(nlmG9) indG9_2 = indG9_1 indG9_3 = indG9_1 indG9_4 = indG9_1 countindG9_1 = indG9_1 countindG9_2 = indG9_1 countindG9_3 = indG9_1 countindG9_4 = indG9_1 FOR i=0L,nlmG9-1 DO BEGIN popnumber+=1 countg+=1 indg9_1[i] = where(testg9 and params EQ 1, countindg9_1x); index of radius of this stellar population in the val array countindg9_1[i] = countindg9_1x indg9_2[i] = where(testg9 and params EQ 2, countindg9_2x); index of temperature of this stellar population in the val array countindg9_2[i] = countindg9_2x indg9_3[i] = where(testg9 and params EQ 3, countindg9_3x); index of distance of this stellar population in the val array countindg9_3[i] = countindg9_3x indg9_4[i] = where(testg9 and params EQ 4, countindg9_4x); index of the nstars of this stellar population in the val array countindg9_4[i] = countindg9_4x ENDFOR ENDIF 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 ;stop ;Filling the tags of the compsite stellar population structure using the indices defined above FOR i=0L,popnumber-1 DO BEGIN ; Looping over all the structure fields IF counto NE 0 THEN BEGIN ; Filling the structure of the O STELLAR POPULATION(S) FOR k=0L,counto-1 DO BEGIN IF countindo3 NE 0 THEN BEGIN FOR l=0L,nlmO3-1 DO BEGIN comp_pop(k+i+l).popid = 'O3'+lumclasso3(l)+'_stellar_population' IF countindo3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo3_1[l]))(0)*rsun2cm ELSE BEGIN ; IF lumclasso3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants ; IF lumclasso3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants ; IF lumclasso3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants ; IF lumclasso3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ;Less luminous supergiants ; IF lumclasso3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants ; IF lumclasso3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants ; IF lumclasso3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants 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 ; IF lumclasso3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs ; IF lumclasso3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs ENDELSE IF countindo3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo3_2[l]))(0) ELSE BEGIN ; IF lumclasso3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o3;44.9e3 ;(K) ; IF lumclasso3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo3 ENDIF IF countindo4 NE 0 THEN BEGIN FOR l=0L,nlmO4-1 DO BEGIN comp_pop(k+i+l).popid = 'O4'+lumclasso4(l)+'_stellar_population' IF countindo4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo4_1[l]))(0)*rsun2cm ELSE BEGIN ; IF lumclasso4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants ; IF lumclasso4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants ; IF lumclasso4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants ; IF lumclasso4(l) EQ 'IB' THEN comp_pop(k+i+l).radius ;Less luminous supergiants ; IF lumclasso4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants ; IF lumclasso4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants ; IF lumclasso4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants 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 ; IF lumclasso4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs ; IF lumclasso4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs ENDELSE IF countindo4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo4_2[l]))(0) ELSE BEGIN ; IF lumclasso4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o4;42.9e3 ; IF lumclasso4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo4 ENDIF IF countindo5 NE 0 THEN BEGIN FOR l=0L,nlmo5-1 DO BEGIN comp_pop(k+i+l).popid = 'O5'+lumclasso5(l)+'_stellar_population' IF countindo5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo5_1[l]))(0)*rsun2cm ELSE BEGIN ; IF lumclasso5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ;Hypergiants or extremely luminous supergiants ; IF lumclasso5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ;Luminos supergiants ; IF lumclasso5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ;Intermediate-size luminous supergiants ; IF lumclasso5(l) EQ 'IB' THEN comp_pop(k+i+l).radius ;Less luminous supergiants ; IF lumclasso5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ;Bright giants ; IF lumclasso5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ;Normal giants ; IF lumclasso5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = ;Subgiants 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 ; IF lumclasso5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ;Subdwarfs ; IF lumclasso5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ;White dwarfs ENDELSE IF countindo5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo5_2[l]))(0) ELSE BEGIN ; IF lumclasso5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o5;41.4e3 ; IF lumclasso5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo5 ENDIF IF countindo6 NE 0 THEN BEGIN FOR l=0L,nlmo6-1 DO BEGIN comp_pop(k+i+l).popid = 'O6'+lumclasso6(l)+'_stellar_population' IF countindo6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo6_1[l]))(0)*rsun2cm ELSE BEGIN ; IF lumclasso6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclasso6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o6*rsun2cm;10.71*rsun2cm ; IF lumclasso6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclasso6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindo6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo6_2[l]))(0) ELSE BEGIN ; IF lumclasso6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o6;39.5e3 ; IF lumclasso6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo6 ENDIF IF countindo7 NE 0 THEN BEGIN FOR l=0L,nlmo7-1 DO BEGIN comp_pop(k+l+i).popid = 'O7'+lumclasso7(l)+'_stellar_population' IF countindo7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo7_1[l]))(0) ELSE BEGIN ; IF lumclasso7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclasso7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o7*rsun2cm;9.52*rsun2cm ; IF lumclasso7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclasso7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindo7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo7_2[l]))(0) ELSE BEGIN ; IF lumclasso7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o7;37.1e3 ; IF lumclasso7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo7 ENDIF IF countindo8 NE 0 THEN BEGIN FOR l=0L,nlmo8-1 DO BEGIN comp_pop(k+i+l).popid = 'O8'+lumclasso8(l)+'_stellar_population' IF countindo8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo8_1[l]))(0) ELSE BEGIN ; IF lumclasso8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclasso8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o8*rsun2cm;8.5*rsun2cm ; IF lumclasso8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclasso8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindo8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo8_2[l]))(0) ELSE BEGIN ; IF lumclasso8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o8*rsun2cm;35.1e3 ; IF lumclasso8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo8 ENDIF IF countindo9 NE 0 THEN BEGIN FOR l=0L,nlmo9-1 DO BEGIN comp_pop(k+i+l).popid = 'O9'+lumclasso9(l)+'_stellar_population' IF countindo9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indo9_1[l]))(0) ELSE BEGIN ; IF lumclasso9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclasso9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = 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) ; IF lumclasso9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclasso9(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclasso9(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclasso9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclasso9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_o9*rsun2cm;7.51*rsun2cm ; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclasso9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindo9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indo9_2[l]))(0) ELSE BEGIN ; IF lumclasso9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasso9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = 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) ; IF lumclasso9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasso9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasso9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasso9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasso9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_o9*rsun2cm;33.3e3 ; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasso9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmo9 ENDIF ENDFOR counto=0L i+=k-1 ENDIF ;============================================================================================== IF countb NE 0 THEN BEGIN ; Filling the structure of the B STELLAR POPULATION(S) FOR k=0L,countb-1 DO BEGIN IF countindb0 NE 0 THEN BEGIN FOR l=0L,nlmb0-1 DO BEGIN comp_pop(k+i+l).popid = 'B0'+lumclassb0(l)+'_stellar_population' IF countindb0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb0_1[l]))(0) ELSE BEGIN ; IF lumclassb0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b0*rsun2cm;7.16*rsun2cm ; IF lumclassb0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb0_2[l]))(0) ELSE BEGIN ; IF lumclasb0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b0;31.4e3 ; IF lumclasb0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb0 ENDIF IF countindb1 NE 0 THEN BEGIN FOR l=0L,nlmb1-1 DO BEGIN comp_pop(k+i+l).popid = 'B1'+lumclassb1(l)+'_stellar_population' IF countindb1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb1_1[l]))(0) ELSE BEGIN ; IF lumclassb1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'III' THEN comp_pop(k+i+l).radius = IF lumclassb1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = 7.3*rsun2cm ;taken from Alnitak Ab's data. IF lumclassb1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b1*rsun2cm;5.71*rsun2cm ; IF lumclassb1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb1_2[l]))(0) ELSE BEGIN ; IF lumclassb1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassb1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassb1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassb1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassb1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = IF lumclassb1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = 29.0e3 ;taken from Alnitak Ab's data. IF lumclassb1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b1*rsun2cm;26.0e3 ; IF lumclassb1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassb1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb1 ENDIF IF countindb2 NE 0 THEN BEGIN FOR l=0L,nlmb2-1 DO BEGIN comp_pop(k+i+l).popid = 'B2'+lumclassb2(l)+'_stellar_population' IF countindb2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb2_1[l]))(0) ELSE BEGIN ; IF lumclassb2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b2*rsun2cm;4.06*rsun2cm ; IF lumclassb2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb2_2[l]))(0) ELSE BEGIN ; IF lumclasb2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b2;20.6e3 ; IF lumclasb2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb2 ENDIF IF countindb3 NE 0 THEN BEGIN FOR l=0L,nlmb3-1 DO BEGIN comp_pop(k+i+l).popid = 'B3'+lumclassb3(l)+'_stellar_population' IF countindb3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb3_1[l]))(0) ELSE BEGIN ; IF lumclassb3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b3*rsun2cm;3.61*rsun2cm ; IF lumclassb3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb3_2[l]))(0) ELSE BEGIN ; IF lumclasb3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b3;17.0e3 ; IF lumclasb3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb3 ENDIF IF countindb4 NE 0 THEN BEGIN FOR l=0L,nlmb4-1 DO BEGIN comp_pop(k+i+l).popid = 'B4'+lumclassb4(l)+'_stellar_population' IF countindb4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb4_1[l]))(0) ELSE BEGIN ; IF lumclassb4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b4*rsun2cm;3.46*rsun2cm ; IF lumclassb4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb4_2[l]))(0) ELSE BEGIN ; IF lumclasb4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b4;16.4e3 ; IF lumclasb4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb4 ENDIF IF countindb5 NE 0 THEN BEGIN FOR l=0L,nlmb5-1 DO BEGIN comp_pop(k+i+l).popid = 'B5'+lumclassb5(l)+'_stellar_population' IF countindb5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb5_1[l]))(0) ELSE BEGIN ; IF lumclassb5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b5*rsun2cm;3.36*rsun2cm ; IF lumclassb5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb5_2[l]))(0) ELSE BEGIN ; IF lumclasb5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b5;15.7e3 ; IF lumclasb5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb5 ENDIF IF countindb6 NE 0 THEN BEGIN FOR l=0L,nlmb6-1 DO BEGIN comp_pop(k+i+l).popid = 'B6'+lumclassb6(l)+'_stellar_population' IF countindb6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb6_1[l]))(0) ELSE BEGIN ; IF lumclassb6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b6*rsun2cm;3.27*rsun2cm ; IF lumclassb6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb6_2[l]))(0) ELSE BEGIN ; IF lumclasb6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b6;14.5e3 ; IF lumclasb6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb6 ENDIF IF countindb7 NE 0 THEN BEGIN FOR l=0L,nlmb7-1 DO BEGIN comp_pop(k+i+l).popid = 'B7'+lumclassb7(l)+'_stellar_population' IF countindb7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb7_1[l]))(0) ELSE BEGIN ; IF lumclassb7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b7*rsun2cm;2.94*rsun2cm ; IF lumclassb7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb7_2[l]))(0) ELSE BEGIN ; IF lumclasb7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b7;14.0e3 ; IF lumclasb7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb7 ENDIF IF countindb8 NE 0 THEN BEGIN FOR l=0L,nlmb7-1 DO BEGIN comp_pop(k+i+l).popid = 'B8'+lumclassb8(l)+'_stellar_population' IF countindb8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb8_1[l]))(0) ELSE BEGIN ; IF lumclassb8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b8*rsun2cm;2.86*rsun2cm ; IF lumclassb8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb8_2[l]))(0) ELSE BEGIN ; IF lumclasb8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b8;12.3e3 ; IF lumclasb8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb8 ENDIF IF countindb9 NE 0 THEN BEGIN FOR l=0L,nlmb9-1 DO BEGIN comp_pop(k+i+l).popid = 'B9'+lumclassb9(l)+'_stellar_population' IF countindb9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indb9_1[l]))(0) ELSE BEGIN ; IF lumclassb9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassb9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_b9*rsun2cm;2.49*rsun2cm ; IF lumclassb9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassb9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindb9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indb9_2[l]))(0) ELSE BEGIN ; IF lumclasb9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasb9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_b9;10.7e3 ; IF lumclasb9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasb9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmb9 ENDIF ENDFOR countb=0. i+=k-1 ENDIF ;============================================================================================== IF counta NE 0 THEN BEGIN ; Filling the structure of the A STELLAR POPULATION(S) FOR k=0L+i,counta-1+i DO BEGIN IF countinda0 NE 0 THEN BEGIN FOR l=0L,nlma0-1 DO BEGIN comp_pop(k+i+l).popid = 'A0'+lumclassa0(l)+'_stellar_population' IF countinda0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda0_1[l]))(0) ELSE BEGIN ; IF lumclassa0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a0*rsun2cm;2.193*rsun2cm ; IF lumclassa0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda0_2[l]))(0) ELSE BEGIN ; IF lumclasa0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa0(l) EQ 'V' THEN comp_pop(k+i+l).temperature =T_eff_MS_a0; 9.7e3 ; IF lumclasa0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma0 ENDIF IF countinda1 NE 0 THEN BEGIN FOR l=0L,nlma1-1 DO BEGIN comp_pop(k+i+l).popid = 'A1'+lumclassa1(l)+'_stellar_population' IF countinda1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda1_1[l]))(0) ELSE BEGIN ; IF lumclassa1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a1*rsun2cm;2.136*rsun2cm ; IF lumclassa1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda1_2[l]))(0) ELSE BEGIN ; IF lumclasa1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a1;9.3e3 ; IF lumclasa1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ; K+=1 ENDFOR k+=nlma1 ENDIF IF countinda2 NE 0 THEN BEGIN FOR l=0L,nlma2-1 DO BEGIN comp_pop(k+i+l).popid = 'A2'+lumclassa2(l)+'_stellar_population' IF countinda2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda2_1[l]))(0) ELSE BEGIN ; IF lumclassa2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a2*rsun2cm;2.117*rsun2cm ; IF lumclassa2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda2_2[l]))(0) ELSE BEGIN ; IF lumclasa2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a2;8.8e3 ; IF lumclasa2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma2 ENDIF IF countinda3 NE 0 THEN BEGIN FOR l=0L,nlma3-1 DO BEGIN comp_pop(k+i+l).popid = 'A3'+lumclassa3(l)+'_stellar_population' IF countinda3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda3_1[l]))(0) ELSE BEGIN ; IF lumclassa3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a3*rsun2cm;1.861*rsun2cm ; IF lumclassa3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda3_2[l]))(0) ELSE BEGIN ; IF lumclasa3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a3;8.6e3 ; IF lumclasa3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma3 ENDIF IF countinda4 NE 0 THEN BEGIN FOR l=0L,nlma4-1 DO BEGIN comp_pop(k+i+l).popid = 'A4'+lumclassa4(l)+'_stellar_population' IF countinda4_1 NE 0 THEN comp_pop(k+i+l).radius = (val(inda4_1))(0) ELSE BEGIN ; IF lumclassa4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a4*rsun2cm;1.794*rsun2cm ; IF lumclassa4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda4_2 NE 0 THEN comp_pop(k+i+l).temperature = (val(inda4_2))(0) ELSE BEGIN ; IF lumclasa4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a4;8.25e3 ; IF lumclasa4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma4 ENDIF IF countinda5 NE 0 THEN BEGIN FOR l=0L,nlma5-1 DO BEGIN comp_pop(k+i+l).popid = 'A5'+lumclassa5(l)+'_stellar_population' IF countinda5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda5_1[l]))(0) ELSE BEGIN ; IF lumclassa5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa5(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_a5*rsun2cm;1.785*rsun2cm ; IF lumclassa5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda5_2[l]))(0) ELSE BEGIN ; IF lumclasa5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a5;8.1e3 ; IF lumclasa5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma5 ENDIF IF countinda6 NE 0 THEN BEGIN FOR l=0L,nlma6-1 DO BEGIN comp_pop(k+i+l).popid = 'A6'+lumclassa6(l)+'_stellar_population' IF countinda6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda6_1[l]))(0) ELSE BEGIN ; IF lumclassa6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a6*rsun2cm;1.775*rsun2cm ; IF lumclassa6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda6_2[l]))(0) ELSE BEGIN ; IF lumclasa6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a6;7.91e3 ; IF lumclasa6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma6 ENDIF IF countinda7 NE 0 THEN BEGIN FOR l=0L,nlma7-1 DO BEGIN comp_pop(k+i+l).popid = 'A7'+lumclassa7(l)+'_stellar_population' IF countinda7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda7_1[l]))(0) ELSE BEGIN ; IF lumclassa7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a7*rsun2cm;1.75*rsun2cm ; IF lumclassa7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda7_2[l]))(0) ELSE BEGIN ; IF lumclasa7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a7;7.76e3 ; IF lumclasa7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma7 ENDIF IF countinda8 NE 0 THEN BEGIN FOR l=0L,nlma8-1 DO BEGIN comp_pop(k+i+l).popid = 'A8'+lumclassa8(l)+'_stellar_population' IF countinda8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda8_1[l]))(0) ELSE BEGIN ; IF lumclassa8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a8*rsun2cm;1.747*rsun2cm ; IF lumclassa8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda8_2[l]))(0) ELSE BEGIN ; IF lumclasa8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a8;7.590e3 ; IF lumclasa8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma8 ENDIF IF countinda9 NE 0 THEN BEGIN FOR l=0L,nlma9-1 DO BEGIN comp_pop(k+i+l).popid = 'A9'+lumclassa9(l)+'_stellar_population' IF countinda9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(inda9_1[l]))(0) ELSE BEGIN ; IF lumclassa9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassa9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_a9*rsun2cm;1.747*rsun2cm ; IF lumclassa9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassa9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countinda9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(inda9_2[l]))(0) ELSE begin ; IF lumclasa9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclasa9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_a9;7.4e3 ; IF lumclasa9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclasa9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlma9 ENDIF ENDFOR counta=0. i+=k-1 ENDIF ;============================================================================================== IF countf NE 0 THEN BEGIN ; Filling the structure of the F STELLAR POPULATION(S) FOR k=0L+i,countf-1+i DO BEGIN IF countindf0 NE 0 THEN BEGIN FOR l=0L,nlmaf0-1 DO BEGIN comp_pop(k+i+l).popid = 'F0'+lumclassf0(l)+'_stellar_population' IF countindf0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf0_1[l]))(0) ELSE BEGIN ; IF lumclassf0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf0(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_f0*rsun2cm;1.728*rsun2cm ; IF lumclassf0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf0_2[l]))(0) ELSE BEGIN ; IF lumclassf0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f0;7.22e3 ; IF lumclassf0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf0 ENDIF IF countindf1 NE 0 THEN BEGIN FOR l=0L,nlmaf1-1 DO BEGIN comp_pop(k+i+l).popid = 'F1'+lumclassf1(l)+'_stellar_population' IF countindf1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf1_1[l]))(0) ELSE BEGIN ; IF lumclassf1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf1(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f1*rsun2cm;1.679*rsun2cm ; IF lumclassf1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf1_2[l]))(0) ELSE BEGIN ; IF lumclassf1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f1;7.02e3 ; IF lumclassf1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf1(l) EQ 'VIII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf1 ENDIF IF countindf2 NE 0 THEN BEGIN FOR l=0L,nlmaf2-1 DO BEGIN comp_pop(k+i+l).popid = 'F2'+lumclassf2(l)+'_stellar_population' IF countindf2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf2_1[l]))(0) ELSE BEGIN ; IF lumclassf2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f2*rsun2cm;1.622*rsun2cm ; IF lumclassf2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf2_2[l]))(0) ELSE BEGIN ; IF lumclassf2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f2;6.820e3 ; IF lumclassf2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf2 ENDIF IF countindf3 NE 0 THEN BEGIN FOR l=0L,nlmaf3-1 DO BEGIN comp_pop(k+i+l).popid = 'F3'+lumclassf3(l)+'_stellar_population' IF countindf3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf3_1[l]))(0) ELSE BEGIN ; IF lumclassf3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f3*rsun2cm;1.578*rsun2cm ; IF lumclassf3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf3_2[l]))(0) ELSE BEGIN ; IF lumclassf3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f3;6.75e3 ; IF lumclassf3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf3 ENDIF IF countindf4 NE 0 THEN BEGIN FOR l=0L,nlmaf4-1 DO BEGIN comp_pop(k+i+l).popid = 'F4'+lumclassf4(l)+'_stellar_population' IF countindf4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf4_1[l]))(0) ELSE BEGIN ; IF lumclassf4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f4*rsun2cm;1.533*rsun2cm ; IF lumclassf4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf4_2[l]))(0) ELSE BEGIN ; IF lumclassf4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f4;6.67e3 ; IF lumclassf4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf4 ENDIF IF countindf5 NE 0 THEN BEGIN FOR l=0L,nlmaf5-1 DO BEGIN comp_pop(k+i+l).popid = 'F5'+lumclassf5(l)+'_stellar_population' IF countindf5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf5_1[l]))(0) ELSE BEGIN ; IF lumclassf5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f5*rsun2cm;1.473*rsun2cm ; IF lumclassf5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf5_2[l]))(0) ELSE BEGIN ; IF lumclassf5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f5;6.55e3 ; IF lumclassf5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf5 ENDIF IF countindf6 NE 0 THEN BEGIN FOR l=0L,nlmaf6-1 DO BEGIN comp_pop(k+i+l).popid = 'F6'+lumclassf6(l)+'_stellar_population' IF countindf6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf6_1[l]))(0) ELSE BEGIN ; IF lumclassf6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f6*rsun2cm;1.359*rsun2cm ; IF lumclassf6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf6_2[l]))(0) ELSE BEGIN ; IF lumclassf6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f6;6.35e3 ; IF lumclassf6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf6 ENDIF IF countindf7 NE 0 THEN BEGIN FOR l=0L,nlmaf7-1 DO BEGIN comp_pop(k+i+l).popid = 'F7'+lumclassf7(l)+'_stellar_population' IF countindf7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf7_1[l]))(0) ELSE BEGIN ; IF lumclassf7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f7*rsun2cm;1.324*rsun2cm ; IF lumclassf7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf7_2[l]))(0) ELSE BEGIN ; IF lumclassf7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf7(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f7;6.28e3 ; IF lumclassf7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf7 ENDIF IF countindf8 NE 0 THEN BEGIN FOR l=0L,nlmaf8-1 DO BEGIN comp_pop(k+i+l).popid = 'F8'+lumclassf8(l)+'_stellar_population' IF countindf8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf8_1[l]))(0) ELSE BEGIN ; IF lumclassf8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f8*rsun2cm;1.221*rsun2cm ; IF lumclassf8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf8_2[l]))(0) ELSE BEGIN ; IF lumclassf8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f8;6.18e3 ; IF lumclassf8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf8(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf8 ENDIF IF countindf9 NE 0 THEN BEGIN FOR l=0L,nlmaf9-1 DO BEGIN comp_pop(k+i+l).popid = 'F9'+lumclassf9(l)+'_stellar_population' IF countindf9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indf9_1[l]))(0) ELSE BEGIN ; IF lumclassf9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassf9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_f9*rsun2cm;1.167*rsun2cm ; IF lumclassf9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassf9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindf9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indf9_2[l]))(0) ELSE BEGIN ; IF lumclassf9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassf9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_f9;6.05e3 ; IF lumclassf9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassf9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmf9 ENDIF ENDFOR countf=0. i+=k-1 ENDIF ;============================================================================================== IF countg NE 0 THEN BEGIN ; Filling the structure of the G STELLAR POPULATION(S) FOR k=0L+i,countg-1+i DO BEGIN IF countindg0 NE 0 THEN BEGIN FOR l=0L,nlmg0-1 DO BEGIN comp_pop(k+i+l).popid = 'G0'+lumclassg0(l)+'_stellar_population' IF countindg0_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg0_1[l]))(0) ELSE BEGIN ; IF lumclassg0(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg0(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g0*rsun2cm;1.1*rsun2cm ; IF lumclassg0(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg0(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg0_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg0_2[l]))(0) ELSE BEGIN ; IF lumclassfg0(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg0(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g0;5.93e3 ; IF lumclassfg0(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg0(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg0 ENDIF IF countindg1 NE 0 THEN BEGIN FOR l=0L,nlmg1-1 DO BEGIN comp_pop(k+i+l).popid = 'G1'+lumclassg1(l)+'_stellar_population' IF countindg1_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg1_1[l]))(0) ELSE BEGIN ; IF lumclassg1(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg1(l) EQ 'V' THEN omp_pop(k+i+l).radius = R_star_MS_g1*rsun2cm;1.06*rsun2cm ; IF lumclassg1(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg1(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg1_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg1_2[l]))(0) ELSE begin ; IF lumclassfg1(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg1(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g1;5.86e3 ; IF lumclassfg1(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg1(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg1 ENDIF IF countindg2 NE 0 THEN BEGIN FOR l=0L,nlmg2-1 DO BEGIN comp_pop(k+i+l).popid = 'G2'+lumclassg2(l)+'_stellar_population' IF countindg2_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg2_1[l]))(0) ELSE BEGIN ; IF lumclassg2(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg2(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g2*rsun2cm;1.012*rsun2cm ; IF lumclassg2(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg2(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg2_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg2_2[l]))(0) ELSE BEGIN ; IF lumclassfg2(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg2(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g2;5.77e3 ; IF lumclassfg2(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg2(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg2 ENDIF IF countindg3 NE 0 THEN BEGIN FOR l=0L,nlmg3-1 DO BEGIN comp_pop(k+i+l).popid = 'G3'+lumclassg3(l)+'_stellar_population' IF countindg3_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg3_1[l]))(0) ELSE BEGIN ; IF lumclassg3(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg3(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g3*rsun2cm;1.002*rsun2cm ; IF lumclassg3(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg3(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg3_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg3_2[l]))(0) ELSE BEGIN ; IF lumclassfg3(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg3(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g3;5.72e3 ; IF lumclassfg3(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg3(l) EQ 'VII' THEN comp_pop(k+i+l).temperature ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg3 ENDIF IF countindg4 NE 0 THEN BEGIN FOR l=0L,nlmg4-1 DO BEGIN comp_pop(k+i+l).popid = 'G4'+lumclassg4(l)+'_stellar_population' IF countindg4_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg4_1[l]))(0) ELSE BEGIN ; IF lumclassg4(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg4(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g4*rsun2cm;0.991*rsun2cm ; IF lumclassg4(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg4(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg4_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg4_2[l]))(0) ELSE BEGIN ; IF lumclassfg4(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg4(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g4;5.68e3 ; IF lumclassfg4(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg4(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg4 ENDIF IF countindg5 NE 0 THEN BEGIN FOR l=0L,nlmg5-1 DO BEGIN comp_pop(k+i+l).popid = 'G5'+lumclassg5(l)+'_stellar_population' IF countindg5_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg5_1[l]))(0) ELSE BEGIN ; IF lumclassg5(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg5(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g5*rsun2cm;0.977*rsun2cm ; IF lumclassg5(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg5(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg5_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg5_2[l]))(0) ELSE BEGIn ; IF lumclassfg5(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg5(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g5;5.66e3 ; IF lumclassfg5(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg5(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg5 ENDIF IF countindg6 NE 0 THEN BEGIN FOR l=0L,nlmg6-1 DO BEGIN comp_pop(k+i+l).popid = 'G6'+lumclassg6(l)+'_stellar_population' IF countindg6_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg6_1[l]))(0) ELSE BEGIN ; IF lumclassg6(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg6(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g6*rsun2cm;0.949*rsun2cm ; IF lumclassg6(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg6(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg6_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg6_2[l]))(0) ELSE BEGIN ; IF lumclassfg6(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg6(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g6;5.6e3 ; IF lumclassfg6(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg6(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg6 ENDIF IF countindg7 NE 0 THEN BEGIN FOR l=0L,nlmg7-1 DO BEGIN comp_pop(k+i+l).popid = 'G7'+lumclassg7(l)+'_stellar_population' IF countindg7_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg7_1[l]))(0) ELSE BEGIN ; IF lumclassg7(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg7(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g7*rsun2cm;0.927*rsun2cm ; IF lumclassg7(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg7(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg7_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg7_2[l]))(0) ELSE BEGIN ; IF lumclassfg7(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg7(l) EQ 'V' THEN ccomp_pop(k+i+l).temperature = T_eff_MS_g7;5.55e3 ; IF lumclassfg7(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg7(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg7 ENDIF IF countindg8 NE 0 THEN BEGIN FOR l=0L,nlmg8-1 DO BEGIN comp_pop(k+i+l).popid = 'G8'+lumclassg8(l)+'_stellar_population' IF countindg8_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg8_1[l]))(0) ELSE BEGIN ; IF lumclassg8(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg8(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g8*rsun2cm;0.914*rsun2cm ; IF lumclassg8(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg8(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg8_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg8_2[l]))(0) ELSE BEGIN ; IF lumclassfg8(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg8(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g8;5.48e3 ; IF lumclassfg8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg8(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg8 ENDIF IF countindg9 NE 0 THEN BEGIN FOR l=0L,nlmg9-1 DO BEGIN comp_pop(k+i+l).popid = 'G9'+lumclassg9(l)+'_stellar_population' IF countindg9_1[l] NE 0 THEN comp_pop(k+i+l).radius = (val(indg9_1[l]))(0) ELSE BEGIN ; IF lumclassg9(l) EQ 'IA+' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'IA' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'IAB' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'IB' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'II' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'III' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'IV' THEN comp_pop(k+i+l).radius = IF lumclassg9(l) EQ 'V' THEN comp_pop(k+i+l).radius = R_star_MS_g9*rsun2cm;0.853*rsun2cm ; IF lumclassg9(l) EQ 'VI' THEN comp_pop(k+i+l).radius = ; IF lumclassg9(l) EQ 'VII' THEN comp_pop(k+i+l).radius = ENDELSE IF countindg9_2[l] NE 0 THEN comp_pop(k+i+l).temperature = (val(indg9_2[l]))(0) ELSE BEGIN ; IF lumclassfg9(l) EQ 'IA+' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'IA' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'IAB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'IB' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'II' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'III' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'IV' THEN comp_pop(k+i+l).temperature = IF lumclassfg9(l) EQ 'V' THEN comp_pop(k+i+l).temperature = T_eff_MS_g9;5.38e3 ; IF lumclassfg9(l) EQ 'VI' THEN comp_pop(k+i+l).temperature = ; IF lumclassfg9(l) EQ 'VII' THEN comp_pop(k+i+l).temperature = ENDELSE 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 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 ;K+=1 ENDFOR k+=nlmg9 ENDIF ENDFOR countg=0. i+=k-1 ENDIF ;============================================================================================== ENDFOR st=((*!dustem_params).isrf) c2a = 3e18 ;speed of light in ansgtroms/s (because of the Astron's PLANCK function) pc2cm = 3.086e18 ;cm (cgs) wave_angstrom = st.lambisrf*1.e4 ;mic to Angstrom (Astron Planck's function uses wavelengths in Angstroms) stellar_component=fltarr(n_elements(st)) ; array of zeros to contain the new ISRF values. FOR i=0L,n_elements(comp_pop.popid)-1 DO BEGIN ; Looping over all the stellar populations omega = ((comp_pop.radius)[i]/((comp_pop.distance)[i]*pc2cm))^2 ; Dilution factor of a stellar population Inu = planck(wave_angstrom,(comp_pop.temperature)[i])*(wave_angstrom)^2/c2a ; ergs/cm2/s/Hz/sr ; ;THIS PART IS ONLY FOR ORION. ; ;IT SHOULD NOT BE PROVIDED IN THE RELEASE ; if isa(!dustem_current) then begin ; ; idff = where(tag_names(*!dustem_plugin) EQ 'FREEFREE',ct_ff) ; ; if ct_ff ne 0 then begin ; ; ;look for freefree temperature in the pd vector (sysvar) ; ;we need an index ; ; id_fftmp = where(strupcase(strmid((*(*!dustem_fit).param_descs),14)) EQ 'FREEFREE_1',ct_fftmp) ; if ct_fftmp ne 0 then Te = ((*(*!dustem_fit).current_param_values)[id_fftmp])[0]*(((*(*!dustem_fit).param_init_values))[id_fftmp])[0] ; ; test if Te is correct ; ; Beta2 = 2.e-10*(Te)^(-3/4) ;cm^3/s-1 ; Rs_p3 = 1.1355d+57 ;Rs^3 for orion nebula ; nH_stromgren = sqrt(Rs_p3*4*!pi*Beta2/(3*(!const.sigma)*1.0d-04*((comp_pop.temperature)[i])^4*!pi)) ; ; ; Inu *= exp(((*!dustem_current).ext.ext_tot)*(-nh_stromgren)*4/3*Rs_p3^(1/3)/1.0d21) ; ; ; endif ; ; ENDIF If !dustem_dim and isa(!dustem_current) then Inu *= exp(((*!dustem_current).ext.ext_tot)*(-(*!dustem_HCD))/1.0d21) stellar_component=stellar_component+(comp_pop.nstars)[i]*omega*Inu ;no *4 because of Lambert's cosine law. ENDFOR out = stellar_component ;============This block creates a composite (9V) stellar population structure for when the function isn't used as a plugin=================== ENDIF ELSE BEGIN popnumber = 5. comp_pop = replicate(one_pop,popnumber) stellar_density = 0.14 ;stars/pc^3 ;###BY DEFAULT ALL STELLAR POPULATIONS ARE ON THE MS### ;BECAUSE LESS MASSIVE (COLDER) STARS ARE MORE ABUNDANT, THEY WILL BE CHOSEN TO BUILD THE COMPOSITE STELLAR STRUCTURE ;THIS MEANS THAT THE CHOSEN SPECTRAL TYPE IS 9V (MAIN SEQUENCE) ;CHOSEN STELLAR POPULATIONS ;O9V ;B9V ;A9V ;F9V ;G9V comp_pop(0).popid = 'O9V_stellar_population' comp_pop(0).radius = 7.51*rsun2cm comp_pop(0).temperature = 33.3e3 comp_pop(0).distance = 10.0 comp_pop(0).nstars = stellar_density*(4.*!pi/3)*comp_pop(0).distance comp_pop(1).popid = 'B9V_stellar_population' comp_pop(1).radius = 2.49*rsun2cm comp_pop(1).temperature = 10.7e3 comp_pop(1).distance = 10.0 comp_pop(1).nstars = stellar_density*(4.*!pi/3)*comp_pop(1).distance comp_pop(2).popid = 'A9V_stellar_population' comp_pop(2).radius = 1.747*rsun2cm comp_pop(2).temperature = 7.4e3 comp_pop(2).distance = 10.0 comp_pop(2).nstars = stellar_density*(4.*!pi/3)*comp_pop(2).distance comp_pop(3).popid = 'F9V_stellar_population' comp_pop(3).radius = 1.167*rsun2cm comp_pop(3).temperature = 6.05e3 comp_pop(3).distance = 10.0 comp_pop(3).nstars = stellar_density*(4.*!pi/3)*comp_pop(3).distance comp_pop(4).popid = 'G9V_stellar_population' comp_pop(4).radius = 0.853*rsun2cm comp_pop(4).temperature = 5.38e3 comp_pop(4).distance = 10.0 comp_pop(4).nstars = stellar_density*(4.*!pi/3)*comp_pop(4).distance st=((*!dustem_params).isrf) c2a = 3e18 ;speed of light in ansgtroms/s (because of the Astron's PLANCK function) pc2cm = 3.086e18 ;cm (cgs) wave_angstrom = st.lambisrf*1.e4 ;mic to Angstrom (Astron Planck's function uses wavelengths in Angstroms) stellar_component=fltarr(n_elements(st)) ; array of zeros to contain the new ISRF values. FOR i=0L,n_elements(comp_pop.popid)-1 DO BEGIN ; Looping over all the stellar populations omega = ((comp_pop.radius)[i]/((comp_pop.distance)[i]*pc2cm))^2 ; Dilution factor of a stellar population 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 stellar_component=stellar_component+(comp_pop.nstars)[i]*omega*Inu ENDFOR out = stellar_component ENDELSE the_scope: scope='STELLAR_POPULATION' the_paramtag: paramtag=['R_star (R_sol)','T_BB (K)','D (pc)','N_stars'] the_end: return, out end