function olr (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 clab off'
'c'

* Get Radiation Variables
* -----------------------
'run getvar OLR IRRAD'
        qname.1 = subwrd(result,1)
        qfile.1 = subwrd(result,2)
        scale.1 = subwrd(result,3)
        expdsc  = subwrd(result,4)
'run getvar OLC IRRAD'
        qname.2 = subwrd(result,1)
        qfile.2 = subwrd(result,2)
        scale.2 = subwrd(result,3)
'run getvar RSR SOLAR'
        qname.3 = subwrd(result,1)
        qfile.3 = subwrd(result,2)
        scale.3 = subwrd(result,3)
'run getvar RSC SOLAR'
        qname.4 = subwrd(result,1)
        qfile.4 = subwrd(result,2)
        scale.4 = subwrd(result,3)

numvar = 4
    rc = 0
     n = 1
while( n<=numvar )
if( qname.n = 'NULL' ) ; rc = 1 ; endif
 n = n + 1
endwhile
if( rc = 1 ) ; return ; endif


'run getenv "GEOSUTIL"'
         geosutil = result

'run getenv "VERIFICATION"'
         verification = result


* Ensure NAMES have no underscores
* --------------------------------
      num=4
        m=1
while ( m<num+1 )
'fixname 'qname.m
          alias.m = result
say 'Alias #'m' = 'alias.m
        m = m+1
endwhile
                                                                                                                       

* Experiment Datasets
* -------------------
'set dfile 'qfile.1
'setlons'
'set lat -90 90'

* Create Environment Variables for Seasonal Utility
* -------------------------------------------------
'setdates'
'run getenv "BEGDATE"'
             begdate  = result
'run getenv "ENDDATE"'
             enddate  = result
'sett'

* Extract Beginning and Ending Dates for Plots
* --------------------------------------------
if( begdate = "NULL" )
   'set dfile 'qfile.1
   'set t    '1
   'getinfo date'
         begdate = result
endif
if( enddate = "NULL" )
   'set dfile 'qfile.1 
   'getinfo tdim'
            tdim     = result
   'set t  'tdim
   'getinfo date' 
         enddate = result
endif


* Model Data Sets
* ---------------
'set dfile 'qfile.1
'set z 1'
'sett'
if( qname.1 != alias.1 ) ; 'rename 'qname.1 ' 'alias.1 ; endif
'define   olrm = 'alias.1'*'scale.1
'seasonal olrm' ; 'undefine olrm'

'set dfile 'qfile.2
'set z 1'
'sett'
if( qname.2 != alias.2 ) ; 'rename 'qname.2 ' 'alias.2 ; endif
'define   olrclrm = 'alias.2'*'scale.2
'seasonal olrclrm' ; 'undefine olrclrm'

'set dfile 'qfile.3
'set z 1'
'sett'
if( qname.3 != alias.3 ) ; 'rename 'qname.3 ' 'alias.3 ; endif
'define   nsrm = 'alias.3'*'scale.3
'seasonal nsrm' ; 'undefine nsrm'

'set dfile 'qfile.4
'set z 1'
'sett'
if( qname.4 != alias.4 ) ; 'rename 'qname.4 ' 'alias.4 ; endif
'define   nsrclrm = 'alias.4'*'scale.4
'seasonal nsrclrm' ; 'undefine nsrclrm'



*****************************************************************
****  Loop over Possible Experiment Datasets for Comparison  ****
*****************************************************************

'!/bin/mv HISTORY.T HISTORY.Tmp'
'run getenv "CMPEXP"'
         cmpexp = result
            num = 1

          dummy = get_cmpexp (cmpexp,num)
            exp = subwrd(dummy,1)
           type = subwrd(dummy,2)

while( exp != 'NULL' )
say ' '
say 'Comparing with: 'exp

'!chckfile 'exp'/.HOMDIR'
 'run getenv CHECKFILE'
         CHECKFILE  = result
     if( CHECKFILE != 'NULL' )
        '!/bin/cp `cat 'exp'/.HOMDIR`/HISTORY.rc .'
     else
        '!/bin/cp 'exp'/HISTORY.rc .'
     endif
'!remove CHECKFILE.txt'

'!cat HISTORY.rc | sed -e "s/,/ , /g" | sed -e "s/*/@/g" > HISTORY.T'

* Get Radiation Variables
* -----------------------
'run getvar OLR IRRAD 'exp
           olro = subwrd(result,1)
         ofile1 = subwrd(result,2)
         oscale = subwrd(result,3)
         obsdsc = subwrd(result,4)
         obsnam = subwrd(result,5)
'run getvar OLC IRRAD 'exp
        olrclro = subwrd(result,1)
         ofile2 = subwrd(result,2)
'run getvar RSR SOLAR 'exp
           nsro = subwrd(result,1)
         ofile3 = subwrd(result,2)
'run getvar RSC SOLAR 'exp
        nsrclro = subwrd(result,1)
         ofile4 = subwrd(result,2)

                             FOUND = TRUE
    if(    olro = 'NULL' ) ; FOUND = FALSE ; endif
    if(    nsro = 'NULL' ) ; FOUND = FALSE ; endif
    if( olrclro = 'NULL' ) ; FOUND = FALSE ; endif
    if( nsrclro = 'NULL' ) ; FOUND = FALSE ; endif

if( FOUND = TRUE )

'set dfile 'ofile1
'set z 1'
'setlons'
'set lat -90 90'

'getdates'
 begdateo = subwrd(result,1)
 enddateo = subwrd(result,2)

'run setenv   "BEGDATEO" 'begdateo
'run setenv   "ENDDATEO" 'enddateo

say 'define olro    = 'olro
    'define olro    = 'olro
'set dfile 'ofile2
say 'define olrclro = 'olrclro
    'define olrclro = 'olrclro
'set dfile 'ofile3
say 'define nsro    = 'nsro
    'define nsro    = 'nsro
'set dfile 'ofile4
say 'define nsrclro = 'nsrclro
    'define nsrclro = 'nsrclro

'seasonal olro'    ; 'undefine olro'
'seasonal olrclro' ; 'undefine olrclro'
'seasonal nsro'    ; 'undefine nsro'
'seasonal nsrclro' ; 'undefine nsrclro'

'run getenv "CLIMATE"'
             climate = result


* 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

* Begin Horizontal Plotting...
* ----------------------------
         flag = ""
 while ( flag = "" )
'set dfile 1'
'setlons'
'sety'
'set gxout shaded'

'run 'geosutil'/plots/olr/olr_z 'expid' 'season' 'output' 'qfile.1' 'ofile1' 'obsnam' 'obsdsc
 if( debug = "debug" )
     say "Hit  ENTER  to repeat plot"
     say "Type 'next' for  next plot, 'done' for next field"
          pull flag
         'c'
     else
          flag = "next"
 endif
 endwhile
'c'

endif
endwhile

* End FOUND Check
* ---------------
endif

* Check next Comparison Experiment Dataset
* ----------------------------------------
    num = num + 1
  dummy = get_cmpexp (cmpexp,num)
    exp = subwrd(dummy,1)
   type = subwrd(dummy,2)

endwhile
'!/bin/mv HISTORY.Tmp HISTORY.T'


*******************************************************************
****  Loop over Possible Verification Datasets for Comparison  ****
*******************************************************************

'getnumrc 'geosutil'/plots/olr'
     rcinfo = result
     numrc  = subwrd( rcinfo,1 )
         k  = 1
while(   k <= numrc )
        loc = k + 1
     rcfile = subwrd( rcinfo,loc )
say 'rcfile = 'rcfile

'run getobs OLR IRRAD 'rcfile
           olro = subwrd(result,1)
         ofile1 = subwrd(result,2)
         oscale = subwrd(result,3)
         obsdsc = subwrd(result,4)
         obsnam = subwrd(result,5)

'run getobs OLC IRRAD 'rcfile
        olrclro = subwrd(result,1)
         ofile2 = subwrd(result,2)
'run getobs RSR SOLAR 'rcfile
           nsro = subwrd(result,1)
         ofile3 = subwrd(result,2)
'run getobs RSC SOLAR 'rcfile
        nsrclro = subwrd(result,1)
         ofile4 = subwrd(result,2)

* Observation Data Sets
* ---------------------
'set dfile 'ofile1
'set z 1'
'setlons'
'set lat -90 90'

'getdates'
 begdateo = subwrd(result,1)
 enddateo = subwrd(result,2)

'run setenv   "BEGDATEO" 'begdateo
'run setenv   "ENDDATEO" 'enddateo

'set dfile 'ofile1
'define olro = 'olro
'set dfile 'ofile2
'define olrclro = 'olrclro
'set dfile 'ofile3
'define nsro = 'nsro
'set dfile 'ofile4
'define nsrclro = 'nsrclro

'seasonal olro'    ; 'undefine olro'
'seasonal olrclro' ; 'undefine olrclro'
'seasonal nsro'    ; 'undefine nsro'
'seasonal nsrclro' ; 'undefine nsrclro'

'run getenv "CLIMATE"'
             climate = result


* 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

* Begin Horizontal Plotting...
* ----------------------------
         flag = ""
 while ( flag = "" )
'set dfile 1'
'setlons'
'sety'
'set gxout shaded'

'run 'geosutil'/plots/olr/olr_z 'expid' 'season' 'output' 'qfile.1' 'ofile1' 'obsnam' 'obsdsc
 if( debug = "debug" )
     say "Hit  ENTER  to repeat plot"
     say "Type 'next' for  next plot, 'done' for next field"
          pull flag
         'c'
     else
          flag = "next"
 endif
 endwhile
'c'

endif
endwhile


* End Verification Loop
* ---------------------
k = k + 1 
endwhile
return

* Get Next EXP from CMPEXP List
* -----------------------------
function get_cmpexp (cmpexp,num)
      exp  = subwrd(cmpexp,num)
      len = get_length (exp)
      bit = substr(exp,len-1,1)
      if( bit = ":" )
          type = substr(exp,len,1)
          exp  = substr(exp,1,len-2)
      else
          type = M
      endif
return exp' 'type

function get_length (string)
tb = ""
i = 1
while (i<=256)
blank = substr(string,i,1)
if( blank = tb )
length = i-1
i = 999
else
i = i + 1
endif
endwhile
return length

