PRO dustem_write_all_release,st,dir_out,help=help ;+ ; NAME: ; dustem_write_all_release ; ; PURPOSE: ; writes .DAT files necessary to run dustem within dustemwrap ; ; CATEGORY: ; DustEMWrap, Distributed, HighLevel, Initialization ; ; CALLING SEQUENCE: ; dustem_write_all_release,st,dir_out ; ; INPUTS: ; st : dustem structure ; dir_out : output directory where files 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_all_release' goto,the_end ENDIF if strmid(!dustem_dat,0,/reverse) ne '/' then !dustem_dat=!dustem_dat+'/' dir_out_dat=dir_out+'data/' dir_out_qabs=dir_out+'oprop/' dir_out_capa=dir_out+'hcap/' ;== ISRF file_out=dir_out_dat+'ISRF.DAT' dustem_write_isrf_release,file_out,st.isrf ;== LAMBDA file_out=dir_out_qabs+'LAMBDA.DAT' dustem_write_lambda,file_out,st.lambda ;== GRAIN file_out=dir_out_dat+'GRAIN.DAT' dustem_write_grain_release,file_out,st.grains ;== GAS file_out=dir_out_dat+'GAS.DAT' dustem_write_gas,file_out,st.GAS ;== SPIN dustem_write_spin,dir_out_dat,st.spin ;stop ;== CHRG dustem_write_chrg,dir_out_dat,st.chrg ;== MIX dustem_write_mix,dir_out_dat,st.mix ;== SIZE dustem_write_size_lv,dir_out_dat,st.size ;== QABS dustem_write_qabs_lv,dir_out_qabs,st.qabs ;== CALOR dustem_write_calor_lv,dir_out_capa,st.calor ;== POL ;dustem_write_pol,dir_out_dat,st.pol ;FOR i_axis = 1, 3 DO dustem_write_qabspol,dir_out_qabs,st,i_axis ;== POL IF !run_pol THEN BEGIN ;stop file_out=dir_out_dat+'ALIGN.DAT' ;stop ;Write the grain alignment file dustem_write_align,file_out,st.align ; Linear polarization file_out=dir_out_qabs IF not stregex(st.align.keywords, 'rrf', /bool) THEN for i_axis = 1, 2 do dustem_write_qpol,file_out,st,i_axis ; Circular polarization if !run_circ then dustem_write_qcirc,file_out,st ; Anisotropic heating IF (st.align.anisG0 > 0) THEN for i_axis = 1, 2 do dustem_write_qh,file_out,st,i_axis ; RRF Files IF stregex(st.align.keywords, 'rrf', /bool) THEN for i_axis = 1, 2 do dustem_write_qpol_rrf,file_out,st,i_axis ENDIF ;== TLS file_out=dir_out_dat dustem_write_tls,dir_out_dat,st.tls the_end: END