; szss96_get_ch4v4.pro -- translated by f2idl ; using argument information from get_ch4v4.f and get_ch4v4_f.c ; and documentation information from get_ch4v4.f ;+ ; NAME: ; szss96_get_ch4v4 ; ; PURPOSE: ; get values from ch4v4 common block ; CALLING SEQUENCE: ; szss96_get_ch4v4,SIG4AOUT,SIG4BOUT ; ; OUTPUTS: ; ; SIG4AOUT - k-coefficients for band A (m^2/kg) [JM,LM] ; SIG4BOUT - k-coefficients for band A (m^2/kg) [JM,LM] ; MODIFICATION HISTORY: ; Written 2007 Aug 31, LAY ; : ; ;- PRO szss96_get_ch4v4,SIG4AOUT,SIG4BOUT ; -------------------- This function name fcn = 'szss96_get_ch4v4' ; -------------------- assign parameters (including dimensions) JM = 30 LM = 4 ;------------------------- ; setup the output variables that will be passed to the fortran ; routine SIG4AOUT = make_array(JM,LM,type= 5) SIG4BOUT = make_array(JM,LM,type= 5) ;------------------------- ; check all variables if n_params() ne 2 then begin print,'szss96_get_ch4v4: wrong number of arguments' return endif if size(SIG4AOUT,/type) ne 5 then begin print,'szss96_get_ch4v4: SIG4AOUT of wrong data type' return endif if size(SIG4AOUT,/n_dim) ne 2 then begin print,'szss96_get_ch4v4: SIG4AOUT of wrong n_dim' return endif if not array_equal(size(SIG4AOUT,/dim), [JM,LM] ) then begin print,'szss96_get_ch4v4: SIG4AOUT of wrong dim' return endif if size(SIG4BOUT,/type) ne 5 then begin print,'szss96_get_ch4v4: SIG4BOUT of wrong data type' return endif if size(SIG4BOUT,/n_dim) ne 2 then begin print,'szss96_get_ch4v4: SIG4BOUT of wrong n_dim' return endif if not array_equal(size(SIG4BOUT,/dim), [JM,LM] ) then begin print,'szss96_get_ch4v4: SIG4BOUT 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_ch4v4__' RESULT = CALL_EXTERNAL( lib_name, ENTRY_NAME, $ SIG4AOUT, SIG4BOUT, $ /verbose ) end