dustem_initialize_ext.pro 3.82 KB
FUNCTION dustem_initialize_ext,Next,comments=comments,help=help

;+
; NAME:
;    dustem_initialize_ext
;
; PURPOSE:
;    Initializes an empty Dustem EXT structure
;
; CATEGORY:
;    DUSTEM Wrapper, Distribued, Low-Level
;
; CALLING SEQUENCE:
;    st=dustem_initialize_ext(Next[,/help])
;
; INPUTS:
;    Next: Number of elements/filters in the EXT structure

; OPTIONAL INPUT PARAMETERS:
;    None
; OUTPUTS:
;    st = EXT structure
;    The structure contains the following tags
;      instru  : name of the instrument. Actually not used by DustemWrap.
;      filter  : name of the filter. Actually defines the wavelength, the flux convention, etc ...
;      wave    : wavelength in microns. Actually not used by DustemWrap. [microns]
;      EXT_I   : Total Extinction Cross-section (a.k.a. Ext_I) [cm^2/H]
;      EXT_Q   : Q Extinction Cross-section [cm^2/H]
;      EXT_U   : U Extintion Cross-section  [cm^2/H]
;      EXT_P   : P Extinction Cross-section [cm^2/H] (computed from EXT_Q,EXT_U or directly from VG's models)
;      EXT_smallp  : Smallp Extinction Cross-section (Extinction polarization fraction) []
;      psi     : polarization angle [deg] (computed from EXT_Q,EXT_U)
;      sigextII : = error^2 (for completness on sigmas) [cm^2/H^2]
;      sigextQQ : variance on Q [cm^2/H^2]
;      sigextUU : variance on U [cm^2/H^2]
;      sigextIQ : IQ covariance [cm^2/H^2]
;      sigextIU : IU covariance [cm^2/H^2]
;      sigextQU : QU covariance [cm^2/H^2]
;      sigextP : uncertainty on largep [cm^2/H]
;      sigextsmallp = uncertainty on smallp [] 
;      sigextpsi  : uncertainty on psi [deg]
; OPTIONAL OUTPUT PARAMETERS:
;    comments : string comments about the EXT SED
; ACCEPTED KEY-WORDS:
;    help                  = if set, print this help
; COMMON BLOCKS:
;    None
; SIDE EFFECTS:
;    None
; RESTRICTIONS:
;    None
; PROCEDURE:
;    Straightforward
; EXAMPLES
;    st=dustem_initialize_ext(10)
;    help,st
; MODIFICATION HISTORY:
;    Written by JPB 2009
;    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_initialize_ext'
  sed=0.
  goto,the_end
ENDIF

iv=la_undef(4)
one_st={instru:'',filter:'',wave:iv,EXT_I:iv,EXT_Q:iv,EXT_U:iv,EXT_P:iv,EXT_smallp:iv,psi:iv,sigextII:iv,sigextQQ:iv,sigextUU:iv,sigextIQ:iv,sigextIU:iv,sigextQU:iv,sigextP:iv,sigextsmallp:iv,sigext_psi:iv}

comments=['Dustem-Wrap EXT']
comments=[comments,'Comment lines start with \']
comments=[comments,'Undefined/missing value is -32768.0']
comments=[comments,'Assumes a reference N(H) = *!dustem_HCD']
comments=[comments,'instru: Instrument name']
comments=[comments,'filter: Instrument filter']
comments=[comments,'wave: Filter reference wavelength [mic]']
comments=[comments,'EXT_I: EXT intensity [cm^2/H]']
comments=[comments,'EXT_Q: Q Stokes parameter extinction cross-section [cm^2/H]']
comments=[comments,'EXT_U: U Stokes parameter extinction cross-section [cm^2/H]']
comments=[comments,'EXT_P: Extinction Polarized Intensity [cm^2/H]']
comments=[comments,'EXT_smallp: Extinction Polarized Fraction []']
comments=[comments,'psi: polarization angle [deg]']
comments=[comments,'sigextII: variance on EXT_I [(cm^2/H)^2]']
comments=[comments,'sigextQQ: variance on EXT_Q [(cm^2/H)^2]']
comments=[comments,'sigextUU: variance on EXT_U [(cm^2/H)^2]']
comments=[comments,'sigextIQ: covariance on EXT_I and EXT_Q [(cm^2/H)^2]']
comments=[comments,'sigextIU: covariance on EXT_I and EXT_U [(cm^2/H)^2]']
comments=[comments,'sigextQU: covariance on EXT_Q and EXT_U [(cm^2/Hs)^2]']
comments=[comments,'sigextP: variance on Extinction Polarized Intensity (P) [(cm^2/H)^2]']
comments=[comments,'sigextsmallp: variance on Extinction Polarized fraction (EXT_P) []']
comments=[comments,'sigextpsi: variance on polarisation fraction (psi) [deg^2]']

sed=replicate(one_st,Next)

the_end:
RETURN,sed

END