PRO dustem_write_qpol,dir,st,i_axis,help=help ;+ ; NAME: ; dustem_write_qpol ; ; PURPOSE: ; writes information relating to polarized QABS, QSCA properties in the .DAT files ; ; CATEGORY: ; DustEMWrap, Distributed, LowLevel, Initialization ; ; CALLING SEQUENCE: ; dustem_write_qpol,dir,st ; ; INPUTS: ; st : dustem data structure ; i_axis : indicate whether we are writing params for Stokes I,Q or U ; dir : output directory where file will be written ; ; OPTIONAL INPUT PARAMETERS: ; None ; ; OUTPUTS: ; None ; ; OPTIONAL OUTPUT PARAMETERS: ; None ; ; ACCEPTED KEY-WORDS: ; help : writes this help ; ; COMMON BLOCKS: ; None ; ; SIDE EFFECTS: ; Files are written ; ; 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_write_qpol' goto,the_end ENDIF ;Caution: dir is the directory only ;Filenames are constructed inside the routine ;stop Estring='.DAT' ;Nfiles=st.grain.ngrains Nfiles=st.ngrains frmt="(100E15.5)" FOR i=0L,Nfiles-1 DO BEGIN ;stop IF st.align.grains(i).aligned THEN BEGIN ;filename=dir+'Q'+strtrim(i_axis,2)+'_'+st.grain.grains(i).grain_type+Estring filename=dir+'Q'+strtrim(i_axis,2)+'_'+st.grains(i).grain_type+Estring message,'Will write '+filename,/continue Nsizes=n_elements((*st.qabs(i)).sizes) OPENW,unit,filename,/get_lun printf,unit,Nsizes printf,unit,(*st.qabs[i]).sizes,format=frmt NLines=n_elements((*st.qpol[i_axis-1,i]).qabs) NQabs=n_tags((*st.qpol[i_axis-1,i]).qabs) vars=fltarr(NQabs,Nlines) ;Separator printf,unit,"# QABS" FOR k=0L,NQabs-1 DO vars(k,*)=((*st.qpol(i_axis-1,i)).qabs).(k) FOR j=0L,Nlines-1 DO printf,unit,vars(*,j),format=frmt ; Separator printf,unit,"# QSCA" FOR k=0L,NQabs-1 DO vars(k,*)=((*st.qpol(i_axis-1,i)).qsca).(k) FOR j=0L,Nlines-1 DO printf,unit,vars(*,j),format=frmt close,unit free_lun,unit ENDIF ENDFOR the_end: END