EPIC2001 QuikSCAT DATA SETS We have assembled several digital data sets containing surface vector winds estimated from the NASA QuikSCAT scatterometer. Each of the data sets is comprised of individual QuikSCAT passes through the EPIC area (245 ? 285E longitude, -22.5 ? 17.5 latitude) during the period 1 August 2001 ? 30 November 2001. All data files are compressed using gzip to save space and to allow rapid electronic transfer. All of the data sets are based fundamentally on the 25 km resolution QuikSCAT measurements processed through the standard science processing (QSCAT-1 model function, median filter ambiguity removal initialized with the NCEP analysis, autonomous rain flagging using both backscatter cross- section and QuikSCAT radiometer data). An expanded form of these raw vector wind data (including, for instance, precise measurement times, a wide range of quality flags, and the full suite of directional ambiguities calculated from each wind retrieval for all global open-ocean measurements) can be obtained in HDF format from M. Freilich at OSU or from the JPL PO.DAAC. The EPIC data sets have been extracted and quality controls (discussed with each data set) have been applied. All QuikSCAT wind velocities represent 10 m neutral stability winds (ie., the wind that would be measured at an altitude of 10 m if the atmosphere was neutrally stratified). Stresses can thus be calculated directly using a bulk-type formula by applying a neutral 10 m drag coefficient as in the following IDL code fragment: ro = 12.23 ; density in [g/cm**3]*10^4 if( spd gt 10. )then begin cn=(0.49+0.065*spd)*1.e-3 endif else if( spd ge 3. and spd le 10. )then begin cn=1.14e-3 endif else if( spd ge 1. and spd lt 3. )then begin cn=(0.62+1.56/spd)*1.e-3 endif else begin cn=2.18e-3 endelse stress=ro*cn*spd*spd 1) Raw, 25 km swath winds (ASCII) This data set contains the extracted 25 km vector winds for each QuikSCAT pass through the EPIC region. Each file contains data from a single QuikSCAT orbit. File names are of the form: rrrrr_2001MMMDD_HHmmq.ascii.gz where: rrrrr QuikSCAT rev number MMM 3-letter month abbreviation (Jul, Aug, Sep, Oct, Nov) DD Approximate day of month (UTC) HHmm Approximate (UTC) time in hours and minutes (for example, 11029_2001Aug01_1148q.ascii.gz). Each file contains a 19-line ASCII header and a variable number of lines of ASCII data, each line corresponding to a single QSCAT vector wind measurement, as shown in the partial listing below: 11237 ; number of data records 11848 ; QuikSCAT rev number descending ; ascending/descending Sep 27, 2001 ; approx date, UTC 23:40 ; approx time, UTC Header notation: lat => latitude lon => longitude doy => day of year (Jan 1, 2001=>doy=1) hh => hour of day, UTC (0-23) mm => minute (0-59) Uspd => U speed, m/s (to-the-east) Vspd => V speed, m/s (to-the-north) wvc => QuikSCAT wind vector cell (1-76) r => QuikSCAT rain flag (0=no rain, 1=rain) lat lon doy hh mm Uspd Vspd wvc r ------------------------------------------------ 17.36 285.00 270 23 34 -5.68 1.18 6 0 17.42 284.79 270 23 34 -5.42 1.10 7 0 17.44 284.57 270 23 34 -5.30 0.40 8 0 17.16 284.95 270 23 34 -5.70 1.07 6 0 17.19 284.68 270 23 34 -5.67 0.55 7 0 17.26 284.48 270 23 34 -5.45 1.39 8 0 17.29 284.21 270 23 34 -6.03 0.28 9 0 17.31 284.03 270 23 34 -6.15 0.29 10 0 17.35 283.81 270 23 34 -5.92 0.82 11 0 17.41 283.56 270 23 34 -6.13 -0.29 12 0 17.45 283.33 270 23 34 -6.37 -0.37 13 0 16.94 284.91 270 23 34 -6.27 1.17 6 1 16.97 284.65 270 23 34 -6.09 1.05 7 0 17.04 284.40 270 23 34 -5.77 1.09 8 0 . . . Data line formats are given by: (2f7.2,2x,i3.3,2(1x,i2.2),2x,2f7.2,2x,i2,2x,i1) Wind vector cell numbers (wvc) correspond to the cross-track location of the measurement within the overall QuikSCAT swath, and are labeled from port to starboard (the direction of the pass is provided in the header: ascending is south-east to north-west, descending is north-east to south-west). Measurement times have been truncated to the nearest minute (UTC). 2) Smoothed wind speeds and directions on 10 km centers (BYTE) This data set, composed of speed, direction, and rain byte arrays described below, corresponds to the images on our EPIC2001 web site. Each file contains data from a single QuikSCAT orbit. File names are of the form: rrrrr_2001MMMDD_HHmmq.gz where: rrrrr QuikSCAT rev number MMM 3-letter month abbreviation (Jul, Aug, Sep, Oct, Nov) DD Approximate day of month (UTC) HHmm Approximate (UTC) time in hours and minutes (for example, 11029_2001Aug01_1148q.ascii.gz). Each file contains 3 byte arrays (443, 444) (corresponding to 443 longitudes and 444 latitudes) ? the first contains byte-encoded speed on nominal 10 km centers (at the center of the array), the second contains byte-encoded directions, and the third contains a rain/distance flag. Files are 590076 bytes long (data are written as a simple byte stream with no headers or trailers). Two additional one-dimensional files (lon_arr.ascii and lat_arr.ascii) contain the center longitudes and latitudes corresponding to the geographical locations of the data in the byte arrays. (See the FORTRAN code at the end of this section for additional details on the ascii and binary byte arrays.) Smoothed speeds were produced by taking the bi-cubic distance-weighted mean of all rain-free, raw (25 km resolution) QuikSCAT speed measurements within 50 km of the target location, #, # where #is the smoothed speed at the target location, #denotes the ith (of N) rain-free raw QuikSCAT wind speed measurement within 50 km of the target location, and # is the distance (in km) between the raw wind speed measurement and the target location. This smoother approximates a full quadratic loess when the target location is surrounded by measurements, and has the further property (in contrast with the loess) that the smoothed estimate cannot be larger (smaller) than the largest (smallest) measurement within the 50 km radius. As an additional constraint, no estimates were produced if no rain-free measurements were obtained within 30 km of the target location. Smoothed directions were obtained by first calculating smoothed #(positive to the east) and #(positive to the north) components from the raw, rain-free QuikSCAT measurements as with the speeds above. The oceanographic convention is used: a direction of 0 degrees corresponds to a wind blowing from south to north, and a direction of 90 degrees to a wind blowing from west to east. (cont.) The byte data can be decoded as follows (see FORTRAN listing): speed: To obtain a floating point speed, multiply the byte-encoded value by 0.125 . Valid speeds run from 0.125 to 37.5 m/s. Byte values of 255 correspond to missing smoothed data. direction: To obtain a floating point direction, multiply the byte-encoded value by 1.5 . Byte values of 255 correspond to missing smoothed data. rain/dist: The rain/dist array indicates the presence or absence of rain-flagged raw measurements within 25 or 50 km of the target location for the smoothed wind velocity estimate. In no case were rain-contaminated raw measurements used to calculated smoothed speeds or directions. Valid values of the rain/dist flag are: 0 No raw measurements within 50 km of the target location were flagged for rain 1 No raw measurements within 25 km of the target location were flagged for rain, but at least 1 raw measurement within 50 km of the target location was flagged 2 At least 1 raw measurement within 25 km of the target location was flagged for rain The following FORTRAN program can be used to read and decode the ascii (lon and lat) location files and the byte array data. Note that the code is written for an Alpha machine: the listed record length for the direct-access file is given in units of longwords (4 bytes/longword). program read_files character*80 filename byte bspd(443,444), bdir(443,444), brain(443,444) real spd(443,444), dir(443,444), rain(443,444), tmp real lon_arr(443), lat_arr(444) data INVALID/-1/ filename='smooth_fixed/11021_2001Jul31_2313q' c this reads in the byte arrays open(20, file=filename, RECL=49173, status='old', & FORM='unformatted', ACCESS='direct') read(20,rec=1) bspd read(20,rec=2) bdir read(20,rec=3) brain close(20) c this reads in the ascii lons open(20, file='lon_arr.ascii', status='old', form='formatted' ) read(20,'(i3)') nlons do i=1, nlons read(20,'(f6.2)') lon_arr(i) enddo close(20) c this reads in the ascii lats open(20, file='lat_arr.ascii', status='old', form='formatted' ) read(20,'(i3)') nlats do i=1, nlats read(20,'(f6.2)') lat_arr(i) enddo close(20) c convert byte data do i=1, 443 do j=1, 444 c convert the speeds tmp = bspd(i,j) if( tmp .lt. 0 ) tmp=tmp+256 spd(i,j) = tmp/8. if( tmp .eq. 255 ) spd(i,j)=INVALID c convert the directions tmp = bdir(i,j) if( tmp .lt. 0 ) tmp=tmp+256 dir(i,j) = tmp*1.5 if( tmp .eq. 255 ) dir(i,j)=INVALID c convert the rain tmp = brain(i,j) if( tmp .lt. 0 ) tmp=tmp+256 rain(i,j) = tmp if( tmp .eq. 255 ) rain(i,j)=INVALID enddo enddo spdmin=1000. spdmax=0. dirmin=1000. dirmax=0. rainmin=1000. rainmax=0. n=0 do i=1, 443 do j=1, 444 if( spd(i,j) .gt. spdmax ) spdmax=spd(i,j) if( spd(i,j) .lt. spdmin ) spdmin=spd(i,j) if( dir(i,j) .gt. dirmax ) dirmax=dir(i,j) if( dir(i,j) .lt. dirmin ) dirmin=dir(i,j) if( rain(i,j) .gt. rainmax ) rainmax=rain(i,j) if( rain(i,j) .lt. rainmin ) rainmin=rain(i,j) enddo enddo print*, 'min speed is', spdmin print*, 'max speed is', spdmax print*, 'min dir is', dirmin print*, 'max dir is', dirmax print*, 'min rain is', rainmin print*, 'max rain is', rainmax end