Coastal & Marine Geology InfoBank

Home FACS Activities Atlas Geology School Related Sites More

USGS InfoBank program -- mergeit

Skip navigational links
Loading
InfoBank Programs: by Name   by Topic  
Expanded Description
Topic Description
Name
mergeit
Synopsis
/infobank/programs/edit/mergeit/mergeit.for
Description
  Program to merge 2 data files.

       
INPUT
  First file is "gospel" with all values preserved exactly as input.

  Second file will be inserted to match times in "gospel" file.
  Where there is no value in the second file for a time in the first,
  program will optionally interpolate a value or plug in a dummy value.
  When the variant file ends before the invariant file, the remaining
  times from the invariant file will be given a dummy value.
  Times are in Julian day, hour, decimal minute.
  Up to 10 invariant values and up to 10 variant values
  can be input per record.
    
AUTHOR
  Clint Steele           .for             11/1/83

  B. Blubaugh      03/14/85
  deleted prompt for cruzid; deleted format checks (answer y or n)
  C. Degnan        06/16/86
  removed ida,ihr,rmin time option and made interpolation optional
  C. Degnan        06/16/86
  added special crossing 180 degree longitude interpolation handler
  C. Degnan        09/08/87
  added default format option for mergeing navigation to data
  E. Maple         09/09/87
  modified for changes to yesno, structured more according to MAT
  C. Degnan        09/30/88
  added option to interpolate up to a maximum allowable time gap
  C. Degnan        07/14/88
  will not write out dummy record if longitude is to be 9-filled
  M. Hamer         06/17/91
  updated prompts to inform the user of what the program wants as input.
  M. Hamer         05/03/99
  removed percentage calls
    
PROMPTS
  First  input file = INVARIANT file

  Second input file = VARIANT   file
  Enter input  file name:
  Enter output file name:
  How many INVARIANT VALUES will be input? (max. of 10)
  Enter INVARIANT file input FORMAT
         (ida,ihr,imin,isec,iten,cval(s) ):
  How many VARIANT VALUES will be input? (max. of 10)
  Are any of the VARIANT values a LONGITUDE (y or n)?
  Note: program will NOT write out dummy longitude records;
        so if you want dummy longitude records, answer N....
  [if "y", then]  LONGITUDE must be rval #2!
  [if "y", then]  ex: (i4,i3,3(i2),i1,t16,f9.5,t26,f10.5,...)
  Enter VARIANT file input FORMAT
         (iyr,ida,ihr,imin,isec,iten,rval(s) ):
  Enter OUTPUT file FORMAT
         (iyr,ida,ihr,imin,isec,iten,cval(s),rval(s) ):
  Interpolate VARIANT fields for INVARIANT times (y or n)?
  [if YES interpolate,] Enter maximum allowable interpolation time gap
  DDDHHMMSST:
  Enter dummy a value for each variant field (eg. 99.9,999.99):
    
SUBROUTINES
  converttime (external shareable)

  openem      (external shareable)
  showlines   (external shareable)
  yesno       (external shareable)

    
Reads
          read (iunitinvar, '(q)') ilen
      read (*, '(a)') cfmt90
      read (*, '(a)') cfmt91
      read (*, '(a)') cfmt92
         read (*, '(q,a)') ilen_cfmt90, cfmt90
         read (*, '(a)') cfmt91
         read (*, '(a)') cfmt92
          read (5, cfmttm) iyr1, ida1, ihr1, imin1, isec1, iten1
          read (iunitinvar, cfmt90, err = 99, end = 98)
     *        iyr1, ida1, ihr1, imin1, isec1, iten1,
     *        (cval1 (j), j = 1, numinvar)
              read (iunitvar, cfmt91, err = 97, end = 96)
     *            iyr3, ida3, ihr3, imin3, isec3, iten3,
     *            (rval3 (j), j = 1, numvar)
              read (iunitinvar, cfmt90, err = 99, end = 98)
     *            iyr1, ida1, ihr1, imin1, isec1, iten1,
     *            (cval1 (j), j = 1, numinvar)
Writes
          write (cfmt90temp, 20) ilen
          write (cfmt92temp, 22) ilen
              write (ioutunit, cfmt92) 
     *              iyr1, ida1, ihr1, imin1, isec1, iten1,
     *             (cval1 (i), i = 1, numinvar),
     *             (rval3 (j), j = 1, numvar)
              write (ioutunit, cfmt92) 
     *             iyr1, ida1, ihr1, imin1, isec1, iten1,
     *             (cval1 (i), i = 1, numinvar),
     *             (rval2 (j), j = 1, numvar)
              write (ioutunit, cfmt92) 
     *             iyr1, ida1, ihr1, imin1, isec1, iten1,
     *             (cval1 (i), i = 1, numinvar),
     *             (rval4 (j), j = 1, numvar)
          write (ioutunit, cfmt92) 
     *         iyr1, ida1, ihr1, imin1, isec1, iten1,
     *         (cval1 (i), i = 1, numinvar),
     *         (rdummy (j), j = 1, numvar)
              write (ioutunit, cfmt92) 
     *              iyr1, ida1, ihr1, imin1, isec1, iten1,
     *             (cval1 (i), i = 1, numinvar),
     *             (rdummy (j), j = 1, numvar)
Opens
Calls
      call openem (2, 1)
      call showlines (iunitinvar, 3)
      call showlines (iunitinvar, 3)
          call stringlen (cfmt90temp, length)
      call stringlen (cfmt90, ilen_cfmt90)
      call showlines (iunitvar, 3)
      call yesno ('Y[N]', answer)
      call showlines (iunitvar, 3)
          call stringlen (cfmt91temp, length)
      call stringlen (cfmt91, ilen_cfmt91)
      call showlines (iunitvar, 3)
            call stringlen (cfmt92temp, length)
      call stringlen (cfmt92, ilen_cfmt92)
      call yesno ('[Y]N', answer)
         call showlines (iunitinvar, 3)
      call yesno ('[Y]N', answer)
         call showlines (iunitvar, 3)
         call stringlen (cfmt91, ilen_cfmt91)
      call yesno ('[Y]N', answer)
         call showlines (iunitvar, 3)
         call stringlen (cfmt92, ilen_cfmt92)
      call yesno ('[Y]N', answer)
          call converttime ('COMPRESS', ida1, ihr1, imin1, isec1, 
     *                      iten1, itmgap, ErrorFlag)
          call converttime ('COMPRESS', ida1, ihr1, imin1, isec1, 
     *                      iten1, itm1inv, ErrorFlag)
              call converttime ('COMPRESS', ida3, ihr3, imin3, isec3, 
     *                          iten3, itm3var, ErrorFlag)

Skip footer navigational links

Coastal and Marine Science Centers:  Pacific   St. Petersburg   Woods Hole  
InfoBank   Coastal and Marine Geology Program   Geologic Information   Ask-A-Geologist   USGS Disclaimer  


Accessibility FOIA Privacy Policies and Notices

Take Pride in America logo USA.gov logo U.S. Department of the Interior | U.S. Geological Survey
URL: http://walrus.wr.usgs.gov/infobank/programs/edit/mergeit/mergeit.doc.html
Page Contact Information: InfoBank staff
Page Last Modified: Mon Sep 16 03:37:02 PDT 2013  (chd)