Blame view

src/idl/dustem_write_qh.pro 1.92 KB
eafc1f8f   Annie Hughes   updated help info
1
PRO dustem_write_qh,dir,st,i_axis,help=help
427f1205   Jean-Michel Glorian   version 4.2 merged
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
56
57
58
;+
; NAME:
;   dustem_write_qh
;
; PURPOSE:
;   writes information relating to QH/QABS/QSCA parameters in the .DAT files 
;
; CATEGORY:
;    DustEMWrap, Distributed, LowLevel, Initialization
;
; CALLING SEQUENCE:
;   dustem_write_qh,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_qh'
     goto,the_end
  ENDIF



  
427f1205   Jean-Michel Glorian   version 4.2 merged
59
60
61
;Caution: dir is the directory only
;Filenames are constructed inside the routine

eafc1f8f   Annie Hughes   updated help info
62
  
427f1205   Jean-Michel Glorian   version 4.2 merged
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Estring='.DAT'
Nfiles=st.grain.ngrains
frmt="(100E15.5)"

FOR i=0L,Nfiles-1 DO BEGIN

  IF st.align.grains(i).aligned THEN BEGIN

  	filename=dir+'QH'+strtrim(i_axis,2)+'_'+st.grain.grains(i).grain_type+Estring
  	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.qH(i_axis-1,i)).qabs)
  	NQabs=n_tags((*st.qH(i_axis-1,i)).qabs)
  	vars=fltarr(NQabs,Nlines)
	; Separator
	printf,unit,"# QABS"
  	FOR k=0L,NQabs-1 DO vars(k,*)=((*st.qH(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.qH(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

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