make_sed_phangs_tables.pro
3.9 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
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
;=== 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 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
!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
ENDCASE
the_end:
END