make_sed_phangs_tables.pro
6.18 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
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
PRO make_sed_phangs_tables,test=test,show_seds=show_seds,grid_type=grid_type,isrf_class=isrf_class
;make_sed_phangs_tables
;make_sed_phangs_tables,/test,grid_type=2,/show_seds,isrf_class=15
;make_sed_phangs_tables,/test,grid_type=3,/show_seds
;=== This is needed for Phangs work
;defsysv,'!phangs_data_dir','/Volumes/PILOT_FLIGHT1/PHANGS/'
;defsysv,'!phangs_data_dir','/data/projects/phangs/'
;=== This is where the grids will be written
;dir=!dustem_wrap_soft_dir+'/Grids/'
dir=!phangs_data_dir+'/ISRF/GRIDS/'
dustem_define_la_common
use_grid_type=1
IF keyword_set(grid_type) THEN BEGIN
use_grid_type=grid_type
ENDIF
CASE use_grid_type OF
1: BEGIN ;======= This is to produce a grid with the DBP90 model + Mathis field for G0 and PAH abundance
!quiet=1
model='DBP90'
;===== This is to do a small test_table
pd = [ $
'(*!dustem_params).G0', $ ;G0
'(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction
'(*!dustem_params).grains(1).mdust_o_mh'] ;VSG mass fraction
iv_min = [0.1,1.e-4,1.e-4]
iv_max = [100,1.e-1,1.e-1]
log=[1,1,1]
fpd=[]
fiv=[]
IF keyword_set(test) THEN BEGIN
iv_Nvalues=[5,3,3]
table_name=dir+'TEST_'+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
ENDIF ELSE BEGIN
iv_Nvalues=[50,20,20]
table_name=dir+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
ENDELSE
dustem_init,model=model
;=== select filters to be used for the grid
filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names]
dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
END
2: BEGIN ;This is DPB90 model with PHANGS ISRF classes
!quiet=1
model='DBP90' ;This is to use the DBP90 dust model
;======= This is to produce a grid with the above model for G0 and PAH abundance and ISRF from the Muse data
;======= Note that g0 is fixed parameters is actually not used, replaced by dustem_plugin_phangs_class_isrf_2
pd = [ $
'dustem_plugin_phangs_class_isrf_2', $ ;G0 factor for Phangs ISRF classes
'(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction
'(*!dustem_params).grains(1).mdust_o_mh'] ;VSG mass fraction
iv_min = [0.1,1.e-4,1.e-4]
iv_max = [100,1.e-1,1.e-1]
log=[1,1,1]
Nclass=31L
fpd=['(*!dustem_params).gas.g0','(*!dustem_params).g0','dustem_plugin_phangs_class_isrf_1'] ;ISRF class to be used
dustem_init,model=model
fortran_user=dustem_set_up_fortran(/random_name) ;use a random fortran number
!dustem_verbose=0
(*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS ;This makes Fortran be quiet too
;=== select filters to be used for the grid
filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $
(*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names]
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
fiv=[-1.,1.,use_isrf_class] ;This sets the ISRF class to the requested value
isrf_class_str='_isrfclass'+strtrim(use_isrf_class,2)
;define the number of free parameters in the grid and the grid fits table name
IF keyword_set(test) THEN BEGIN
iv_Nvalues=[5,3,3]
table_name=dir+'TEST_'+model+'_MuseISRF_JWST_G0_YPAH_YVSG_4Phangs'+isrf_class_str+'.fits'
ENDIF ELSE BEGIN
iv_Nvalues=[50,20,20]
table_name=dir+model+'_MuseISRF_JWST_G0_YPAH_YVSG_4Phangs'+isrf_class_str+'.fits'
ENDELSE
dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
END
3: BEGIN ;This is DPB90 model with DL07 ISRF prescription (a la Chastanet)
!quiet=1
model='DBP90' ;This is to use the DBP90 dust model
;======= This is to produce a grid with the above model for G0 and PAH abundance and ISRF from the Muse data
;======= Note that g0 is fixed parameters is actually not used, replaced by dustem_plugin_phangs_class_isrf_2
pd = [ $
'dustem_plugin_dl07_isrf_model_1', $ ;gamma factor
'dustem_plugin_dl07_isrf_model_3', $ ;Umin factor
'(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction
'(*!dustem_params).grains(1).mdust_o_mh' $ ;VSG mass fraction
]
;umin: 0.1-100
;gamma: 0.0,0.02
;umax: 1.e7
;alpha: 2.
iv_min = [0.1,0. ,1.e-4,1.e-4]
iv_max = [100,0.02,1.e-1,1.e-1]
log=[1,1,1,1]
fpd=['(*!dustem_params).gas.g0','(*!dustem_params).g0', $
'dustem_plugin_dl07_isrf_model_2', $ ;alpha
'dustem_plugin_dl07_isrf_model_4' $ ;Umax
]
dustem_init,model=model
fortran_user=dustem_set_up_fortran(/random_name) ;use a random fortran number
!dustem_verbose=0
(*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS ;This makes Fortran be quiet too
;=== select filters to be used for the grid
filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $
(*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names]
fiv=[-1.,1.,2.,1.e7] ;This sets the fixed parameters
;define the number of free parameters in the grid and the grid fits table name
IF keyword_set(test) THEN BEGIN
iv_Nvalues=[2,2,3,3]
table_name=dir+'TEST_'+model+'_DL07ISRF_G0_YPAH_YVSG_4Phangs'+'.fits'
ENDIF ELSE BEGIN
iv_Nvalues=[6,5,20,20]
table_name=dir+model+'_DL07ISRF_G0_YPAH_YVSG_4Phangs'+'.fits'
ENDELSE
dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
END
ENDCASE
the_end:
END