Function dustem_plugin_stellar_population, key=key, val=val, scope=scope, paramtag=paramtag,help=help ;+ ; NAME: ; dustem_plugin_stellar_population ; PURPOSE: ; Produces a system variable called '!dustem_composite_stellar_population' in which a structure containing parameters pertaining to (a) stellar population(s) is placed ; CATEGORY: ; DUSTEM Wrapper ; CALLING SEQUENCE: ; dustem_create_plugin_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(help) THEN BEGIN doc_library,'dustem_plugin_stellar_population' goto,the_end ENDIF scope='STELLAR_POPULATION' paramtag=['R_star (R_sol)','T_BB (K)','D (pc)','N_stars'] ;REMARKS: BECAUSE I STILL HAVEN'T SET THE DEFAULT VALUE FOR THE MAJORIY OF THE STELLAR POULATIONS, I WILL COMMENT THE CORRESPONDING LINES INSTEAD OF CHOOSING ARBITRARY VALUES. ;CONSIDERED STARS: SPEC_TYPE(4) = OBAFG, LUM_CLASS(10) = IA+,IA,IAB,IB,II,III,IV,V,VI,VII ;===========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. ;============================== ;===========Specifying whether to add the Mathis field (and its scaling via G0) to the composite ISRF=================== ismathis=0 ;this value will have to be manually changed at the present moment defsysv, '!ismathis', ismathis ;====================================================================================================================== ;===========Constants (in cgs)========== (except for the stellar population distance (in pc)) rsun2cm = 6.957e10 ;Stelar density constant to automate the computation of the number of stars. (It links the distance and the number of stars) ;The below stellar density will have to be modified as the density goes up towards the center, in globular clusters and goes down as we move out of the galactic plane stellar_density = 0.14 ;stars/pc^3 stellar density in the SOLAR VICINITY ;============================================================================================ ;================NOTA BENE========================================================================== ;KM are not included because I assumed that their UV part was not that important to excite the dust. ;This will help ease and shorten the fitting procedure ;=================================================================================================== IF keyword_set(key) THEN BEGIN lumclass = (strmid(key,2)).remove(-1) ; extracting the luminosity class strings 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,1)) EQ 'O' and strmid(key,1,1) EQ 3 ind = where(testo3,countindo3) 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,1)) EQ 'O' and strmid(key,1,1) EQ 4 ind = where(testo4,countindo4) 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,1)) EQ 'O' and strmid(key,1,1) EQ 5 ind = where(testo5,countindo5) 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,1)) EQ 'O' and strmid(key,1,1) EQ 6 ind = where(testo6,countindo6) 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,1)) EQ 'O' and strmid(key,1,1) EQ 7 ind = where(testo7,countindo7) 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,1)) EQ 'O' and strmid(key,1,1) EQ 8 ind = where(testo8,countindo8) 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,1)) EQ 'O' and strmid(key,1,1) EQ 9 ind = where(testo9,countindo9) 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,1)) EQ 'B' and strmid(key,1,1) EQ 0 ind = where(testb0,countindb0) 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,1)) EQ 'B' and strmid(key,1,1) EQ 1 ind = where(testb1,countindb1) 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,1)) EQ 'B' and strmid(key,1,1) EQ 2 ind = where(testb2,countindb2) 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,1)) EQ 'B' and strmid(key,1,1) EQ 3 ind = where(testb3,countindb3) 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,1)) EQ 'B' and strmid(key,1,1) EQ 4 ind = where(testb4,countindb4) 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,1)) EQ 'B' and strmid(key,1,1) EQ 5 ind = where(testb5,countindb5) 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,1)) EQ 'B' and strmid(key,1,1) EQ 6 ind = where(testb6,countindb6) 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,1)) EQ 'B' and strmid(key,1,1) EQ 7 ind = where(testb7,countindb7) 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,1)) EQ 'B' and strmid(key,1,1) EQ 8 ind = where(testb8,countindb8) 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,1)) EQ 'B' and strmid(key,1,1) EQ 9 ind = where(testb9,countindb9) 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,1)) EQ 'A' and strmid(key,1,1) EQ 0 ind = where(testa0,countinda0) 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,1)) EQ 'A' and strmid(key,1,1) EQ 1 ind = where(testa1,countinda1) 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,1)) EQ 'A' and strmid(key,1,1) EQ 2 ind = where(testa2,countinda2) 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,1)) EQ 'A' and strmid(key,1,1) EQ 3 ind = where(testa3,countinda3) 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,1)) EQ 'A' and strmid(key,1,1) EQ 4 ind = where(testa4,countinda4) 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,1)) EQ 'A' and strmid(key,1,1) EQ 5 ind = where(testa5,countinda5) 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,1)) EQ 'A' and strmid(key,1,1) EQ 6 ind = where(testa6,countinda6) 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,1)) EQ 'A' and strmid(key,1,1) EQ 7 ind = where(testa7,countinda7) 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,1)) EQ 'A' and strmid(key,1,1) EQ 8 ind = where(testa8,countinda8) 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,1)) EQ 'A' and strmid(key,1,1) EQ 9 ind = where(testa9,countinda9) 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,1)) EQ 'F' and strmid(key,1,1) EQ 0 ind = where(testf0,countindf0) 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,1)) EQ 'F' and strmid(key,1,1) EQ 1 ind = where(testf1,countindf1) 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,1)) EQ 'F' and strmid(key,1,1) EQ 2 ind = where(testf2,countindf2) 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,1)) EQ 'F' and strmid(key,1,1) EQ 3 ind = where(testf3,countindf3) 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,1)) EQ 'F' and strmid(key,1,1) EQ 4 ind = where(testf4,countindf4) 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,1)) EQ 'F' and strmid(key,1,1) EQ 5 ind = where(testf5,countindf5) 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,1)) EQ 'F' and strmid(key,1,1) EQ 6 ind = where(testf6,countindf6) 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,1)) EQ 'F' and strmid(key,1,1) EQ 7 ind = where(testf7,countindf7) 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,1)) EQ 'F' and strmid(key,1,1) EQ 8 ind = where(testf8,countindf8) 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,1)) EQ 'F' and strmid(key,1,1) EQ 9 ind = where(testf9,countindf9) 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,1)) EQ 'G' and strmid(key,1,1) EQ 0 ind = where(testg0,countindg0) 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,1)) EQ 'G' and strmid(key,1,1) EQ 1 ind = where(testg1,countindg1) 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,1)) EQ 'G' and strmid(key,1,1) EQ 2 ind = where(testg2,countindg2) ;sun-like star 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,1)) EQ 'G' and strmid(key,1,1) EQ 3 ind = where(testg3,countindg3) 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,1)) EQ 'G' and strmid(key,1,1) EQ 3 ind = where(testg3,countindg4) 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,1)) EQ 'G' and strmid(key,1,1) EQ 5 ind = where(testg5,countindg5) 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,1)) EQ 'G' and strmid(key,1,1) EQ 6 ind = where(testg6,countindg6) 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,1)) EQ 'G' and strmid(key,1,1) EQ 7 ind = where(testg7,countindg7) 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,1)) EQ 'G' and strmid(key,1,1) EQ 8 ind = where(testg8,countindg8) 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,1)) EQ 'G' and strmid(key,1,1) EQ 9 ind = where(testg9,countindg9) 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 ;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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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'+lumclass7(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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 ;============================================================================================== ;========================================================NOTA BENE============================================================================ ;THIS PROCEDURE DEVIDES BY THE VALUE OF G0. THE WRAPPER USES G0 AND GAS.G0. PLEASE LOCATE IT IN THE LINES BELOW AND CHANGE G0 TO THE ONE YOU'RE USING!!!! ;============================================================================================================================================= st=((*!dustem_params).isrf) ;stop ;to check if the structure is indeed what we need. 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. ;storing the mathis isrf in variable mathis_isrf ma_isrf_dir=!dustem_soft_dir+'data/ISRF_MATHIS.DAT' ma_isrf=dustem_read_isrf(ma_isrf_dir) IF !ismathis THEN Ncomhead=4 ELSE Ncomhead=3 Ncomments = n_elements(comp_pop.popid)*3+Ncomhead c = strarr(Ncomments) ;First and last lines of the new composite ISRF.DAT file c(0)='# DUSTEM: exciting radiation field featuring' IF !ismathis THEN c(1)='# Mathis ISRF' c(Ncomments-2)='# Nbr of points' c(Ncomments-1)='# wave (microns), 4*pi*Inu (erg/cm2/s/Hz)' FOR i=0L,n_elements(comp_pop.popid)-1 DO BEGIN ; Looping over all the stellar populations ;The initial procedure had omega multiplied by a !pi factor. Its presence in the Planck (Astron) procedure makes for a good reason to discuss this with J.P. 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])/(4.*!pi)*(wave_angstrom)^2/c2a ; ergs/cm2/s/Hz/sr stellar_component=stellar_component+(comp_pop.nstars)[i]*omega*Inu ;Rest of the lines of the new composite ISRF.DAT file IF !ismathis THEN BEGIN c(3*i+2) = '#'+(comp_pop.popid)[i] c(3*i+3) = '# Blackbody with T='+string((comp_pop.temperature)[i]) c(3*i+4) = '# dilution factor wdil='+string(omega) ENDIF ELSE BEGIN c(3*i+1) = '#'+(comp_pop.popid)[i] c(3*i+2) = '# Blackbody with T='+string((comp_pop.temperature)[i]) c(3*i+3) = '# dilution factor wdil='+string(omega) ENDELSE ENDFOR IF !ismathis THEN st.isrf=ma_isrf.isrf+stellar_component/(st.gas.G0) ELSE st.isrf=stellar_component;/((*!dustem_params).gas.G0) ;don't mind my tests I'm just making sure the ISRF file changes at all print,'stellar_component is:' print, stellar_component print, 'isrf is:' print, st.isrf file=!dustem_dat+'data/ISRF.DAT' openw,unit,file,/get_lun FOR i=0,Ncomments-1 DO BEGIN printf,unit,c(i) ENDFOR n_waves=n_elements(st) printf,unit,n_waves FOR i=0L,n_waves-1 DO BEGIN printf,unit,st(i).lambisrf,st(i).isrf ENDFOR close,unit free_lun,unit out=st.isrf ;============This block creates a composite (9V) stellar population structure for when the function isn't used as a plugin=================== ENDIF ELSE BEGIN ;IF NOT keyword_set(scope) AND NOT keyword_set(val) THEN BEGIN ;I need this condition because I don't want the accidental definition of the system variable (@the end.) that is actually tied to any parameters outside this routine. popnumber = 5. comp_pop = replicate(one_pop,popnumber) ;###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 out=0. ;ENDIF ENDELSE if keyword_set(key) then begin print, 'comp_pop is:' print, comp_pop ;integrating the mathis isrf ma_isrf_dat=!dustem_soft_dir+'data/ISRF_MATHIS.DAT' ma_isrf=dustem_read_isrf(ma_isrf_dat) un=uniq(ma_isrf.isrf) int_mathis=INT_TABULATED((ma_isrf.lambisrf)[un],(ma_isrf.isrf)[un]) ;integrating the composite isrf int_isrf=INT_TABULATED((ma_isrf.lambisrf)[un],(st.isrf)[un]) print, 'G0_stellar_population=' print, int_isrf/int_mathis ;stop endif the_end: return, out end