; szss96_get_ch4all.pro -- translated by f2idl ; using argument information from get_ch4all.f and get_ch4all_f.c ; and documentation information from get_ch4all.f ;+ ; NAME: ; szss96_get_ch4all ; ; PURPOSE: ; get values from ch4all common block ; CALLING SEQUENCE: ; szss96_get_ch4all,GGOUT,WWOUT,TREFOUT ; ; OUTPUTS: ; ; GGOUT - normalized wavenumber variable g from 0 to 1 (unitless) [JM] ; WWOUT - weights for each g (unitless) [JM] ; TREFOUT - reference temperatures (K) [LM] ; MODIFICATION HISTORY: ; Written 2007 Aug 31, LAY ; : ; ;- PRO szss96_get_ch4all,GGOUT,WWOUT,TREFOUT ; -------------------- This function name fcn = 'szss96_get_ch4all' ; -------------------- assign parameters (including dimensions) JM = 30 LM = 4 ;------------------------- ; setup the output variables that will be passed to the fortran ; routine GGOUT = make_array(JM,type= 5) WWOUT = make_array(JM,type= 5) TREFOUT = make_array(LM,type= 5) ;------------------------- ; check all variables if n_params() ne 3 then begin print,'szss96_get_ch4all: wrong number of arguments' return endif if size(GGOUT,/type) ne 5 then begin print,'szss96_get_ch4all: GGOUT of wrong data type' return endif if size(GGOUT,/n_dim) ne 1 then begin print,'szss96_get_ch4all: GGOUT of wrong n_dim' return endif if not array_equal(size(GGOUT,/dim), [JM] ) then begin print,'szss96_get_ch4all: GGOUT of wrong dim' return endif if size(WWOUT,/type) ne 5 then begin print,'szss96_get_ch4all: WWOUT of wrong data type' return endif if size(WWOUT,/n_dim) ne 1 then begin print,'szss96_get_ch4all: WWOUT of wrong n_dim' return endif if not array_equal(size(WWOUT,/dim), [JM] ) then begin print,'szss96_get_ch4all: WWOUT of wrong dim' return endif if size(TREFOUT,/type) ne 5 then begin print,'szss96_get_ch4all: TREFOUT of wrong data type' return endif if size(TREFOUT,/n_dim) ne 1 then begin print,'szss96_get_ch4all: TREFOUT of wrong n_dim' return endif if not array_equal(size(TREFOUT,/dim), [LM] ) then begin print,'szss96_get_ch4all: TREFOUT of wrong dim' return endif ;------------------------- ; Find root directory for library tname findpro, fcn, dirlist=dirlist, /noprint if dirlist[0] eq '' then root = '.' else root = dirlist[0] ;------------------------- ; CALL lib_name = root + '/szss96.so' entry_name = 'idl_ce_call_get_ch4all__' RESULT = CALL_EXTERNAL( lib_name, ENTRY_NAME, $ GGOUT, WWOUT, TREFOUT, $ /verbose ) end