FUNCTION dustem_read_secteffuv,file,silent=silent,help=help ;+ ; NAME: ; dustem_read_secteffuv ; ; PURPOSE: ; reads information relating to the grain cross section in the UV ; from the corresponding .DAT file ; ; CATEGORY: ; DustEMWrap, Distributed, LowLevel, Initialization ; ; CALLING SEQUENCE: ; st=dustem_read_secteffuv(file) ; ; INPUTS: ; file : input file to be read ; ; OPTIONAL INPUT PARAMETERS: ; ; OUTPUTS: ; st : dustem data structure ; ; OPTIONAL OUTPUT PARAMETERS: ; ; ACCEPTED KEY-WORDS: ; help : writes this help ; ; COMMON BLOCKS: ; None ; ; SIDE EFFECTS: ; ; RESTRICTIONS: ; The DustEM fortran code must be installed ; The DustEMWrap IDL code must be installed ; ; PROCEDURES AND SUBROUTINES USED: ; ; EXAMPLES: ; ; MODIFICATION HISTORY: ; Evolution details on the DustEMWrap gitlab. ; See http://dustemwrap.irap.omp.eu/ for FAQ and help. ;- IF keyword_set(help) THEN BEGIN doc_library,'dustem_read_secteffuv' st=0. goto,the_end ENDIF Ngrains=(*!dustem_params).Ngrains str='readcol,file,wav_uv,' FOR i=0L,Ngrains-1 DO BEGIN str=str+'sect_grain_'+strtrim(i+1,2)+',' ENDFOR FOR i=0L,Ngrains-1 DO BEGIN str=str+'sect_'+strtrim(i+1,2)+',' ENDFOR str=str+'silent=silent' toto=execute(str) ;stop ;readcol,file,wav_uv,sect_pah,sect_vsg,sect_bg,sect_1,sect_2,sect_3,silent=silent nlines=n_elements(wav_uv) str='one_st={wav:0.,' FOR i=0L,Ngrains-1 DO BEGIN str=str+'sect_abs_grain_'+strtrim(i+1,2)+':0.,' ENDFOR FOR i=0L,Ngrains-1 DO BEGIN str=str+'sect_diff_grain_'+strtrim(i+1,2)+':0.' IF i NE Ngrains-1 THEN str=str+',' ENDFOR str=str+'}' toto=execute(str) ;one_st={wav:0.,sect_abs_pah:0.,sect_abs_vsg:0.,sect_abs_bg:0.,sect_diff_pah:0.,sect_diff_vsg:0.,sect_diff_bg:0.} st=replicate(one_st,Nlines) st.wav=wav_uv FOR i=0L,Ngrains-1 DO BEGIN str='st.(i+1)=sect_grain_'+strtrim(i+1,2) toto=execute(str) ENDFOR FOR i=0L,Ngrains-1 DO BEGIN str='st.(i+Ngrains+1)=sect_'+strtrim(i+1,2) toto=execute(str) ENDFOR ;st.sect_abs_pah=sect_pah ;st.sect_abs_vsg=sect_vsg ;st.sect_abs_bg=sect_bg ;st.sect_diff_pah=sect_1 ;st.sect_diff_vsg=sect_2 ;st.sect_diff_bg=sect_3 the_end: return,st END