Expanded Description
| Topic |
Description |
| Name |
swath |
| Synopsis |
/infobank/programs/bat/swath/swath.for |
| Description |
Program to convert extract multibeam data for an area.
|
| PROMPTS |
' Enter a latitude limit:'
' Enter the other latitude limit:'
' Enter a longitude limit:'
' Enter the other longitude limit:'
' Enter an output file name:'
|
| INPUT |
For the user -- only the lat/long window limits.
For the program -- data maintained in /infobank/swath is accessed.
|
| OUTPUT |
file of time/lat/long/depth/ping#
|
| RELATED_PROGRAMS |
SWATHLIST -- generates a list of data set names and coverage areas
of files currently in pmgswath
SEABEAM -- extracts Seabeam bathymetric data
SEABEAMLIST -- generates a list of data set names and coverage areas
of files currently in pmgseabeam
DEM -- extracts DEM topographic data
DEMLIST -- generates a list of data set names and coverage areas
of files currently in pmgdem
|
| BACKGROUND |
Multibeam Full Resolution data sets are disseminated by NOAA/NOS as
EEZ Bathymetric Data.
Data were collected as multibeam swath soundings for depths greater
than 100 meters and up to 200 nautical miles from U.S. coastlines
(EEZ limits). Only some areas have coverage.
The data sets are produced for time periods of surveys (cruises).
Original data are typically collected with tracklines run generally
parallel to known contours. The swath is perpendicular to the
trackline of the platform. At least 10% sidelap is maintained.
Swath width is about 70% of the water depth for depths greater
than 600 meters. For shallow water, the swath width is up to
250% of the water depth.
Data are disseminated on 6250bpi, 9-track, VMS-labeled tapes.
DAPS maintains online on ISDMNL a complete set of the highest
resolution of these data. Access is via: "swath"
Typically, there are 5 to 10 million soundings for each area.
The data has a horizontal accuracy of 50 meters and +/- 1% error
in depth.
For a more complete description see:
README.DOC FILE
Documentation for Dissemination of NOAA/NOS Gridded EEZ
Bathymetric Data, January 1991
(Clint Steele, x3170 has a copy)
Format for magnetic tape records of multibeam data
University of Rhode Island
format from NOAA as of February, 1992
9 track
6250 bpi
256 words (values) (512 bytes) (integer * 2) per record
5 logical records of 51 values per physical record
logical record description
word description
sea beam data
1-19 19 depths from sea beam (meters - 1500 m/sec. velocity)
1 (port-most), 10 (center), 19 (starboard-most)
value of 0 = no data
20-38 19 cross track distances (meters)
20 (port-most), 29 (center), 38 (starboard-most)
other data
39 platform's speed in knots * 100
40 platform's course in degrees * 10 (i.e.: 0 thru 3599)
41 not used
42 heading from multibeam (caution: 2's compliment)
positioning
43 latitude fractions of minute * 10000
44 latitude minutes above south pole
45 longitude fractions of minute * 10000
46 longitude minutes east of prime meridian (Greenwitch)
time
47 seconds
48 minutes since beginning of day
49 julian day
50 year
51 multibeam time in 1/10 seconds since beginning of hour
(caution: 2's compliment)
This sequence is repeated 5 times per physical record (5*51 = 255)
value 256 is not used
|
| SUBROUTINES |
vescinit (shared DRS external routine)
lib$find_file (VAX/VMS Run-Time routine)
forerror (shared DRS external routine)
stringlen (shared DRS external routine)
|
| FUNCTIONS |
index (FORTRAN intrinsic function)
|
| AUTHOR |
Clint Steele 2/13/92 based on SEABEAM_LAMONT.FOR and DEM.FOR
Clint Steele 3/24/92 added expancion of search area by 1km
to allow for beam width
Clint Steele 5/15/92 added output of times
Clint Steele 9/2/94 added 90 degree change before call to
deadreckon
Clint Steele 11/13/96 Major re-write to accomodate move to SHARK
|
| Reads |
read (SummaryUnit, 500, end = 501) Count(NumberFound),
* FileNorth (NumberFound),
* FileSouth (NumberFound),
* FileWest (NumberFound),
* FileEast (NumberFound),
* FileName (NumberFound)
read (InUnit, 335, iostat = ErrorFlag, end = 99)
* Time, Latitude, Longitude, OtherLength, Other
|
| Writes |
write (6, 49) LimitNorth, LimitWest, LimitEast, LimitSouth
write (CompressName, '(100x)')
write (DataName, '(100x)')
write (Other, '(80x)')
write (90, 101) Time,
* Latitude, Longitude, Other(1:OtherLength)
write (6, 475)
* (int(((OutputCount + TotalOutputCount) /
* (ExpectedCount * 1.0)) * 100.0))
|
| Opens |
open (unit = SummaryUnit,
* file = SummaryFile,
* form = 'formatted',
* iostat = ErrorFlag,
* status = 'old')
open (unit = InUnit,
* file = DataName,
* access = 'sequential',
* iostat = ErrorFlag,
* form = 'formatted',
* status = 'old')
|
| Calls |
call degrees (LimitNorth, LimitSouth, LimitWest, LimitEast)
call forerror (ErrorFlag)
call openem (0,-1)
call stringlen (SearchName, LengthEnd)
call system ('uncompress -c '//CompressName//
* ' > '//DataNa
call forerror (ErrorFlag)
call forerror (ErrorFlag)
|
|