Ignore:
Timestamp:
06/14/06 14:54:32 (18 years ago)
Author:
pinsard
Message:

modification of savesaxo.sh to fix ticket 17

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/Documentation/idldoc_html_output/search.js

    r106 r109  
    8888a[86] = new Array("./ReadWrite/idl-NetCDF/ncdf_struct_free.html", "ncdf_struct_free.pro", "", "PRO ncdf_struct_free s      free heap memory associated with struct returned by ncdf_struct    for i 0 s nvars 1 do ptr_free s vars i data  end"); 
    8989a[87] = new Array("./ReadWrite/ncdf_timeget.html", "ncdf_timeget.pro", "", "           file_comments get the time axis fom a netcdf_file and transforms it in   julian days of IDL       categories reading ncdf_file      param cdfid  in required  the ID of the ncdf_file  which is already open    param timeid  in required  the ID or the name of the variable which describe the calendar      keyword  YYYYMMDD active to obtain the date as a longinterger with          the format YearYearYearYearMonthMonthDayDay      file_comments the keyword parameters of ncdf_varget      returns a long array of IDL julian days      restrictions the calendar variable must have the units attribute   following the syntaxe bellow:     time_counter:units    seconds since 0001 01 01 00:00:00      time_counter:units    hours since 0001 01 01 00:00:00      time_counter:units    days since 1979 01 01 00:00:00      time_counter:units    months since 1979 01 01 00:00:00      time_counter:units    years since 1979 01 01 00:00:00         history Sebastien Masson  smasson lodyc jussieu fr                         June 2001         FUNCTION ncdf_timeget  cdfid  timeid  YYYYMMDD   yyyymmdd  _extra   ex     insidetime ncdf_varinq cdfid timeid     if insidetime natts NE 0 then begin       attnames   strarr insidetime natts        for attiq 0 insidetime natts 1 do attnames attiq strlowcase ncdf_attname cdfid timeid attiq     ENDIF ELSE return  report the variable  timeid  must have the units attribut    reading of the time axis    ncdf_varget  cdfid  timeid  time  _extra   ex     time_counter:units    seconds since 0001 01 01 00:00:00      time_counter:units    hours since 0001 01 01 00:00:00      time_counter:units    days since 1979 01 01 00:00:00      time_counter:units    months since 1979 01 01 00:00:00      time_counter:units    years since 1979 01 01 00:00:00         if  where attnames EQ  units 0  NE  1 then begin       ncdf_attget cdfid timeid units value       value   strtrim strcompress string value  2        words   str_sep value            unite   words 0        start   str_sep words 2          case strlowcase unite  of           seconds :time   julday start 1  start 2  start 0 time long 24 3600            hours :time   julday start 1  start 2  start 0 time long 24            days :time   julday start 1  start 2  start 0 time           months :BEGIN              for t   0  n_elements time 1  do begin                time t    julday start 1 time t  start 2  start 0              endfor          END           years :BEGIN             for t   0  n_elements time 1  do begin                time t    julday start 1  start 2  start 0 time t              endfor          END          ELSE:return  report bad syntax of the units attribut of the variable  timeid        ENDCASE    ENDIF ELSE return  report the variable  timeid  must have the units attribut     if keyword_set yyyymmdd  then time   jul2date time     return  time end"); 
    90 a[88] = new Array("./ReadWrite/read_grads.html", "read_grads.pro", "", "           file_comments reading grads file  except  data type station  or  grib    from the grads control file even if there is multiple data files       categories reading function            param var  in required  the variable name          param date1  in required  date of the beginning  yyyymmdd if TIMESTEP is not activate           param date2  in optional  last date  Optionnal  if not scpecified date2 date1            keyword FILENAME the grads control file name:  xxxx ctl       file_comment keyword GLAMBOUNDARY  via computegrid pro  a 2 elements vector           lon1 lon2  giving the longitute boundaries that should be         used to visualize the data            lon2   lon1           lon2   lon1 eq 360         key_shift will be automatically defined according to         GLAMBOUNDARY             keyword  TIMESTEP to specify that the dates are time steps instead of          true calendar              file_comment keyword IODIRECTORY a string giving the name of iodirectory  see         isafile pro for all possibilities  default value is common          variable iodir      file_comments     NOT yet available              hidden BOX: a 4 or 6 elements 1d array   lon1 lon2 lat1 lat2  depth1           depth2  that specifies the area where data must be read            hidden EVERYTHING             hidden NOSTRUCTURE             returns an array      uses common      restriction define all the grid parameters  defined in common pro    associated to the data       restrictions this function call the procedure scanfile that use the    unix commands grep and sed       examples      IDL  a read_grads sst 19900101 19900131 filename outputs ctl       IDL  plt  a      history Sebastien Masson  smasson lodyc jussieu fr             FUNCTION read_grads  var  date1  date2  FILENAME   filename  BOX box  TIMESTEP   timestep  EVERYTHING   everything  NOSTRUCT   nostruct  _EXTRA   ex    cm_4mesh  cm_4data  cm_4cal   IF NOT keyword_set key_forgetold  THEN BEGIN  updatenew   ENDIF     we find the filename       filename   isafile FILENAME   filename  IODIRECTORY   iodir  _EXTRA   ex     if size filename   type  NE 7 then       return  report read_ncdf cancelled      we scan the control file called filename      scanctl  filename  filesname  jpt1file  varsname  varslev  swapbytes  bigendian  littleendian  f77sequential  fileheader  theader  xyheader  VARFMT   varfmt  _EXTRA   ex    if n_elements varfmt  EQ 0 then varfmt    float        check date1 and date2 and found the starting index  t1  and the   ending index  t2  that corresponds to the time series specified by   date1 and date2 for the time axis defined in the  ctl file         if n_elements date1  EQ 0 then begin       t0   0       t1   0    ENDIF    if n_elements date2  EQ 0 then date2   date1    if keyword_set timestep  then BEGIN       if date1 GT date2 then begin          print   date2 must be larger than date1           return   1       endif       t1   0   long date1   long date2   date2jul date2   grads        if jdate1 GT jdate2 then begin          print   date2 must be larger than date1           return   1       endif       t1    where time GE jdate1 0        tmp   where time LE jdate2  t2        t2   t2 1    ENDELSE    if t2 LT t1 then begin       print   There is no date between date1 and date2        return   1    endif    jpt2read   t2 t1 1       index of the variable        varid   where strlowcase varsname  EQ strlowcase var     varid   varid 0     if varid EQ  1 then begin       print  var  not found in the variable liste of  filename       return    1    ENDIF    varname   var    if varslev varid  EQ 1 then res   fltarr jpi  jpj  jpt2read   nozero       ELSE res   fltarr jpi  jpj  varslev varid  jpt2read   nozero        find the first file to be read according to the lile list  the   number of time step in each file and t1 and t2        indf2read   t1 jpt1file    startread   t1 indf2read jpt1file    alreadyread   0 readagain:    jpt2read1file   min jpt1file startread  jpt2read     f2read   filesname indf2read        opening       check the existance of the file    f2read   isafile filename   f2read  iodirectory   iodir  _EXTRA   ex    if the file is stored on tape    if  version os_family EQ  unix  then spawn   file  f2read     dev null    open the file    openr  unit  f2read   get_lun  error err         swap_if_little_endian   bigendian         swap_if_big_endian   littleendian         swap_endian   swapbytes    if err ne 0 then begin       print err_string       return   1    endif      case varfmt of        byte :fmtsz   1l        uint :fmtsz   2l        int :fmtsz   2l        long :fmtsz   4l        float :fmtsz   4l    endcase     check its size    addf77sec   long 4 2 f77sequential     xyblocsize   xyheader   addf77sec xyheader NE 0    jpi jpj fmtsz  addf77sec    nxybloc   long total varslev     filesize    fileheader   addf77sec fileheader NE 0         theader addf77sec theader NE 0    nxybloc xyblocsize jpt1file    infof2read fstat unit     if infof2read size NE filesize then begin       print   According to  filename  the file size must be  strtrim filesize  1  instead of  strtrim infof2read size  1        print   jpi:  strtrim jpi  2        print   jpj:  strtrim jpj  2        print   jpt:  strtrim jpt  2        print   format size in byte:  strtrim fmtsz  2        print   number of xy arrays:  strtrim nxybloc  2        return   1    endif       reading         loop on the time steps to be read in one file    for i   0  jpt2read1file 1 do begin   computing the offset       offset    fileheader   addf77sec fileheader NE 0            theader addf77sec theader NE 0    nxybloc xyblocsize startread i            theader addf77sec theader NE 0        if varid NE 0 THEN          offset   offset   long total varslev 0:varid 1 xyblocsize   if there is only one level       IF varslev varid  EQ 1 then begin          case varfmt of              byte :a assoc unit  bytarr jpi jpj nozero  offset 4 f77sequential               uint :a assoc unit uintarr jpi jpj nozero  offset 4 f77sequential               int :a assoc unit   intarr jpi jpj nozero  offset 4 f77sequential               long :a assoc unit  lonarr jpi jpj nozero  offset 4 f77sequential               float :a assoc unit fltarr jpi jpj nozero  offset 4 f77sequential           endcase          res    i alreadyread a 0         ENDIF ELSE BEGIN   more than 1 level to be read          if f77sequential then BEGIN   sequential access             case varfmt of                 byte :a assoc unit  bytarr jpi jpj 8  varslev varid nozero  offset                  uint :a assoc unit uintarr jpi jpj 4  varslev varid nozero  offset                  int :a assoc unit   intarr jpi jpj 4  varslev varid nozero  offset                  long :a assoc unit  lonarr jpi jpj 2  varslev varid nozero  offset                  float :a assoc unit fltarr jpi jpj 2  varslev varid nozero  offset              endcase             tmp   a 0              case varfmt OF   we cut the headers and tailers of f77 write                 byte : tmp   tmp 4:jpi jpj 3                    uint : tmp   tmp 2:jpi jpj 1                    int :  tmp   tmp 2:jpi jpj 1                    long : tmp   tmp 1:jpi jpj 0                    float :tmp   tmp 1:jpi jpj 0                endcase             if keyword_set key_zreverse  then res      i alreadyread reverse reform tmp   jpi  jpj  varslev varid   over  3  ELSE res      i alreadyread reform tmp   jpi  jpj  varslev varid   over           ENDIF ELSE BEGIN    direct acces             case varfmt of                 byte :a assoc unit  bytarr jpi jpj varslev varid nozero offset                  uint :a assoc unit uintarr jpi jpj varslev varid nozero offset                  int :a assoc unit   intarr jpi jpj varslev varid nozero offset                  long :a assoc unit  lonarr jpi jpj varslev varid nozero offset                  float :a assoc unit fltarr jpi jpj varslev varid nozero offset              endcase             if keyword_set key_zreverse  then res      i alreadyread reverse a 0  3  ELSE res      i alreadyread a 0            ENDELSE       ENDELSE    endfor     close the file    free_lun unit    close unit       do we need to read a new file to complete the time series          if jpt2read1file NE jpt2read then BEGIN       indf2read   indf2read 1       startread   0       alreadyread   alreadyread jpt2read1file       jpt2read   jpt2read jpt2read1file       GOTO  readagain    ENDIF       post processing        if keyword_set key_yreverse  then res   reverse res  2     if keyword_set key_shift  then begin       case  size res 0  of          2:res   shift res  key_shift  0           3:res   shift res  key_shift  0  0           4:res   shift res  key_shift  0  0  0        endcase    endif       mask     IF varslev varid  EQ 1 then begin        if abs valmask  LE 1e5 then notgood   where res    0  EQ valmask           ELSE notgood   where abs res    0  GE abs valmask 10         if notgood 0  NE  1 then tmask notgood    0b     ENDIF ELSE BEGIN        if abs valmask  LE 1e5 then notgood   where res      0  EQ valmask           ELSE notgood   where abs res      0  GE abs valmask 10         if notgood 0  NE  1 then tmask notgood    0b     ENDELSE    if abs valmask  LE 1e5 then notgood   where res EQ valmask       ELSE notgood   where abs res  GE abs valmask 10     if notgood 0  NE  1 THEN res notgood     values f_nan     valmask   1e20     if abs valmask  LE 1e5 then notgood   where res EQ valmask        ELSE notgood   where abs res  GE abs valmask 10      if notgood 0  NE  1 THEN res notgood    1e20     valmask   1e20    triangles_list   triangule      subdomain extration      time aguments      time   time t1:t2     jpt   t2 t1 1    if keyword_set timestep  then vardate   strtrim time 0  2       ELSE vardate   date2string vairdate time 0        updateold       return  res end"); 
    91 a[89] = new Array("./ReadWrite/read_oasis.html", "read_oasis.pro", "", "           file_comments read the f77 unformated files used in Oasis  version  a read_oasis grids_orca_t106 a106 lon 320 160    IDL  m read_oasis masks_orca_t106 or1t msk 182 149 i4      see also IDL  scanoasis grids_orca_t106       history Sebastien Masson  smasson lodyc jussieu fr                         July 01  2002           FUNCTION read_oasis  filename  varname  jpi  jpj  I2  I4   i4  I8   i8  R4   r4     openr  unit  filename   f77_unformatted   get_lun   swap_if_little_endian         error err    if err ne 0 then begin       print err_string       return   1    endif     char8    12345678     readu  unit  char8     print  char8    found   char8 EQ varname     WHILE NOT EOF unit  AND found NE 1 DO BEGIN       readu  unit       if EOF unit  then begin          print  varname  not found in  filename          return   1       endif       readu  unit  char8        print  char8       found   char8 EQ varname    ENDWHILE    case 1 of       keyword_set i2 :res   intarr jpi  jpj        keyword_set i4 :res   lonarr jpi  jpj        keyword_set i8 :res   lon64arr jpi  jpj        keyword_set r4 :res   fltarr jpi  jpj        ELSE:res   dblarr jpi  jpj     endcase        readu  unit  res        free_lun unit     return  res end"); 
     90a[88] = new Array("./ReadWrite/read_grads.html", "read_grads.pro", "", "           file_comments reading grads file  except  data type station  or  grib    from the grads control file even if there is multiple data files       categories reading function            param var  in required  the variable name          param date1  in required  date of the beginning  yyyymmdd if TIMESTEP is not activate           param date2  in optional  last date  Optionnal  if not scpecified date2 date1            keyword FILENAME the grads control file name:  xxxx ctl       file_comments keyword GLAMBOUNDARY  via computegrid pro  a 2 elements vector           lon1 lon2  giving the longitute boundaries that should be         used to visualize the data            lon2   lon1           lon2   lon1 eq 360         key_shift will be automatically defined according to         GLAMBOUNDARY             keyword  TIMESTEP to specify that the dates are time steps instead of          true calendar              file_comments keyword IODIRECTORY a string giving the name of iodirectory  see         isafile pro for all possibilities  default value is common          variable iodir      file_comments     NOT yet available              hidden BOX: a 4 or 6 elements 1d array   lon1 lon2 lat1 lat2  depth1           depth2  that specifies the area where data must be read            hidden EVERYTHING             hidden NOSTRUCTURE             returns an array      uses common      restriction define all the grid parameters  defined in common pro    associated to the data       restrictions this function call the procedure scanfile that use the    unix commands grep and sed       examples      IDL  a read_grads sst 19900101 19900131 filename outputs ctl       IDL  plt  a      history Sebastien Masson  smasson lodyc jussieu fr             FUNCTION read_grads  var  date1  date2  FILENAME   filename  BOX box  TIMESTEP   timestep  EVERYTHING   everything  NOSTRUCT   nostruct  _EXTRA   ex    cm_4mesh  cm_4data  cm_4cal   IF NOT keyword_set key_forgetold  THEN BEGIN  updatenew   ENDIF     we find the filename       filename   isafile FILENAME   filename  IODIRECTORY   iodir  _EXTRA   ex     if size filename   type  NE 7 then       return  report read_ncdf cancelled      we scan the control file called filename      scanctl  filename  filesname  jpt1file  varsname  varslev  swapbytes  bigendian  littleendian  f77sequential  fileheader  theader  xyheader  VARFMT   varfmt  _EXTRA   ex    if n_elements varfmt  EQ 0 then varfmt    float        check date1 and date2 and found the starting index  t1  and the   ending index  t2  that corresponds to the time series specified by   date1 and date2 for the time axis defined in the  ctl file         if n_elements date1  EQ 0 then begin       t0   0       t1   0    ENDIF    if n_elements date2  EQ 0 then date2   date1    if keyword_set timestep  then BEGIN       if date1 GT date2 then begin          print   date2 must be larger than date1           return   1       endif       t1   0   long date1   long date2   date2jul date2   grads        if jdate1 GT jdate2 then begin          print   date2 must be larger than date1           return   1       endif       t1    where time GE jdate1 0        tmp   where time LE jdate2  t2        t2   t2 1    ENDELSE    if t2 LT t1 then begin       print   There is no date between date1 and date2        return   1    endif    jpt2read   t2 t1 1       index of the variable        varid   where strlowcase varsname  EQ strlowcase var     varid   varid 0     if varid EQ  1 then begin       print  var  not found in the variable liste of  filename       return    1    ENDIF    varname   var    if varslev varid  EQ 1 then res   fltarr jpi  jpj  jpt2read   nozero       ELSE res   fltarr jpi  jpj  varslev varid  jpt2read   nozero        find the first file to be read according to the lile list  the   number of time step in each file and t1 and t2        indf2read   t1 jpt1file    startread   t1 indf2read jpt1file    alreadyread   0 readagain:    jpt2read1file   min jpt1file startread  jpt2read     f2read   filesname indf2read        opening       check the existance of the file    f2read   isafile filename   f2read  iodirectory   iodir  _EXTRA   ex    if the file is stored on tape    if  version os_family EQ  unix  then spawn   file  f2read     dev null    open the file    openr  unit  f2read   get_lun  error err         swap_if_little_endian   bigendian         swap_if_big_endian   littleendian         swap_endian   swapbytes    if err ne 0 then begin       print err_string       return   1    endif      case varfmt of        byte :fmtsz   1l        uint :fmtsz   2l        int :fmtsz   2l        long :fmtsz   4l        float :fmtsz   4l    endcase     check its size    addf77sec   long 4 2 f77sequential     xyblocsize   xyheader   addf77sec xyheader NE 0    jpi jpj fmtsz  addf77sec    nxybloc   long total varslev     filesize    fileheader   addf77sec fileheader NE 0         theader addf77sec theader NE 0    nxybloc xyblocsize jpt1file    infof2read fstat unit     if infof2read size NE filesize then begin       print   According to  filename  the file size must be  strtrim filesize  1  instead of  strtrim infof2read size  1        print   jpi:  strtrim jpi  2        print   jpj:  strtrim jpj  2        print   jpt:  strtrim jpt  2        print   format size in byte:  strtrim fmtsz  2        print   number of xy arrays:  strtrim nxybloc  2        return   1    endif       reading         loop on the time steps to be read in one file    for i   0  jpt2read1file 1 do begin   computing the offset       offset    fileheader   addf77sec fileheader NE 0            theader addf77sec theader NE 0    nxybloc xyblocsize startread i            theader addf77sec theader NE 0        if varid NE 0 THEN          offset   offset   long total varslev 0:varid 1 xyblocsize   if there is only one level       IF varslev varid  EQ 1 then begin          case varfmt of              byte :a assoc unit  bytarr jpi jpj nozero  offset 4 f77sequential               uint :a assoc unit uintarr jpi jpj nozero  offset 4 f77sequential               int :a assoc unit   intarr jpi jpj nozero  offset 4 f77sequential               long :a assoc unit  lonarr jpi jpj nozero  offset 4 f77sequential               float :a assoc unit fltarr jpi jpj nozero  offset 4 f77sequential           endcase          res    i alreadyread a 0         ENDIF ELSE BEGIN   more than 1 level to be read          if f77sequential then BEGIN   sequential access             case varfmt of                 byte :a assoc unit  bytarr jpi jpj 8  varslev varid nozero  offset                  uint :a assoc unit uintarr jpi jpj 4  varslev varid nozero  offset                  int :a assoc unit   intarr jpi jpj 4  varslev varid nozero  offset                  long :a assoc unit  lonarr jpi jpj 2  varslev varid nozero  offset                  float :a assoc unit fltarr jpi jpj 2  varslev varid nozero  offset              endcase             tmp   a 0              case varfmt OF   we cut the headers and tailers of f77 write                 byte : tmp   tmp 4:jpi jpj 3                    uint : tmp   tmp 2:jpi jpj 1                    int :  tmp   tmp 2:jpi jpj 1                    long : tmp   tmp 1:jpi jpj 0                    float :tmp   tmp 1:jpi jpj 0                endcase             if keyword_set key_zreverse  then res      i alreadyread reverse reform tmp   jpi  jpj  varslev varid   over  3  ELSE res      i alreadyread reform tmp   jpi  jpj  varslev varid   over           ENDIF ELSE BEGIN    direct acces             case varfmt of                 byte :a assoc unit  bytarr jpi jpj varslev varid nozero offset                  uint :a assoc unit uintarr jpi jpj varslev varid nozero offset                  int :a assoc unit   intarr jpi jpj varslev varid nozero offset                  long :a assoc unit  lonarr jpi jpj varslev varid nozero offset                  float :a assoc unit fltarr jpi jpj varslev varid nozero offset              endcase             if keyword_set key_zreverse  then res      i alreadyread reverse a 0  3  ELSE res      i alreadyread a 0            ENDELSE       ENDELSE    endfor     close the file    free_lun unit    close unit       do we need to read a new file to complete the time series          if jpt2read1file NE jpt2read then BEGIN       indf2read   indf2read 1       startread   0       alreadyread   alreadyread jpt2read1file       jpt2read   jpt2read jpt2read1file       GOTO  readagain    ENDIF       post processing        if keyword_set key_yreverse  then res   reverse res  2     if keyword_set key_shift  then begin       case  size res 0  of          2:res   shift res  key_shift  0           3:res   shift res  key_shift  0  0           4:res   shift res  key_shift  0  0  0        endcase    endif       mask     IF varslev varid  EQ 1 then begin        if abs valmask  LE 1e5 then notgood   where res    0  EQ valmask           ELSE notgood   where abs res    0  GE abs valmask 10         if notgood 0  NE  1 then tmask notgood    0b     ENDIF ELSE BEGIN        if abs valmask  LE 1e5 then notgood   where res      0  EQ valmask           ELSE notgood   where abs res      0  GE abs valmask 10         if notgood 0  NE  1 then tmask notgood    0b     ENDELSE    if abs valmask  LE 1e5 then notgood   where res EQ valmask       ELSE notgood   where abs res  GE abs valmask 10     if notgood 0  NE  1 THEN res notgood     values f_nan     valmask   1e20     if abs valmask  LE 1e5 then notgood   where res EQ valmask        ELSE notgood   where abs res  GE abs valmask 10      if notgood 0  NE  1 THEN res notgood    1e20     valmask   1e20    triangles_list   triangule      subdomain extration      time aguments      time   time t1:t2     jpt   t2 t1 1    if keyword_set timestep  then vardate   strtrim time 0  2       ELSE vardate   date2string vairdate time 0        updateold       return  res end"); 
     91a[89] = new Array("./ReadWrite/read_oasis.html", "read_oasis.pro", "", "           file_comments read the f77 unformated files used in Oasis  version  a read_oasis grids_orca_t106 a106 lon 320 160    IDL  m read_oasis masks_orca_t106 or1t msk 182 149 i4      see also IDL  scanoasis grids_orca_t106       history Sebastien Masson  smasson lodyc jussieu fr                         July 01  2002           FUNCTION read_oasis  filename  varname  jpi  jpj  I2   I2  I4   i4  I8   i8  R4   r4     openr  unit  filename   f77_unformatted   get_lun   swap_if_little_endian         error err    if err ne 0 then begin       print err_string       return   1    endif     char8    12345678     readu  unit  char8     print  char8    found   char8 EQ varname     WHILE NOT EOF unit  AND found NE 1 DO BEGIN       readu  unit       if EOF unit  then begin          print  varname  not found in  filename          return   1       endif       readu  unit  char8        print  char8       found   char8 EQ varname    ENDWHILE    case 1 of       keyword_set i2 :res   intarr jpi  jpj        keyword_set i4 :res   lonarr jpi  jpj        keyword_set i8 :res   lon64arr jpi  jpj        keyword_set r4 :res   fltarr jpi  jpj        ELSE:res   dblarr jpi  jpj     endcase        readu  unit  res        free_lun unit     return  res end"); 
    9292a[90] = new Array("./ReadWrite/readbat.html", "readbat.pro", "", "           file_comments reading the bathymetry ASCII file of OPA      categories for OPA      param filename  in required  a string containing the filename         keyword  ZERO to put 0 on land instead of negatives values for the islands       returns a 2d array      history Sebastien Masson  smasson lodyc jussieu fr                         May 31  2002      based on batlec2 pro  written by Maurice Imbard  March 17  1998   FUNCTION readbat  filename  ZERO   zero            lecture de la bathymetrie         iname_file   findfile filename     if iname_file 0  EQ   then begin       print   Bad file name        return   1    ENDIF ELSE iname_file   iname_file 0     openr  iunit  iname_file   get_lun     readf  iunit  FORMAT    16x 2i8  iim  ijm     iim   long iim      ijm   long ijm     tmp        readf  iunit  tmp    tmp   strsplit tmp   extract     iim   long tmp n_elements tmp 2     ijm   long tmp n_elements tmp 1    print  iim  ijm    ifreq   40L    ifin    iim ifreq 1    irest   iim ifin 1 ifreq   print  ifin irest ifreq    zbati    intarr ifreq     zbati2   intarr irest     zbat      intarr iim ijm       readf  iunit  FORMAT        readf  iunit  FORMAT        il1   0    FOR jn   1  ifin 1 DO BEGIN       readf  iunit  FORMAT           readf  iunit  FORMAT           il2   min  iim 1  il1 ifreq 1          readf  iunit  FORMAT           readf  iunit  FORMAT           readf  iunit  FORMAT           il3   il2 jn 1 ifreq       iformat   string  il3 2   i3       print jn il1 il2 il3 ifreq 1       FOR jj    ijm 1  0   1  DO BEGIN          readf  iunit  FORMAT   iformat  ij  zbati          zbat il1:il2  jj    zbati       ENDFOR       il1   il1   ifreq    ENDFOR    readf  iunit  FORMAT        readf  iunit  FORMAT        il2   min  iim 1  il1 ifreq 1       readf  iunit  FORMAT        readf  iunit  FORMAT        readf  iunit  FORMAT        il3   il2 ifin 1 ifreq    iformat   string  il3 2   i3       print  irest 1 il1 il2 il3    FOR jj    ijm 1  0   1  DO BEGIN       readf  iunit  FORMAT   iformat  ij  zbati2       zbat il1:il2  jj    zbati2    ENDFOR    close  iunit    free_lun  iunit         if keyword_set zero  then zbat   0   zbat    return  zbat end"); 
    9393a[91] = new Array("./ReadWrite/readoldopadistcoast.html", "readoldopadistcoast.pro", "", "           file_comments        read the old binary direct access file that contains the        distance to the coast in OPA         based on the OPA subroutines dtacof and parctl      categories for OPA before NetCDF        returns  a structure that contains two elements: tdistcoast  the   distance for the t points  and fdiscoast  the distance for the   f points       history Sebastien Masson  smasson lodyc jussieu fr                         June  2002          FUNCTION read3fromopa  unit  params  num    offset params reclen params jpk num 1L     a assoc unit dblarr params jpiglo params jpjglo params jpk nozero offset     b   a 0     return  b end           param filename  in required  filename  with the whole path if necessary         param jpiglo  in required         param jpjglo  in required         param jpk  in required         dimensions of the opa grid        keyword IBLOC ibloc size  default: ibloc   4096L        keyword JPBYT jpbyt size  default: jpbyt   8L        keyword NUMREC number of records in the file  default: numrec   19L jpk    history Sebastien Masson  smasson lodyc jussieu fr                         June  2002   FUNCTION readoldopadistcoast  filename  jpiglo  jpjglo  jpk  IBLOC   ibloc  JPBYT   jpbyt  NUMREC   numrec      iname_file   findfile filename     if iname_file 0  EQ   then begin       print   Bad file name        return   1    ENDIF ELSE iname_file   iname_file 0    open the file    openr numcost   iname_file   get_lun   swap_if_little_endian   check the size of the file    filepamameters   fstat numcost    defaut parameter definition for ORCA2    IF keyword_set ibloc  THEN ibloc   long ibloc  ELSE ibloc   4096L    jpiglo   long jpiglo     jpjglo   long jpjglo     jpk   long jpk     IF keyword_set jpbyt  THEN jpbyt   long jpbyt  ELSE jpbyt   8L   record length computation    reclen   ibloc jpiglo jpjglo jpbyt 1  ibloc 1    number of records    IF keyword_set numrec  THEN numrec   long numrec  ELSE numrec   3L jpk   difference between the record length and the size of the contened   array     toomuch   reclen jpiglo jpjglo jpbyt   expected size computation    size   numrec reclen toomuch    if size NE filepamameters size then begin       print   The size of the file is not the expected one        print   Check your file or the values of ibloc  jpiglo        print   jpjglo  jpk  jpbyt  numrec in this program        return   1    endif   first record: six 64 bit integer to read     default definition    iimlu   long64 999     ijmlu   long64 999     ikmlu   long64 999    read    readu  numcost  iimlu  ijmlu  ikmlu    if iimlu NE jpiglo then begin       print   iimlu    strtrim iimlu  1  differs from jpiglo  strtrim jpiglo  1         return   1    endif    if ijmlu NE jpjglo then begin       print   ijmlu    strtrim ijmlu  1  differs from jpjglo  strtrim jpjglo  1         return   1    endif    if ikmlu NE jpk then begin       print   ikmlu    strtrim ikmlu  1  differs from jpk  strtrim jpk  1         return   1    endif   other records    params    jpiglo:jpiglo  jpjglo:jpjglo  jpk:jpk  reclen:reclen     tdistcoast   read3fromopa numcost  params  2     fdistcoast   read3fromopa numcost  params  3       close  numcost    free_lun  numcost     return   tdistcoast:tdistcoast  fdistcoast:fdistcoast  end"); 
     
    9595a[93] = new Array("./ReadWrite/scanctl.html", "scanctl.pro", "", "           file_comments GLAMBOUNDARY 2 elements vector   lon1 lon2  the longitute         boundaries that should be used to visualize the data            lon2   lon1           lon2   lon1 le 360         key_shift will be defined according to GLAMBOUNDARY    PRO scanctl  filename  filesname  jpt1file  varsname  varslev  swapbytes  bigendian  littleendian  f77sequential  fileheader  theader  xyheader  VARFMT   varfmt  _EXTRA   ex  common     time1   systime 1              for key_performance      DTYPE      spawn   grep  i  DTYPE   filename  notgood    if keyword_set notgood  then begin       print   This program is not adapted to data type station or grib  Sorry        stop    endif     UNDEF  define valmask      spawn   grep  i  UNDEF   filename  valmask    valmask   strtrim valmask  2     valmask   strsplit valmask 0 extract     valmask   float valmask 1      Headers      spawn   grep  i  FILEHEADER   filename  fileheader    fileheader   strtrim fileheader  2     if keyword_set fileheader  then BEGIN        fileheader   strsplit fileheader 0 extract        fileheader   long fileheader 1     ENDIF ELSE fileheader   0L    spawn   grep  i  THEADER   filename  theader    theader   strtrim theader  2     if keyword_set theader  then BEGIN        theader   strsplit theader 0 extract        theader   long theader 1     ENDIF ELSE theader   0L    spawn   grep  i  XYHEADER   filename  xyheader    xyheader   strtrim xyheader  2     if keyword_set xyheader  then BEGIN        xyheader   strsplit xyheader 0 extract        xyheader   long xyheader 1     ENDIF ELSE xyheader   0L       find the x axis        spawn   sed  n  e  d   e  Xx Dd Ee Ff Yy Dd Ee Ff p   filename  xdef    if xdef 0  EQ   then BEGIN       print   Bad definition of xdef or ydef        stop    ENDIF    xdef   xdef 0:n_elements xdef 2     if n_elements xdef  NE 1 then begin       xdef    byte xdef  replicate byte   1 n_elements xdef        xdef   xdef where xdef NE 0        xdef   string xdef     endif    xdef   strtrim xdef 0  2     xdef   strsplit xdef extract     jpi   long xdef 1     case strupcase xdef 2  of        LINEAR :xaxis   float xdef 3 findgen jpi float xdef 4         LEVELS :xaxis   float xdef 3:n_elements xdef 1     ENDCASE       find the y axis        spawn   sed  n  e  d   e  Yy Dd Ee Ff Zz Dd Ee Ff p   filename  ydef    if ydef 0  EQ   then BEGIN       print   Bad definition of ydef or zdef        stop    ENDIF    ydef   ydef 0:n_elements ydef 2     if n_elements ydef  NE 1 then begin       ydef    byte ydef  replicate byte   1 n_elements ydef        ydef   ydef where ydef NE 0        ydef   string ydef     endif    ydef   strtrim ydef 0  2     ydef   strsplit ydef extract     jpj   long ydef 1     case strupcase ydef 2  of        LINEAR :yaxis   float ydef 3 findgen jpj float ydef 4         LEVELS :yaxis   float ydef 3:n_elements ydef 1      GAUST62 :BEGIN   print   Not yet coded    stop   END     GAUSR15 :BEGIN   print   Not yet coded    stop   END     GAUSR20 :BEGIN   print   Not yet coded    stop   END     GAUSR30 :BEGIN   print   Not yet coded    stop   END     GAUSR40 :BEGIN   print   Not yet coded    stop   END    ELSE:BEGIN   print   Not yet coded    stop   END    endcase       find the z axis        spawn   sed  n  e  d   e  Zz Dd Ee Ff Tt Dd Ee Ff p   filename  zdef    if zdef 0  EQ   then BEGIN       print   Bad definition of zdef or tdef        stop    ENDIF    zdef   zdef 0:n_elements zdef 2     if n_elements zdef  NE 1 then begin       zdef    byte zdef  replicate byte   1 n_elements zdef        zdef   zdef where zdef NE 0        zdef   string zdef     endif    zdef   strtrim zdef 0  2     zdef   strsplit zdef extract     jpk   long zdef 1     case strupcase zdef 2  of        LINEAR :zaxis   float zdef 3 findgen jpk float zdef 4         LEVELS :zaxis   float zdef 3:n_elements zdef 1     ENDCASE       compute the grid        computegrid  xaxis   xaxis  yaxis   yaxis  zaxis   zaxis  _EXTRA   ex    domdef       find the time axis        spawn   grep  i  TDEF   filename  timedef    timedef   strupcase strtrim timedef  2     timedef   strsplit timedef 0 extract     jpt   long timedef 1      initial date: y0  m0  d0  h0  mn0                 julian day of IDL: julady m0  d0  y0  h0  mn0  00       t0   timedef 3     monthsname   string format C CMOA 31 indgen 12     case 1 OF   h h :mmZd d mmmyy yy         strpos t0   :  NE  1:BEGIN          pp   strpos t0   :           h0   long strmid t0  0  pp           mn0   long strmid t0  pp 1  2           pp   strpos t0   Z           dd   byte strmid t0  pp 2  1  LT byte A           d0   long strmid t0  pp 1  1 dd           m0    where monthsname EQ strmid t0  pp 2 dd  3 0 1          y0   long strmid t0  pp 5 dd        END   m m Zd d mmmyy yy        strpos t0   Z  NE  1:BEGIN          h0   0 12          pp   strpos t0   Z           mn0   long strmid t0  0  pp           dd   byte strmid t0  pp 2  1  LT byte A           d0   long strmid t0  pp 1  1 dd           m0    where monthsname EQ strmid t0  pp 2 dd  3 0 1          y0   long strmid t0  pp 5 dd        END   d d mmmyy yy         byte strmid t0  0  1  LT byte A 0 :BEGIN          h0   0 12          mn0   0          dd   byte strmid t0  1  1  LT byte A           d0   long strmid t0  0  1 dd           m0    where monthsname EQ strmid t0  1 dd  3 0 1          y0   long strmid t0  4 dd        END   mmmyy yy        ELSE:BEGIN          h0   0 12          mn0   0          d0   1          m0    where monthsname EQ strmid t0  0  3 0 1          y0   long strmid t0  3        END    ENDCASE   if y0 is a two digit integer   between 1950 and 2049    case 1 of       y0 LE 49:y0   2000 y0       y0 LE 99:y0   1900 y0       ELSE:    ENDCASE     increment date and definition of the calendar with IDL julian days      tstep   timedef 4     tsval   long strmid tstep 0  strlen tstep 2     case strlowcase strmid tstep  1   reverse  of        mn :time   julday m0  d0  y0  h0  mn0 lindgen jpt tsval  0         hr :time   julday m0  d0  y0  h0 lindgen jpt tsval  mn0  0         dy :time   julday m0  d0 lindgen jpt tsval  y0  h0  mn0  0         mo :time   julday m0 lindgen jpt tsval  d0  y0  h0  mn0  0         yr :time   julday m0  d0  y0 lindgen jpt tsval  h0  mn0  0     ENDCASE                          shit the calendar to correspond to the time step     case strlowcase strmid tstep  1   reverse  of        dy :time   long time         mo :time   long time 14L        yr :time   long time 365L 2       ELSE:    endcase     OPTIONS      spawn   grep  i  OPTIONS   filename  options    options   strtrim options  2     options   strlowcase options 0     key_yreverse   strpos options   yrev  NE  1    key_zreverse   strpos options   zrev  EQ  1    multifiles   strpos options   template  NE  1    f77sequential   strpos options   sequential  NE  1    swapbytes   strpos options   byteswapped  NE  1    bigendian   strpos options   big_endian  NE  1    littleendian   strpos options   little_endian  NE  1    cray   strpos options   cray_32bit_ieee  NE  1 IF cray THEN BEGIN   print   cray_32bit_ieee  Not yet coded    stop   ENDIF    cal365   strpos options   365_day_calendar  NE  1 IF cal365 THEN BEGIN   print   365_day_calenda  Not yet coded    stop   ENDIF       building the filesname        spawn   grep  i  DSET   filename  files    files   strtrim files 0  2     files   strsplit files extract     if n_elements files  NE 2 then begin       print   Bad definition of the filename  There shoud be 2 elements:        print   DEST and 1 filename  that may define many files        stop    endif    files   files 1      files   strmid files 0  strpos files 0     reverse_search 1     filesname   files    if keyword_set multifiles  then begin   minutes       if  stregex files i n2 0  NE  1 then begin          filetsep    mn           mnend   long mn0 jpt 1           tmp   strarr hend h0 1           for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i n2 extract regex  string mn0 i  format    i2 2           filesname   strjoin tmp          endif   hours       if  stregex files i hf 123 0  NE  1 then begin          filetsep    hr           case strlowcase strmid tstep  1   reverse  of              mn :hend   long h0 jpt mn0 1 1 60               hr :hend   long h0 jpt 1           endcase          tmp   strarr hend h0 1           case 1 of             stregex files i h1  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i h1 extract regex  strtrim h0 i  1              stregex files i h2  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i h2 extract regex  string h0 i  format    i2 2              stregex files f2  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname f2 extract regex  string h0 i  format    i3 2              stregex files i hf 3  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i hf 3 extract regex  string h0 i  format    i3 3           endcase          filesname   strjoin tmp          endif   days       if  stregex files i d 12 0  NE  1 then begin          filetsep    dy           case strlowcase strmid tstep  1   reverse  of              mn :dend   long d0 jpt mn0 1 1 1440               hr :dend   long d0 jpt h0 1 1 24               dy :dend   long d0 jpt 1           endcase          tmp   strarr dend d0 1           case 1 of             stregex files i d1  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i d1 extract regex  strtrim d0 i  1              stregex files i d2  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i d2 extract regex  string d0 i  format    i2 2           endcase          filesname   strjoin tmp          endif   months       if  stregex files i m 12c 0  NE  1 then begin          filetsep    mo           tmp   strarr 12           case 1 of             stregex files i m1  NE  1:for i   1  12 do tmp i 1    strjoin strsplit filesname i m1 extract regex  strtrim i  1              stregex files i m2  NE  1:for i   1  12 do tmp i 1    strjoin strsplit filesname i m2 extract regex  string i  format    i2 2              stregex files i mc  NE  1:for i   1  12 do tmp i 1    strjoin strsplit filesname i mc extract regex  monthsname i 1           endcase          filesname   strjoin tmp          endif   years       if  stregex files i y 24 0  NE  1 then begin          case strlowcase strmid tstep  1   reverse  of              dy :yend   long y0 jpt d0 1 1 365               mo :yend   long y0 jpt m0 1 1 12               yr :yend   long y0 jpt 1              ELSE:yend   y0          endcase          tmp   strarr yend y0 1           case 1 of             stregex files i y2  NE  1:for i   0  n_elements tmp 1 do tmp i    strjoin strsplit filesname i y2 extract regex  string y0 i 100 y0 i 100  format    i2 2              stregex files i y4  NE  1:for i   0  n_elements tmp 1  do tmp i    strjoin strsplit filesname i y 4 extract regex  string y0 i  format    i4 4           endcase          filesname   strjoin tmp          endif       filesname   strsplit filesname     extract      time step unit of each file:         case 1 of           stregex files i n2 0  NE  1:filetsep    mn            stregex files i hf 123 0  NE  1:filetsep    hr            stregex files i d 12 0  NE  1:filetsep    dy            stregex files i m 12c 0  NE  1: filetsep    mo            stregex files i y 24 0  NE  1:filetsep    yr        ENDCASE     number of time steps for each files         case strlowcase strmid tstep  1   reverse  of           mn :BEGIN             case filetsep of                 yr :jpt1file   60L 24L 365L                 mo :jpt1file   60L 24L 30L                 dy :jpt1file   60L 24L                 hr :jpt1file   60L                 mn :jpt1file   1L             endcase          END           hr :BEGIN             case filetsep of                 yr :jpt1file   24L 365L                 mo :jpt1file   24L 30L                 dy :jpt1file   24L                 hr :jpt1file   1L             endcase          END           dy :BEGIN             case filetsep of                 yr :jpt1file   365L                 mo :jpt1file   30L                 dy :jpt1file   1L             endcase          END           mo :BEGIN             case filetsep of                 yr :jpt1file   12L                 mo :jpt1file   1L             endcase          END           yr :jpt1file   1L       endcase     number of files          nof   ceil jpt 1 jpt1file        filesname   filesname 0:nof 1     ENDIF ELSE BEGIN       nof   1       jpt1file   jpt    ENDELSE   first character      if stregex files  GE 0 THEN BEGIN       iodir   strmid filename 0 strpos filename reverse_search 1        for i   0  nof 1 do filesname i    iodir strmid filesname i  1     ENDIF       extracting the variables         spawn   grep  i  VARS   filename  nvars    nvars   strtrim nvars  2     nvars   strsplit nvars 0 extract     nvars   long nvars 1     spawn   sed  n  e  d   e  Vv Aa Rr Ss Ee Nn Dd Vv Aa Rr Ss p   filename  varlist    if n_elements varlist  LE 2  then begin       print   No lines between vars and endvars        stop    endif    varlist   varlist 1:n_elements varlist 2      if n_elements varlist  NE nvars  then begin       print   Number of variables indicated by VARS  strtrim nvars  1  differs from number of lines  without   at the beginning  located between VARS and ENDVARS:  strtrim n_elements varlist  1        stop    ENDIF    varsname   strarr nvars     varsdes   strarr nvars     varslev   lonarr nvars     for i   0  nvars 1 do BEGIN       varlist i    strtrim varlist i  2        tmp   strsplit varlist i extract        if strmid tmp 2  0  2  EQ  1  then BEGIN          case long strmid tmp 2  3  2  of             10:BEGIN                print   Special data formats  units    1 10  Not yet coded                 stop             END             20:BEGIN                print   Special data formats  units    1 20  Not yet coded                 stop             END             30:BEGIN                print   Special data formats  units    1 30  Not yet coded                 stop             END             40:BEGIN                case long strmid tmp 2  6  of                   1:varfmt    byte                    2:varfmt    uint                     2:varfmt    int                    4:varfmt    long                    ELSE:BEGIN                      print   Bad definition of the special data formats:                        print long strmid tmp 2 6  should be equal to 1  2   2 or 4                       stop                   END                endcase             END             ELSE:BEGIN                print   Special data formats  units    1    Not yet coded                 stop             END          endcase       endif       varsname i    tmp 0        varsdes i    strjoin tmp 3:n_elements tmp 1            varslev i    long tmp 1     ENDFOR    varslev   1   varslev       ccmeshparameters filename   filename    ccmeshparameters filename    Grads       IF keyword_set key_performance  EQ 1 THEN print   time scanctl  systime 1 time1     return end     "); 
    9696a[94] = new Array("./ReadWrite/scanoasis.html", "scanoasis.pro", "", "           file_comments scan an Oasis file  version  scanoasis grids_orca_t106       history Sebastien Masson  smasson lodyc jussieu fr                         July 01  2002          PRO scanoasis  filename     openr  unit filename    F77_UNFORMATTED   GET_LUN   SWAP_IF_LITTLE_ENDIAN         error err    if err ne 0 then begin       print err_string       return    endif     char8    12345678     WHILE NOT EOF unit  DO BEGIN       readu  unit  char8       print   char8       readu  unit    ENDWHILE     free_lun unit    return end"); 
    97 a[95] = new Array("./ReadWrite/write_oasis.html", "write_oasis.pro", "", "             file_comments write an Oasis file  version   2 5       param filename  in required  the filename    param varname  in required  the name of the variable to be written    param z2d  in required  the variable  2D array  to be written      keyword  I2   param ou mot clef    keyword  I4    keyword  I8    keyword  R4   to change the defaut format  R8  of the data to be written       keyword  APPEND to open the file with the file pointer at the end of          the file  ready for data to be appended         restrictions varname is automatically written as a  charactere 8                 by defaut z2d is written as an R8 array      history Sebastien Masson  smasson lodyc jussieu fr                         July 01  2002           PRO write_oasis  filename  varname  z2d  I2  I4   i4  I8   i8  R4   r4  APPEND   append    openw  unit  filename    F77_UNFORMATTED   GET_LUN   SWAP_IF_LITTLE_ENDIAN         error err  APPEND   append    if err ne 0 then begin       print err_string       return    endif        writeu  unit  string varname  format a8     case 1 of       keyword_set i2 :writeu  unit  fix z2d        keyword_set i4 :writeu  unit  long z2d        keyword_set i8 :writeu  unit  long64 z2d        keyword_set r4 :writeu  unit  float z2d        ELSE:writeu  unit  double z2d     endcase     free_lun unit    return end"); 
     97a[95] = new Array("./ReadWrite/write_oasis.html", "write_oasis.pro", "", "             file_comments write an Oasis file  version   2 5       param filename  in required  the filename    param varname  in required  the name of the variable to be written    param z2d  in required  the variable  2D array  to be written      keyword  I2    keyword  I4    keyword  I8    keyword  R4   to change the defaut format  R8  of the data to be written       keyword  APPEND to open the file with the file pointer at the end of          the file  ready for data to be appended         restrictions varname is automatically written as a  charactere 8                 by defaut z2d is written as an R8 array      history Sebastien Masson  smasson lodyc jussieu fr                         July 01  2002           PRO write_oasis  filename  varname  z2d  I2   i2  I4   i4  I8   i8  R4   r4  APPEND   append    openw  unit  filename    F77_UNFORMATTED   GET_LUN   SWAP_IF_LITTLE_ENDIAN         error err  APPEND   append    if err ne 0 then begin       print err_string       return    endif        writeu  unit  string varname  format a8     case 1 of       keyword_set i2 :writeu  unit  fix z2d        keyword_set i4 :writeu  unit  long z2d        keyword_set i8 :writeu  unit  long64 z2d        keyword_set r4 :writeu  unit  float z2d        ELSE:writeu  unit  double z2d     endcase     free_lun unit    return end"); 
    9898a[96] = new Array("./ReadWrite/writebat.html", "writebat.pro", "", "             file_comments write the bathymetry ASCII file of OPA      categories for OPA      param zbat  in required  the bathymetry  a 2d array      param filename  in required  a string containing the filename         history Sebastien Masson  smasson lodyc jussieu fr                         Sept 30  2003      based on batsav2 pro  written by Maurice Imbard  March 17  1998   PRO writebat  zbat  filename   basic checks   IF n_params  NE 2 THEN BEGIN     print   bad number of aguments in the call of writebat      return   ENDIF   IF size filename   type  NE 7 THEN BEGIN     print   the filename should be a string      return   ENDIF   sbat   size zbat    IF sbat 0  NE 2 THEN BEGIN     print   bathymetry array should be 2d array      return   ENDIF     jpi2   sbat 1    jpj2   sbat 2    parameters def   ifreq    40   ifin     jpi2 ifreq 1   irest    jpi2 ifin 1 ifreq   zbati    intarr ifreq    zbati2   intarr irest    i0       intarr ifreq 5    i1       intarr max 1  irest 5      openw  iunit  filename   get_lun     fill the file     printf  iunit  FORMAT    1x  bathy IDL      2i8  jpi2  jpj2   printf  iunit  FORMAT       il1   0   FOR jn   1  ifin 1 DO BEGIN     printf  iunit  FORMAT         il2   min  jpi2 1  il1 ifreq 1        i0 0    il1 1     FOR jj   1  ifreq 5 1 DO BEGIN       i0 jj    i0 jj 1 5     END     printf  iunit  FORMAT    3x 13 i3 12x  i0     printf  iunit  FORMAT         il3   il2 jn 1 ifreq     iformat   string  il3 2   i3      FOR jj    jpj2 1  0   1  DO BEGIN       zbati 0:il3    zbat il1:il2  jj        printf  iunit  FORMAT   iformat  jj 1  zbati     END     il1   il1   ifreq   END   printf  iunit  FORMAT       il2   min  jpi2 1  il1 ifreq 1      i1 0    il1 1   FOR jj   1  irest 5 1 DO BEGIN     i1 jj    i1 jj 1 5   END   printf  iunit  FORMAT    3x 13 i3 12x  i1   printf  iunit  FORMAT       il3   il2 ifin 1 ifreq   iformat   string  il3 2   i3    FOR jj    jpj2 1  0   1  DO BEGIN     zbati2 0:irest 1    0     zbati2 0:il3    zbat il1:il2  jj      printf  iunit  FORMAT   iformat  jj 1  zbati2   END     end     close  iunit   free_lun  iunit     return end"); 
    9999a[97] = new Array("./Tests/TestsOld/tst_basic_old.html", "tst_basic_old.pro", "", "PRO tst_basic_old     figure 1: basics plots     1  plot     n   10   y   findgen n    basic plot   splot  y  petit    2  2  1   portrait   improved plot by using plot and  graphic keywords    splot  y  petit    2  2  2   noerase  yrange    0   n 1 2  title    x and x 2    oplot  y 2  color   100  linestyle   2  thick   3     2  contour     z   dist n    basic plot   scontour  z   fill  nlevels   15  petit    2  2  3   noerase   improved plot by using contour and  graphic keywords    ind   findgen 2 n 2 n    scontour  z  levels   n ind  c_orientation   180 ind  c_spacing    2 ind                 petit    2  2  4   noerase   contour  z   overplot  c_label   rebin 1  0  2  n  levels   n ind                c_charthick   2  c_charsize   1 5  c_colors   250 ind               return end"); 
Note: See TracChangeset for help on using the changeset viewer.