FUNCTION dustem_read_isrf,file,silent=silent,Nisrf=Nisrf,help=help ;+ ; NAME: ; dustem_read_isrf ; ; PURPOSE: ; reads information relating to the ISRF and associated wavelength grid ; ; CATEGORY: ; DustEMWrap, Distributed, LowLevel, Initialization ; ; CALLING SEQUENCE: ; st=dustem_read_isrf(file,nisrf=nisrf) ; ; INPUTS: ; file : input file to be read ; ; OPTIONAL INPUT PARAMETERS: ; ; OUTPUTS: ; st : dustem data structure ; ; OPTIONAL OUTPUT PARAMETERS: ; Nisrf : number of elements in the wavelength grid where ISRF ; is defined ; ; 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_isrf' st=0. goto,the_end ENDIF ; lambISRF(k) = val(1) ; ISRF(k) = val(2) readcol,file,lambisrf,isrf,silent=silent,comment='#',format='F,F' nlines=n_elements(lambisrf) one_st={lambisrf:0.,isrf:0.} st=replicate(one_st,Nlines) st.lambisrf=lambisrf st.isrf=isrf ; following lines are no longer needed because readcol format requirements ; now enforce that we drop the line with the number of grid points ;IF !dustem_which EQ 'RELEASE' THEN BEGIN ; st=st(1:*) ; Nisrf=n_elements(st) ;ENDIF the_end: return,st END