Variable Grids

) print }) print } ifelse } { dataset type /arraytype eq { dataset 0 get dup totype /datasettype eq { dataset null eq { /myproc getknown { length 1 eq } { false } ifelse } { pop false } ifelse } { pop false } ifelse { dataset 0 get () print .myproc 0 get cvntos print () print dataset 1 1 index length 1 sub getinterval } { dataset } ifelse ifshortlink { 1 1 getinterval } if dup length 1 eq { 0 get allparentlinks1 } { (
AWC { (parent) htmlpathpush }
AWC { boundingbox togif scatter.ps }
AWC { SOURCES .WORLDBATH .bath lat .get_scale_min null eq { Y low high RANGEEDGES } { Y lat .get_scale_min lat .get_scale_max RANGEEDGES } ifelse Y low high RANGEEDGES exch lon (degree_east) unitconvert ndim RECHUNK exch lat exch 3 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors scatterlabel :fig datasetselectplotrange }
AWC { (search) htmlprint }
AWC { dup 0 get length 1 index { length imin } forall 1 sub dup 0 ge { 0 countcommonbeginning0 nip } if }
AWC { decompress nptgridsREORDER toNaN nptgrids aload length 1 add dup 4 le { gtable.tsv } { table.tsv } ifelse }
AWC { (
AWC { PSmode true store ifpream pop }
AWC { (Digest) search { pop pop null 5 object exch null { deleteleadingspaces (=) search { nip exch dup 0 1 getinterval (") eq { deletefirstchar (") search { nip } if exch deletefirstchar exch } { (,) search { nip } { () exch } ifelse } ifelse 3 2 roll exch def } { pop leave } ifelse } repeat true } { pop false WWWinfo /digesterrorcode 10 put } ifelse }
AWC { 1 index FORMgetknown { 1 index getknown not { null } if } { null } ifelse ( ) print formcnt++ pop pop }
AWC { PNM 4 1 roll autocontour pop DoTasks }
AWC { nptgrids dup { 2 copy ne { () print 1 index .name ==ns ( ) print name ==ns ([) print 3 index 2 index 2 index 2 REORDER .nchunk ==ns (] ) print } if pop pop } forall2 pop }
AWC { PICT 4 1 roll colorscale pop DoTasks }
AWC { dataset type /objecttype eq { allparentlinkcount 0 get 7 lt { allparentlinkcount 0 get 1 add allparentlinkcount astore pop dataset allparentlinks1 allparentlinkcount 0 get 1 sub allparentlinkcount astore pop } { (...
) print { () print allparentlinks1 () print } forall (
) print } ifelse } if } ifelse allparentlinks0 } AWC { 1066077372 set_code_last_modified optionalREORDER toreal streamrescaleonlyifnecessary chunksize npts 4 mul nchunk 8 mul add mimeheaderwithlength datas4 DoTasks } AWC { dup /dataset_documentation.html known { true } { dup /dataset_documentation known } ifelse { true } { dup /dataset known { .dataset dup type /objecttype ne { pop false } { docavailable? } ifelse } { pop false } ifelse } ifelse } AWC { skipcache? { exec } { flush pushstdout URLrootprint (/) print 2 index dataseturl (/skipcache/) print 1 index cvpops ==ns (/dods) print flush popgetstdout DATASET 5 object exch { continuedataset: :datasetnostore } readdods0 2 index cvpops exec 5 object /dataset 4 index def /myprocds 2 index def /myproc { } cvlit def nip } ifelse } AWC { leftmenulevel 0 2 copy get 1 add put leftmenuinfotop? { leftmenutoplevel 0 leftmenulevel 0 get put } if leftmenusub? { dataset null ne { dataset leftmenu0 } if } if true /printheader? HTMLwords ! printheader? not { leftmenusubtrail } if pop leftmenulevel 0 2 copy get 1 sub put } AWC -operator- AWC { PICT 6 1 roll vectoramplitude pop DoTasks } AWC { === } AWC { 1 index /responseobject WWWinfo ! currentobject /algorithm getknown { (md5-sess) eq } { false } ifelse { hex2string MD5_Init exch MD5_Update (:) MD5_Update nonce MD5_Update (:) MD5_Update cnonce MD5_Update MD5_Final string2hex } if MD5_Init exch MD5_Update (:) MD5_Update nonce MD5_Update (:) MD5_Update currentobject /qop getknown { length 0 gt } { false } ifelse { nc MD5_Update (:) MD5_Update cnonce MD5_Update (:) MD5_Update qop MD5_Update (:) MD5_Update } if MD5_Init WWWinfo .method MD5_Update (:) MD5_Update uri MD5_Update MD5_Final string2hex MD5_Update MD5_Final string2hex } AWC { (WWW-Authenticate: Digest realm=") print DigestAuthorization-realm print (", qop="auth", nonce=") print Digest-nonce print (", opaque=") print Digest-opaque print (" ) print WWWinfo /digesterrorcode getknownnotnull { 6 eq { (stale="true" ) print } if } if } AWC { boundingboxc topict color.ps } AWC { countstack 2 sub array astore dup { dup totype /streamtype eq { decompress } if } forall countstack 3 sub array astore null 11 object 1 index { dup totype /streamtype eq { .streamgridarray { name exch def } forall } { pop } ifelse } forall () print mark exch { pop } forall counttomark namearray astore nip namesort 1 index dup length 1 sub get 1 index { () print } forall () print 0 1 4 index length 1 sub { () print 2 index { () print } forall } { dup == () print } ifelse ( ) print pop htmlpathpop } for pop pop pop aload pop (
) print cvntos print (
) print 3 index length 1 sub 1 index sub dup 0 eq { () print } { () print } ifelse htmlpathpush 3 index exch get dup totype dup /streamtype eq exch /gridtype eq or { dup == () print comparethegrid { print } if pop (
) print } AWC { mimeheader /ntable HTMLwords ! ntable 0 MATCH ntable NtoNaN ntable array astore dup dup 0 get .longname print dup length 1 gt { dup 1 1 index length 1 sub getinterval { tab print .longname print } forall } if ( ) print aload pop 1 { datatsv datatsv2 datatsv3 datatsv4 datatsv5 datatsv6 datatsv7 datatsv8 datatsv9 datatsv10 } ntable 1 sub get exec DoTasks } AWC FORMwords AWC { PICT 4 1 roll plaincolorwithscale pop DoTasks } AWC { PS2 5 1 roll plainvector pop DoTasks } AWC { 2 copy exch cvx (
) print dup cvntos (
) print nice== htmlpathpop } AWC { PNM 5 1 roll autovector pop DoTasks } AWC { 1 index /selectname Ingrid: ! false /selectoptionfound Ingrid: ! ( Help ) print } AWC { PS2 4 1 roll colorscale pop DoTasks } AWC { dup /long_name known { long_name } { cleanname } ifelse htmlformulaprint () print dup /myprocds getknownnotnull { ( ) print (*) print pop } if datasetlocmap? { ( [map]) print } if } AWC { directoryredirect mimeheader } AWC { exch ( ) (xxxx) search pop print pop htmlroot (http://) search { pop pop } if print printport print } AWC { boundingboxc togif color.ps } AWC { WWWinfo exch /last_modified exch def /expires null def sendmimeheader { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified mimesuffix /act ne { ( ) print } if flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if pop } AWC { PS2 4 1 roll plaincolorwithscale pop DoTasks } AWC { printheader? { theheader print false /printheader? HTMLwords ! } if } AWC [ 6 ] AWC { dup type /arraytype eq { () print dup length 8 gt { () print dup length 8 sub 8 getinterval } if dup length 0 eq { ( ) print } if { render2 } forall (
...
) print } { allparentlinks0a } ifelse } AWC 0 11 object /nonce (dcd98b7102dd2f0e8b11d0f600bfb0c093) def /uri (/dir/index.html) def /nc (00000001) def /qop (auth) def /username (Mufasa) def /cnonce (0a4f113b) def /response (6629fae49393a05397450978507c4ef1) def /realm (testrealm@host.com) def /opaque (5ccc069c403ebaf9f0171e9517f40e41) def AWC { 2 copy exch cvx (
) print dup cvntos print htmlpathpush (
) print 2 index /units eq { htmlunitsprint } { dup type /arraytype eq { leftlineshtml } { nice== } ifelse } ifelse htmlpathpop } AWC { JPG 6 1 roll vectorcontour pop DoTasks } AWC { WWWinfo exch /map FORMgetknown { dup /X getknown { plotfirst readunits exch plotlast readunits nip 3 -1 roll dup /Y getknown { plotfirst readunits exch plotlast readunits nip 3 -1 roll pop 4 1 roll exch 4 -1 roll georect .iridl:geoId /bbox FORM! } { pop pop pop } ifelse } { pop } ifelse } if /bbox FORMgetknown { (?bbox=) exch 3array astore concat } if nip redirectto } AWC CaseList /arraytype { dup xcheck { 3 -1 roll exch exec exch 3 1 roll viewerdatasetcase caseexec } if } def /streamtype { npts 1 eq { exch 1 index } if } def AWC { nptgrids dup { 2 copy ne { () print 1 index .name ==ns ( ) print name ==ns ([) print 3 index 2 index 2 index 2 REORDER .nchunk ==ns (] ) print } if pop pop } forall2 pop } AWC { (
) print 2 index 0 get 0 5 getinterval (http:) eq { () print 1 index cvntos dup dup length dup 5 gt { 5 sub 5 getinterval (.html) eq } { pop pop false } ifelse { 0 1 index length 5 sub getinterval cvn } if printno_ (
) print } { 2 copy exch cvx dup cvntos () print dup dup length dup 5 gt { 5 sub 5 getinterval (.html) eq } { pop pop false } ifelse { 0 1 index length 5 sub getinterval cvn } if printno_ htmlpathpush (
) print nice== htmlpathpop } ifelse } AWC { /showmenu? false store } AWC { 1066077372 set_code_last_modified optionalREORDER toreal streamrescaleonlyifnecessary swapbytes chunksize npts 4 mul mimeheaderwithlength datar4 DoTasks } AWC { mimeheader loadavg 0 get nproc 0 get div dup 8.0 lt { pop (OK) print } { (load ) print == ( is too high) print } ifelse ( ) print stop } AWC { dup null eq { false } { .dataset dup type /arraytype eq { ifshortlink { 1 get } { 0 get } ifelse } if 2 copy eq { true } { ifshortlink0 } ifelse } ifelse } AWC { dup /served_from known { true } { dup /dataset known { .dataset dup type /objecttype ne { pop false } { serveravailable? } ifelse } { pop false } ifelse } ifelse } AWC { wwwcopylastmod WWWinfo doauthorize sendmimeheader { doifmodified? { (HTTP/1.0 200 OK ) print } if mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified /filename FORMgetknownnotnull { (Content-Disposition: attachment; filename=") print print (" ) print } if ( ) print flush false /sendmimeheader WWWinfo ! method /HEAD eq { stop } if } if pop } AWC { npts 1 gt { nptgrids } { [ 1 index .streamgrids ] } ifelse dup length 1 sub get } AWC { GIF 6 1 roll vectoramplitude pop DoTasks } AWC { [ nptgrids { units /degree_east eq units /degree_north eq or { pop } if } forall ] } AWC { PICT 4 1 roll plaincontour pop DoTasks } AWC { expert? { (experthome) htmlprint } { doc .index.html } ifelse } AWC { JPG 4 1 roll plaincolor pop DoTasks } AWC { PNM 4 1 roll colorscale pop DoTasks } AWC { PNM 5 1 roll plainvector pop DoTasks } AWC { WWWinfo /url-q known { () print print () print } { pop } ifelse } AWC { needauthorization { countstack 2 sub array astore aload false exch { dup type /objecttype eq { /RestrictedMetaData? getknown { or } if } { pop } ifelse } forall } { false } ifelse } AWC { (&) search { (=) search { cvn nip exch urlunescape nullify pdefappend } { cvn true def } ifelse pop parseurlvarsunescape } { dup length 0 gt { (=) search { cvn nip exch urlunescape nullify pdefappend } { cvn true def } ifelse } { pop } ifelse } ifelse } AWC { dup serveravailable? { .served_from } { served_from } ifelse } AWC { oneline .ps } AWC { (vectorcolorpage) htmlprint } AWC { () print } AWC { mimetypes WWWinfo .mimesuffix get } AWC { (contourpage) htmlprint } AWC { dup 5 object decompress datatype /geometrytype eq { (
  • display shapes display shapes
  • ) print } { nptgrids length 0 gt { (
  • Views
  • ) print } if nptgrids length 2 ge { datatype /stringtype eq currentobject /band known and { (
  • RGB color
  • ) print } if (
  • data as colors
  • ) print (
  • data as contours
  • ) print } if getX? { dup totype /gridtype eq { npts exch /isSophisticatedBy getknown { .npts mul } if 1 gt } { pop false } ifelse { getY? { dup totype /gridtype eq { npts exch /isSophisticatedBy getknown { .npts mul } if 1 gt } { pop false } ifelse { [ getX? pop .name cvntos (+) 3 index .getY? pop .name cvntos ] concat (
  • colors with land
  • ) print (
  • contours with land
  • ) print (
  • colors with coasts
  • ) print pop } if } if } if } { currentobject /SpatialReferenceSystemDims getknown { [ exch { .name cvntos (+) } forall pop ] concat (
  • colors with coasts
  • ) print pop } if } ifelse nptgrids length 1 ge { nptgrids length 1 eq 1.0 nptgrids { .npts mul } forall 10000 lt or { (
  • line plots
  • ) print nptgrids length 1 ge { (
  • color bars
  • ) print } if } if nptgrids dup length 1 eq { (
  • scatter
  • ) print } if pop } if 2 index totype /streamtype eq { ifSTREAM { nptgrids length 1 gt { (
  • ) print 2 index 2 index 2 (,) combinefullname dolongname print ( views ) print ( vectors
  • ) print } { (
  • ) print 2 index 2 index 2 (,) combinefullname dolongname print ( views ) print ( two lines
  • ) print 2 index 2 index nptgrids 0 get .name comparethegrid { dup (M) eq exch (S) eq or } { false } ifelse { (
  • ) print ( color bars
  • ) print } if pop pop pop } ifelse } if 3 index totype /streamtype eq { 3 index .units /degree_east eq 3 index .units /degree_north eq and { chunksize 40000 gt { (
  • scatter color
  • ) print (
  • scatter color with coasts
  • ) print } { (
  • scatter color
  • ) print (
  • scatter color with coasts
  • ) print } ifelse } if } if } if } ifelse pop } AWC { JPG 4 1 roll autocontour pop DoTasks } AWC { PNM 6 1 roll vectorcolor pop DoTasks } AWC { false /donttrust Ingrid: ! false /ObeyRestrictions? Ingrid: ! true /LDEOurl? Ingrid: ! } AWC { dup type /arraytype eq { () print dup length 8 gt { () print dup length 8 sub 8 getinterval } if dup length 0 eq { ( ) print } if dup length allparentlinkcount astore pop { allparentlinkcount 0 get 1 sub allparentlinkcount astore pop render2 } forall (
    ...
    ) print } { allparentlinks0a } ifelse } AWC { mark 1 index interpurl counttomark 2 add -1 roll imagelink pop } AWC true AWC { showmenu? { leftmenuhead null 1 index leftmenu0asbottom pop leftmenutrailer } if } AWC { ( ) search { nip exch (%20) exch urls== } if } AWC { () print } AWC { pop ( ) print } AWC { needauthorization { countstack 2 sub array astore aload false exch { dup type /objecttype eq { /RestrictedData? getknown { or } if } { pop } ifelse } forall } { false } ifelse } AWC { PNM exch newaxis pop } AWC { legalclientcheck getneedauthorization { true /authorization? WWWinfo ! httpauthenticate } if } AWC { () print dup type /arraytype eq { { render } forall } { allparentlinks0a } ifelse () print } AWC false AWC { WWWinfo .leftmenuinfo? not { null 5 object dup /leftmenuinfo WWWinfo ! } if } AWC { datasetlocmap? { lat lon 2 null MATCH tablegridselect /tablegrid WWWinfo ! pop pop (
    List of stations in current view) print figpop (
    ) print datasethandlemaplist (

    ) print } if } AWC { 1 index FORMgetknown { 1 index getknown not { null } if } { null } ifelse ( ) print formcnt++ pop pop } AWC { (vectoramplitudepage) htmlprint } AWC { boundingbox topict line.ps } AWC { PS 5 1 roll VECTOR pop DoTasks } AWC { (onelinepage) htmlprint } AWC { JPG 4 1 roll plaincolorwithscale pop DoTasks } AWC { authorization-realms { nip leave } forall false dlauthCredGetRedirectX nip } AWC { GIF 4 1 roll colorscale pop DoTasks } AWC { PNM 6 1 roll vectoramplitudecolor pop DoTasks } AWC { () print htmlformulaprint () print } AWC { datasetlocmap? { true } { .dataset dup type /objecttype ne { pop false } { mapavailable? } ifelse } ifelse } AWC { /ntable HTMLwords ! ntable NtoNaN mimeheader ntable array astore dup dup length 1 gt { dup 1 1 index length 1 sub getinterval { .longname print tab print } forall } if 0 get .longname print ( ) print dup dup length 1 gt { dup 1 1 index length 1 sub getinterval { dup /units known { units cvntos print pop } { pop } ifelse tab print } forall } if 0 get dup /units known { units cvntos print pop } { pop } ifelse ( ) print aload pop { gtable1 gtable2 gtable3 gtable4 } ntable 1 sub get exec DoTasks } AWC 0 23 object /center 1.0 def /x8 8.0 def /x1 1.0 def (x1/4)cvn 0.25 def /x2 2.0 def (Zoom x4)cvn 4.0 def /x4 4.0 def (Click for Info)cvn null def /x16 16 def /Zoom 1.0 def (Zoom x1)cvn 1.0 def (Zoom x1/4)cvn 0.25 def (same scale)cvn 1.0 def (x1/2)cvn 0.5 def (Zoom x2)cvn 2.0 def (Zoom x1/2)cvn 0.5 def AWC { nobots ( ) print () print leftmenu } AWC CaseList /arraytype { dup xcheck { 3 -1 roll exch exec exch 3 1 roll leftmenucase caseexec } if } def /pendingdatasettype { dup xcheck { 3 -1 roll exch exec exch 3 1 roll leftmenucase caseexec } if } def /htmlfiletype { printheader? { 2 index leftmenusubhead pop false /printheader? HTMLwords ! } if ( ) print } def /linktype { printheader? { 2 index leftmenusubhead pop false /printheader? HTMLwords ! } if ( ) print } def /datasettype { printheader? { 2 index leftmenusubhead pop false /printheader? HTMLwords ! } if ( ) print } def AWC [ 0 ] AWC { WWWinfo /If-Modified-Since known { last_modified null ne { WWWinfo .If-Modified-Since stringtotime last_modified code_last_modified imax current_last_modified null ne { current_last_modified imax } if ge { (HTTP/1.0 304 Not Modified ) print /HEAD /method WWWinfo ! false } { true } ifelse } { true } ifelse } { true } ifelse } AWC { GIF 5 1 roll autovector pop DoTasks } AWC { portaldlscript (
    ) print () print ( ) print } AWC { MD5_Init systemtime 3600 idiv 3600 mul s== MD5_Update (:) MD5_Update (dcd98b7102dd2f0e8b11d0f600bfb0c093) MD5_Update MD5_Final string2hex } AWC { /r8 /mimesuffix WWWinfo ! optionalREORDER streamrescale todouble swapbytes8 chunksize npts 8 mul mimeheaderwithlength datar8 DoTasks } AWC { (WWW-Authenticate: Basic realm=") print authorization-realm print (" ) print } AWC (5ccc069c403ebaf9f0171e9517f40e41) AWC { } AWC { boundingbox togif vector.ps } AWC { exch 1 index cvn passwords exch 2 copy known { get exch 1 index 0 2 getinterval crypt eq { true } { pop false } ifelse } { pop pop pop pop false } ifelse } AWC { ( ) print () print WWWinfo currentobject /Content-Languages getknown { ( ) print pop } if pop (
    ) print maybeGoogleAnalytics } AWC { JPG 6 1 roll vectoramplitudecolor pop DoTasks } AWC { leftmenutoplevel 0 get leftmenulevel 0 get ge { WWWinfo .leftmenuinfo? { pop (index.html) print addleftmenuinfo } { WWWinfo FORMinfo null ne { (index.html) print addleftmenuinfo } if pop } ifelse } if } AWC null AWC { (colorpage) htmlprint } AWC { GIF exch newaxis pop } AWC 0 47 object /multipart /multipart def /dds /dds def /lanimg /lanimg def /r8 /r8 def /html /html def /ui1 /ui1 def /pnm /pnm def /pdf /pdf def /owl /owl def /xsl /xsl def /r4 /r4 def /kml /kml def /kmz /kmz def /json /json def /idaimg /idaimg def /jpg /jpg def /arcinfo /arcinfo def /gif /gif def /gz /gz def /asc /asc def /cdf /cdf def /hdf /hdf def /txt /txt def /png /png def /nc /nc def /svg /svg def /dods /dods def /xml /xml def /dtd /dtd def /tiff /tiff def /i2 /i2 def /ps /ps def /pict /pict def /csv /csv def /s4 /s4 def /cuf /cuf def /ch /ch def /zip /zip def /das /das def /tsv /tsv def name /==alias AWC { oneline .jpg } AWC { PNM showcolors pop } AWC { WWWinfo .url-q dup length 1 sub 1 getinterval (/) eq not { WWWinfo .url-q length 10 ge { WWWinfo .url-q dup length 10 sub 10 getinterval (index.html) eq } { false } ifelse not { WWWinfo [ htmlroot redirectport 80 ne { (:) redirectport s== } if url-q (/) ] concat nip redirectto stop } if } if } AWC 0 5 object /arraytype { procasurl } def /stringtype { urlprint } def /integertype { ==ns (+index) print } def /nametype { ==nsurl } def AWC { dup length 0 eq { pop null } if } AWC { currentobject /addcmd known { currentobject .addcmd urlprint currentobject /first? true def null null 5 object /command dup def /addcmd dup def /first? dup def /formaction dup def /==alias dup def { dup type /objecttype ne { first? { (?) /first? false store } { (&) } ifelse print exch cvntos print (=) print dup type /stringtype eq { urlprint } { dup null eq { pop } { ==ns } ifelse } ifelse } { { first? { (?) /first? false store } { (&) } ifelse print 2 index cvntos print (.) print exch cvntos print (=) print dup type /stringtype eq { urlprint } { dup null eq { pop } { ==ns } ifelse } ifelse } forall pop } ifelse } forsome } if } AWC { WWWinfo /User-Agent known { WWWinfo .User-Agent dup length 7 gt { 0 7 getinterval (Mozilla) ne } { pop true } ifelse } if } AWC { (

    ) print } AWC { dup length 2 eq { dup aload pop ifshortlink0 nip nip } { false } ifelse } AWC { (Content-Description: ) print contentdescriptions WWWinfo .mimesuffix get print ( ) print } AWC { GIF 4 1 roll plaincolor pop DoTasks } AWC { (HTTP/1.0 301 Moved content-type: text/html ) print currentobject /last_modified known { last_modified null ne { (Last-Modified: ) print last_modified code_last_modified imax current_last_modified null ne { current_last_modified imax } if cvi timetostring print ( ) print } if } if WWWinfo /Vary_List known { (Vary:) print mark WWWinfo .Vary_List { pop } forall counttomark namearray astore nip namesort { space print cvntos print } forall ( ) print } if (Location: ) print dup type /stringtype eq { dup print ( Please look here. ) print false /sendmimeheader WWWinfo ! } AWC { mark 2 index sortednames { 1 index exch get viewerdatasetcase caseexec pop } forall pop counttomark 0 gt { table: boldData mark :table .html } { pop } ifelse } AWC { WWWinfo currentobject /Content-Languages getknown { LanguageList { WWWinfo /Content-Language getknown { cvn 1 index eq } { false } ifelse not { currentobject 1 index known { ( ) print } if } if pop } forall pop } if pop } AWC { optionalREORDER toi1 chunksize npts mimeheaderwithlength 1 exch dataui1 dataui1 TaskStreams 0 get 1 NewIntegerBuffer 0 SetStreamIndex* TaskStreams .achunk pop * achunk array astore { last VALUE } forall getrealization pop } AWC { oneline .pict } AWC 0 67 object /dtd (text/xml) def /r4 (application/x-r4) def /s4 (application/x-s4) def /jpg (image/jpeg) def /r8 (application/octet-stream) def /latex (text/x-latex) def /idaimg (image/ida) def /css (text/css) def /ico (image/x-icon) def /zip (application/zip) def /pict (image/pict) def /ui1 (application/x-ui1) def /svg (image/svg+xml) def /mov (video/quicktime) def /m3d (application/x-m3d) def /tiff (image/tiff) def /tsv (text/tab-separated-values) def /kml (application/vnd.google-earth.kml+xml) def /lanimg (image/lan) def /gif (image/gif) def /cdf (application/x-netcdf) def /ch (text/plain) def /ppt (application/vnd.ms-powerpoint) def /js (text/javascript) def /owl (application/rdf+xml) def /kmz (application.vmd.google-earth.kmz) def /hdf (application/x-hdf) def /xhtml (application/xhtml+xml) def /dods (application/octet-stream) def /pdf (application/pdf) def /i2 (application/octet-stream) def /txt (text/plain) def /multipart (multipart/mixed; boundary=Ingrid-file-boundary---) def /json (application/json; charset=utf-8) def /html (text/html; charset=utf-8) def /cuf (application/octet-stream) def /nc (application/x-netcdf) def /xsl (text/xml) def /pnm (image/x-portable-anymap) def /csv (text/comma-separated-values) def /tex (text/x-latex) def /dds (text/plain) def /act (text/html) def /xml (text/xml) def /das (text/plain) def /asc (text/plain) def /arcinfo (application/arcinfo) def /png (image/png) def /ps (application/postscript) def /xbm (image/x-xbitmap) def /gz (application/x-gzip) def AWC { currentobject 2 index pgetknown { dup type /arraytype eq { aload length 1 add array dup length 1 add -1 roll exch astore } { exch 2 array astore } ifelse } if pdef } AWC ( ) AWC { null 1 object exch /functionname exch def nptgrids 1 1 2 index length { 1 index exch { () print { .name == } forall ( ) print } combinations (| ) print } for pop pop } AWC { WWWinfo .FORMinfo dup null eq { pop pop false } { exch getknownnotnull } ifelse } AWC { false IRIurl? { (/IRIONLY) print } { LDEOurl? { (/LDEOONLY) print } if } ifelse } AWC { boundingbox topict linex.ps } AWC { SOURCES .WORLDBATH .bath Y low high RANGEEDGES exch lon (degree_east) unitconvert ndim RECHUNK exch lat (degree_north) unitconvert ndim RECHUNK exch 1 index .nptgrids length 1 gt { 3 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if colorareas :fig } { 3 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if scattercolor :fig } ifelse datasetselectplotrange } AWC { PNM 4 1 roll plaincontour pop DoTasks } AWC { (HTTP/1.0 301 Moved content-type: text/html ) print currentobject /last_modified known { last_modified null ne { (Last-Modified: ) print last_modified code_last_modified imax current_last_modified null ne { current_last_modified imax } if cvi timetostring print ( ) print } if } if WWWinfo /Vary_List known { (Vary:) print mark WWWinfo .Vary_List { pop } forall counttomark namearray astore nip namesort { space print cvntos print } forall ( ) print } if (Location: ) print dup type /stringtype eq { dup urlprint ( Please look here. ) print false /sendmimeheader WWWinfo ! } AWC { chunksize datatsv } AWC { (Date: ) print systemtime timetostring print ( Server: Ingrid 0.9 ) print (MIME-version: 1.0 ) print (Access-Control-Allow-Origin: * ) print WWWinfo /returncode getknown not { 0 } if 202 eq { (Cache-Control: must-revalidate ) print } { WWWinfo /max-age getknown { (Cache-Control: public, max-age=) print ==ns ( ) print } { (Cache-Control: public ) print } ifelse } ifelse WWWinfo .authorization? { (Vary: Authorization ) print } if } AWC { /V FORMknown { [ WWWinfo .currenturldir (+) WWWinfo .FORMinfo .V { pop cvntos (+) } forall (VALUES/) ] concat redirectto } { defaultmimeheader } ifelse } AWC null AWC { ( ) print () print leftmenuasbottom } AWC { PS 4 1 roll CONTOUR pop DoTasks } AWC { dup 1 object dup dup makesortednamelist { dup totype /streamtype eq { .npts 1 gt } { pop false } ifelse { undef } { pop } ifelse } forsome } AWC { /expires WWWinfo ! /last_modified WWWinfo ! WWWinfo sendmimeheader { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified mimesuffix /act ne { ( ) print } if flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if pop } AWC { 1066077372 set_code_last_modified optionalREORDER toreal streamrescaleonlyifnecessary swapbytes chunksize npts 4 mul nchunk 8 mul add mimeheaderwithlength swapdatas4 DoTasks } AWC { wwwcopylastmod WWWinfo sendmimeheader { nodefaultmimeheader mimesuffix known not { doifmodified? { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse } if mimeheaderinfo dolastmodified (Content-Type: ) print mimetype print mimesuffix /act eq { ( ) print } { ( ) print } ifelse flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if } if pop } AWC { PS2 4 1 roll plaincolor pop DoTasks } AWC { boundingbox togif line.ps } AWC { PS2 6 1 roll vectorcolor pop DoTasks } AWC { legalclient? not { (HTTP/1.0 403 Forbidden ) print (Content-Type: text/html ) print (

    403 Forbidden

    ) print (Access to this server is denied ) print ( ) print flush stop } if } AWC { PNM 6 1 roll vectorcontour pop DoTasks } AWC { 1 index .nrdim 0 eq { ntable 0 MATCH exch 1 } { 1 REORDER chunk pop exch chunksize } ifelse datatsv2 } AWC { WWWinfo .FORMinfo dup null eq { pop pop false } { exch getknown } ifelse } AWC { wwwcopylastmod WWWinfo doauthorizedata sendmimeheader { doifmodified? { (HTTP/1.0 200 OK ) print } if mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified /filename FORMgetknownnotnull { (Content-Disposition: attachment; filename=") print print (" ) print } if ( ) print flush false /sendmimeheader WWWinfo ! method /HEAD eq { stop } if } if pop } AWC 0 AWC { nptgrids { () print name ==ns ( ) print pop } forall pop } AWC HTMLwords AWC { PS 4 1 roll COLOR pop DoTasks } AWC { PS 5 1 roll SCATTER pop DoTasks } AWC { ( alt=") print dup print (" title=") print print (") print } AWC { /arcinfo /mimesuffix WWWinfo ! optionalREORDER pushstdout 2 RECHUNK chunk pop nip high low RANGE chunk pop pop low high RANGE chunk pop exch .npts (ncols) print == ( ) print .npts (nrows) print == ( ) print chunk pop exch .first (xllcenter) print == ( ) print .last (yllcenter) print == ( ) print chunk pop pop .step (cellsize) print == ( ) print getmissing_value array? nip { toNaN } if getmissing_value NaN eq { -9999 setmissing_value } if getmissing_value null ne { getmissing_value getscale_factor dup 1.0 eq { pop } { mul } ifelse getadd_offset dup 0.0 eq { pop } { add } ifelse (NODATA_value) print == ( ) print } if flush popstdout pop mimeheader printstdout data.ff.ch } AWC { boundingbox tojpg line.ps } AWC { (vectoramplitudecolorpage) htmlprint } AWC { (linepage) htmlprint } AWC { GIF 5 1 roll plainvector pop DoTasks } AWC { PICT 4 1 roll plaincolor pop DoTasks } AWC { JPG 5 1 roll autovector pop DoTasks } AWC { { { ntable 0 MATCH 1 1 } { 3 1 roll copyachunk 3 -1 roll 0 RECHUNK copyachunk 1 index .npts 1 } { 2 REORDER chunk pop 2 copy .npts exch .npts exch } } 3 index .nrdim get exec 2 integerarray astore datatsv3N } AWC CaseList /datasettype { dup pushdataset dup makesortednamelist { 2 copy get variable1Dmenucase 1 index totype get exec dropitem } forall popdataset } def /streamtype { npts 1 gt nptgrids length 1 eq and datatype /geometrytype eq not and { datasetcount 0 gt { [ datasetstack 0 datasetcount getinterval { .name cvntos ( .) } forall name cvntos ] concat } { name cvntos } ifelse dup WWWinfo .theoption cvntos eq { ( ) print } if } def /pendingdatasettype { exec variable1Dmenucase 1 index totype get exec } def AWC { RESTRICTIONS /LDEOONLY dup put /LDGOtested? true store ifLDGO not { /RestrictedData? true def } if } AWC [ null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null ] AWC { wwwcopylastmod /content-length WWWinfo ! WWWinfo doauthorizedata sendmimeheader { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified content-length null ne { (Content-Length: ) print content-length ==ns ( ) print } if /filename FORMgetknownnotnull { (Content-Disposition: attachment; filename=") print print (" ) print } if mimesuffix /act ne { ( ) print } if flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if pop } AWC { WWWinfo .sendmimeheader { /last_modified where { 2 copy eq { pop getexpires? not { null } if /expires WWWinfo ! getlast_modified? not { null } if /last_modified WWWinfo ! } { dup /expires known { getexpires? not { null } if } { null } ifelse /expires WWWinfo ! getlast_modified? not { null } if /last_modified WWWinfo ! pop } ifelse } { null /expires WWWinfo ! null /last_modified WWWinfo ! } ifelse currentobject /max-age known { max-age dup null eq { pop } { /max-age WWWinfo ! } ifelse } if } if } AWC { () print htmlformulaprint () print } AWC { WWWinfo MD5Users /Mufasa dup cvntos (testrealm@host.com) (Circle Of Life) HA1 def pop ValidUsers sampleresponse .username cvn dup def pop /url sampleresponse .uri def /method (GET) def sampleresponse dup == ( ) print (method: ") print method print (" ) print (url: ") print url print (" ) print username null localaskldap (ldap return code:) print dup == DigestErrorCodes exch get == ( ) print (HA1: ") print dup print (" ) print checkMD5response (checkMD5response:) print dup == ( ) print (reference response:) print response == ( ) print response eq { (Match ) } { (FAILED ) } ifelse print pop } AWC { () print } AWC { optionalREORDER mimeheader toreal streamrescale chunksize datatsv DoTasks } AWC { /mymimeinfo WWWinfo ! wwwcopylastmod WWWinfo sendmimeheader { doifmodified? { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse } if mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified mymimeinfo null ne { mymimeinfo exec } if mimesuffix /act ne { ( ) print } if flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if pop } AWC { WWWinfo /port known { WWWinfo donttrust nip { false } { WWWinfo .domainname dup null eq { pop true } { dup (ldgo.columbia.edu) eq 1 index (ldeo.columbia.edu) eq or WWWinfo .clientname (localhost) eq or nip } ifelse } ifelse } { true } ifelse } AWC { FORMgetknown not { null } if } AWC { dup makesortednamelist { 2 copy get variableattsmenucase caseexec dropitem } forall pop } AWC /fullcommand AWC { PS 4 1 roll LINE pop DoTasks } AWC { { { ntable 0 MATCH 1 1 1 } { ntable -2 roll copyachunk ntable -1 roll 0 RECHUNK copyachunk ntable -1 roll 0 RECHUNK copyachunk 2 index .npts 1 1 } { ntable -2 roll copyachunk ntable -1 roll copyachunk ntable -1 roll 0 RECHUNK copyachunk 2 index .npts 2 index .npts 1 } { ntable 1 sub REORDER chunk array astore aload { .npts } forall } } 4 index .nrdim get exec 3 integerarray astore datatsv4N } AWC { JPG 6 1 roll vectoramplitude pop DoTasks } AWC { 2 copy exch cvx (
    ) print dup cvntos 2 index /long_name known { pop long_name } { dup dup length dup 4 gt { 4 sub 4 getinterval (.cdf) eq } { pop pop false } ifelse { 0 1 index length 4 sub getinterval cvn } if } ifelse print htmlpathpush () print dup /standard_name getknown { cvntos == } if (
    ) print nice== htmlpathpop } AWC { HTMLwords /html:level html:level 1 sub put } AWC { WWWinfo sendmimeheader { mimesuffix /act ne { ( ) print } if flush method /HEAD eq { stop } if false /sendmimeheader WWWinfo ! } if pop } AWC { dup 1 eq { pop { counttomark array astore aload combinationproc exec pop } forall } { 1 sub 1 1 3 index length 3 index sub { 2 index 1 index 1 sub get 4 1 roll 2 index length 1 index sub 3 index 3 1 roll getinterval 1 index 4 2 roll counttomark 1 add 2 roll combinations0 pop counttomark 3 add -2 roll } for pop pop } ifelse } AWC CaseList /realtype { 2 index print (.) print 1 index cvntos print (=) print dup ==ns ( ) print } def /stringtype { 2 index print (.) print 1 index cvntos print (=) print dup print ( ) print } def /integertype { 2 index print (.) print 1 index cvntos print (=) print dup ==ns ( ) print } def /nametype { cvntos attcase /stringtype get exec } def AWC { PS 4 1 roll LINEX pop DoTasks } AWC { (vectorcontourpage) htmlprint } AWC { fig: line :fig } AWC { wwwcopylastmod WWWinfo doauthorizedata RestrictData? { 2 (data restricted) DODSerror } if sendmimeheader { doifmodified? { (HTTP/1.0 200 OK ) print } if (XDODS-Server: Ingrid/2.15 ) print mimeheaderinfo DODScontentdescription (Content-Type: ) print mimetype print ( ) print dolastmodified ( ) print flush false /sendmimeheader WWWinfo ! method /HEAD eq { stop } if } if pop } AWC { PICT 6 1 roll vectorcontour pop DoTasks } AWC { currentobject /myproc getknown { dup length 1 eq { 0 get name eq } { pop false } ifelse } { true } ifelse } AWC 0 5 object /formaction { machinename null eq { /machinename ifLDGO { hostname } { clientname } ifelse def } if filename null eq filename (/) eq or { (No filename entered. ) printerror } { filename stat { pop false } { true } ifelse { /filename [ (/hosts/) machinename filename 0 get 47 ne { (/) } if filename ] concat def } if filename stat { filename readfile redirectto } { [ () filename ( not found .) ] printerror } ifelse } ifelse } def /printerror { 404 errormimeheader () print dup type /stringtype eq { print } { { print } forall } ifelse ( ) print } def AWC { dup /long_name known { long_name } { cleanname } ifelse htmlformulaprint () print dup /dataset_documentation.html known { () print (*) print } if datasetlocmap? { ( [map]) print } if } AWC { dataset followcase caseexec } AWC { () print htmlformulaprint () print } AWC { PS2 5 1 roll autovector pop DoTasks } AWC { dup /GCMD_id known { true } { dup /dataset known { .dataset dup type /objecttype ne { pop false } { gcmdidavailable? } ifelse } { pop false } ifelse } ifelse } AWC { html:paths exch html:level exch put HTMLwords /html:level html:level 1 add put } AWC { /i2 /mimesuffix WWWinfo ! optionalREORDER toi2 swapbytes2 chunksize npts 2 mul mimeheaderwithlength datai2 DoTasks } AWC { boundingbox topict contour.ps } AWC { JPG 4 1 roll plaincontour pop DoTasks } AWC 0 5 object /asc (dods_data) def /dds (dods_dds) def /das (dods_das) def /dods (dods_data) def AWC { streamgridarray { 2 index (map.) 2 index .name cvntos (.plotvalue) 3array astore concat getknown { VALUE } { pop } ifelse } forall npts 1 gt { pop } { dup getrealization 0 get cvsunits exch .name (map.) exch cvntos (.plotvalue) 3array astore concat exch def } ifelse } AWC { optionalREORDER toreal getscale_factor getadd_offset RESCALE chunksize dup writei4 nchunk writei4 datar4 DoTasks } AWC { 1 index 1 index gridnobyname dup 0 ne { gridbyno nip 3 index 2 index getknown { 2 copy .gridid exch .gridid eq { pop pop (M) true } { 2 copy .gridtype 2 ne exch .gridtype 2 ne and 2 index .units 2 index .units eq and { 2 copy .step exch .step eq { 2 copy .first exch .first sub 1 index .step div dup round exch sub dup 0.0 ne { 1 index .step mul s== (O=) exch append nip nip true } { pop pop pop (S) true } ifelse } { pop pop (D) true } ifelse } { pop pop (D) true } ifelse } ifelse } { pop (M) true } ifelse } { pop pop false } ifelse } AWC { nptgrids { () print name ==ns ([) print 2 index 1 index 1 REORDER .nchunk ==ns (] ) print pop } forall pop } AWC CaseList /arraytype { dup xcheck { nip exec name exch variableattsmenucase 1 index totype get exec } if } def /streamtype { datasetcount 0 gt { [ datasetstack 0 datasetcount getinterval { .name cvntos (.) } forall name cvntos ] concat } { name cvntos } ifelse 2 copy print ( ) print DATASETbot hiddendatasetatts { attcase caseexec pop pop } forsome pop } def /datasettype { dup pushdataset dup makesortednamelist { 2 copy get variableattsmenucase 1 index totype get exec dropitem } forall popdataset } def /pendingdatasettype { dup xcheck { nip exec name exch variableattsmenucase 1 index totype get exec } if } def AWC { (HTTP/1.0 301 Moved content-type: text/html ) print (Location: ) print dup type /stringtype eq { dup urlprint addleftmenuinfo ( Please look here. ) print false /sendmimeheader WWWinfo ! } AWC { /map getimageinput { click? { (You have chosen [) print clickpoint 0 get dup null ne { value printunits pop } { == } ifelse (, ) print clickpoint 1 get dup null ne { value printunits pop } { == } ifelse (]. ) print clickpoint 0 get null ne clickpoint 1 get null ne and { ( ) print (The nearest station is) print 1 index 5 object lon clickpoint 0 get .units unitconvert clickpoint 0 get a: .plotfirst :a: .plotlast :a masknotrange clickpoint 0 get .value sub dup mul lat clickpoint 1 get .units unitconvert clickpoint 1 get .value sub dup mul add dup nptgrids minover maskgt /name /maskgt def [ 2 index DATASETbot ==noprintdataset { nip datasethandlemaplistCases caseexec } forsome counttomark namearray astore namesort 3 -1 roll exch /long_name () def /units () def lon lat 2 null MATCH pop .streamgridarray 0 get exch { cvx counttomark 1 add index 1 index get exch /relativename exch def } forall table: terse [ /maskgt ] skipon hidecolumn boxlinkedunits units etc :table .html pop } if } if pop } { (Click on map to select data; change the Zoom menu to zoom in as well.) print } ifelse } AWC { /combinationproc combinationdict ! combinationdict mark 4 2 roll combinations0 pop pop } AWC { (plaincolorwithscalepage) htmlprint } AWC { oneline .pnm } AWC { boundingbox tojpg linex.ps } AWC { true /expert? HTMLwords ! currentobject HTMLwords eq not { (/) redirectto flush stop } if } AWC { true /printheader? HTMLwords ! /theheader HTMLwords ! } AWC { leftmenulevel 0 2 copy get 1 add put addleftmenuinfodir leftmenulevel 0 2 copy get 1 sub put } AWC { PS2 exch newaxis pop } AWC { ( ) print } AWC { } AWC { Ingrid: /GoogleAnalyticsDone known not { Ingrid: /GoogleAnalyticsID getknown { 1160491916 set_code_last_modified ( ) print ( ) print } if } if } AWC { WWWinfo .FORMinfo dup null eq { pop pop false } { exch known } ifelse } AWC { PNM 4 1 roll plaincolorwithscale pop DoTasks } AWC { boundingbox togif contour.ps } AWC { Ingrid: /GoogleAnalyticsID getknown { ( ) print Ingrid: /GoogleAnalyticsDone true put } if } AWC { /X lon .get_scale_min null eq { -180 180 } { lon .get_scale_min lon .get_scale_max } ifelse plotrange lat .get_scale_min null eq { /Y -90 90 } { /Y lat .get_scale_min lat .get_scale_max } ifelse plotrange } AWC { nobots ( ) print alternateLanguageLinks maybeGoogleAnalyticsHead } AWC { PICT 6 1 roll vectorcolor pop DoTasks } AWC 0 11 object 0 (OK) def 1 (No Such User) def 2 (user not authorized to access this dataset) def 3 (Digest password for user not yet set -- access not allowed) def 4 (dataset has no allowed access) def 5 (Bad Password) def 6 (Stale nonce) def 10 (Basic Authentication is not accepted -- must use a Browser than handles Digest Authentication) def AWC { PICT 5 1 roll plainvector pop DoTasks } AWC { null 1 object exch /functionname exch def nptgrids 1 1 2 index length { 1 index exch { () print { .name == } forall ( ) print } combinations (| ) print } for pop pop } AWC { leftmenulevel 0 get 1 le } AWC { ( ) print 2 index 0 get 0 5 getinterval (http:) eq { () print } { 2 copy exch cvx dup cvntos () print dup dup length dup 5 gt { 5 sub 5 getinterval (.html) eq } { pop pop false } ifelse { 0 1 index length 5 sub getinterval cvn } if printno_ htmlpathpush () print nice== htmlpathpop } ifelse } AWC { SOURCES .WORLDBATH .bath Y low high RANGEEDGES exch lon (degree_east) unitconvert ndim RECHUNK exch lat (degree_north) unitconvert ndim RECHUNK exch 3 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if scattersized :fig datasetselectplotrange } AWC { /leftmenuinfotop? true def } AWC { GIF 4 1 roll plaincolorwithscale pop DoTasks } AWC [ null ] AWC { WWWinfo url-q length url length eq showmenu? not or { false } { url url-q length 1 add url length 1 index sub getinterval (&) search { pop pop pop true } { pop false } ifelse } ifelse nip { ( ) print } if } AWC { PS2 6 1 roll vectoramplitudecolor pop DoTasks } AWC { dup /dataset_documentation.html known { () print } if () print dup /myproc known { dup /myprocds getknown { type /arraytype eq { false } { dup dataset exch .myprocds .dataset eq } ifelse } { dup /dataset knownnotnull not } ifelse { myproc { == } forall () print } { allparentlinks01 } ifelse } { allparentlinks00 } ifelse pop } AWC { boundingbox tojpg scatter.ps } AWC { WWWinfo /digesterrorcode null put (Basic ) search { pop pop decodebase64 (:) search { nip checkauthorization } { pop false } ifelse } { pop false } ifelse } AWC { wwwcopylastmod WWWinfo doauthorizedata sendmimeheader { doifmodified? { mimesuffix /act eq { (HTTP/1.0 301 Moved ) print } { (HTTP/1.0 200 OK ) print } ifelse } if mimeheaderinfo (Content-Type: ) print mimetype print ( ) print dolastmodified /filename FORMgetknownnotnull { (Content-Disposition: attachment; filename=") print print (" ) print } if flush } if pop } AWC { 2 copy exch cvx (
    ) print dup cvntos () print RestrictMetaData? { ( (restricted)) print } if (
    ) print nice== htmlpathpop } AWC { mark exch DATASETbot ==noprintdataset { pop } forsome counttomark namearray astore nip namesort } AWC { nptgrids dup { 2 copy ne { () print 1 index .name ==ns ( ) print name ==ns ([) print 3 index 2 index 2 index 2 REORDER .nchunk ==ns (] ) print } if pop pop } forall2 pop } AWC { optionalREORDER mimeheader printstreamunits } AWC (iri.columbia.edu) AWC { GIF 6 1 roll vectorcolor pop DoTasks } AWC { ParseDigestAuthentication { null false authorization-realms { nip username exch askldap dup /digesterrorcode WWWinfo ! 0 eq 4 2 roll pop pop dup not { leave } if } forall { checkMD5response dup /checkMD5R WWWinfo ! response eq { nonce Digest-nonce eq { WWWinfo .authorization-realms /DataLibraryAccess known { ValidUsers username cvn known dup not { 2 /digesterrorcode WWWinfo ! } if } { true } ifelse nip } { 6 /digesterrorcode WWWinfo ! pop false } ifelse } { 5 /digesterrorcode WWWinfo ! pop false } ifelse } { pop false } ifelse } { false } ifelse } AWC { (%%BoundingBox: 0 0 288 50 startPSplot 0 35 moveto startplot 4 inch 15 area2d ) print (/axisinset 0 def) print low step abs 0.5 mul sub == high step abs 0.5 mul add == ( 0 1 setlimits axis: bottom /units ) print units cvntos == ( def nicetics ticlabels :axis endplot endPSplot ) print } AWC { SOURCES .WORLDBATH .bath () /labeltype parameter (Color) eq () /ptlbls parameter () ne and { halfgreyscale } if lon (degree_east) unitconvert ndim RECHUNK lat (degree_north) unitconvert ndim RECHUNK lon .npts 40000 gt { dup dataflag 2 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if regridmask :fig } { nptgrids length 1 gt { nptgrids 1 get 3 index X exch .Y fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if /labeltype get_parameter () eq /ptlbls get_parameter () eq or { scatterlines } { /labeltype get_parameter (Color) eq { ||colorareas } { scatterlines } ifelse } ifelse :fig } { 2 index X exch .Y /labeltype get_parameter () ne /ptlbls get_parameter () ne and { /ptlbls get_parameter cvn cvx exec 3 1 roll } if fig: /color_smoothing null def /plotaxislength 432 def colors coasts PGSQL? { lakes } if /labeltype get_parameter () eq /ptlbls get_parameter () eq or { scatter } { /labeltype get_parameter (Label) eq { scatterlabel } if /labeltype get_parameter (Color) eq { || scattercolor } if /labeltype get_parameter (Size) eq { scattersized } if } ifelse :fig } ifelse } ifelse datasetselectplotrange } AWC { GIF showcolors pop } AWC { (vectorcontourtogapage) htmlprint } AWC { GIF 4 1 roll autocontour pop DoTasks } AWC { (_) search { print pop ( ) print printno_ } { print } ifelse } AWC { 2 copy exch cvx ( ) print dup cvntos 2 index /long_name known { pop long_name } { dup dup length dup 4 gt { 4 sub 4 getinterval (.cdf) eq } { pop pop false } ifelse { 0 1 index length 4 sub getinterval cvn } if } ifelse print htmlpathpush () print dup /standard_name getknown { cvntos == } if () print nice== htmlpathpop (
    ) print } AWC { 0 allparentlinkcount astore pop mark 1 index follow counttomark array rastore nip rendercnt } AWC false AWC { WWWinfo .leftmenuinfo? { leftmenutoplevel 0 get leftmenulevel 0 get ge { (?) exch { 3 -1 roll print (&) 3 1 roll exch cvntos print (=) print dup type /stringtype ne { s== } if urlprint } forall pop } { pop } ifelse } { leftmenutoplevel 0 get leftmenulevel 0 get ge { WWWinfo url-q length url length ne { (?) print url url-q length 1 add url length 1 index sub getinterval urlprint } if pop } if } ifelse } AWC { (portaldlscript) htmlprint } AWC CaseListpops1 AWC FORMwords /test.act 0 23 object /formaction { ( ) print dup /map known { /x map .x cvi def /y map .y cvi def } { /x x cvi def /y y cvi def } ifelse /pointX x 38.0 sub xh xl sub mul 432 div xl add def /pointY 225.0 y sub yh yl sub mul 215 div yl add def (test) htmlprint } def /xh 180 def /xl -180 def /yh 90 def /yl -90 def def AWC { boundingbox togif linex.ps } AWC { 0 0 288 50 togif axis.ps } AWC { oneline .gif } AWC { 1 index /selectname Ingrid: ! false /selectoptionfound Ingrid: ! ( Show Current Objects
    1. Ingrid:
    2. HTMLwords
    3. Rwanda RAB soil[AWC BLD bld TAW60 BLD_d AWC_ts AWC_d ]
    4. AWC[ |]
    5. /htmlpathpushparent
    6. /scatter.gif
    7. /datasetlabelplot
    8. /search.html
    9. /countcommonbeginning
    10. /gridtable.tsv
    11. /commandformtablerecord
    12. /includePSpream
    13. /ParseDigestAuthentication
    14. /FORMtextitem
    15. /autocontour.pnm
    16. /plotbuttons2a
    17. /colorscale.pict
    18. /allparentlinks1
    19. /decdata.s4
    20. /docavailable?
    21. /cachevarviaDODSexec
    22. /leftmenu0asbottom
    23. /askldap
    24. /vectoramplitude.pict
    25. /htmlauto==
    26. /checkMD5response
    27. /DigestAuthenticationChallenge
    28. /color.pict
    29. /gridcomparisonlist
    30. /table.tsv
    31. /FORMwords
    32. /plaincolorwithscale.pict
    33. /plainvector.ps
    34. /addlinkeditem
    35. /autovector.pnm
    36. /startselect
    37. /plaincolorpage.html
    38. /showcolors.ps
    39. /option
    40. /urlinterp
    41. /leftmenu
    42. /FORM!
    43. /parseurlvars
    44. /addlinkeditemdatasettable
    45. /colorscale.jpg
    46. /leftmenu0
    47. /printlink?
    48. /decdata.r4
    49. /variablemenucase
    50. /zoomvalue
    51. /plaincontourpage.html
    52. /setleftmenugrids
    53. /vectoramplitude.ps
    54. /RESTRICTIONSprint
    55. /cachedsviaDODSexec
    56. /contour.jpg
    57. /plaincolor.pnm
    58. /datasetviewerlinks
    59. /vectoramplitude.pnm
    60. /ifdefvar?
    61. /countcommonbeginning0
    62. /dropitem
    63. /plaincontour.gif
    64. /dolastmodified
    65. /vectoramplitudecolor.pict
    66. /plotbuttons1gif
    67. /mimeheader-metadataOnly:
    68. /mimelength
    69. /valueoption
    70. /vectorcolortogapage.html
    71. /command.act
    72. /localaskldap
    73. /vector.pict
    74. /vectorcontour.gif
    75. /newaxis.jpg
    76. /httpauthenticate
    77. /scatter.pict
    78. /setallparentbgcolor
    79. /onClickforInfo?
    80. /DODSmimeheaderwithlength
    81. /plaincontour.ps
    82. /vectorcolor.jpg
    83. /autocontour.ps
    84. /datasetlocmap?
    85. /:leftmenuinfo
    86. /checkauthorization
    87. /plotopt.act
    88. /plotbuttons2gif
    89. /vector.jpg
    90. /showcolors.pict
    91. /plainvectorpage.html
    92. /addlinkeditemstreamtable
    93. /filter.act
    94. /vectoramplitudecolor.gif
    95. /allparentbgcolors
    96. /namedcalculation?
    97. /datasetdocurl
    98. /FORMnotnull
    99. /authredirecttourl
    100. /color.jpg
    101. /decdata.i2
    102. /plainvector.jpg
    103. /showcolors.jpg
    104. /doauthorizedata
    105. /HA1
    106. /followcase
    107. /combinationdict
    108. /allparentlinks0
    109. /commandformtablerecord1
    110. /colorscale.ps
    111. /allparentlinks01
    112. /directoryheader
    113. /openinpopupwithleftmenuinfo
    114. /color.gif
    115. /mimeheadersetlastmod
    116. /plaincolorwithscale.ps
    117. /printheader
    118. /leftmenutoplevel
    119. /render
    120. /sampleresponse
    121. /additem
    122. /vectorcontour.jpg
    123. /maproomredirectto
    124. /viewerdatasetcase
    125. /plotbuttons2
    126. /addlinkeditemfile
    127. /forprint
    128. /data.r4
    129. /statusmsg
    130. /ifshortlink0
    131. /serveravailable?
    132. /mimeheader
    133. /tablegridselect
    134. /vectoramplitude.gif
    135. /getnotXY
    136. /plaincontour.pict
    137. /mycoach
    138. /plaincolor.jpg
    139. /colorscale.pnm
    140. /plainvector.pnm
    141. /fulllinktodir
    142. /getneedauthorization
    143. /parseurlvarsunescape
    144. /getserved_from
    145. /oneline.ps
    146. /vectorcolorpage.html
    147. /htmlpath!
    148. /mimetype
    149. /contourpage.html
    150. /streamviewerlinks
    151. /autocontour.jpg
    152. /vectorcolor.pnm
    153. /LDEOONLY
    154. /rendercnt
    155. /includeimage
    156. /showmenu?
    157. /leftmenuasbottom
    158. /urls==
    159. /htmlpath
    160. /endselect
    161. /getneedauthorizationdata
    162. /newaxis.pnm
    163. /doauthorize
    164. /render2
    165. /expert?
    166. /leftmenuinfo:
    167. /datasetlocmap
    168. /FORMhide
    169. /vectoramplitudepage.html
    170. /line.pict
    171. /vector.ps
    172. /onelinepage.html
    173. /plaincolorwithscale.jpg
    174. /DLAuthAuthenticationOK?
    175. /colorscale.gif
    176. /vectoramplitudecolor.pnm
    177. /linktodir
    178. /mapavailable?
    179. /gtable.tsv
    180. /zoomvalues
    181. /leftmenuHeader
    182. /leftmenucase
    183. /leftmenulevel
    184. /doifmodified?
    185. /autovector.gif
    186. /leftmenuhead
    187. /Digest-nonce
    188. /data.r8
    189. /BasicAuthenticationChallenge
    190. /Digest-opaque
    191. /formaction
    192. /vector.gif
    193. /checkpassword
    194. /leftmenutrailer
    195. /vectoramplitudecolor.jpg
    196. /addleftmenuinfodir
    197. /XOVY
    198. /colorpage.html
    199. /newaxis.gif
    200. /nodefaultmimeheader
    201. /hiddendatasetatts
    202. /oneline.jpg
    203. /showcolors.pnm
    204. /directoryredirect
    205. /htmlpathtypes
    206. /nullify
    207. /doaddcmd
    208. /notable?
    209. /commandform
    210. /ifshortlink
    211. /DODScontentdescription
    212. /plaincolor.gif
    213. /redirecttourl
    214. /1ptstreamtablehtml
    215. /alternateLanguageLinks
    216. /data.ui1
    217. /oneline.pict
    218. /mimetypes
    219. /pdefappend
    220. /tab
    221. /buttonsall
    222. /FORMgetknownnotnull
    223. /RESTRICTIONSprint?
    224. /linex.pict
    225. /datasetcolorplot
    226. /plaincontour.pnm
    227. /redirectto
    228. /gtable1
    229. /mimeheaderinfo
    230. /selectvalues.html
    231. /html:loc
    232. /leftmenuHeaderasbottom
    233. /contour.ps
    234. /oneptvars
    235. /mimeheadersetlastmodexpires
    236. /data.s4
    237. /defaultmimeheader
    238. /plaincolor.ps
    239. /line.gif
    240. /vectorcolor.ps
    241. /legalclientcheck
    242. /vectorcontour.pnm
    243. /gtable2
    244. /FORMgetknown
    245. /mimeheaderdata
    246. /html:level
    247. /buttons1
    248. /==alias
    249. /color.ps
    250. /scatter.ps
    251. /printimagetitle
    252. /arcinfo.asc
    253. /line.jpg
    254. /vectoramplitudecolorpage.html
    255. /linepage.html
    256. /plainvector.gif
    257. /plaincolor.pict
    258. /autovector.jpg
    259. /gtable3
    260. /variable1Dmenucase
    261. /dataareLDGOonly
    262. /html:paths
    263. /mimeheaderwithlength
    264. /wwwcopylastmod
    265. /linktodirinmenu
    266. /testDigestAuth
    267. /htmlpath.
    268. /data.tsv
    269. /mimeheaderwithinfo
    270. /ifLDGO
    271. /FORMget
    272. /variableattslist.txt
    273. /fullcommand.act
    274. /line.ps
    275. /gtable4
    276. /vectoramplitude.jpg
    277. /additemgrid
    278. /htmlpathpop
    279. /:mimeheader
    280. /combinations0
    281. /attcase
    282. /linex.ps
    283. /vectorcontourpage.html
    284. /oneline
    285. /DODSmimeheader
    286. /vectorcontour.pict
    287. /indexable?
    288. /readCDF.act
    289. /allparentlinks00
    290. /follow
    291. /linktodirintable
    292. /autovector.ps
    293. /gcmdidavailable?
    294. /htmlpathpush
    295. /data.i2
    296. /contour.pict
    297. /plaincontour.jpg
    298. /contentdescriptions
    299. /setleftmenuvar
    300. /data.2r4
    301. /comparethegrid
    302. /plotbuttons1
    303. /variableattsmenucase
    304. /redirecttowithleftmenuinfo
    305. /datasethandlemaplist
    306. /combinations
    307. /plaincolorwithscalepage.html
    308. /oneline.pnm
    309. /linex.jpg
    310. /expert
    311. /setheader
    312. /addleftmenuinfodirheader
    313. /newaxis.ps
    314. /leftmenusubhead
    315. /leftmenusubtrail
    316. /maybeGoogleAnalytics
    317. /FORMknown
    318. /plaincolorwithscale.pnm
    319. /contour.gif
    320. /maybeGoogleAnalyticsHead
    321. /datasetselectplotrange
    322. /mappageLinks
    323. /vectorcolor.pict
    324. /DigestErrorCodes
    325. /plainvector.pict
    326. /buttonsallfiles
    327. /leftmenusub?
    328. /addlinkeditemfiletable
    329. /datasetsizedplot
    330. /leftmenuinfotop
    331. /plaincolorwithscale.gif
    332. /allparentlinkcount
    333. /nobots
    334. /vectoramplitudecolor.ps
    335. /allparentlinks0a
    336. /scatter.jpg
    337. /BasicAuthenticationOK?
    338. /mimeheader:
    339. /addlinkeditemdataset
    340. /makesortednamelist
    341. /plotbuttons2agif
    342. /dataunits.ch
    343. /DigestAuthorization-realm
    344. /vectorcolor.gif
    345. /DigestAuthenticationOK?
    346. /axis.ps
    347. /datasetselectplot
    348. /showcolors.gif
    349. /vectorcontourtogapage.html
    350. /autocontour.gif
    351. /printno_
    352. /additemgridtable
    353. /allparentlinks
    354. /leftmenuinfotop?
    355. /addleftmenuinfo
    356. /portaldlscript
    357. /datasethandlemaplistCases
    358. /FORMS
    359. /linex.gif
    360. /axis.gif
    361. /oneline.gif
    362. /pfstartselect
    363. /index.html
    364. /decdata.r8
    365. /vectorcontour.ps
    366. /decdata.r8
    367. 0

    1000