The NOAA Paleoclimatology Program provides many array (gridded) data sets in ascii special format, usually with the file extension asc. This is an ASCII text file, with information about the array at the top of the file. Ascii special format can be read by text editors like microsoft word, spreadsheet programs like lotus and excel, automatically by software such as the Spyglass data visualization tools (shareware and commercial versions are available) and by custom programs. Source code to read ascii special is provided at the bottom of this file. The first line contains a header (optional), second line the number of rows and number of columns, the third line the maximum data value and minimum data value (optional- can be zero), fourth line, the row labels, fifth line, the column labels, and on the sixth and additional lines, the data arranged as an array separated by tabs or spaces. header_line rows cols max_val min_val row1 row2 row3 row4 col1 col2 col3 col4 data1 data2 data3 data4 Example: Header for sample data set 5 10 9.9e0 0.0e0 10.0 20.0 30.0 40.0 50.0 1 2 3 4 5 6 7 8 9 10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.0 ********************************************************************** Example format used to write Levitus monthly SST climatology files. Each monthly climatology (SST, degrees C) is 180 (latitude, from 89.5 to -89.5) x 360 (longitude, -179.5 to 197.5) with missing values (e.g. land masses) flagged as -99.9. write(20,450)infile(imon), latmax, lonmax 450 format('0 1x1 degree levitus sea surface climatology, ',a41/ * 2i8/ ' 0 0 ') write(20,'(25f7.1)') (rlat(ival),ival=latmax,1,-1) write(20,'(25f7.1)') (rlon(ival),ival=1,lonmax) do 500 ilat=latmax,1,-1 c write(*,'(a1,2i8)') '+',ilat write(20,'(20f8.3)') (temp(ilat,ilon),ilon=181,lonmax,1), * (tem p(ilat,ilon),ilon=1,180,1) 500 continue ********************************************************************** Example Fortran Code for GISS model output Each monthly climatology is 24 (latitude, from 90 to -90) x 36 (longitude, -180 to 170). write(20,450)infile(imon), latmax, lonmax 450 format('0 giss 8x10 gcm paleoclimate experiment, ',a41/2i8/ ' 0 0 ') write(20,'(25f7.1)') (rlat(ival),ival=latmax,1,-1) write(20,'(25f7.1)') (rlon(ival),ival=1,lonmax) do 500 ilat=latmax,1,-1 c write(*,'(a1,2i8)') '+',ilat write(20,'(20f8.3)') (temp(ilat,ilon),ilon=181,lonmax,1), * (temp(ilat,ilon),ilon=1,180,1) 500 continue