Blame view

LabTools/IRAP/JPB/make_sed_phangs_tables.pro 6.18 KB
3b79f061   Jean-Philippe Bernard   improved
1
PRO make_sed_phangs_tables,test=test,show_seds=show_seds,grid_type=grid_type,isrf_class=isrf_class
d6343d56   Jean-Philippe Bernard   First commit
2
3

;make_sed_phangs_tables
3b79f061   Jean-Philippe Bernard   improved
4
;make_sed_phangs_tables,/test,grid_type=2,/show_seds,isrf_class=15
14ae4f23   Jean-Philippe Bernard   improved
5
;make_sed_phangs_tables,/test,grid_type=3,/show_seds
0ed148cc   Jean-Philippe Bernard   improved
6
7

;=== This is needed for Phangs work
80d9cb5e   Jean-Philippe Bernard   improved pathes
8
9
;defsysv,'!phangs_data_dir','/Volumes/PILOT_FLIGHT1/PHANGS/'
;defsysv,'!phangs_data_dir','/data/projects/phangs/'
0ed148cc   Jean-Philippe Bernard   improved
10
;=== This is where the grids will be written
80d9cb5e   Jean-Philippe Bernard   improved pathes
11
;dir=!dustem_wrap_soft_dir+'/Grids/'
a1668e0f   Jean-Philippe Bernard   improved path
12
dir=!phangs_data_dir+'/ISRF/GRIDS/'
d6343d56   Jean-Philippe Bernard   First commit
13
14

dustem_define_la_common
0ed148cc   Jean-Philippe Bernard   improved
15

3b79f061   Jean-Philippe Bernard   improved
16
17
18
19
20
21
use_grid_type=1
IF keyword_set(grid_type) THEN BEGIN
  use_grid_type=grid_type
ENDIF

CASE use_grid_type OF
14ae4f23   Jean-Philippe Bernard   improved
22
   1: BEGIN ;======= This is to produce a grid with the DBP90 model + Mathis field for G0 and PAH abundance
3b79f061   Jean-Philippe Bernard   improved
23
24
25

      !quiet=1
      model='DBP90'
3b79f061   Jean-Philippe Bernard   improved
26
27
28
29
30
      ;===== 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
3b79f061   Jean-Philippe Bernard   improved
31
32
33
      iv_min =   [0.1,1.e-4,1.e-4]
      iv_max =   [100,1.e-1,1.e-1] 
      log=[1,1,1]
3b79f061   Jean-Philippe Bernard   improved
34
35
      fpd=[]
      fiv=[]
3b79f061   Jean-Philippe Bernard   improved
36
37
      IF keyword_set(test) THEN BEGIN
         iv_Nvalues=[5,3,3]
429a6075   Jean-Philippe Bernard   improved
38
         table_name=dir+'TEST_'+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
3b79f061   Jean-Philippe Bernard   improved
39
40
      ENDIF ELSE BEGIN
      	iv_Nvalues=[50,20,20]
429a6075   Jean-Philippe Bernard   improved
41
      	table_name=dir+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
3b79f061   Jean-Philippe Bernard   improved
42
      ENDELSE
3b79f061   Jean-Philippe Bernard   improved
43
44
45
      dustem_init,model=model
      ;=== select filters to be used for the grid
      filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names]
3b79f061   Jean-Philippe Bernard   improved
46
47
      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
14ae4f23   Jean-Philippe Bernard   improved
48
   2: BEGIN          ;This is DPB90 model with PHANGS ISRF classes
3b79f061   Jean-Philippe Bernard   improved
49
      !quiet=1
429a6075   Jean-Philippe Bernard   improved
50
      model='DBP90'   ;This is to use the DBP90 dust model
429a6075   Jean-Philippe Bernard   improved
51
52
      ;======= 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
3b79f061   Jean-Philippe Bernard   improved
53
54
55
56
57
58
59
      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]
3b79f061   Jean-Philippe Bernard   improved
60
61
62
      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
b099d16c   Jean-Philippe Bernard   using set up fortran
63
      fortran_user=dustem_set_up_fortran(/random_name)   ;use a random fortran number
1dfe610a   Jean-Philippe Bernard   improved
64
65
      !dustem_verbose=0
      (*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS    ;This makes Fortran be quiet too
3b79f061   Jean-Philippe Bernard   improved
66
67
      ;=== select filters to be used for the grid
      filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $
429a6075   Jean-Philippe Bernard   improved
68
               (*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names]
3b79f061   Jean-Philippe Bernard   improved
69
      IF keyword_set(isrf_class) THEN BEGIN  ;do just one table
429a6075   Jean-Philippe Bernard   improved
70
         use_isrf_class=isrf_class
3b79f061   Jean-Philippe Bernard   improved
71
      ENDIF ELSE BEGIN
429a6075   Jean-Philippe Bernard   improved
72
         use_isrf_class=0  ;This is for Mathis field
3b79f061   Jean-Philippe Bernard   improved
73
      ENDELSE
429a6075   Jean-Philippe Bernard   improved
74
75
76
77
78
79
80
81
82
83
84
      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
3b79f061   Jean-Philippe Bernard   improved
85
   END
14ae4f23   Jean-Philippe Bernard   improved
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
   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

3b79f061   Jean-Philippe Bernard   improved
127
ENDCASE
0ed148cc   Jean-Philippe Bernard   improved
128

d6343d56   Jean-Philippe Bernard   First commit
129

0ed148cc   Jean-Philippe Bernard   improved
130
131
the_end:

d6343d56   Jean-Philippe Bernard   First commit
132
END