function gwd (args) expid = subwrd(args,1) output = subwrd(args,2) debug = subwrd(args,3) * Define Seasons to Process * ------------------------- seasons = '' k = 4 while( k > 0 ) season = subwrd(args,k) if( season = '' ) k = -1 else seasons = seasons % ' ' % season k = k+1 endif endwhile 'uppercase 'seasons seasons = result * Initialize * ---------- "reinit" 'set display color white' 'set csmooth on' 'set clab off' 'rgbset' 'c' * Get GWD Variables * ----------------- 'run getvar DUDT GWD' qname.1 = subwrd(result,1) qfile.1 = subwrd(result,2) scale.1 = subwrd(result,3) expdsc = subwrd(result,4) if( qfile.1 = "NULL" ) ; return ; endif 'run getvar DUDT_ORO GWD' qname.2 = subwrd(result,1) qfile.2 = subwrd(result,2) scale.2 = subwrd(result,3) 'run getvar DUDT_RAY GWD' qname.3 = subwrd(result,1) qfile.3 = subwrd(result,2) scale.3 = subwrd(result,3) 'run getvar DVDT GWD' qname.4 = subwrd(result,1) qfile.4 = subwrd(result,2) scale.4 = subwrd(result,3) 'run getvar DVDT_ORO GWD' qname.5 = subwrd(result,1) qfile.5 = subwrd(result,2) scale.5 = subwrd(result,3) 'run getvar DVDT_RAY GWD' qname.6 = subwrd(result,1) qfile.6 = subwrd(result,2) scale.6 = subwrd(result,3) 'run getvar TTMGW GWD' qname.7 = subwrd(result,1) qfile.7 = subwrd(result,2) scale.7 = subwrd(result,3) 'run getvar DTDT_ORO GWD' qname.8 = subwrd(result,1) qfile.8 = subwrd(result,2) scale.8 = subwrd(result,3) 'run getvar DTDT_RAY GWD' qname.9 = subwrd(result,1) qfile.9 = subwrd(result,2) scale.9 = subwrd(result,3) 'run getvar TAUOROX GWD' qname.10 = subwrd(result,1) qfile.10 = subwrd(result,2) scale.10 = subwrd(result,3) 'run getvar TAUOROY GWD' qname.11 = subwrd(result,1) qfile.11 = subwrd(result,2) scale.11 = subwrd(result,3) 'run getvar TAUBKGX GWD' qname.12 = subwrd(result,1) qfile.12 = subwrd(result,2) scale.12 = subwrd(result,3) 'run getvar TAUBKGY GWD' qname.13 = subwrd(result,1) qfile.13 = subwrd(result,2) scale.13 = subwrd(result,3) 'run getvar SGH AGCM' qname.14 = subwrd(result,1) qfile.14 = subwrd(result,2) scale.14 = subwrd(result,3) if( qfile.14 = "NULL" ) 'run getvar SGH SUPERDYNAMICS' qname.14 = subwrd(result,1) qfile.14 = subwrd(result,2) scale.14 = subwrd(result,3) endif 'run getenv "GEOSUTIL"' geosutil = result * Experiment Datasets * ------------------- name.1 = dudt name.2 = dudtoro name.3 = dudtray name.4 = dvdt name.5 = dvdtoro name.6 = dvdtray name.7 = dtdt name.8 = dtdtoro name.9 = dtdtray name.10 = tauorox name.11 = tauoroy name.12 = taubkgx name.13 = taubkgy name.14 = sgh 'set dfile 1' 'run getinfo undef' undef = result m = 1 while( m <= 9 ) if( qfile.m != "NULL" ) 'set dfile 'qfile.m 'setx' 'sety' 'setz' 'sett' 'makezf 'qname.m'*'scale.m' 'name.m' z' else 'set dfile 1' 'setx' 'sety' 'setz' 'set t 1' 'define dummy = lat-lat + lon-lon + lev-lev + 'undef 'makezf dummy 'name.m' z' endif m = m + 1 endwhile 'set dfile 'qfile.1 'getinfo zdim' zdim = result 'set z 'zdim 'getinfo level' ptop = result 'set x 1' 'sety' 'setz' 'setdates' 'run getenv "BEGDATE"' begdate = result 'run getenv "ENDDATE"' enddate = result 'sett' 'define dudtbkgz = dudtz-dudtoroz-dudtrayz' 'define dvdtbkgz = dvdtz-dvdtoroz-dvdtrayz' 'define dtdtbkgz = dtdtz-dtdtoroz-dtdtrayz' 'seasonal dudtz' 'seasonal dudtoroz' 'seasonal dudtbkgz' 'seasonal dudtrayz' 'seasonal dvdtz' 'seasonal dvdtoroz' 'seasonal dvdtbkgz' 'seasonal dvdtrayz' 'seasonal dtdtz' 'seasonal dtdtoroz' 'seasonal dtdtbkgz' 'seasonal dtdtrayz' m = 10 while( m <= 14 ) if( qfile.m != "NULL" ) 'set dfile 'qfile.m 'setlons' 'sety' 'set z 1' 'sett' 'define 'name.m' = 'qname.m'*'scale.m else 'set dfile 1' 'setlons' 'sety' 'set z 1' 'set t 1' 'define 'name.m' = lat-lat + lon-lon + lev-lev + 'undef endif m = m + 1 endwhile 'set z 1' 'seasonal tauorox' 'seasonal tauoroy' 'seasonal taubkgx' 'seasonal taubkgy' 'seasonal sgh' * Loop over Seasons to Process * ---------------------------- m = 1 while( m > 0 ) season = subwrd(seasons,m) if( season = '' ) m = -1 else m = m+1 say 'Processing Season: 'season 'count "'season'" 'begdate' 'enddate num = result flag = "" while ( flag = "" ) 'run 'geosutil'/plots/gwd/gwd_1.gs 'expid' 'season' 'output' 'num' 'ptop' 'debug if( debug = "debug" ) say "Hit ENTER to repeat plot" say "Type 'next' for next plot, 'done' for next field" pull flag else flag = "next" endif 'c' endwhile flag = "" while ( flag = "" ) 'run 'geosutil'/plots/gwd/gwd_t.gs 'expid' 'season' 'output' 'num' 'ptop' 'debug if( debug = "debug" ) say "Hit ENTER to repeat plot" say "Type 'next' for next plot, 'done' for next field" pull flag else flag = "next" endif 'c' endwhile flag = "" while ( flag = "" ) 'run 'geosutil'/plots/gwd/gwd_2.gs 'expid' 'season' 'output' 'num' 'debug if( debug = "debug" ) say "Hit ENTER to repeat plot" say "Type 'next' for next plot, 'done' for next field" pull flag else flag = "next" endif 'c' endwhile endif endwhile