PRO dustem_write_mix,dir,st IF ptr_valid(st[0]) THEN BEGIN comments=(*st[0]).comments Ncomments=n_elements(comments) ENDIF ELSE BEGIN Ncomments=0L ENDELSE Nst=n_elements(st) frmts=[ $ '(A)', $ '(A)', $ '(A)', $ '(A)', $ '(A)'] ;Start loop over type of grain FOR i=0L,Nst-1 DO BEGIN ;Test if the pointer is pointing to something IF ptr_valid(st(i)) THEN BEGIN frmts=replicate('(A)',n_elements((*st(i)).fmix)) ;Get filename ffile=(*st(i)).file fv=str_sep(ffile,'/') file=dir+fv(n_elements(fv)-1) ;Open file message,'Will write MIX file '+file,/continue openw,unit,file,/get_lun ;Print comments IF Ncomments NE 0 THEN BEGIN FOR ii=0,Ncomments-1 DO BEGIN printf,unit,comments[ii] ENDFOR ENDIF ;Print FMIX FOR k=0L,n_elements((*st(i)).fmix)-1 DO BEGIN printf,unit,((*st(i)).fmix)(k),format=frmts[k] ENDFOR close,unit free_lun,unit ENDIF ELSE BEGIN ;left blank intentionally ENDELSE ENDFOR END