dustem_write_all.pro 2.62 KB
PRO dustem_write_all,st,dir_out,help=help

;+
; NAME:
;    dustem_write_all
;
; PURPOSE:
;    Manages writing of DustEM input data files
;
; CATEGORY:
;    DustEM, Distributed, Low-level, Fortran
;
; CALLING SEQUENCE:
;    dustem_write_all,st,dir_out[,/help]
;
; INPUTS:
;    st: DustEM input structure
;    dir_out: output directory
;
; OPTIONAL INPUT PARAMETERS:
;    None
;
; OUTPUTS:
;    None
;
; OPTIONAL OUTPUT PARAMETERS:
;    None
;
; ACCEPTED KEY-WORDS:
;    help      = If set, print this help
;
; COMMON BLOCKS:
;    None
;
; SIDE EFFECTS:
;    JPB: In fact, this routine could probably use st=*!dustem_params and dir_out=!dustem_dat and would need no arguments ...
;
; RESTRICTIONS:
;    The DustEMWrap IDL code must be installed
;    The DustEM fortran code must be installed
;
; PROCEDURE:
;    None
;
; EXAMPLES
;
; MODIFICATION HISTORY:
;    Written by J.-Ph. Bernard
;    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_write_all'
  goto,the_end
ENDIF

;IF getenv('DUSTEM_WHICH') EQ 'VERSTRAETE' THEN BEGIN
IF !dustem_which EQ 'VERSTRAETE' THEN BEGIN
  dustem_write_all_lv,st,dir_out
  goto,the_end
ENDIF

;IF getenv('DUSTEM_WHICH') EQ 'WEB3p8' THEN BEGIN
IF !dustem_which EQ 'RELEASE' THEN BEGIN    
  dustem_write_all_release,st,dir_out
  goto,the_end
ENDIF

file_out=dir_out+'GRAIN.DAT'
dustem_write_grain,file_out,st.grains

file_out=dir_out+'TAILLE.DAT'
dustem_write_taille,file_out,st.grains

file_out=dir_out+'PROPMASS.DAT'
dustem_write_propmass,file_out,st.grains

;IF getenv('DUSTEM_WHICH') EQ 'DESERT' THEN BEGIN
IF !dustem_which EQ 'DESERT' THEN BEGIN
  file_out=dir_out+'GEMISSIV.DAT'
  dustem_write_gemissiv,file_out,st.gemissiv
ENDIF

file_out=dir_out+'ISRF.DAT'
dustem_write_isrf,file_out,st.isrf

;stop
;IF getenv('DUSTEM_WHICH') EQ 'COMPIEGNE' THEN BEGIN
IF !dustem_which EQ 'COMPIEGNE' THEN BEGIN
  file_out=dir_out
  dustem_write_qabs,file_out,st.qabs
ENDIF
;IF getenv('DUSTEM_WHICH') EQ 'DESERT' THEN BEGIN
IF !dustem_which EQ 'DESERT' THEN BEGIN
  file_out=dir_out+'QABS.DAT'
  dustem_write_qabs_desert,file_out,st.qabs
ENDIF

file_out=dir_out+'SPECEM.DAT'
dustem_write_specem,file_out,st.specem

file_out=dir_out+'CALOR.DAT'
dustem_write_calor,file_out,st.calor

;IF getenv('DUSTEM_WHICH') EQ 'COMPIEGNE' THEN BEGIN
IF !dustem_which EQ 'COMPIEGNE' THEN BEGIN
  file_out=dir_out+'LAMBDA.DAT'
  dustem_write_lambda,file_out,st.lambda
ENDIF

;IF getenv('DUSTEM_WHICH') EQ 'DESERT' THEN BEGIN
IF !dustem_which EQ 'DESERT' THEN BEGIN
  file_out=dir_out+'IONFRAC.DAT'
  dustem_write_ionfrac,file_out,st.ionfrac
ENDIF

the_end:

END