head 1.1; access; symbols; locks http:1.1; strict; comment @# @; expand @b@; 1.1 date 2004.12.22.12.50.08; author MarkAllen; state Exp; branches; next ; desc @none @ 1.1 log @Dec 22 updated version of IDL procedure @ text @PRO elais_seds, draw_plot=draw_plot, sed_out=sed_out, norm_sed_out=norm_sed_out, sed_ssa=sed_ssa, norm_sed_ssa=norm_sed_ssa ; Mark G. Allen (CDS), Dec 06, 2004 ; allen@@astro.u-strasbg.fr ; Written to test the extraction of SEDs from the ELAIS ; final merged band catalog, as required by the Galaxies ; scenario of the AVO Jan 2005 demonstration. ; This program reads the ELAIS final catalog table, and constructs a set of ; specview compatible files of the photometric information. ; The extracted SEDs are de-redshifted, and are normalized at ; a given wavelength using a linear interpolation between ; the two point which bracket the normalization wavelength. ; It converts all photometric measurements to mJy, and ; wavelenghts/frequencies to micron ; It generates Simple Spectum Access (SSA) files describing the ; specview format SED files. ; ; ; OPTIONS: ; -------- ; to specifiy an call the procedure with the appropriate keyword, e.g. ; elais_seds, /draw_plot ; ; draw_plot : draw a plot of the SEDs ; ; sed_out : output specview ascii format SED files of the ; measured SEDS. These files go into the SEDs/ ; directory (which needs to exist) ; ; norm_sed_out : output specview ascii format SED files of the ; normalised SEDS. These files go into the SEDs_norm/ ; directory (which needs to exist) ; ; sed_ssa : output a SSA file describing the measured SEDs ; output file is: ELAIS_sed_ssa.txt ; ; norm_sed_ssa : output a SSA file describing the normalised SEDs ; output file is: ELAIS_norm_sed_ssa.txt ; Note, Jy = 10^-26 W m^-2 Hz^-1 ;======================================================================= ; Wavelength at which to normalize the spectra norm_wave = 0.55 ; micron ;----------------------------------------------------------------------- ; Read data from ascii versions of the elais 21a catalog ; (Note this was split into 2 files, one containing only ; the ID strings for each entry, and one containing the ; numeric values. This was done to make it easier to read ; the tables directly into arrays) ; The ID values are read into an array with the name b ; The numeric values are read into an array with name a ; read_data, file='elaiscatf_21a_numeric.dat', 3523, 75, a read_id, file='elaiscatf_21a_id.dat', 3523, b ; Extract the relevant catalog columns from the a and b arrays ; Spectroscopic redshifts spectz = a[66,*] ; Coordinates rah = a[0,*] ram = a[1,*] ras = a[2,*] ded = a[3,*] dem = a[4,*] des = a[5,*] ; Convert sexigesimal coords into decimal degrees radh = tenv(rah, ram, ras) radd = strcompress(string(radh * 360.0 / 24.0),/remove_all) dedd = strcompress(string(tenv(ded, dem, des)),/remove_all) ; String arrays of the sexigesimal coordinates ra_str = strcompress(string(fix(rah)) + string(fix(ram)) + string(ras)) de_str = strcompress(string(fix(ded)) + string(fix(dem)) + string(des)) ; Fluxes and Magntiudes plus their conversions to mJy, and definition ; of the wavelenghts for each band in micron ; ; 20 cm radio sR = a[6,*] errR = a[7,*] sR_wave = 20.0 sR_wave_unit = 'cm' sR_wave_micron = sR_wave * 1.0E4 ; ; 175 um s175 = a[8,*] err175 = a[9,*] s175_wave = 175.0 s175_wave_unit = 'μm' s175_wave_micron = s175_wave ; ; 90 um s90 = a[12,*] err90 = a[13,*] s90_wave = 90.0 s90_wave_unit = 'μm' s90_wave_micron = s90_wave ; ; 15 um ; The error on the 15 um band flux is not given in the catalog ; but the SNR is given. Here the error is inferred from the ; flux and the SNR s15 = a[16,*] snr15 = a[17,*] snr_ok_indicies = where(snr15 gt 0.0) err15 = s15 * 0.0 err15[snr_ok_indicies] = s15[snr_ok_indicies]/snr15[snr_ok_indicies] s15_wave = 15.0 s15_wave_unit = 'μm' s15_wave_micron = s15_wave ; ; 7 um s7 = a[18,*] err7 = a[19,*] s7_wave = 6.7 s7_wave_unit = 'μm' s7_wave_micron = s7_wave ; r' magnitude - this is read in here because it is ; needed for calculating the aperture corrections am3 = a[38,*] em3 = a[43,*] am3_bad = where((am3 lt 1.0) OR (am3 gt 90.0)) ;r' integrated magnitude am7 = a[51,*] am7_bad = where((am7 lt 1.0) OR (am7 gt 90.0)) am7[am7_bad] = 0.0 ; Aperture corrections for each object aperture_correction = am3 - am7 aperture_correction[am7_bad] = 0.0 aperture_correction[am3_bad] = 0.0 ;plot, aperture_correction, psym=3 ; Note that the catalog contains some non-valid values ; in the columns which contain magnitudes. These are dealt with ; here by defining a set of indicies of the bad values. All ; bad entries are assigned a flux of 0.0 ; ; J amj = a[23,*] errj = a[24,*] amj_bad = where(amj lt 1.0) sj = 1.592 * 10^(-0.4 * amj) * 1.0E6 sj[amj_bad] = 0.0 serrj = sj * errj / ( 2.5 * alog10(exp(1.0))) sj_wave_micron = 1.235 ; ; H amh = a[25,*] errh = a[26,*] amh_bad = where(amh lt 1.0) sh = 1.024 * 10^(-0.4 * amh) * 1.0E6 sh[amh_bad] = 0.0 serrh = sh * errh / ( 2.5 * alog10(exp(1.0))) sh_wave_micron = 1.662 ; ; K amk = a[27,*] errk = a[28,*] amk_bad = where(amk lt 1.0) ;sk = 0.620 * 10^(-0.4 * amk) * 1.0E6 sk = 0.6667 * 10^(-0.4 * amk) * 1.0E6 sk[amk_bad] = 0.0 serrk = sk * errk / ( 2.5 * alog10(exp(1.0))) sk_wave_micron = 2.159 ; ; U am1 = a[36,*] - aperture_correction em1 = a[41,*] am1_bad = where((am1 lt 1.0) OR (am1 gt 90.0)) sam1 = 1.71080 * 10^(-0.4 * am1) * 1.0E6 sam1[am1_bad] = 0.0 serram1 = sam1 * em1 / ( 2.5 * alog10(exp(1.0))) sam1_wave_micron = 0.3609 ; ; g' am2 = a[37,*] - aperture_correction em2 = a[42,*] am2_bad = where((am2 lt 1.0) OR (am2 gt 90.0)) sam2 = 3.87614 * 10^(-0.4 * am2) * 1.0E6 sam2[am2_bad] = 0.0 serram2 = sam2 * em2 / ( 2.5 * alog10(exp(1.0))) sam2_wave_micron = 0.485727 ; ; r' - see above am3 = am3 - aperture_correction sam3 = 3.14196 * 10^(-0.4 * am3) * 1.0E6 sam3[am3_bad] = 0.0 serram3 = sam3 * em3 / ( 2.5 * alog10(exp(1.0))) sam3_wave_micron = 0.621577 ; ; i' am4 = a[39,*] - aperture_correction em4 = a[44,*] am4_bad = where((am4 lt 1.0) OR (am4 gt 90.0)) sam4 = 2.51594 * 10^(-0.4 * am4) * 1.0E6 sam4[am4_bad] = 0.0 serram4 = sam4 * em4 / ( 2.5 * alog10(exp(1.0))) sam4_wave_micron = 0.767141 ; ; z' am5 = a[40,*] - aperture_correction em5 = a[45,*] am5_bad = where((am5 lt 1.0) OR (am5 gt 90.0)) sam5 = 2.21820 * 10^(-0.4 * am5) * 1.0E6 sam5[am5_bad] = 0.0 serram5 = sam5 * em5 / ( 2.5 * alog10(exp(1.0))) sam5_wave_micron = 0.909870 ;----------------------------------------------------------------------- ; Write flux columns out to a file flux_filename = 'flux_cols.txt' openw,10,flux_filename, width=1600 FOR i=0,n_elements(sR)-1 DO BEGIN printf, 10, b[i], sR[i], $ sk[i], serrk[i], $ sh[i], serrh[i], $ sj[i], serrj[i], $ sam5[i], serram5[i], $ sam4[i], serram4[i], $ sam3[i], serram3[i], $ sam2[i], serram2[i], $ sam1[i], serram1[i] ENDFOR close, 10 ; Define various subsets of the catalog based on the availability of ; spectroscopic redshift, and various colour cuts. ; ; Each subset is specified by a list of indicies ; ; All all = findgen(n_elements(sR)) ; Redshifts between 0 and 1.3 spec_cut1 = where((spectz > 0.0) AND (spectz < 1.3)) ; Objects detected in every band detected_all_bands = where( $ (sR GT 0.0) $ AND (s175 GT 0.0) $ AND (s90 GT 0.0) $ AND (s15 GT 0.0) $ AND (s7 GT 0.0) $ AND (sj GT 0.0) $ AND (sh GT 0.0) $ AND (sk GT 0.0) $ AND (sam1 GT 0.0) $ AND (sam2 GT 0.0) $ AND (sam3 GT 0.0) $ AND (sam4 GT 0.0) $ AND (sam5 GT 0.0) $ AND (spectz gt 0.0) ) ; Red objects with redshift less than 0.5. i.e. r-i > 0.8 , g-r > 1.2 red = where( (ded gt 50) AND ( (am3 - am4) gt 0.8) AND ((am2 - am3) gt 1.2) AND (spectz gt 0.0) AND (spectz lt 0.5) ) print, 'RED: ', n_elements(red) ; Blue objects with redshift less than 0.5. i.e. r-i < 0.8 , g-r < 1.2 blue = where( (((am3 - am4) lt 0.8) OR ((am2 - am3) lt 1.2)) AND (spectz gt 0.0) AND (spectz lt 0.5) ) print, 'BLUE: ', n_elements(blue) ; Red, z<0.5, and detected in all optical bands group1 = where( (ded gt 50) AND ((am3 - am4) gt 0.8) AND ((am2 - am3) gt 1.2) AND (spectz gt 0.0) AND (spectz lt 0.5) AND (am1 gt 0.0) AND (am1 gt 0.0) AND (am2 gt 0.0) AND (am3 gt 0.0) AND (am4 gt 0.0) AND (am5 gt 0.0) ) ; Blue, z<0.5 and detected in all optical bands group2 = where( (ded gt 50) AND ((am3 - am4) lt 0.8) OR ((am2 - am3) lt 1.2 ) AND (spectz gt 0.0) AND (spectz lt 0.5) AND (am1 gt 0.0) AND (am1 gt 0.0) AND (am2 gt 0.0) AND (am3 gt 0.0) AND (am4 gt 0.0) AND (am5 gt 0.0) ) ; Blue, z<0.5 and detected in all optical bands group3 = where( (ded gt 50) AND ((am3 - am4) lt 0.8) AND ((am2 - am3) lt 1.2 ) AND (spectz gt 0.0) AND (spectz lt 0.5) AND (am1 gt 0.0) AND (am1 gt 0.0) AND (am2 gt 0.0) AND (am3 gt 0.0) AND (am4 gt 0.0) AND (am5 gt 0.0) ) ; Extemely Red Objects (EROs) ero_group1 = where( ((am3 - amk) gt 3.5) $ AND (ded gt 50 ) $ ; AND (s175 GT 0.0) $ ; AND (s90 GT 0.0) $ ; AND (s15 GT 0.0) $ ; AND (s7 GT 0.0) $ AND (sj GT 0.0) $ AND (sh GT 0.0) $ AND (sk GT 0.0) $ AND (sam1 GT 0.0) $ AND (sam2 GT 0.0) $ AND (sam3 GT 0.0) $ AND (sam4 GT 0.0) $ AND (sam5 GT 0.0) $ AND (spectz gt 0.0) ) ;------------------------------------------------------------------------------- ; Write out SED files for each object when "sed_out" keyword is set ; Note that these are the observed SEDs i.e observed wavelength and flux ; (no redshift correction or normalization has been applied yet) IF keyword_set(sed_out) THEN BEGIN FOR i=0,n_elements(b)-1 DO BEGIN ; ; print current catalog object name print, b[i] ; Construct the filename for the output specview compatible file ; filename = 'SEDs/'+strcompress(b[i],/remove_all) + '_SED.txt' ; ; write a specview compatible file openw,2,filename printf, 2, b[i] printf, 2, 'micron' printf, 2, 'mJy' if sR[i] > 0.0 then printf, 2, sR_wave_micron, sR[i], errR[i] if s175[i] > 0.0 then printf, 2, s175_wave_micron, s175[i], err175[i] if s90[i] > 0.0 then printf, 2, s90_wave_micron, s90[i], err90[i] if s15[i] > 0.0 then printf, 2, s15_wave_micron, s15[i], err15[i] if s7[i] > 0.0 then printf, 2, s7_wave_micron, s7[i], err7[i] if amk[i] > 0.0 then printf, 2, sk_wave_micron, sk[i], serrk[i] if amh[i] > 0.0 then printf, 2, sh_wave_micron, sh[i], serrh[i] if amj[i] > 0.0 then printf, 2, sj_wave_micron, sj[i], serrj[i] if am5[i] > 0.0 then printf, 2, sam5_wave_micron, sam5[i], serram5[i] if am4[i] > 0.0 then printf, 2, sam4_wave_micron, sam4[i], serram4[i] if am3[i] > 0.0 then printf, 2, sam3_wave_micron, sam3[i], serram3[i] if am2[i] > 0.0 then printf, 2, sam2_wave_micron, sam2[i], serram2[i] if am1[i] > 0.0 then printf, 2, sam1_wave_micron, sam1[i], serram1[i] close, 2 ENDFOR ENDIF ;--------------------------------------------------------------------- ; Write out SSA wrappers for the SED files for each object. IF keyword_set(sed_ssa) THEN BEGIN ; Define the SSA file, and write the header material ssafilename = 'ELAIS_sed_ssa.txt' ;ssafilename = 'ELAIS_first1000_sed_ssa.txt' openw,5,ssafilename printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, 'SSA response file describing ELAIS catalog SEDs in Specview ascii format' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' ; Loop over all the objects, adding to the SSA file FOR i=0,n_elements(b)-1 DO BEGIN ;FOR i=0,1000 DO BEGIN filename = 'SEDs/'+strcompress(b[i],/remove_all) + '_SED.txt' ; printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' printf, 5, '' ENDFOR ENDIF ; Write the tailing part of the SSA file IF keyword_set(sed_ssa) THEN BEGIN printf, 5, '' printf, 5, '' printf, 5, '
' printf, 5, '' printf, 5, '' printf, 5, b[i] printf, 5, '' printf, 5, radd[i] printf, 5, '' printf, 5, dedd[i] printf, 5, '' printf, 5, 'WAVELENGTH FLUX' printf, 5, '' printf, 5, 'micron mJy' printf, 5, '' printf, 5, 'L ML-1T-3' printf, 5, '' printf, 5, '1.E-6 1.E-29' printf, 5, '' printf, 5, 'spectrum/specview' printf, 5, '
' printf, 5, '
' printf, 5, '
' close, 5 ENDIF ;--------------------------------------------------------------------- ; De-redshift and normalize the SEDs ; ; Specify which subset of the data to use ; ;si = all ;si = red ;si = blue si = group1 ;si = group3 ;si = ero_group1 print, 'No. of objects in selected subset: ', n_elements(si) ; Set up a vector of the right length to help create the redshifted ; wavelength vector. Each index of the vector represents an object ; in the catalog ; wave_vec= s175[si]*0.0 ; ; de-redshift the wavelengths for each object ; sR_wave_micron_vec_dered = wave_vec + sR_wave_micron / (1.0 + spectz[si]) s175_wave_micron_vec_dered = wave_vec + s175_wave_micron / (1.0 + spectz[si]) s90_wave_micron_vec_dered = wave_vec + s90_wave_micron / (1.0 + spectz[si]) s15_wave_micron_vec_dered = wave_vec + s15_wave_micron / (1.0 + spectz[si]) s7_wave_micron_vec_dered = wave_vec + s7_wave_micron / (1.0 + spectz[si]) sk_wave_micron_vec_dered = wave_vec + sk_wave_micron / (1.0 + spectz[si]) sh_wave_micron_vec_dered = wave_vec + sh_wave_micron / (1.0 + spectz[si]) sj_wave_micron_vec_dered = wave_vec + sj_wave_micron / (1.0 + spectz[si]) sam5_wave_micron_vec_dered = wave_vec + sam5_wave_micron / (1.0 + spectz[si]) sam4_wave_micron_vec_dered = wave_vec + sam4_wave_micron / (1.0 + spectz[si]) sam3_wave_micron_vec_dered = wave_vec + sam3_wave_micron / (1.0 + spectz[si]) sam2_wave_micron_vec_dered = wave_vec + sam2_wave_micron / (1.0 + spectz[si]) sam1_wave_micron_vec_dered = wave_vec + sam1_wave_micron / (1.0 + spectz[si]) ; Set up the plot box (data are plotted using oplot) IF keyword_set(draw_plot) THEN plot,[0],xra=[0.1,200000],yra=[0.01,1200], xsty=3, /xlog, /ylog ;----------------------------------------------------------------------- ; Set up the SSA file which will describe the normalised SEDS ; (this appears here because of the nature of the following loops) IF keyword_set(norm_sed_ssa) THEN BEGIN filename = 'ELAIS_norm_sed_ssa.txt' openw,4,filename printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, 'SSA response file describing ELAIS catalog SEDs in Specview ascii format' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' ENDIF ;----------------------------------------------------------------------- ; Continue nomalization and de-redshifting steps ; Construct vectors of flux and wave for each object ; -- Start loop 1, iterationg over all objects in selected subset FOR x=0,n_elements(si)-1 DO BEGIN ; index of the current object xx = si[x] ; print the ID of the current object print, b[xx] ; set up empty arrays to take the wavelengths and fluxes dered_vec = dblarr(1) fluxes=dblarr(1) ; de-redshifted wavelengths dered_vec = [sR_wave_micron_vec_dered[x], $ s175_wave_micron_vec_dered[x], $ s90_wave_micron_vec_dered[x] , $ s15_wave_micron_vec_dered[x] , $ s7_wave_micron_vec_dered[x] , $ sk_wave_micron_vec_dered[x] , $ sh_wave_micron_vec_dered[x] , $ sj_wave_micron_vec_dered[x] , $ sam5_wave_micron_vec_dered[x], $ sam4_wave_micron_vec_dered[x], $ sam3_wave_micron_vec_dered[x], $ sam2_wave_micron_vec_dered[x], $ sam1_wave_micron_vec_dered[x] ] ; fluxes fluxes = [sR[xx], s175[xx], s90[xx], s15[xx], $ s7[xx], sk[xx] , sh[xx] , sj[xx], $ sam5[xx], sam4[xx], sam3[xx], sam2[xx], sam1[xx] ] flux_errors = [errR[xx], err175[xx], err90[xx], err15[xx], $ err7[xx], serrk[xx] , serrh[xx] , serrj[xx], $ serram5[xx], serram4[xx], serram3[xx], serram2[xx], serram1[xx] ] ; *** Note that there should ideally be cosmological and K-corrections ; *** applied to the fluxes at this stage. ; get the indicies (in the dered_vec and fluxes arrays) of the ; non_zero fluxes non_zero_fluxes = where(fluxes GT 0.0) ; count the number of non-zero fluxes for the current object nz = n_elements(non_zero_fluxes) ; If there is more than one non-zero flux, and if the ; normalization wavelength lies within the de-redshifted wavelength ; range of those points, then interpolate the flux at the ; normalization point. This is simply done by identifying the ; single points either side of the normalization point, ; and linearly interpolating between these two points. Objects ; not fitting these criteria are discarded. ; IF nz GT 1 THEN BEGIN ; get the non_zero fluxes and corresponding de-redshifted wavelengths fluxes_nz = fluxes[non_zero_fluxes] flux_errors_nz = flux_errors[non_zero_fluxes] dered_vec_nz = dered_vec[non_zero_fluxes] ; establish whether norm wave is within range of de-redshifted waves IF ( (min(dered_vec_nz) lt norm_wave) AND (max(dered_vec_nz) gt norm_wave)) THEN BEGIN ;print, 'Number of non-zero points in SED: ', nz ;print, dered_vec_nz ; identify the point closest to the normalization wave on the low ; wavelength side closest_dered_vec_index = min(where(dered_vec_nz lt norm_wave)) ;print, 'Closest point in SED to normalization point: ', closest_dered_vec_index, dered_vec_nz[closest_dered_vec_index] ; Make 2 element arrays for the wavs and fluxes for the 2 points ; either side of the normalization wavelength bounding_waves = dered_vec_nz[(closest_dered_vec_index - 1):closest_dered_vec_index] bounding_fluxes = fluxes_nz[(closest_dered_vec_index - 1):closest_dered_vec_index] ;print, bounding_waves ;print, bounding_fluxes ; Calculate the gradient of a straight line between these 2 points m = (bounding_fluxes[1] - bounding_fluxes[0])/(bounding_waves[1] - bounding_waves[0]) ; Interpolate the flux at the normalization wavelength flux_at_norm_point = (m * (norm_wave - bounding_waves[0])) + bounding_fluxes[0] ; Normalize the fluxes normalised_flux = fluxes_nz / flux_at_norm_point normalised_flux_errors = flux_errors_nz / flux_at_norm_point ;print,'DE-REDSHIFTED WAVE: ', dered_vec_nz ;print,'NORMALIZED FLUX: ', normalised_flux ;print,'NORMALIZED ERROR: ', normalised_flux_errors ;print, ' ' ; Overplot the current object SED IF keyword_set(draw_plot) THEN oplot, dered_vec_nz, normalised_flux ; ------------------------------------------------------------------------- ; Output the normalized SEDs in specview ascii format IF keyword_set(norm_sed_out) THEN BEGIN ; print current catalog object name print, b[xx] ; Construct the filename for the output specview compatible file ; filename = 'SEDs_norm/'+strcompress(b[xx],/remove_all) + '_norm_SED.txt' ; ; write a specview compatible file openw,3,filename printf, 3, b[xx] printf, 3, 'micron' printf, 3, 'mJy' for y = 0, n_elements(dered_vec_nz)-1 do begin printf, 3, dered_vec_nz[y], normalised_flux[y], normalised_flux_errors[y] endfor close, 3 ENDIF ;------------------------------------------------------------------------- ; Output the normalized SEDs in SSA wrapped specview files ; (the header part of this SSA file was defined above) IF keyword_set(norm_sed_ssa) THEN BEGIN filename = 'SEDs_norm/'+strcompress(b[xx],/remove_all) + '_norm_SED.txt' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' printf, 4, '' ENDIF ;------------------------------------------------------------------------------------- ; Close the loops... ; end of IF block (operating only on objects where the de-redshifted ; waves bracket the normalisation rwavelength) ENDIF ; end of IF block (operating only on objects with >1 non-zero flux in ; the SED) ENDIF ; end of loop 1 (over ENDFOR ;----------------------------------------------------------------------- ; Close the SSA file for the normalised SEDs IF keyword_set(norm_sed_ssa) THEN BEGIN printf, 4, '' printf, 4, '' printf, 4, '
' printf, 4, '' printf, 4, '' printf, 4, b[xx] printf, 4, '' printf, 4, radd[xx] printf, 4, '' printf, 4, dedd[xx] printf, 4, '' printf, 4, 'WAVELENGTH FLUX' printf, 4, '' printf, 4, 'micron mJy' printf, 4, '' printf, 4, 'L ML-1T-3' printf, 4, '' printf, 4, '1.E-6 1.E-29' printf, 4, '' printf, 4, 'spectrum/specview' printf, 4, '
' printf, 4, '
' printf, 4, '
' close, 4 ENDIF END ; of elais_seds.pro *------------------------------------------------------------- @