FILE: README.HIS DATE: 18 Oct. 1991 AUTH: R. Knuteson/ B. Howell TABLE OF CONTENTS: 3096000 Oct 18 11:33 911126b1.aze 3096000 Oct 18 11:34 911126b2.aze 3096000 Oct 18 11:34 911126b3.aze 4936400 Oct 18 11:31 911205b1.aze 4936400 Oct 18 11:32 911205b2.aze 4936400 Oct 18 11:33 911205b3.aze 9394 Oct 18 12:02 fireform.txt 9128 Oct 18 11:30 readme.his SUBJECT: A description of files containing spectra of upwelling atmospheric radiance, observed by the airborne High-resolution Interferometer Sounder(HIS) aboard the high altitude ER-2 research aircraft. CONTACTS: Steve Ackerman, tel.: 608-263-3647, internet: stevea@ssec.wisc.edu Ben Howell , tel.: 608-264-5325, internet: benh@ssec.wisc.edu Bob Knuteson , tel.: 608-263-7974, internet: bob.knuteson@ssec.wisc.edu DESCRIPTION OF FILE FORMAT: The spectra of upwelling radiance are stored in multirecord binary files in which each record contains a single spectrum. Each record consists of a 100-word header followed by 2050 words of data, each word being a 32-bit real (IEEE format) value. Only the first 2049 of the 2050 data words are valid radiance values. The spectral range is given in the header of each record, and is the same for all records. The spectral limits and interval values assume a laser wavenumber of 15799.000 reciprocal centimeters. The 100 header words, MOST of which you will NOT need, are described as follows (a shorter list, of the most important ones, follows the long list): Word Description Word Description 1 Record number 51 Aircraft Latitude 2 Channel number 52 Aircraft Longitude 3 Mirror position 53 Aircraft Altitude 4 Scan direction(1,2) 54 Aircraft Heading 5 No. recs. with bad mir.align. 55 HBB temp.corr.coeff.#1 6 Buffer overflow flag 56 HBB temp.corr.coeff.#2 7 No. unknown records 57 HBB temp.corr.coeff.#3 8 No. points in ifgm. 58 CBB temp.corr.coeff.#1 9 Beginning record number 59 CBB temp.corr.coeff.#2 10 ZPD rec.no. (raw data) 60 CBB temp.corr.coeff.#3 11 Time (seconds) 61 Average beamsplitter temp. 12 Hot blackbody temp.(C) 62 Average laser temp. 13 Cold blackbody temp.(C) 63 Average ap. stop temp. 14 DC Level, Ch. 1 64 Average SCAM encl.temp. 15 DC Level, Ch. 2 65 Average recorder dr.temp. 16 DC Level, Ch. 3 66 Average power supply temp. 17 Year 67 Average Bomem p.s.temp. 18 Month 68 Average pod air temp. 19 Day 69 Average dewar window temp. 20 Flag for ifgm. with 0 ZPD 70 Average optics mir. temp. 21 Flag for Ifgm. "burst" noise 71 Average optics bench temp. 22 Std. dev. of phase 72 Average bb heatsink temp. 23 Beginning time (HHMMSS) 73 Average atmospheric pr. 24 Current time (HHMMSS) 74 Average det.#1 DC level 25 Flag for short ifgm (<0 = bad) 75 Average det.#2 DC level 26 Data conversion type 76 Average det.#3 DC level 27 ZPD word number (in ifgm) 77 Average dewar temp. #1 (K) 28 Time correction (seconds) 78 Average dewar temp. #2 (K) 29 Apodization (0=none) 79 No. bad HBB temps found 30 No. ifgm. points used if FFT 80 No. bad CBB temps found 31 No. points in spectrum 81 "File 1" seconds(AVDIRS) 32 Calibration record 1 82 "File 2" seconds(AVDIRS) 33 Interval in indep.var. 83 "File 1" hhmmss(AVDIRS) 34 Minimum value, indep.var. 84 "File 2" hhmmss(AVDIRS) 35 Maximum value, indep.var. 85 Mean sp.avg. (COADDHIS) 36 Number of 32-bit words/record 86 S.D. sp.avg. (COADDHIS) 37 Number of header words (100) 87 Lower wavenumber(COADDHIS) 38 Spectral resolution 88 Upper wavenumber(COADDHIS) 39 Flag for bad rec. count 89 A/C hdg., start(COADDHIS) 40 Number of records in file 90 A/C hdg., end(COADDHIS) 41 Average HBB temp., cal.pt. 1 91 Avg. HBB temp.#1,(HISAC3) 42 Average CBB temp., cal.pt. 1 92 S.D. HBB temp.#1,(HISAC3) 43 Average HBB temp., cal.pt. 2 93 Avg. CBB temp.#1,(HISAC3) 44 Average CBB temp., cal.pt. 2 94 S.D. CBB temp #1,(HISAC3) 45 Calib.rec.no., cal.pt. 1 95 Avg. HBB temp.#2,(HISAC3) 46 Calib.rec.no., cal.pt. 2 96 S.D. HBB temp.#2,(HISAC3) 47 Number of records in ifgm. 97 Avg. HBB temp.#2,(HISAC3) 48 QC Flag (0=ok, PLOVR) 98 S.D. CBB temp.#2,(HISAC3) 49 Missing-ch. flag(-1, CHKSET) 99 Std.Dev.(ph.-ref.,HISAC2) 50 Laser wavenumber 100 Maximum Delay (HISAC1) NOTES: 1. The most important header words are: 11. Time (UTC, seconds) 17. Year (tens & units digits) 18. Month 19. Day 24. Time (UTC, hhmmss) 31. Number of valid points in each spectrum 33. Wavenumber interval (reciprocal centimeters) 34. Minimum wavenumber (reciprocal centimeters) 35. Maximum wavenumber (reciprocal centimeters) 36. Number of 32-bit words per record 37. Number of 32-bit words in header 51. Aircraft latitude (+ = N) 52. Aircraft longitude (+ = E) 53. Aircraft altitude (feet) 54. Aircraft heading (degrees CW from north) 2. The data in these files are in the "big endian" byte order (for the IBM/RISC). The file names are in the format: yymmddnc.ame, where yy = year, mm = month, dd = day, n = "no turns", c = channel number, and "ame" = "apodized matched earth", i.e. apodized, earth-view spectra, with time-matched records in the other channels. The term "no turns" means that the records during which the aircraft was turning have been deleted. 3. Following is an example of a FORTRAN applications program, which reads a HIS file of radiance spectra, converts radiances to brightness temperatures, and outputs the resulting spectra, in the same format as the input spectra. PROGRAM BTSPEC C C *** COMPUTE BR.TEMP. SPECTRUM FROM CALIBRATED SPECTRUM C C *** THIS VERSION IS FOR SPECTRA IN THE 100-WORD-HEADER, C MULTI-RECORD FORMAT C C *** MAXIMUM RECORD LENGTH IS SET TO FORTRAN MAXIMUM RECORD LENGTH PARAMETER (NHW=100, MAXWPR=8192, MINWPR=NHW+2) CHARACTER*40 IFILE,OFILE,STAMP DIMENSION BUFR(MAXWPR),HDR(NHW) EQUIVALENCE (HDR,BUFR) REAL*8 DPHDR(NHW/2) EQUIVALENCE (HDR,DPHDR) DATA RADMIN/1.0E-6/,LUI/9/,LUO/10/ DATA STAMP/' Version 2.3W, 29 JUN 94'/ C C *** C WRITE(*,*)' ' WRITE(*,*)'----------------------------------------------------' WRITE(*,*)' ***** BTSPECMR.EXE *****' WRITE(*,*)STAMP WRITE(*,*)' ' WRITE(*,*)' Computes brightness temperature spectra' WRITE(*,*)'from radiance spectra in the 100-word-header format.' WRITE(*,*)'----------------------------------------------------' WRITE(*,*)' ' WRITE(*,'('' ENTER NAME OF INPUT (RADIANCE) FILE: ''\)') READ(*,'(A)')IFILE C ... OPEN WITH RECL=400, TO GET HEADER INFO. OPEN(LUI,FILE=IFILE,ACCESS='DIRECT',RECL=400,STATUS='OLD') READ(LUI,REC=1,ERR=5)HDR GO TO 7 5 WRITE(*,'('' READ ERROR. DOES FILE '',A,'' EXIST?'')') *IFILE STOP 'INPUT FILE?' 7 CLOSE(LUI) WNA=HDR(34) WNB=HDR(35) NPTS=NINT(HDR(31)) ICH=NINT(HDR(2)) DWN=HDR(33) NWPR=NINT(HDR(36)) WRITE(*,'('' FROM INPUT HEADER WORDS --'')') WRITE(*,'('' Spectral Range:'',F8.2,''..'',F8.2)')WNA,WNB WRITE(*,'('' Number of Points:'',I6)')NPTS WRITE(*,'('' Wavenumber Interval:'',F8.5)')DWN WRITE(*,'('' Number of (32-BIT) Words per Record:'',I6)')NWPR IF(NWPR.GT.MAXWPR)STOP ' *** ERROR: Increase MAXWPR' IF(NWPR.LT.MINWPR)STOP ' *** ERROR: Bad Record. Too Small.' NBPR=NWPR*4 WRITE(*,'('' OUTPUT FILE: ''\)') READ(*,'(A)')OFILE OPEN(LUO,FILE=OFILE,ACCESS='DIRECT',RECL=NBPR, *STATUS='NEW') C ... REOPEN WITH PROPER RECL=NBPR=NWPR*4 OPEN(LUI,FILE=IFILE,ACCESS='DIRECT',RECL=NBPR, *STATUS='OLD') WRITE(*,'('' ENTER FIRST, LAST RECORD NUMBERS (INPUT): ''\)') READ(*,*)NFR,NLR IF(NFR.LT.1 .OR. NLR.LT.NFR)STOP 'INVALID RECORD NUMBER' C ... INITIALIZE COUNTER OF OUTPUT RECORDS ... NRO=0 DO 200 NR=NFR,NLR READ(LUI,REC=NR,END=300)(DPHDR(J),J=1,NHW/2), *(BUFR(I),I=NHW+1,NWPR) NLR=NR DO I=1,NPTS WN=WNA+FLOAT(I-1)*DWN RAD=BUFR(NHW+I) IF(RAD.GT.RADMIN.AND.WN.GT.1.0)THEN C ... CONVERT RADIANCE TO BRIGHTNESS TEMPERATURE ... C ##### INSERT YOUR OWN B.T. CONVERSION FUNCTION HERE ######## BT=HBRITW(WN,RAD) ELSE BT=0. ENDIF BUFR(NHW+I)=BT ENDDO C *** OUTPUT BR.TEMP. SPECTRUM NRO=NRO+1 BUFR(1)=NRO WRITE(LUO,REC=NRO)(DPHDR(J),J=1,NHW/2),(BUFR(I),I=NHW+1,NWPR) IF(MOD(NRO,50).EQ.0)WRITE(*,'('' -- OUTPUT REC.NUMBER'',I5)')NR 200 CONTINUE GO TO 400 300 WRITE(*,'('' EOF AFTER REC.NO.'',I6)')NLR 400 CONTINUE CLOSE(LUI) CLOSE(LUO) STOP '*** END BTSPECMR ***' END