The GEOS-3 met fields are saved in 3 different timescales: I6 = instantaneous value (some 3-D fields), every 6 hours at hour hh (in nt2, see "Data format" below) A6 = 6-hour average (some 3-D fields), centered at hour hh (in nt2, see "Data format" below) A3 = 3-hour average (2-D fields), ended at hour hh (in nt2, see "Data format" below) ---------------------- File name: ---------------------- terra.s30.byyyymm01.eyyyymm01x.field where byyyymm = beginning year and month (e.g., b200101) eyyyymm = ending year and month (e.g., b200102) field = GEOS-3 met field (e.g., cldfrc, pbl, sphu) Each file contains every timestep within the beginning month plus the first timestep of the next month. For example, total timesteps in terra.s30.b20010101.e20010201x.pbl is 31(days) x 8(timestep/day) + 1(first timestep in 20010201) = 249. ---------------------- Data format: ---------------------- These are direct access binary files, 32 bits, big endian. parameter (imx=144, jmx=91, lmx=30) ! nl is version dependent,30 in GEOS-3 dimension Q(imx,jmx,lmx) !for 3-D or Q(imx,jmx) for 2-D do k=1,nstep read(unit) nt1,nt2,Q enddo Where imx = total number of longitudinal grid (144), jmx = total number of latitudinal grid (91), lmx = total number of vertical layers (version dependent), nt1 = yyyymmdd after 2000 (year-month-day, e.g., 20010201), or yymmdd before 2000 (e.g., 970101) nt2 = hhmmss (hour-minute-second, e.g., 120000) Q = 3 or 2-dimensional aerosol optical thickness nstep = total timesteps Note: nt1 and nt2 are long integers. To read using IDL: imx=144 & jmx=91 & lmx=30 Q=fltarr(imx,jmx,lmx) ; or Q=fltarr(imx,jmx) for 2-D head=lonarr(2) for k=0,nstep-1 do begin readu,1,head,Q endfor -------------------------- !!!! IMPORTANT !!!! Since there are some difference in default format of data saving, Fortran compiler on your workstation may not be the same as that on the Cray where these files are saved. Please print out the nt1, nt2 for every timestep to be sure that the files are read correctly. If you use fortran on a SGI machine, please use the following statement when read the binary file: open(unit,file='xyz',status='old',access='sequential',form='system') If you use linux or PC, you have to convert the data to little endian.