Blame view

src/idl/dustem_plugin_modify_dust_polar_angle.pro 1.9 KB
4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
1
Function dustem_plugin_modify_dust_polar_angle, key=key, val=val, scope=scope,help=help
4750086c   Ilyes Choubani   nouvelle philosph...
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

;+
; NAME:
;    dustem_create_stokes
; PURPOSE:
;    Produces stokes emission parameters for the dust and synchrotron components
; CATEGORY:
;    DUSTEM Wrapper
; CALLING SEQUENCE:
;    dustem_create_stokes(st,key=key,val=val)
; INPUTS:
;    st (st = dustem_run(p_dim))
; OPTIONAL INPUT PARAMETERS:
;    key  = input parameter number
;    val  = input parameter value
; OUTPUTS:
;    out = array containing the stokes emission parameters associated to the dust/synchrotron component or a concatenated version for both
; OPTIONAL OUTPUT PARAMETERS:
;    None
; ACCEPTED KEY-WORDS:
;    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:
;    This is a dustem plugin
;-

IF keyword_set(help) THEN BEGIN
  doc_library,'dustem_create_stokes'
4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
36
  out=0.
4750086c   Ilyes Choubani   nouvelle philosph...
37
38
  goto,the_end
ENDIF
e7938fa3   Ilyes Choubani   Corrected02: Impl...
39

e7938fa3   Ilyes Choubani   Corrected02: Impl...
40

4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
41
scope='MODIFY_DUST_POLAR_ANGLE'
e7938fa3   Ilyes Choubani   Corrected02: Impl...
42

4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
43
44
45
46
47
48
49
50
51
52
53
54
55
56

IF  ptr_valid((*!dustem_fit).CURRENT_PARAM_VALUES) THEN BEGIN
    p_di=(*(*!dustem_fit).CURRENT_PARAM_VALUES)    
    st=dustem_run(p_di)
    
ENDIF ELSE BEGIN
          p_di=(*(*!dustem_fit).PARAM_INIT_VALUES)  
          st=dustem_run(p_di)

      ENDELSE 



psi=0.
e7938fa3   Ilyes Choubani   Corrected02: Impl...
57
58
IF keyword_set(key) THEN BEGIN 
  a=where(key EQ 1,count1)
4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
59
  IF count1 NE 0 THEN psi=val[a[0]] ; setting psi from pd   
e7938fa3   Ilyes Choubani   Corrected02: Impl...
60
  
4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
61
62
  print, 'psi in modify_dust_polar_angle is:'
  print, psi
e7938fa3   Ilyes Choubani   Corrected02: Impl...
63
64
65
  
ENDIF

e7938fa3   Ilyes Choubani   Corrected02: Impl...
66

4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
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
fact = 1.e4*1.E20/(4.*!pi)/(3.e8/1.e-6/(st.polsed).wav)*1.e20/1.e7
P=st.polsed.em_tot*fact
I=st.sed.em_tot*fact

Nwaves=(size(I))[1]

frac=P/I
tes=where(finite(frac) eq 0)
frac(tes)=0.


polar_ippsi2iqu,I,Q,U,frac,replicate(psi,Nwaves) 

print, 'U in modify_dust_polar_angle is:'
print, U
print, 'Q in modify_dust_polar_angle is:'
print, Q



out=fltarr(Nwaves,2)

out[*,0]=Q
out[*,1]=U

return, out

4750086c   Ilyes Choubani   nouvelle philosph...
94
the_end:
e7938fa3   Ilyes Choubani   Corrected02: Impl...
95

4fd64cbb   Ilyes Choubani   dustem_fit_sed_po...
96

e7938fa3   Ilyes Choubani   Corrected02: Impl...
97
end