From: NCF::DWILLIAMS "Dave Williams, NSSDC - (301) 441-4197" 24-OCT-1994 16:16:06.76 To: HILLS CC: Subj: PVO DSC -02E B44309-000A 78-051A-02E --------------------------------------------------------------------- M.I.T. Center for Space Research MIT-PV-SAR V.2 70 Vassar Street, Cambridge, MA 02139 December 1, 1988 From: Peter G. Ford, MIT M.I.T. Room 37-601, tel: (617) 253-6485 Subject: Pioneer Venus Radar Side-Looking Backscatter Data Set Format ________________________________________________________________________ This memo describes the format and contents of the side-looking ra- dar backscatter database generated from the Pioneer Venus radar mapper experiment. This database consists of a set of 281 files. On magnetic tape, they are written using Level 3 ANSI standards, each user file pre- ceded and followed by an ANSI label file. The first user file contains an ASCII version of this memorandum. On magnetic tape, it is written as 80-byte logical records, blocked into a series of 800-byte blocks. There are no separators between logical records, and each physical block therefore contains 10 lines of text. The file name recorded in the ANSI label is PVSAR.DOC. The remaining 280 user files contain the data set itself-the backscatter measurements are sorted by increasing latitude value into 280 quarter-degree strips. File 2 contains data from latitude 19.75'S to 19.50'S, and file 281 contains data from 50.00'N to 50.25'N. In addi- tion, within each data file, the records have been sorted into increas- ing value of longitude. Each data file contains a set of fixed-length ASCII records, each 53 bytes long. The ANSI names are PVSAR001.RASTER through PVSAR280.RASTER. Each file begins with three header records, containing the following "self-defining" information: [1] The number of data fields, followed by 4-byte-long field names. The Fortran format is (I3,n(1X,A4)). These names are listed in the second column of table 1. [2] A Fortran "FORMAT" specification that may be used to read the remaining records. The individual format codes are listed in the third column of table 1. [3] A record containing "undefined" values for all record variables. It may be read according to the format string in record 2. If a data field in a subsequent data record has the same value as the corresponding value in this record, that data item is undefined, and should be ignored. The undefined values are listed in the fourth column of tables 1. [4] The remaining records contain the backscatter data itself. Appen- dix C contains an example of a Fortran 77 program that can list the data in this file. As supplied to NSSDC on 1/2'' magnetic tape, the data records are packed 600 per 31800 byte physical tape blocks, with no embedded length fields or end-of-record indicators such as carriage-return or line-feed charac- ters. The tape is recorded on 9 tracks with odd parity at 6250 bytes per inch. Each file ends with a single tape mark, and an extra tape mark is written after the last EOF2 label. The following examples assume that the program listed in Appendix C has been compiled into an executable named listsar. On IBM's OS/370, data file number "n" (user file "n+1") would be read as follows: // EXEC PGM=LISTSAR //FT05F001 DD UNIT=TAPE,VOL=(n+1,SL),DISP=(OLD,KEEP),DCB=OPTCD=Q and on IBM's VM/CMS as FILEDEF 5 TAP1 SL "n+1" ( OPTCD Q DSNAME PVSARn.RASTER LISTSAR A UNIX system might read it with the following commands mt -f /dev/rmt0 fsf "3*n+1" dd if=/dev/rmt0 ibs=31800 cbs=53 conv=unblock | listsar On VMS, it would be read as follows: ASSIGN FOR005 MSA0:PVSARn.RASTER RUN LISTSAR where "n" runs from "001" through "280". +----------------------------------------------------------------------+ | Table 1: Format of Side-Looking Backscatter Data Record | +---+-------+--------+-----------+------+------------------------------+ | | Field | Fortran| Undefined | Data | Field | | | Name | Format | Value | Units| Description | +---+-------+--------+-----------+------+------------------------------+ | 1 | NORB | I5 | 0 | | Orbit number | +---+-------+--------+-----------+------+------------------------------+ | 2 | SECS | I6 | 0 | sec | Time after periapsis (UT) | +---+-------+--------+-----------+------+------------------------------+ | 3 | SMAP | I2 | 0 | | Early/Late mapping flag | +---+-------+--------+-----------+------+------------------------------+ | 4 | SDEL | I2 | 0 | | Delay cell index | +---+-------+--------+-----------+------+------------------------------+ | 5 | SDOP | I2 | 0 | | Doppler cell index | +---+-------+--------+-----------+------+------------------------------+ | 6 | SLAT | F7.3 | 999.999 | degN | Footprint latitude | +---+-------+--------+-----------+------+------------------------------+ | 7 | SLON | F8.3 | 9999.999 | degE | Footprint longitude | +---+-------+--------+-----------+------+------------------------------+ | 8 | SIG0 | F7.5 | 9.99999 | | Specific radar cross section | +---+-------+--------+-----------+------+------------------------------+ | 9 | SARE | F7.1 | 99999.9 | sqkm | Footprint area | +---+-------+--------+-----------+------+------------------------------+ |10 | SANG | F7.2 | 99999.9 | deg | Scattering angle | +---+-------+--------+-----------+------+------------------------------+ DESCRIPTION OF DATA FIELDS NORB: The Pioneer Venus orbit number. The spacecraft maintained a nearly 24-hour orbit. Radar data was taken from orbit 3 on De- cember 7th, 1978 through orbit 834 on March 19th, 1981. SECS: The time from periapsis, in seconds. Negative values represent pre-periapsis measurements. These time fields are specified in precisely 12 second intervals from the periapsis time derived from S/C doppler tracking. The 12-second interval was chosen to closely approximate the S/C spin period. Radar imaging data was taken once or twice per S/C rotation, and therefore not at exactly 12-second intervals. In addition, the radar altimeter was able to refine the measurement of UT of periapsis. Each radar observation was therefore assigned to a particular 12-second interval by counting S/C revolutions before or after the true periapsis, assigning the last radar measure- ment before periapsis to the SECS field with value 0. SMAP: A single decimal digit, set equal to 1 if the measurement was made during the early imaging mode, or to 2 if during the late imaging mode. SDEL: A single decimal digit in the range 1-8 representing the range- window that corresponded to this measurement. Each side-looking radar map was processed on-board the spacecraft into 8 range in- tervals and 8 doppler intervals. Range 1 represents the shor- test echo delay, and therefore the footprint nearest to the subradar point. SDOP: A single decimal digit in the range 1-8 representing the doppler-window that corresponds to this measurement. A low doppler index normally represents negative doppler shifts, and therefore footprints behind the spacecraft, while a high index represents positive doppler shifts and footprints ahead of the spacecraft. However, the doppler filtering was performed on board by a fourier transform-spacecraft timing errors sometimes caused the antenna beam to point ahead of, or behind its intend- ed target (between doppler cells 4 and 5). In this case, the subsequent doppler aliasing will cause doppler cell 1 (or 8) to lie ahead of cell 8 (or behind cell 1). SLAT: The latitude of the center of the backscatter footprint in de- grees, calculated by projecting the delay and doppler values onto a sphere of radius 6052 km. Within a given data file, the values of the SLAT field will be confined to a given 1/4 degree interval. All latitudes and longitudes are expressed in degrees. Lati- tudes are positive in the northern hemisphere, negative in the southern. Longitudes are always positive, in the range 0 through 360. Longitudes increase eastward of the prime meridi- an, and the (retrograde) planetary rotation is from east to west. The Body fixed 1985 IAU coordinate system (VBF85) is used. See appendix B and the bibliography for more details. SLON: The longitude of the center of the backscatter footprint, in de- grees. The entries in each data file have been sorted into in- creasing SLON value. SIG0: The specific radar cross-section sigma-zero, measured by the radar mapper, corrected for atmospheric absorption. SARE: The area of surface interacting with this measurement, in square kilometers assuming a planetary radius of 6052 km. SANG: The scattering angle for this measurement, in degrees, i.e. the angle between the incident (and reflected) ray and the surface normal. ________________________________________________________________________ A. REFERENCES o G.H. Pettengill, D.F. Horwood, C.H. Keller, "Pioneer Venus Orbiter Radar Mapper: Design and Operation", IEEE Trans. Geosci. Remote Sensing, GE-18, No. 1, January 1980. o H. Masursky, E. Eliason, P.G. Ford, G.E. McGill, G.H. Pettengill, G.G. Schaber, G. Schubert, "Pioneer Venus Radar Results: Geology from Images and Altimetry", J. Geophys. Res., 85, A13, 8232 (1980). o G.H. Pettengill, P.G. Ford, B.D. Chapman, "Venus: Surface Elec- tromagnetic Properties", J. Geophys. Res., 93, B12, 14881 (1988). ________________________________________________________________________ B. VENUS COORDINATE SYSTEMS The latitudes and longitudes in this data set are expressed in the Venus body fixed system adopted by the IAU in 1985 and used by the Magellan Project. It is related to other coordinate systems via a series of time-dependent rotation matrices. These coordinate systems are as fol- lows: PVO80 Venus body fixed (Pioneer Venus) VME50 Venus equator of 1950 EMO50 Earth ecliptic of 1950 EME50 Earth equator of 1950 EME00 Earth equator of J2000 EMO00 Earth ecliptic of J2000 VME00 Venus equator of J2000 (JPL/IAU) VBF85 Venus body fixed (Magellan) (IAU of 1985) [1] The Pioneer Venus Coordinate System (PVO80) Latitude of Venus pole . . . . . . . . . 88.50737 deg Longitude of Venus pole . . . . . . . . . 31.48165 deg Rotation period . . . . . . . . . . . . .243.0 days Latitude of Venus ascending node. . . . . -1.39873 deg Longitude of Venus ascending node . . . . 51.91788 deg Longitude of prime meridian in 1964.0 . .164.6089 deg The angles and ascending node are defined in the EMO50 coordinate sys- tem. The following transformation matrices operate on right-handed cartesian 3-vectors. [2] PVO80 -> VME50 Rotation | cos(d) -sin(d) 0 | V(VME50) = E * V(PVO80) = | sin(d) cos(d) 0 | * V(PVO80) | 0 0 1 | d = 164.6089 - (JD-1950)*360/243.0 [3] VME50 -> EMO50 Rotation V(EMO50) = F * V(VME50) | 0.616606488128 -0.786958046198 0.0222142369303 | F = | 0.78689300063 0.616939511419 0.0136031176373 | | -0.0244099233564 0.00909245696085 0.999660683866 | [4] EMO50 -> EME50 Rotation V(EME50) = B**-1 * V(EMO50) | 1.0 0.0 0.0 | B**-1 = | 0.0 0.9174369451139180 -0.3978812030494049 | | 0.0 0.3978812030494049 0.9174369451139180 | [5] EME50 -> EME00 Rotation V(EME00) = A * V(EME50) | 0.9999256794956877 -0.0111814832204662 -0.0048590038153592 | A = | 0.0111814832391717 0.9999374848933135 -0.0000271625947142 | | 0.0048590037723143 -0.0000271702937440 0.9999881946023742 | [6] EME00 -> VME00 Rotation V(VME00) = C**-1 * V(EME00) | 0.99889808 0.04693211 0.0 | C**-1 = | -0.04325546 0.92064453 0.38799822 | | 0.01820958 -0.38757068 0.92166012 | [7] VME00 -> VBF85 Rotation | cos(w) sin(w) 0 | V(VBF85) = D**-1 * V(VME00) = | -sin(w) cos(w) 0 | * V(VME00) | 0 0 1 | w = 160.39-1.4813291*(JD-2000) [8] Resulting PVO80 -> VBF85 Rotation Cartesian 3-vectors are transformed by the product of the individual rotation matrices, i.e. D**-1(w) * C**-1 * A * B**-1 * F * E(d) which depends on time through (w) and (d). At the epoch of 1980.0, i.e. approximately in the middle of the Pioneer Venus data taking period, | 0.999990805 0.001520115 -0.004009573 | V(VBF85) = | -0.001530001 0.999995801 -0.002462105 | * V(PVO80) | 0.004005809 0.002468222 0.999988929 | ________________________________________________________________________ C. FORTRAN 77 PROGRAM TO READ THE RADAR BACKSCATTER DATA FILE c LENGTH = maximum record length in bytes c MAXVAR = maximum number of variables per record integer LENGTH, MAXVAR parameter ( LENGTH=50, MAXVAR=20 ) real*4 rbuf(MAXVAR), dbuf(MAXVAR) integer*4 ibuf(MAXVAR), idbuf(MAXVAR) character*4 name(MAXVAR) character*1 frmt(LENGTH) c read field names read (5,"(I3,100(1X,A4))",iostat=ios,end=40,err=40) nitem, (name(i),i=1,nitem) c read field format read (5,"(1000A1)",iostat=ios,end=40,err=40) x (frmt(i),i=1,LENGTH) c Compute nint = number of integer variables in each record. c It is assumed that all integers precede all floats. nint = 0 do 10 i=1,LENGTH if (frmt(i) .eq. "i" .or. frmt(i) .eq. "I") x nint = nint + 1 10 continue c read undefined field values read (5,frmt,iostat=ios,end=40,err=40) (idbuf(i),i=1,nint), (dbuf(i),i=nint+1,nitem) do 20 nrec = 1, 10000000 c read a data record read (5,frmt,iostat=ios,end=30,err=40) x (ibuf(i),i=1,nint), (rbuf(i),i=nint+1,nitem) if (nrec .gt. 1) write (6,"(1x)") c display field values do 20 n = 1,nitem if (n .gt. nint .and. rbuf(n) .eq. dbuf(n)) x then write (6,"(1X,I6,'.',I2,'.. ',A4,' = ?')") x nrec, n, name(n) else if (n .le. nint) then write (6,"(1X,I6,'.',I2,'.. ',A4,' = ',I9)") x nrec, n, name(n), ibuf(n) else write (6,"(1X,I6,'.',I2,'.. ',A4,' = ',F12.5)") x nrec, n, name(n), rbuf(n) end if 20 continue 30 stop c error return 40 write (0,"('read error ',i3)") ios stop 1 end ________________________________________________________________________