Blame view

src/idl/dustem_write_mix.pro 2.01 KB
eafc1f8f   Annie Hughes   updated help info
1
PRO dustem_write_mix,dir,st,help=help
37b5d8a7   Jean-Philippe Bernard   fixed to adapt gr...
2

eafc1f8f   Annie Hughes   updated help info
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
;+
; NAME:
;   dustem_write_mix
;
; PURPOSE:
;   writes information relating to grain mixture parameters in the .DAT files 
;
; CATEGORY:
;    DustEMWrap, Distributed, LowLevel, Initialization
;
; CALLING SEQUENCE:
;   dustem_write_mix,dir,st
;
; INPUTS:
;    st   : dustem data structure
;    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_mix'
     goto,the_end
  ENDIF
 
68d2f391   Jean-Philippe Bernard   modified to cope ...
56
57
58
59
60
61
IF ptr_valid(st[0]) THEN BEGIN
  comments=(*st[0]).comments
  Ncomments=n_elements(comments)
ENDIF ELSE BEGIN
  Ncomments=0L
ENDELSE
427f1205   Jean-Michel Glorian   version 4.2 merged
62
  
68d2f391   Jean-Philippe Bernard   modified to cope ...
63
Nst=n_elements(st)
427f1205   Jean-Michel Glorian   version 4.2 merged
64
  
68d2f391   Jean-Philippe Bernard   modified to cope ...
65
66
67
68
69
70
71

frmts=[ $
         '(A)', $
         '(A)', $
         '(A)', $
         '(A)', $
         '(A)']
427f1205   Jean-Michel Glorian   version 4.2 merged
72
73

;Start loop over type of grain
68d2f391   Jean-Philippe Bernard   modified to cope ...
74
75
76
FOR i=0L,Nst-1 DO BEGIN
  ;Test if the pointer is pointing to something
  IF ptr_valid(st(i)) THEN BEGIN
37b5d8a7   Jean-Philippe Bernard   fixed to adapt gr...
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
    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
    ;stop
    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
68d2f391   Jean-Philippe Bernard   modified to cope ...
101
ENDFOR
427f1205   Jean-Michel Glorian   version 4.2 merged
102

eafc1f8f   Annie Hughes   updated help info
103
the_end:
427f1205   Jean-Michel Glorian   version 4.2 merged
104
END