Blame view

src/idl/dustem_show_file_dependencies.pro 4.24 KB
6f5410a4   Annie Hughes   added simplistic ...
1
PRO dustem_show_file_dependencies,help=help,outfile=outfile,compfile=compfile
11e99b65   Annie Hughes   first commit
2

11e99b65   Annie Hughes   first commit
3
4
5
;+
; NAME:
;    dustem_show_file_dependencies
6f5410a4   Annie Hughes   added simplistic ...
6
;
11e99b65   Annie Hughes   first commit
7
; PURPOSE:
6f5410a4   Annie Hughes   added simplistic ...
8
9
;    Generate a list of routines used during a DustEMWrap run
;
11e99b65   Annie Hughes   first commit
10
; CATEGORY:
77c41759   Annie Hughes   added init wrapte...
11
;    DustEMWrap, Distributed, Low-Level, Development
6f5410a4   Annie Hughes   added simplistic ...
12
;
11e99b65   Annie Hughes   first commit
13
; CALLING SEQUENCE:
77c41759   Annie Hughes   added init wrapte...
14
;    dustem_show_file_dependencies[,help=help][,outfile=]
6f5410a4   Annie Hughes   added simplistic ...
15
;
11e99b65   Annie Hughes   first commit
16
17
; INPUTS:
;    None
6f5410a4   Annie Hughes   added simplistic ...
18
;
11e99b65   Annie Hughes   first commit
19
; OPTIONAL INPUT PARAMETERS:
50bb5343   Annie Hughes   minor changes to ...
20
21
;    outfile = string, .xcat file (and path) with list of compiled routines and
;            functions. Default is './DustEMWrap_dependencies.xcat'
6f5410a4   Annie Hughes   added simplistic ...
22
23
;    compfile = string, .xcat file (and path) with list of unused
;    routines in !dustem_wrap_soft_dir/src/idl/. Default is './DustEMWrap_unused_routines.xcat'
11e99b65   Annie Hughes   first commit
24
; OUTPUTS:
6f5410a4   Annie Hughes   added simplistic ...
25
;
11e99b65   Annie Hughes   first commit
26
; OPTIONAL OUTPUT PARAMETERS:
6f5410a4   Annie Hughes   added simplistic ...
27
;
11e99b65   Annie Hughes   first commit
28
29
; ACCEPTED KEY-WORDS:
;    help      = If set, print this help
6f5410a4   Annie Hughes   added simplistic ...
30
;
11e99b65   Annie Hughes   first commit
31
32
; COMMON BLOCKS:
;    None
6f5410a4   Annie Hughes   added simplistic ...
33
;
11e99b65   Annie Hughes   first commit
34
35
; SIDE EFFECTS:
;    None
6f5410a4   Annie Hughes   added simplistic ...
36
;
11e99b65   Annie Hughes   first commit
37
38
39
; RESTRICTIONS:
;    The DustEM fortran code must be installed
;    The DustEMWrap IDL code must be installed
6f5410a4   Annie Hughes   added simplistic ...
40
;
11e99b65   Annie Hughes   first commit
41
; PROCEDURES AND SUBROUTINES USED:
77c41759   Annie Hughes   added init wrapte...
42
;    
11e99b65   Annie Hughes   first commit
43
; EXAMPLES
77c41759   Annie Hughes   added init wrapte...
44
 ; 
11e99b65   Annie Hughes   first commit
45
46
47
48
49
50
51
52
53
54
; MODIFICATION HISTORY:
;    Written by JPB Apr-2011
;    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_show_file_dependencies'
  goto,the_end
END

50bb5343   Annie Hughes   minor changes to ...
55
use_outfile='./DustEMWrap_dependencies.xcat'
6f5410a4   Annie Hughes   added simplistic ...
56
use_compfile='./DustEMWrap_unused_routines.xcat'
50bb5343   Annie Hughes   minor changes to ...
57
if keyword_set(outfile) then use_outfile=outfile
6f5410a4   Annie Hughes   added simplistic ...
58
if keyword_set(compfile) then use_compfile=compfile
50bb5343   Annie Hughes   minor changes to ...
59
60

; HERE IS WHERE YOU PUT THE TOP-LEVEL ROUTINES TO RUN 
7fb01a01   Jean-Philippe Bernard   modified to get a...
61
62
63
64


;/Users/jpb/Soft_Libraries/dustem-wrapper_idl/src/idl/dustem_run_example.pro
;/Users/jpb/Soft_Libraries/dustem-wrapper_idl/src/idl/dustem_stellarpopisrf_example.pro
77c41759   Annie Hughes   added init wrapte...
65
dustem_init,/wrap,/plot
6f5410a4   Annie Hughes   added simplistic ...
66
dustem_run_example,'MC10',show="all"
7fb01a01   Jean-Philippe Bernard   modified to get a...
67
68
69
dustem_make_polarization_sed_example,model='G17_MODELA'
dustem_fit_intensity_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile1.fits'
dustem_fit_polarization_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile2.fits'
134c5e51   Jean-Philippe Bernard   modfied to be abl...
70
;=== below does not work with fawlty
d0f68bb6   Jean-Philippe Bernard   replaced system v...
71
72
73
dustem_fit_ext_pol_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile3.fits'
dustem_fit_sed_ext_pol_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile4.fits'
dustem_fit_intensity_mbb_example,Nitermax=1,postscript='/tmp/dustemwrap_postcript_example.ps'
134c5e51   Jean-Philippe Bernard   modfied to be abl...
74
;=== below does not work with fawlty
0dda35a7   Jean-Philippe Bernard   modified to inclu...
75
dustem_myisrf_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile5.fits'
6f5410a4   Annie Hughes   added simplistic ...
76
dustem_stellarpopisrf_example,Nitermax=1,fits_save_and_restore='/tmp/mysavefile6.fits'
0dda35a7   Jean-Philippe Bernard   modified to inclu...
77

50bb5343   Annie Hughes   minor changes to ...
78
79
; END LIST OF TOP-LEVEL ROUTINES

6f5410a4   Annie Hughes   added simplistic ...
80
; CONSTRUCT A STRUCTURE WITH ROUTINES THAT WERE COMPILED DURING ABOVE RUNS
11e99b65   Annie Hughes   first commit
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
help,/function,output=ff
help,/pro,output=pp
   
ff=ff[1:*]
pp=pp[2:*]

nff=n_elements(ff)
npp=n_elements(pp)

one_func={name:'',path:'',args:ptr_new()}
one_pro={name:'',path:'',args:ptr_new()}

func_list=replicate(one_func,nff)
pro_list=replicate(one_pro,npp)

message,'Found '+string(nff)+' functions',/info

FOR i=0L,nff-1 DO BEGIN
  str=strcompress(ff(i))
  vv=str_sep(str,' ')
  func_list(i).name=vv(0)
  func_list(i).args=ptr_new(vv(1:*))
  wh=which_pro(strlowcase(func_list(i).name))
  func_list(i).path=wh(0)
ENDFOR

message,'Found '+string(npp)+' routines',/info
FOR i=0L,npp-1 DO BEGIN
  str=strcompress(pp(i))
  vv=str_sep(str,' ')
  pro_list(i).name=vv(0)
  pro_list(i).args=ptr_new(vv(1:*))
  wh=which_pro(strlowcase(pro_list(i).name))
  pro_list(i).path=wh(0)
ENDFOR

one_st={name:'',path:''}
st=replicate(one_st,nff+npp)
st.name=[func_list.name,pro_list.name]
st.path=[func_list.path,pro_list.path]

;=== remove empty names
ind=where(st.name NE '')
st=st(ind)
;=== remove empty path (are entries without .pro)
ind=where(st.path NE '')
st=st(ind)

;=== order by path
order=sort(st.path)
st=st(order)

50bb5343   Annie Hughes   minor changes to ...
133
write_xcat,st,use_outfile,/wiki
79c1bf1f   Annie Hughes   write to screen w...
134
write_xcat,st,use_outfile
50bb5343   Annie Hughes   minor changes to ...
135
message,'Wrote '+use_outfile,/info
11e99b65   Annie Hughes   first commit
136

6f5410a4   Annie Hughes   added simplistic ...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154

; CONSTRUCT A STRUCTURE WITH ROUTINES IN SRC/IDL THAT WERE NOT
; COMPILED DURING THE EXAMPLES
allpro=file_search(!dustem_wrap_soft_dir+'src/idl/*pro',count=nall)
mathch2,st.path,allpro,a,b
idx=where(b eq -1, ct)
if ct ne 0 then begin
   ust=replicate(one_st,ct)
   ust.path=allpro[idx]
   ust.name=strupcase(file_basename(allpro[xx],'.pro'))
   write_xcat,ust,use_compfile
   message,'Wrote '+use_compfile,/info
end else begin
   message,'No unused DustEMWrap routines',/info
end


stop
11e99b65   Annie Hughes   first commit
155
156
the_end:
END