Blame view

src/idl/dustem_show_file_dependencies.pro 3.2 KB
50bb5343   Annie Hughes   minor changes to ...
1
PRO dustem_show_file_dependencies,help=help,outfile=outfile
11e99b65   Annie Hughes   first commit
2
3
4
5
6
7
8
9

;== make a list of routines used by DustEMWrap
;+
; NAME:
;    dustem_show_file_dependencies
; PURPOSE:
;    Generate a list of routines called by DustEMWrap runs
; CATEGORY:
77c41759   Annie Hughes   added init wrapte...
10
;    DustEMWrap, Distributed, Low-Level, Development
11e99b65   Annie Hughes   first commit
11
; CALLING SEQUENCE:
77c41759   Annie Hughes   added init wrapte...
12
;    dustem_show_file_dependencies[,help=help][,outfile=]
11e99b65   Annie Hughes   first commit
13
14
15
; INPUTS:
;    None
; OPTIONAL INPUT PARAMETERS:
50bb5343   Annie Hughes   minor changes to ...
16
17
;    outfile = string, .xcat file (and path) with list of compiled routines and
;            functions. Default is './DustEMWrap_dependencies.xcat'
11e99b65   Annie Hughes   first commit
18
19
20
21
22
23
24
25
26
27
28
29
; OUTPUTS:
; OPTIONAL OUTPUT PARAMETERS:
; ACCEPTED KEY-WORDS:
;    help      = If set, print this help
; COMMON BLOCKS:
;    None
; SIDE EFFECTS:
;    None
; RESTRICTIONS:
;    The DustEM fortran code must be installed
;    The DustEMWrap IDL code must be installed
; PROCEDURES AND SUBROUTINES USED:
77c41759   Annie Hughes   added init wrapte...
30
;    
11e99b65   Annie Hughes   first commit
31
; EXAMPLES
77c41759   Annie Hughes   added init wrapte...
32
 ; 
11e99b65   Annie Hughes   first commit
33
34
35
36
37
38
39
40
41
42
; 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 ...
43
44
45
46
use_outfile='./DustEMWrap_dependencies.xcat'
if keyword_set(outfile) then use_outfile=outfile

; HERE IS WHERE YOU PUT THE TOP-LEVEL ROUTINES TO RUN 
7fb01a01   Jean-Philippe Bernard   modified to get a...
47
48
49
50


;/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...
51
dustem_init,/wrap,/plot
7fb01a01   Jean-Philippe Bernard   modified to get a...
52
53
54
55
dustem_run_example,'MC10'
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'
d0f68bb6   Jean-Philippe Bernard   replaced system v...
56
57
58
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'
50bb5343   Annie Hughes   minor changes to ...
59
60
; END LIST OF TOP-LEVEL ROUTINES

11e99b65   Annie Hughes   first commit
61
62
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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 ...
113
write_xcat,st,use_outfile,/wiki
79c1bf1f   Annie Hughes   write to screen w...
114
write_xcat,st,use_outfile
50bb5343   Annie Hughes   minor changes to ...
115
message,'Wrote '+use_outfile,/info
11e99b65   Annie Hughes   first commit
116
117
118
119

;stop
the_end:
END