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
