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 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