dustem_extend_linear_params2grid.pro
3.38 KB
1
2
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
59
60
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
PRO dustem_extend_linear_params2grid,pd,iv_min,iv_max,iv_Nvalues,plog,test=test,grid_type=grid_type,isrf_class=isrf_class,help=help
;+
; NAME:
; dustem_extend_linear_params2grid
; PURPOSE:
; extends entries for a linear parameter in a Dustemwrap grid fits file
; CATEGORY:
; Dustem
; CALLING SEQUENCE:
; dustem_extend_linear_params2grid,pd,iv_min,iv_max,iv_Nvalues[,/test][,grid_type=][,isrf_class=][,/help]
; INPUTS:
; pd : dustemwrap parameter descriptions array
; iv_min : minimum values for parameters in pd
; iv_max : maximum values for parameters in pd
; iv_Nvalues : number of parameter values for parameters in pd
; plog : array indicating if the parameters are to be sampled in linear (0) or log scale (1)
; OPTIONAL INPUT PARAMETERS:
; grid_type : grid type (see code)
; isrf_class : isrf_class
; OUTPUTS:
; None
; OPTIONAL OUTPUT PARAMETERS:
; None
; ACCEPTED KEY-WORDS:
; help = If set, print this help
; COMMON BLOCKS:
; None
; SIDE EFFECTS:
; A file is written
; RESTRICTIONS:
; The DustEM fortran code must be installed
; PROCEDURE:
; Note: grids do not retain scattering and absorption spectra separately, only totalm extinction. So these are not handled here.
; EXAMPLES
; see test_dustem_extend_linear_params2grid
; MODIFICATION HISTORY:
; Written by J.-Ph. Bernard (May 2024)
; 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_extend_linear_params2grid'
goto,the_end
ENDIF
dir=!phangs_data_dir+'/ISRF/GRIDS/'
test_str=''
IF keyword_set(test) THEN BEGIN
test_str='TEST_'
ENDIF
use_grid_type=0
IF keyword_set(grid_type) THEN BEGIN
use_grid_type=grid_type
ENDIF
CASE use_grid_type OF
22: BEGIN ;This is DL07 model with PHANGS ISRF classes, with only G0 as free parameter. Same as 2, but for DL07 model
!quiet=1
model='DL07' ;This is to use the DBP90 dust model
IF keyword_set(isrf_class) THEN BEGIN ;do just one table
use_isrf_class=isrf_class
ENDIF ELSE BEGIN
use_isrf_class=0 ;This is for Mathis field
ENDELSE
isrf_class_str='_isrfclass'+strtrim(use_isrf_class,2)
input_table_name0=dir+model+'_MuseISRF_JWST_G0_Ypah1added_Ypah2added_Yvsgadded_4Phangs_noionis'+isrf_class_str+'.fits'
message,'Marginalizing grid over given parameter',/continue
isrf_class_str=''
input_table_name=input_table_name0
output_table_name='/tmp/test.fits'
spawn,'rm '+output_table_name
dustem_marginalize_table,input_table_name,output_table_name,pd
;stop
message,'Adding Dust abundances to grid',/continue
input_table_name='/tmp/test.fits'
output_table_name='/tmp/test_extended.fits'
pd_extend=[pd]
dustem_add_linear_params2grid,input_table_name,pd_extend,iv_min,iv_max,iv_Nvalues,out_filename=output_table_name,plog=plog,show_seds=show_seds
message,'Merging grids',/continue
input_table_name1=input_table_name0
input_table_name2='/tmp/test_extended.fits'
output_table_name=dir+test_str+model+'_MuseISRF_JWST_G0_Ypah1added_Ypah2added_YvsgaddedExtended_4Phangs_noionis'+isrf_class_str+'.fits'
dustem_merge_grids,input_table_name1,input_table_name2,output_table_name
END
ENDCASE
the_end:
END