The NSCAT Science Product (NSP) consists of Level 1.7, Level 2.0 and Level 3.0 products, providing collocated ocean sigma-0 data, vector wind data in 50 km resolution, and averaged daily global wind maps 0.5 x 0.5 degree resolution, respectively.
NSCAT was launched on the ADEOS satellite on 16 August 1996 and the mission ended on June 30, 1997 due to power loss on board ADEOS. The data are reprocessed starting April 1997 based on the work of the calibration and validation team and are now available. This product is of value to those people who need Level 1.7 data. Most scientists will probably prefer to obtain product 085 which provides ocean wind products on CD-ROM or to get the data via FTP.
Level 2.0 -- Ocean Wind Vector Product
The Level 2 data product consists of ocean wind vector solutions,
derived from sigma-0 measurements grouped by geographic location into
wind vector cells (WVC). Each data record is a cross-track row of
WVC's. The maximum number of data records is estimate at 820, while
the nominal number of records is approximately 70% of this, due to the
presence of land or ice. A record is written to the file if at least
one WVC contains data from which ocean winds were retrieved.
Level 3.0 -- Average Wind Vector Map Product
The Level 3 data are a set of global averaged maps of wind vector
solutions, various secondary variables and statistical descriptors.
The averaging interval is one day, spanning complete revs beginning
and ending nearest to 0h UTC and 24h UTC, respectively. Each map
contains one averaged parameter. The map projection used is a simple
linear latitude/longitude projection. The map grid is in half degree
resolution defined within latitude limits of 75°S to 75°N and longitude
limits of 0° to 360°. The horizontal and vertical map grid dimensions
are 720 and 300, respectively. One horizontal map grid row is
considered one record. The starting grid corresponds to the
southernmost latitude and the starting grid column corresponds to
the westernmost longitude within the map region.
NSCAT scatterometer engineering data record Level 1 (JPL),
Product #61
NSCAT scatterometer SDR, geo-located sigma0 cells Level 1.5 (JPL),
Product #62
NSCAT scatterometer SDR, swath binned ocean sigma0 cells Level 1.7
(JPL),
Product #63
NSCAT scatterometer GDR, 50km ocean wind vector swath product Level 2
(JPL),
Product #64
NSCAT scatterometer ocean wind vector global map, 0.5 deg grid Level 3
(JPL),
Product #65
NSCAT scatterometer global 25km sigma-0 and ocean winds (Dunbar),
Product #84
NSCAT scatterometer ocean wind products CD-ROM (JPL),
Product #85
Advanced Earth Observing Satellite (ADEOS)
NASA Scatterometer (NSCAT)
SAPIENT performs quality assurance tests to the standard science products, in addition to calibration and validation analyses. After the data quality has been verified, the SPOT sends the data to PO.DAAC, which is also located at JPL. The data formats provided by SDPS software are specific to NSCAT. PO.DAAC converts the SDPS formats to Hierarchical Data Format (HDF) for distribution. The level products in HDF are Level 1.7 (Grouped Sigma-0), Level 2 (Wind Vectors), and Level 3 (Averaged Daily Map).
90% of the global ocean (within 75°N to 75°S) is covered every two days.
Sigma-0
The sigma-0 measurement corresponding to each WVC. Sigma-0
contains the absolute value of the dB.
units: decibels (dB)
minimum value: -50.00
maximum value: 30.00
Wind Direction
Wind direction solution for a given WVC.
units: degrees (deg) clockwise from north
minimum value: 0.00
maximum value: 359.99
Wind Speed
Wind speed solution for a given WVC.
units: meters per second (m/s)
minimum value: 0.00
maximum value: 50.00
Average U Wind Component
The average east-west component of the wind velocity vector.
Positive eastward.
units: meters per second (m/s)
minimum value: -50.00
maximum value: 50.00
Average V Wind Component
The average north-south component of the wind velocity vector.
Positive northward.
units: meters per second (m/s)
minimum value: -50.00
maximum value: 50.00
Producer_Agency = NASA
Producer_Institution = JPL
Sensor_Name = NSCAT
Project_ID = NSCAT
SIS_ID = 597-512-24/1996-07-01
Build_ID = 3.2.1/1996-11-05
ADEOS_Data_Package_ID = S2
ADEOS_Data_Package_Type = S
Product_Creation_Time = 1996-318T03:37:17.000
Data_Type = L2
Data_Status = COMPLETE
First_Rev_Number = 425
First_Rev_Eq_Crossing_Time = 1996-259T20:50:42.491
First_Rev_Eq_Crossing_Lon = 0.276730E+02
First_Data_Time = 1996-259T20:33:09.535
Last_Data_Time = 1996-259T21:59:09.329
Num_Expected_Output_Records = 499
Num_Actual_Output_Records = 499
Ambig_Removal_Method = Baseline used
HDF_Build_ID = JPL HDF4.0r2 10/24/96
HDF_SIS_ID = JPL D-12060 12/15/94
HDF_Conversion_Organization = JPL PO.DAAC
HDF_Conversion_Time = 1996-320T17:33:26
Data_Format_Type = HDF
Sample output from Level 2 HDF data
RECORD Number = 1
| Col | 12 | 34 | 56 | 78 | nAmb | Lat | Lon | Speed | Dir |
|---|---|---|---|---|---|---|---|---|---|
| 17 | 1 | 2 | 2 | 2 | 2 | -60.34 | 55.28 | 9.27 | 114.48 |
| 18 | 2 | 1 | 2 | 2 | 4 | -60.18 | 56.07 | 9.51 | 75.91 |
| 20 | 2 | 2 | 2 | 3 | 4 | -59.81 | 57.79 | 10.77 | 64.55 |
| 21 | 3 | 1 | 2 | 1 | 4 | -59.53 | 58.55 | 6.59 | 93.84 |
| 23 | 2 | 4 | 4 | 4 | 3 | -59.09 | 60.05 | 14.68 | 21.05 | 24 | 4 | 1 | 3 | 3 | 4 | -58.89 | 60.97 | 12.08 | 56.13 |
The NSP tape consists of eight UNIX tar files which contain the following:
Sigma-0 Grouping
Before the wind vector at a given location is computed, the
sigma-0 measurements, stored in time-ordered beam-frames in Level
1.5, are grouped or collocated in wind vector cells (WVC). The
sigma-0 data from all four beams, taken at 25-km average
resoultion, are grouped into 50-km wind vector cells prior to wind
retrieval. Thus, an average of 16 measurements are used to
estimate the wind vector at each location.
Wind Retrieval
The process of wind retrieval depends on knowledge of the
relationship between radar backskatter from the ocean surface and
the local wind conditions at the location of backskatter
measurements. The objective of the wind retrieval algorithm is to
invert this relationship to yield the wind speed and direction by
fitting a set of sigma-0 measurements taken at a number of
different look angles to the model function. Because of the
nature of the scattering, this process yields a set of possible
wind vector solutions, known as wind vector ambiguities, which
have similar wind speeds at different directions.
Ambiguity Removal
The NSCAT wind retrieval algorithm derives wind vectors on a
cell-by-cell, or point-wise, basis, without considering data in
adjacent WVC. It is the job of the ambiguity removal algorithm to
examine the retrieved wind vector field as a whole to ensure that
it is geophysically consistent. The NSCAT algorithm uses a vector
median filter as described in Shaffer et al.,
[1991].
Between these data levels are the following conversion stages, corresponding to major programs in the SDPS software, and the general algorithm tasks to be accomplished:
- Suggested fixes
1. For those values that are slightly out of bounds (-99.124, etc.),
simply add 65.536 (2**16/1000) to get the right values (-33.588, etc.)
2. For those values that are really off (-16751183 (before scaling), etc.),
if the real value is x and -16751183 = A, then it takes the form of
x-A = 2**24-N*2**16 ---------------(1)
Half of the time, N = 1, where abs(A) > 16,700,000
To figure out N, replace x with WVC_lat, so that
N ~ (2**24 + A - WVC_Lat)/(2**16) ------------------------(2)
Since the maximum difference between WVC_Lat and the real x is less than 0.5,
the estimated N from (2) should be really close to the integer N. After N is
known, obtain x from (1).
In the example given above, N = 1 and x = -39.503.
- This problem will be fixed in the next reprocessing (April-June, 1998)
Reference height for surface winds
The adopted reference height for all wind vectors is 10 meters
Software available:
rdHDF_17.F --> FORTRAN program to read Level 1.7 product in HDF
rdHDF_20.F --> FORTRAN program to read Level 2 product in HDF
rdHDF_30.F --> FORTRAN program to read Level 3 product in HDF
rdHDF.c --> C program to read Level 1.7 and Level 2 product in HDF
rdHDF_30.c --> C program to read Level 3 product in HDF
nscat_plots.pro --> IDL program to read and plot Level 1.7, 2 and 3 HDF data
Example of an HDF reader (Level 3):
************************************************************************
* Program rdHDF_30.F -- read NSCAT level 3.0 data in HDF
*
* Author: Carol S. Hsu
* 818-354-9891
* csh@seawind.jpl.nasa.gov
* PO.DAAC, JPL
*
* Release Date:
* 12/96 v1.0 Initial release
*
* Purpose:
* This program reads NSCAT level 3.0 HDF data
*
* Comments:
* Gridded, daily global map of the selected wind vectors.
*
* The map algorithm bins the Level 2.0 wind vectors on a rectangular
* 0.5 x 0.5 latitude-longitude grid covering latitudes from -75 to
* +75 degree, then averages the data in each map cell.
*
************************************************************************
integer access,status
integer retn
character*80 filein, fileout
character*20 sds_name
integer*4 sds_index,sd_id, sds_id,sds_id_1,sds_id_2
integer*4 n_datasets, n_file_attrs, index
integer*4 rank,data_type,nattrs
integer*4 start(3),stride(3)
integer*4 dims(3), edges(3)
integer sfstart, sffinfo, sfselect, sfginfo
integer sfendacc, sfend, sfn2index
real*8 scale,cal_err,off,off_err
real data(720,300),data1(720,300)
c--- SDSs and Meta data
integer*2 map(720,300),Avg_Speed(720,300)
integer*2 MD_F(720,300),MD_FS(720,300)
integer*2 Avg_U(720,300),Avg_V(720,300),RMS_Speed(720,300)
integer*2 Wind_Vel_U_StdDev(720,300),Wind_Vel_V_StdDev(720,300)
integer*4 DF_type(10)
byte Avg_Sig_Count(720,300), WVC_Count(720,300)
parameter (DFACC_RDONLY = 1, FULL_INTERLACE = 0)
c--- Arrays to store scaled real numbers
real*4 Avg_Speeds(720,300)
real*4 MD_Fs1(720,300),MD_FSs(720,300)
real*4 Avg_Us(720,300),Avg_Vs(720,300),RMS_Speeds(720,300)
real*4 Wind_Vel_U_StdDevs(720,300),Wind_Vel_V_StdDevs(720,300)
real*4 DF_types(10)
real*4 Avg_Sig_Counts(720,300)
**************************************************************************
c Get input file name of NSCAT Level 3.0 file
status = -1
call getarg(1,filein)
status = access (filein,' ')
if (status .ne. 0 ) then
write(*,*) 'no such file ->Usage: rdHDF_30 (input HDF file)'
stop
endif
c Open the file and initiate the SD interface.
sd_id = sfstart( filein, DFACC_RDONLY)
c
c Find out the contents of the file.
retn = sffinfo(sd_id, n_datasets, n_file_attrs)
write(6,*) 'sdid,ndata,nattrs',sd_id,n_datasets,n_file_attrs
**************************************************************************
c Get the Global Attributes.
**************************************************************************
call show_attributes(filein)
**************************************************************************
c Access and print info of every SDS in the file
**************************************************************************
write(6,*)'index, sds_id, rank, name'
do 10 index = 0, 11
sds_id = sfselect(sd_id, index)
do j =1,3
dims(j) = 0
enddo
retn = sfginfo(sds_id, sds_name, rank, dims, data_type,
* nattrs)
write(6,101)index,sds_id,rank,sds_name
retn = sfendacc (sds_id)
10 continue
101 format(1x, I4, 1x, I8, I4, 3x, 20A)
c Find the index of the dataset by name.
c sds_index(7): Avg_Wind_Speed
c Select the data set in the file.
c first dataset sds_index = 0
sds_index = sfn2index(sd_id, 'WVC_Count')
sds_id_1 = sfselect(sd_id, sds_index)
c Get the dimensions of the scientific dataset
retn = sfginfo(sds_id_1,sds_name,rank,dims,data_type,nattrs)
write(6,*) 'index,id,rank,nattrs',
* sds_index,dims(1),dims(2),sds_id_1,rank,nattrs
c
**************************************************************************
c Define the location, and size of the dataset.
c
c You could change resolution or size of the data here
c e.g. stride(i) = 2 will skip every other data in ith dimension
c e.g. start(i) = N will start reading from Nth point
c e.g. edges(i) decides the size of each dimension - see HDF User's Guide
**************************************************************************
c
do 20 i =1, rank
stride(i) = 1
start(i) = 0
edges(i) = dims(i)
20 continue
c
**************************************************************************
c Read 2-dimensional data (SDS)
**************************************************************************
c Read Avg_Wind_Vel_U data (Average east-west component of the wind
c velocity vector)
sds_index = sfn2index(sd_id, 'Avg_Wind_Vel_U')
sds_id_1 = sfselect(sd_id, sds_index)
retn = sfrdata(sds_id_1, start, stride, edges, Avg_U)
retn = sfgcal(sds_id_1, scale,cal_err,off,off_err,data_type)
c Write Avg_Wind_Vel_U data (Average east-west component of the wind
c velocity vector), scale factor is 0.01
do j=1,dims(2)
do i=1,dims(1)
Avg_Us(i,j)=Avg_U(i,j)*scale
enddo
enddo
c Terminate access to the array.
retn = sfendacc (sds_id_1)
c Read Avg_Wind_Vel_V data (Average north-south component of the wind
c velocity vector)
c
sds_index = sfn2index(sd_id, 'Avg_Wind_Vel_V')
sds_id_1 = sfselect(sd_id, sds_index)
retn = sfrdata(sds_id_1, start, stride, edges, Avg_V)
retn = sfgcal(sds_id_1, scale,cal_err,off,off_err,data_type)
retn = sfendacc (sds_id_1)
do j=1,dims(2)
do i=1,dims(1)
Avg_Vs(i,j)=Avg_V(i,j)*scale
enddo
enddo
c Read Avg_Wind_Speed data (Average wind speed in cell)
sds_index = sfn2index(sd_id, 'Avg_Wind_Speed')
sds_id_1 = sfselect(sd_id, sds_index)
retn = sfrdata(sds_id_1, start, stride, edges, Avg_Speed)
retn = sfgcal(sds_id_1, scale,cal_err,off,off_err,data_type)
retn = sfendacc (sds_id_1)
do j=1,dims(2)
do i=1,dims(1)
Avg_Speeds(i,j)=Avg_Speed(i,j)*scale
enddo
enddo
c Terminate access to the SD interface and close the file.
retn = sfend(sd_id)
stop
end
**********************************************************************
c Subroutine show_attributes
c Get and print the Global Attributes.
**********************************************************************
subroutine show_attributes(filein)
integer retn
character*80 filein, fileout
integer*4 sds_index,sd_id, sds_id,sds_id_1,sds_id_2
integer*4 n_datasets, n_file_attrs, index
integer*4 rank,data_type,nattrs
integer sfstart, sffinfo, sfselect, sfginfo
integer sfendacc, sfend
c--- Metadata
c
character*40 attr_name(24), char_buffer(24)
character*60 cha_buffer(24)
integer afrattr,sfgainfo,count,int_buffer(24)
c
sd_id = sfstart( filein, 1)
**********************************************************************
c Read through all the attributes, note that the data_type for
c each attributes is different
c do 9 i=0, n_file_attrs-1
do 9 i=0,10
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,char_buffer(i))
c write(6, *) attr_name(i)
c write(6,*) char_buffer(i)
9 continue
c
i=11
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,int_buffer(i))
i=12
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,int_buffer(i))
i=13
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,char_buffer(i))
i=14
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,f_buffer)
do 19 i=15,23
retn = sfgainfo(sd_id, i, attr_name(i), data_type, count)
retn = sfrattr(sd_id, i,cha_buffer(i))
19 continue
retn = sfend(sd_id)
return
end
Software and documentation are also available from the PO.DAAC ftp
site:
ftp://podaac.jpl.nasa.gov,
in /pub/ocean_wind/nscati/software directory.
NOTE: In order to access HDF data, the user must first obtain and compile the HDF/netCDF libraries from NCSA. The source code, which supports most platforms, is available to the general public via anonymous ftp at ftp.ncsa.uiuc.edu:/HDF. Instructions and Makefiles for most platforms are also provided at this ftp site.
Phone: (626) 744-5508
Fax: (626) 744-5506
Email:
podaac@podaac.jpl.nasa.gov
URL:
http://podaac.jpl.nasa.gov
The NSCAT data and software are also available to the general public and are located in the pub/ocean_winds/nscat on the PO.DAAC FTP site podaac.jpl.nasa.gov
NOTE: Data distribution to the general science community started April 1997.
Dunbar, R.S., S.V. Hsiao, and B.H. Lambrigtsen, 1991. Science Algorithm Specifications for the NASA Scatterometer Project, Vol. 1 (Sensor Algorithms) and Vol. 2 (Geophysical Algorithms), JPL D-5610, Jet Propulsion Laboratory, Pasadena, CA.
Freilich, M.H., 1985. Science Opportunities Using the NASA Scatterometer, JPL 84-57 (597-200).
Freilich, M.H. and R.S. Dunbar, 1993. Derivation of satellite wind model functions using operational surface wind analyses: An altimeter example, J. Geophys. Res., 98(C8), pp. 14,633-14,649.
JPL, 1997. NSCAT Science Data Product User's Manual, Version 1.1, JPL D-12985, Jet Propulsion Laboratory, Pasadena, CA.
Long, D. G., and M. R. Drinkwater, 1994. Journal of Glaciology, Vol. 32, No. 2, pp. 213-220.
Long, D. G., P. Hardin and P. Whiting, 1993.IEEE Trans. Geosc. Remote Sens., Vol. 31, No. 3, pp. 700-715
Long, D. G., and P. Hardin, 1994.IEEE Trans. Geosc. Remote Sens., Vol. 31, No. 2, pp. 449-460
Naderi, F.M., M.H. Freilich, and D.G. Long, 1991. Spaceborne radar measurement wind velocity over the ocean -- An overview of the NSCAT Scatterometer System, Proceedings of the IEEE, 79(6).
Shaffer, S., R.S. Dunbar, S.V. Hsiao, and D.G. Long, 1991. A median-filter-based ambiguity removal algorithm for NSCAT, IEEE Trans. on Geoscience and Remote Sensing, 29(1).
Sigma-0 Grouping
Before the wind vector at a given location is computed, the
sigma-0 measurements, stored in time-ordered beam-frames in Level
1.5, are grouped or collocated in wind vector cells (WVC). The
sigma-0 data from all four beams, taken at 25-km average
resoultion, are grouped into 50-km wind vector cells prior to wind
retrieval. Thus, an average of 16 measurements are used to
estimate the wind vector at each location.
Wind Retrieval
The conversion of sigma-0 to wind speed uses the NSCAT-1 model
function (Wentz and Freilich, personal communication) of April 1997
and the data are nudged (see the definition of nudged data in this
section).
The process of wind retrieval depends on knowledge of the
relationship between radar backskatter from the ocean surface and
the local wind conditions at the location of backskatter
measurements. The objective of the wind retrieval algorithm is to
invert this relationship to yield the wind speed and direction by
fitting a set of sigma-0 measurements taken at a number of
different look angles to the model function. Because of the
nature of the scattering, this process yields a set of possible
wind vector solutions, known as wind vector ambiguities, which
have similar wind speeds at different directions.
Nudged NSCAT data
In nudged NSCAT Standard Product the winds are selected based on
the Numerical Weather Product (NWP) initialization of the ambiguity
removal algorithm. Either the first or the second ranked NSCAT wind
vector, whichever is closer to the direction of NWP wind vector,
is chosen as the initial guess used by the ambiguity removal
algorithm.
Batches 1-15 (Sept 15, 1996 to Dec 18, 1996), that were distributed
before the Calibration/Verification meeting, used the standard
ambiguity
removal scheme that uses only the first ranked NSCAT wind vector as
the initial guess in the ambiguity removal algorithm (so-called
un-nudged
or baseline ).
A new model function (NSCAT-1) is used to
reprocess
all the NSCAT data in April 1997 and the wind vectors product
are NUDGED.
See the EOSDIS Glossary for a more general listing of terms related to the Earth Observing System project.