Blame view

src/idl/dustem_fit_sed_readme.pro 13.7 KB
5135b194   Jean-Philippe Bernard   cleaned
1
PRO dustem_fit_sed_readme,postcript=postcript,model=model,help=help,png=png,itermax=itermax
427f1205   Jean-Michel Glorian   version 4.2 merged
2

4750086c   Ilyes Choubani   nouvelle philosph...
3

427f1205   Jean-Michel Glorian   version 4.2 merged
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
;This Readme describes how to fit SEDs with dustem
;It runs on the SED stored into the file sample_SED.xcat
;in this directory. Remember that the goal here is not necessarily to
;obtain a good fit in the end, but to illustrate the method.
;The provided SED has only photometric data points from SPITZER
;IRAC and MIPS and IRAS. No spectrum data points.
;SPECTRUM data points can be included and the corresponding filter
;filed must read SPECTRUM. Note that its is note necessary
;to use the .xcat file format, and data SED can be provided
;manually, but the observation structure must have the structure shown below.
;Obviously, the dustem package must have been installed succesfully (see
;dustem_cvs_readme.txt for install instructions).

;+
; NAME:
;    dustem_fit_sed_readme
; PURPOSE:
;    This is an example of how to fit SEDs with the dustem wrapper.
;    It is meant to be an example to follow when writing your own
;    programs using the dustem IDL wrapper.
;    It is not meant to reproduce the result in Compiegne et al 2010
;    The SED used here is in sample_SED.xcat
; CATEGORY:
;    Dustem
; CALLING SEQUENCE:
5135b194   Jean-Philippe Bernard   cleaned
29
;    dustem_fit_sed_readme,postcript=postcript,model=model,help=help
427f1205   Jean-Michel Glorian   version 4.2 merged
30
31
32
33
34
35
36
37
38
; INPUTS:
;    None
; OPTIONAL INPUT PARAMETERS:
;    None
; OUTPUTS:
;    None
; OPTIONAL OUTPUT PARAMETERS:
;    None
; ACCEPTED KEY-WORDS:
5135b194   Jean-Philippe Bernard   cleaned
39
;    model = Selects one of the dust mixture used by dustem
427f1205   Jean-Michel Glorian   version 4.2 merged
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
;           'COMPIEGNE_ETAL2010' from Compiegne et al 2010 (default)
;           'DBP90' from Desert et al 1990
;           'DL01' from Draine & Li 2001
;           'DL07' from Draine & Li 2007
;    postcript = if set plot is done in DUSTEM/Docs/Figures/Last_dustem_fit.ps
;    help      = If set print this help
; COMMON BLOCKS:
;    None
; SIDE EFFECTS:
;    None
; RESTRICTIONS:
;    The dustem fortran code must be installed
;    The dustem idl wrapper must be installed
; PROCEDURE:
;    None
; EXAMPLES
5135b194   Jean-Philippe Bernard   cleaned
56
;    dustem_fit_sed_readme,model='COMPIEGNE_ETAL2010'
427f1205   Jean-Michel Glorian   version 4.2 merged
57
58
59
60
61
62
; MODIFICATION HISTORY:
;    Written by J.P. Bernard April 1st 2011
;    see evolution details on the dustem cvs maintained at CESR
;    Contact J.-Ph. Bernard (Jean-Philippe.Bernard@cesr.fr) in case of problems.
;-

39afc385   Jean-Philippe Bernard   added 3 empty lin...
63
64
65



427f1205   Jean-Michel Glorian   version 4.2 merged
66
67
68
69
70
IF keyword_set(help) THEN BEGIN
  doc_library,'dustem_fit_sed_readme'
  goto,the_end
ENDIF

5135b194   Jean-Philippe Bernard   cleaned
71
72
IF keyword_set(model) THEN BEGIN
  use_model=strupcase(model)
427f1205   Jean-Michel Glorian   version 4.2 merged
73
ENDIF ELSE BEGIN
d06cb418   Ilyes Choubani   Added PILOT filter
74
  use_model='THEMIS';G17_MODELA';'COMPIEGNE_ETAL2010'    ;Default is last dustem model
427f1205   Jean-Michel Glorian   version 4.2 merged
75
76
ENDELSE

e71a7ada   Jean-Philippe Bernard   modified to work ...
77
IF keyword_set(png) THEN BEGIN
3dd007df   Jean-Philippe Bernard   added png plot op...
78
  dir_png=!dustem_dat+'/Figures/'
e71a7ada   Jean-Philippe Bernard   modified to work ...
79
80
81
  force_mkdir,dir_png
ENDIF

7d2d66e7   Ilyes Choubani   replacing polsed,...
82
polarization=0.   ;default is no polarization in models
5c830aef   Jean-Philippe Bernard   removed modificat...
83
;dustem_init,model=use_model,pol=polarization
427f1205   Jean-Michel Glorian   version 4.2 merged
84

427f1205   Jean-Michel Glorian   version 4.2 merged
85
;=== Set which parameters you want to fit
666cba76   Jean-Philippe Bernard   cleaned the code
86
CASE use_model OF
427f1205   Jean-Michel Glorian   version 4.2 merged
87
88
89
90
91
92
      'DBP90':BEGIN
         pd = [ $
             '(*!dustem_params).G0', $      ;G0
             '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
             '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
             '(*!dustem_params).grains(2).mdust_o_mh', $    ;amCBEx
7d2d66e7   Ilyes Choubani   replacing polsed,...
93
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
427f1205   Jean-Michel Glorian   version 4.2 merged
94
        iv =   [1.0, 4.3e-4, 4.7e-4,6.4e-3,0.001]
427f1205   Jean-Michel Glorian   version 4.2 merged
95
96
97
98
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
427f1205   Jean-Michel Glorian   version 4.2 merged
99
100
101
102
103
104
105
106
107
     END
      'DL01':BEGIN
         pd = [ $
             '(*!dustem_params).G0', $      ;G0
             '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
             '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
             '(*!dustem_params).grains(2).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(3).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(4).mdust_o_mh', $    ;aSil
7d2d66e7   Ilyes Choubani   replacing polsed,...
108
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
427f1205   Jean-Michel Glorian   version 4.2 merged
109
        iv =   [1.0,5.4e-4, 5.4e-4,1.8e-4,2.33e-3,8.27e-3,0.001]
427f1205   Jean-Michel Glorian   version 4.2 merged
110
111
112
113
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
427f1205   Jean-Michel Glorian   version 4.2 merged
114
115
      END
      'DL07':BEGIN
4750086c   Ilyes Choubani   nouvelle philosph...
116
117
118
119
120
121
          pd = [ $
              '(*!dustem_params).G0', $      ;G0
              '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
              '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
              '(*!dustem_params).grains(2).mdust_o_mh', $    ;Gra
              '(*!dustem_params).grains(3).mdust_o_mh', $    ;Gra
7d2d66e7   Ilyes Choubani   replacing polsed,...
122
123
              '(*!dustem_params).grains(4).mdust_o_mh', $    ;aSil
              'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
fcb6eade   Ilyes Choubani   general update - ...
124
                      
7d2d66e7   Ilyes Choubani   replacing polsed,...
125
        iv =   [1.0,5.4e-4, 5.4e-4,1.8e-4,2.33e-3,8.27e-3,0.001];,10,1.,10.,1.]
4750086c   Ilyes Choubani   nouvelle philosph...
126
127
        
        
427f1205   Jean-Michel Glorian   version 4.2 merged
128
129
130
131
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
4750086c   Ilyes Choubani   nouvelle philosph...
132
        ;llims =[1e-9  ,0.   ,0.   ,0.    ,0.   ,0.   ,0.   ,1.  ,0.   , 1.   ,0.   ]
427f1205   Jean-Michel Glorian   version 4.2 merged
133
134
      END
      'COMPIEGNE_ETAL2010':BEGIN
4750086c   Ilyes Choubani   nouvelle philosph...
135
136
137
        
        ;ORIGINAL LINES
        
0e608856   Jean-Philippe Bernard   improved
138
        ;parameter description of parameters to be fitted
cf92aab3   Jean-Philippe Bernard   improved
139
140
        pd = [ $
              '(*!dustem_params).gas.G0', $      ;G0
cbf75ef0   Ilyes Choubani   dustem_init_plugi...
141
142
              'dustem_plugin_continuum_2', $      ;intensity of NIR continuum
              'dustem_plugin_synchrotron_2',$
cf92aab3   Jean-Philippe Bernard   improved
143
144
145
146
147
148
149
150
151
              '(*!dustem_params).grains(0).mdust_o_mh',$     ;PAH0 mass fraction
              '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
              '(*!dustem_params).grains(2).mdust_o_mh', $    ;amCBEx
              '(*!dustem_params).grains(3).mdust_o_mh', $    ;amCBEx
              '(*!dustem_params).grains(4).mdust_o_mh' $
              ]
        ;initial parameter values for parameters to be fitted   
        iv =   [ $  
          1.0, $
cbf75ef0   Ilyes Choubani   dustem_init_plugi...
152
          0.002,   $ ;intensity of NIR continuum
7d2d66e7   Ilyes Choubani   replacing polsed,...
153
          0.01,$    
cf92aab3   Jean-Philippe Bernard   improved
154
155
156
157
158
159
          7.8e-4,  $ ;mass fraction of  PAH0  
          7.8e-4,  $ ;mass fraction of  PAH1  
          1.65e-4, $ ;mass fraction of  amCBEx
          1.45e-3, $ ;mass fraction of  amCBEx
          7.8e-3   $   ;mass fraction of  
          ]
4750086c   Ilyes Choubani   nouvelle philosph...
160
          
427f1205   Jean-Michel Glorian   version 4.2 merged
161
        Npar=n_elements(pd)
fcb6eade   Ilyes Choubani   general update - ...
162
            
427f1205   Jean-Michel Glorian   version 4.2 merged
163
164
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
cf92aab3   Jean-Philippe Bernard   improved
165
        llims=replicate(0.,Npar)
4750086c   Ilyes Choubani   nouvelle philosph...
166
167
        
        
427f1205   Jean-Michel Glorian   version 4.2 merged
168
        ;=== Fixed parameters
0e608856   Jean-Philippe Bernard   improved
169
        ;parameter description of parameters to be set to a non-default value
4750086c   Ilyes Choubani   nouvelle philosph...
170
        ;fpd=[ $
0e608856   Jean-Philippe Bernard   improved
171
172
          ;'!dustem_isrf_star_add[0].amplitude', $        ;amplitiude of first stellar contribution to ISRF
          ;'!dustem_isrf_star_add[0].distance', $        ;amplitiude of first stellar contribution to ISRF
4750086c   Ilyes Choubani   nouvelle philosph...
173
          ;'(*!dustem_params).gas.G0' $     ;multiplicative factor to total ISRF
0e608856   Jean-Philippe Bernard   improved
174
          ;'dustem_create_continuum_2' $     ;intensity of NIR continuum
4750086c   Ilyes Choubani   nouvelle philosph...
175
          ;  ]
0e608856   Jean-Philippe Bernard   improved
176
        ;initial parameter values for fixed parameters
4750086c   Ilyes Choubani   nouvelle philosph...
177
        ;fiv=[ $
0e608856   Jean-Philippe Bernard   improved
178
179
          ;1.0, $      ;amplitiude of first stellar contribution to ISRF
          ;1.0, $      ;distance of first stellar contribution to ISRF
4750086c   Ilyes Choubani   nouvelle philosph...
180
        ;  1. $        ;multiplicative factor to total ISRF
0e608856   Jean-Philippe Bernard   improved
181
          ;1.e-6 $      ;intensity of NIR continuum
4750086c   Ilyes Choubani   nouvelle philosph...
182
         ;   ]
427f1205   Jean-Michel Glorian   version 4.2 merged
183
      END
4750086c   Ilyes Choubani   nouvelle philosph...
184
     
5135b194   Jean-Philippe Bernard   cleaned
185
186
187
188
189
190
191
192
     'AJ13':BEGIN
        pd = [ $
             '(*!dustem_params).G0', $      ;G0
             '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
             '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
             '(*!dustem_params).grains(2).mdust_o_mh', $    ;amCBEx
             '(*!dustem_params).grains(3).mdust_o_mh', $    ;amCBEx
             '(*!dustem_params).grains(4).mdust_o_mh', $      ;aSil
7d2d66e7   Ilyes Choubani   replacing polsed,...
193
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
5135b194   Jean-Philippe Bernard   cleaned
194
195
196
197
198
        iv =   [1.0, 7.8e-4, 7.8e-4,1.65e-4,1.45e-3,7.8e-3,0.001]
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
5135b194   Jean-Philippe Bernard   cleaned
199
      END
666cba76   Jean-Philippe Bernard   cleaned the code
200
      'G17_MODELA':BEGIN
666cba76   Jean-Philippe Bernard   cleaned the code
201
202
203
204
205
206
207
208

         pd = [ $
             '(*!dustem_params).G0', $      ;G0
             '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
             '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
             '(*!dustem_params).grains(2).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(3).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(4).mdust_o_mh', $    ;aSil
7d2d66e7   Ilyes Choubani   replacing polsed,...
209
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
666cba76   Jean-Philippe Bernard   cleaned the code
210
211
212
213
214
        iv =   [1.0,5.4e-4, 5.4e-4,1.8e-4,2.33e-3,8.27e-3,0.001]
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
476507cb   Jean-Philippe Bernard   modified
215
        polarization=1
666cba76   Jean-Philippe Bernard   cleaned the code
216
217
218
219
220
221
222
223
224
      END
      'G17_MODELB':BEGIN
         pd = [ $
             '(*!dustem_params).G0', $      ;G0
             '(*!dustem_params).grains(0).mdust_o_mh',$  ;PAH0 mass fraction
             '(*!dustem_params).grains(1).mdust_o_mh',$     ;PAH1 mass fraction
             '(*!dustem_params).grains(2).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(3).mdust_o_mh', $    ;Gra
             '(*!dustem_params).grains(4).mdust_o_mh', $    ;aSil
7d2d66e7   Ilyes Choubani   replacing polsed,...
225
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
2399e73e   Jean-Philippe Bernard   imprved towards r...
226
227
228
229
230
231
232
233
234
        iv =   [1.0,5.4e-4, 5.4e-4,1.8e-4,2.33e-3,8.27e-3,0.001]
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
        polarization=1
      END
      'THEMIS':BEGIN
         pd = [ $
fcb6eade   Ilyes Choubani   general update - ...
235
             '(*!dustem_params).G0', $   ;G0
d06cb418   Ilyes Choubani   Added PILOT filter
236
237
238
             '(*!dustem_params).grains(0).mdust_o_mh',$  
             '(*!dustem_params).grains(1).mdust_o_mh',$     
             '(*!dustem_params).grains(2).mdust_o_mh', $  
2399e73e   Jean-Philippe Bernard   imprved towards r...
239
             'dustem_plugin_continuum_2']                ;Intensity of NIR continuum
d06cb418   Ilyes Choubani   Added PILOT filter
240
        iv =   [1.0,5.4e-4,2.33e-3,8.27e-3,0.001]
666cba76   Jean-Philippe Bernard   cleaned the code
241
242
243
244
245
246
247
        Npar=n_elements(pd)
        ulimed=replicate(0,Npar)
        llimed=replicate(1,Npar)
        llims=replicate(0.,Npar)
        polarization=1
      END

427f1205   Jean-Michel Glorian   version 4.2 merged
248
249
ENDCASE

c8399ce3   Ilyes Choubani   update for sed_re...
250
dustem_init,model=use_model,kwords=['plaw-ed','logn','logn'];,pol=polarization
5c830aef   Jean-Philippe Bernard   removed modificat...
251
252
!dustem_nocatch=1

666cba76   Jean-Philippe Bernard   cleaned the code
253
254
!dustem_verbose=1
!dustem_show_plot=1
427f1205   Jean-Michel Glorian   version 4.2 merged
255

452c334e   Ilyes Choubani   Implementation Of...
256

666cba76   Jean-Philippe Bernard   cleaned the code
257
258
259
260
;=== Read sample SED
;=== Composite SED from Compiegne et al 2010, gathered by C. Bot
dir=!dustem_wrap_soft_dir+'/Data/SEDs/'
file=dir+'Gal_composite_spectrum.xcat'
5a7a4415   Jean-Philippe Bernard   adapted to new fi...
261
;file=dir+'Gal_composite_spectrum.xcat.old'
427f1205   Jean-Michel Glorian   version 4.2 merged
262

666cba76   Jean-Philippe Bernard   cleaned the code
263
spec=read_xcat(file,/silent)
476507cb   Jean-Philippe Bernard   modified
264

5a7a4415   Jean-Philippe Bernard   adapted to new fi...
265
266
267
268
;ind=where(spec.error EQ 0.,count)
;IF count NE 0 THEN spec(ind).error=0.2*spec(ind).spec
ind=where(spec.sigmaII EQ 0.,count)
IF count NE 0 THEN spec(ind).sigmaII=(0.2*spec(ind).StokesI)^2
666cba76   Jean-Philippe Bernard   cleaned the code
269
ind=where(spec.instru EQ 'FIRAS',count)
5a7a4415   Jean-Philippe Bernard   adapted to new fi...
270
271
;IF count NE 0 THEN spec(ind).error=0.2*spec(ind).spec
IF count NE 0 THEN spec(ind).sigmaII=(0.2*spec(ind).StokesI)^2
452c334e   Ilyes Choubani   Implementation Of...
272

666cba76   Jean-Philippe Bernard   cleaned the code
273
;=== SET THE OBSERVATION STRUCTURE
1355825c   Ilyes Choubani   General update
274
275
st=dustem_set_data(st_sed_fit=spec);sed=spec)
;stop
427f1205   Jean-Michel Glorian   version 4.2 merged
276
277
;== SET THE FITTED PARAMETERS
dustem_init_parinfo,pd,iv,up_limited=ulimed,lo_limited=llimed,up_limits=ulims,lo_limits=llims
5135b194   Jean-Philippe Bernard   cleaned
278

4750086c   Ilyes Choubani   nouvelle philosph...
279
;dustem_init_fixed_params,fpd,fiv
0e608856   Jean-Philippe Bernard   improved
280

452c334e   Ilyes Choubani   Implementation Of...
281
282
283
dustem_init_plugins, pd ;initializing the scopes of the plugins to be read later


427f1205   Jean-Michel Glorian   version 4.2 merged
284
;=== RUN fit
4750086c   Ilyes Choubani   nouvelle philosph...
285
tol=1.e-16
cf92aab3   Jean-Philippe Bernard   improved
286
287
;use_Nitermax=50 ;maximum number of iteration. This is the criterium which will stop the fit procedure , NOTA BENE: 3 iterations aren't enough to fit the entirety of the newly added stellar population parameters.
use_Nitermax=5 ;maximum number of iteration. This is the criterium which will stop the fit procedure , NOTA BENE: 3 iterations aren't enough to fit the entirety of the newly added stellar population parameters.
5135b194   Jean-Philippe Bernard   cleaned
288
IF keyword_set(itermax) THEN use_Nitermax=itermax
427f1205   Jean-Michel Glorian   version 4.2 merged
289

427f1205   Jean-Michel Glorian   version 4.2 merged
290
t1=systime(0,/sec)
1355825c   Ilyes Choubani   General update
291
292
yr=[1.00e-4,1.00E2]
xr=[1.00E0,6.00e4]
4750086c   Ilyes Choubani   nouvelle philosph...
293
294
;legend_xpos=0.6
;legend_ypos=0.8
dfc68a85   Ilyes Choubani   Fixed some plotti...
295
tit='Spectral Energy Distribution'
9be94157   Jean-Philippe Bernard   improved
296
297
ytit=textoidl('I_\nu (MJy/sr) for N_H=10^{20} H/cm^2')
xtit=textoidl('\lambda (\mum)')
c8399ce3   Ilyes Choubani   update for sed_re...
298

9be94157   Jean-Philippe Bernard   improved
299
300
res=dustem_mpfit_data(tol=tol,Nitermax=use_Nitermax,gtol=gtol,/xlog,/ylog,xr=xr,yr=yr,xtit=xtit,ytit=ytit,title=tit,legend_xpos=legend_xpos,legend_ypos=legend_ypos,errors=errors,chi2=chi2,rchi2=rchi2)

427f1205   Jean-Michel Glorian   version 4.2 merged
301
302
t2=systime(0,/sec)

427f1205   Jean-Michel Glorian   version 4.2 merged
303
;=== SAVE FIT RESULTS
66aff855   Jean-Philippe Bernard   modified to impro...
304
file_out='/tmp/DUSTEM_fit_example.sav'
66aff855   Jean-Philippe Bernard   modified to impro...
305
306
307
dustem_save_system_variables,file_out
message,'Saved '+file_out,/continue

e71a7ada   Jean-Philippe Bernard   modified to work ...
308
;stop
66aff855   Jean-Philippe Bernard   modified to impro...
309
310
311
312
313
314
315
316

;======================================
;====You can exit IDL here and re-enter
;======================================

file='/tmp/DUSTEM_fit_example.sav'
dustem_restore_system_variables,file

427f1205   Jean-Michel Glorian   version 4.2 merged
317
;=== Plot best fit
fcb6eade   Ilyes Choubani   general update - ...
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
; tit='Spectral Energy Distribution (Saved)'
; ytit=textoidl('I_\nu (MJy/sr) for N_H=10^{20} H/cm^2')
; xtit=textoidl('\lambda (\mum)')
; errors=(*(*!dustem_fit).current_param_errors)*(*(*!dustem_fit).param_init_values)
; chi2=(*!dustem_fit).chi2
; rchi2=(*!dustem_fit).rchi2
; 
; window,2
; 
; ;=== RESTORE FIT RESULTS
; res=*(*!dustem_fit).current_param_values
; chi2=(*!dustem_fit).chi2
; rchi2=(*!dustem_fit).rchi2
; errors=(*(*!dustem_fit).current_param_errors)*(*(*!dustem_fit).param_init_values)
; 
; ;=== Plot best fit
; loadct,13
; IF keyword_set(postcript) THEN BEGIN
;   set_plot,'PS'
; ;  ps_file=getenv('DUSTEM_SOFT_DIR')+'/Docs/Figures/'+'Last_dustem_fit.ps'
;   ps_file=!dustem_wrap_soft_dir+'Docs/Figures/'+'Last_dustem_fit.ps'
;   device,filename=ps_file,/color
; ENDIF
; 
; ;dustem_sed_plot,(*!dustem_fit_params),ytit=ytit,xtit=xtit,title=tit,yr=yr,xr=xr,/ysty,/xsty,res=res,errors=errors,chi2=chi2,rchi2=rchi2
; dustem_sed_plot,*(*!dustem_fit).current_param_values,ytit=ytit,xtit=xtit,title=tit,yr=yr,xr=xr,/ysty,/xsty,res=res,errors=errors,chi2=chi2,rchi2=rchi2,/xlog,/ylog,legend_xpos=legend_xpos,legend_ypos=legend_ypos
; 
; 
; IF keyword_set(postcript) THEN BEGIN
;   device,/close
;   set_plot,'X'
;   message,'wrote '+ps_file,/info
; ENDIF
; IF keyword_set(png) THEN BEGIN
;   ;file_png=!dustem_wrap_soft_dir+'/Docs/Figures/'+'Last_dustem_fit.png'
;   file_png=dir_png+'Last_dustem_fit_sed_readme.png'
;   write_png,file_png,tvrd(/true)
;   message,'Wrote '+file_png,/info
; ENDIF

tit='Spectral Energy Distribution (Final run)'
dustemwrap_plot,res,stp,xr=xr,/xstyle,yr=yr,/ysty,/ylog,/xlog,title=tit
427f1205   Jean-Michel Glorian   version 4.2 merged
360
361
362
363
364
365

message,'dustem_mpfit_sed executed in '+strtrim(t2-t1,2)+' sec',/info

the_end:

END