Go to the list of seismic processes.          Go to SIOSEIS introduction.
            Recent program changes
2024.1.1 (1 February 2024)
   1) segddin segdin - Make SEGD format 8015 work
ver 2022.1.3 (7 June 2022)
   1) segddin - Only use the first 1000 bytes of large extended headers and
                external headers and skip the rest.
              - Change 2020.1.1 logic for 2019 Langseth bug so old data works
              - create FORMAT LG2019 (format 8) for 2019 Langseth cruise
   2) diskio.c - clean up a debug statement or two.
   3) segddin - Create FORMAT LG2019 to skip the LDEO NAV block since the
                format is unpublished/unknown and has an extra word.
LSD, LSH - set the file names to blank, so getfil/mknamec work
ver 2021.1.2 (20 December 2021)
   1) contro, makefile - remove XSTAR
   2) header - gcc 11.2.0 wasn't saving ireplc1 - totally weird
ver 2020.5.1 (17 Nov. 2020) makefile - add     FFLAGS += -fallow-argument-mismatch
lsd - Honor coordinate type 1 (length or UTM)
ver 2020.5.0 (14 July 2020)
   1) geom - Allow type 9 to use UTM coordinates (SEGY trace header integer 45)
   2) diskin - Use unsigned integer for numdat from the binary header in died.f
             - Print a warning if the SEGY trace id (ihdr(15)) is 0 (not set).
   3) diskio.c - put the tmp files back in the current directory since /tmp is NOT
                 cleared on boot as it used to be
   4) gather - Bad change in 2020.3.* when eliminating DO loop ending in label statement
               rather than CONTINUE.
   5) filter - Get nsamps from common rather than the trace header
             - Abort if more than 32767 samples
   6) contro, filters - Max MAXLEN=32767 so filters can hold 32767 complex numbers
   7) geom - Do no clobber shot coordinates on types 9, 18, 21
           - Add type 21, an ASCII nav shot number, decimal lat, decimal long
   8) diskin - Allow nsamps > 32767 for random access of fno
   9) plot - Make nsecs preset to what the doc says - the length of the first trace
   10) contro - Bad common/pltcom/ size
   11) plot - Changed COMMON /porder/ iorder(4) to same as contro iorder(100).  OSX cares.
   12) mute - take nsamps from common numdat rather than the trace header (>32767)
   13) geom - Detect bad NAVFIL under type 21
   14) velan - Variable ifin needed to be set 0 at the beginning
   15) plot - Add warning if ANN and ANN2 are both HEADER.
   16) geom - type 21 zero out the receiver lat/long since they aren' specified
   17) stack - Allow decimal degrees for lat/long (SEGY REV2 type 3)
             - Don't use receiver coordinates for midpoint calculation if they are 0
   18) prout - Check for too many INDICES - 10 max!
   19) gather - Check for too much data in the edit phase.
   20) geom - ABORT if negative CMP number detected
ver 2020.3.1002 (16 April 2020)
   Make all DO loops terminate with END DO or CONTINUE for f2018
   Change all comments to start with ! for Apple's g95
   contro - Remove processes GRDOUT, IRIS, HISTORY, INPUT, OUTPUT, SEGDIN
   remove calls to several ap routines
   remove all calls to tape
   makefile - remove several unused routines
   makefile - remove sio2hp and sio2sun
   1001) segddin - detect and skip 128 byte SEGD Rev 2 "Storage Unit" header.
   1002) segddin - create FORMAT ARAM which writes 1 sample too much per trace
   1003)         - Allow multiple shots in the file
   1004)         - ARAM may not write all the traces indicated in the channesl set header
ver 2020.2.5 (24 March 2020)
   1) *.c - make gcc8 compatable and retain old compatability
   2) diskio - pmode_all was incorrect
             - put the tmp files in /tmp
             - change pmode_all to pmode_0700
   3) makefile, contro, velan - remove all references to tape
      makefile FFLAGS O2 causes "aggressive loop" error in tx2tp
   4) contro - change comment lines to start with ! rather than c
             - Change DO CONTINUE to DO ENDDO
             - Remove processes INPUT, SEGDIN, OUTPUT
   5) geom - drop some weird old LDGO Syntron quirk hack for Hydrosciences
ver 2020.1.1 (24 January 2020)
   1) segddex - convert comment lines from c to !
              - Add format 8024 as per Alistair
              - Add skipping 4 bytes for format ldeo for 2019 Langseth cruise
                which breaks older format ldeo code, but that probably doesn't matter
              - Do the descalar for SEG-D Rev 2 as per Alistair
              - Change DO CONTINUE to DO ENDDO
ver 2019.1.5 (26 November 2019)
    1) shift, swell - needed to use unsigned integer for nsamps
    2) header - was doing a byte swap on nsamps if > 32764 - for old XSTAR format!
              - change DO Continue to DO ENDDO
    3) header - Replace with multiple lists was wrong
    4) makefile - remove magtap.o magmaxosx.o and replace with mag_dummies.f
    5) getdate.c - make into void function
    6) segddex - create and use integer*2 routine itohex for dumping hex
               - get rid of Hydrosciences nscets 165
ver 2018.2.2 (26 July 2018)
    1) diskox - the start time of SET was off by 1 sample
    2) prout - the print statement of the times printed was off by 1 sample
ver 2018.1.2 (20 July 2018)
    1) diskin - Convert ODEC nav to arcseconds
              - SWAPPED and ODEC did not swap the binary header
    2) nmo - OPATH didn't do any swaps
ver 2016.3.1 (30 Aug. 2016)
    1) diskin - Added warning in edit about ODEC IEEE float nav
ver 2016.2.5 (20 Apr. 2016)
    1) segddin - big mod to gpgga for bad nmea strings - use what you can and extrapolate
                 lat and/or long if needed.
    2) segddin - rewrote gpgga for bad NMEA strings
    3) geom - Changed BAD DFFLS recovery.
    4) geom - Set lat/long to zero if dfls is bad
    5) geom - basically redid the bad dfls recovery
ver 2016.1.1 (23 Feb 2016)
    1) segddin - bad $GPGGA string, so just stop decoding after lat & long (gpgga.f)
ver 2015.4.2 (5 Nov. 2015)
    1) diskin - Add FORMAT NIUST
    2) diskox -
ver 2015.3.1 (6 Jun. 2015)
    1) segddin - ION uses General Header #2 "Number of External Header Blocks" (bytes 8&9)
ver 2015.2.6 (13 Apr. 2015)
    1) fdmigr - TSTEPS warning was wrong when max tsteps were given.
              - Bad print statement for ntau
              - Didn't work when sample interval is less than 1 mil.
    2) despike - Bad determination of fno/lno
    3) ufiltr - fno/lno wasn't quite right
    4) nmo - many issues with HIRES
    5) diskin - random and realtime didn't work on files > 2GB
    6) diskio.c - podiscb64 didn't call lseek - duh
ver 2015.1.2 (13 Feb. 2015)
    1) diskox - common /readt/ was wrong which affected a decision to use rev 1 or not
    2) segddin - Very large external header caused buffer overflow.
               - print warning if format HTI is given and data are segd rev 1
               - Error if the file doesn't exist.
ver 2014.6.2 (20 Oct. 2014)
    1) plot - The 11 May 06 change of nsecs preset from -1 to 0 ruined checks for big plots,
            - Change big plot from an error to a warning.
            - Use si and delay from common
    2) wbt - Use delay from common so rev 1 scalar is honored (diskin sets it).
           - Honor SEGY Rev 1 water bottom depth scalar - done when???????
2014.5.3 (7 Oct. 2014)
    1) header - Apr update screwed up equation when R was on the right side.
    2) disko - Use swp_trhdr for trace header byte swaps so that diskin and disko do the same thing
    3) wbt - Get si from common rather than lbuf
ver 2014.4.2 (11 Jul. 2014)
    1) diskin - Clean up shot/rp searches when fno/lno are given, especially when
                the shot numbers are not increasing.
              - Add a "suggestion" when nothing is found.
              - Rev 1 random access didn't work on MCS (ntraces > 1)
    2) wbt - Add parameter GUIDED and SEG
ver 2014.3.2 (17 Jun. 2014)
    1) tredit/despike - Change offline filter to be frequency filter.
                      - Do offline filter before ALL pickers.
    2) stack - don't try to average the source coordinates if all traces are dead.
ver 2014.2.6 (29 Apr. 2014)
    1) diskin - Create error if TRINC is used and process SORT is used.
    2) segddin - Change DESCALE preset to 1 - DESCALE ON
    3) contro - put delay, segyrev, si in common/readt/
    4) diskin - honor rev 1 delay scalar (ibuf(108))
              - set ibuf(108) to 0 if rev 0
    5) diskin - make sure the fixed file flag is set to 0 on rev 0 (diskox tries to write rev 1)
    6) header - Add B (byte) and D (double) to equation
ver 2014.1.7 (6 Feb 2014)
    1) header - READ statement had an extra ")" that new compiler choked on
    2) diskio - change NULL to 0  on:  if (( *istat == chdir( dir ) ) == NULL) return;
    3) geom - for compasses:   #include     /* Add declaration for Malloc ajh
    4) filter - woodfilt routines needed dimension statement adjustments
    5) disko - Don't automatically set the output segy rev to 1 if the input
            segy rev was 0 and the delay scalar (trace header word 108) is non-zero
    6) disko - Do the same trace header byte swaps as DISKIN
    7) diskin - Byte swap rev 1 delay scalar properly.
LSD - honor SEGY Rev 1 delay scalar



Go to the list of seismic processes.          Go to SIOSEIS introduction.