function pme (args) expid = subwrd(args,1) output = subwrd(args,2) debug = subwrd(args,3) * Initialize * ---------- 'reinit' 'set display color white' 'set clab off' 'c' * Get Precipitation Variables * --------------------------- 'run getvar CN_PRCP MOIST' qname.1 = subwrd(result,1) qfile.1 = subwrd(result,2) scale.1 = subwrd(result,3) expdsc = subwrd(result,4) 'run getvar LS_PRCP MOIST' qname.2 = subwrd(result,1) qfile.2 = subwrd(result,2) scale.2 = subwrd(result,3) 'run getvar AN_PRCP MOIST' qname.3 = subwrd(result,1) qfile.3 = subwrd(result,2) scale.3 = subwrd(result,3) if( qname.1 = 'NULL' & qname.2 = 'NULL' & qname.3 = 'NULL') 'run getvar TPREC MOIST' qname.1 = subwrd(result,1) qfile.1 = subwrd(result,2) scale.1 = subwrd(result,3) expdsc = subwrd(result,4) components = false num = 1 else components = true num = 3 endif n = num + 1 'run getvar EVAP SURFACE' qname.n = subwrd(result,1) qfile.n = subwrd(result,2) scale.n = subwrd(result,3) num = n 'run getvar DQVDTANAINT DYN' aname = subwrd(result,1) afile = subwrd(result,2) ascale = subwrd(result,3) * Check Existance of Data * ----------------------- m = 1 while ( m <= num ) if( qfile.m = 'NULL' ) ; return ; endif m = m+1 endwhile if( qfile.4 = 'NULL' ) ; return ; endif * Get Environment Variables * ------------------------- 'run getenv "GEOSUTIL"' geosutil = result * Model Data Sets * --------------- if( components = 'true' ) 'set dfile 'qfile.1 'setx' 'sety' 'sett' 'set z 1' 'make_ts -FUNCTION 'qname.1'*'scale.1'+'qname.2'*'scale.2'+'qname.3'*'scale.3' -NAME preacc' newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'qfile.4 'setx' 'sety' 'sett' 'set z 1' 'make_ts -FUNCTION 'qname.4'*'scale.4' -NAME evpacc' newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'qfile.1 'set x 1' 'set y 1' 'set z 1' 'sett' 'define preaccg = preaccg*86400' 'define evpaccg = evpaccg*86400' else 'set dfile 'qfile.1 'set z 1' 'setx' 'sety' 'sett' if( qname.1 != alias.1 ) ; 'rename 'qname.1 ' 'alias.1 ; endif 'make_ts -FUNCTION 'qname.1' -NAME VAR'1 newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'qfile.2 'set z 1' 'setx' 'sety' 'sett' 'make_ts -FUNCTION 'qname.2' -NAME VAR'2 newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'qfile.1 'set x 1' 'set y 1' 'set z 1' 'sett' 'define preaccg = VAR1g*'scale.1'*86400' 'define evpaccg = VAR2g*'scale.2'*86400' endif if( afile != 'NULL' ) 'set dfile 'afile 'set z 1' 'setx' 'sety' 'sett' 'make_ts -FUNCTION 'aname' -NAME VARa' 'set x 1' 'set y 1' 'set z 1' 'define anaaccg = VARag*'ascale'*86400' endif ***************************************************************** **** Loop over Possible Experiment Datasets for Comparison **** ***************************************************************** '!/bin/mv HISTORY.T HISTORY.Tmp' 'run getenv "CMPEXP"' cmpexp = result num = 1 exp = subwrd( cmpexp,num ) while( exp != 'NULL' ) say ' ' say 'Comparing with: 'exp 'run setenv "LEVTYPE" 'ALEVS '!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" > HISTORY.T' * Get Precipitation Variables * --------------------------- 'run getvar CN_PRCP MOIST 'exp oname.1 = subwrd(result,1) ofile.1 = subwrd(result,2) oscale.1 = subwrd(result,3) obsdsc = subwrd(result,4) obsnam = subwrd(result,5) 'run getvar LS_PRCP MOIST 'exp oname.2 = subwrd(result,1) ofile.2 = subwrd(result,2) oscale.2 = subwrd(result,3) 'run getvar AN_PRCP MOIST 'exp oname.3 = subwrd(result,1) ofile.3 = subwrd(result,2) oscale.3 = subwrd(result,3) if( oname.1 = 'NULL' & oname.2 = 'NULL' & oname.3 = 'NULL') 'run getvar TPREC MOIST 'exp oname.1 = subwrd(result,1) ofile.1 = subwrd(result,2) oscale.1 = subwrd(result,3) obsdsc = subwrd(result,4) obsnam = subwrd(result,5) components = false else components = true endif * Comparison Model Data Sets * -------------------------- if( components = 'true' ) 'set dfile 'ofile.1 'setx' 'sety' 'sett' 'set z 1' 'make_ts -FUNCTION 'oname.1'*'oscale.1'+'oname.2'*'oscale.2'+'oname.3'*'oscale.3' -NAME opreacc' newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'ofile.1 'set x 1' 'set y 1' 'set z 1' 'sett' 'define obsg = opreaccg*86400' else 'set dfile 'ofile.1 'set z 1' 'setx' 'sety' 'sett' if( oname.1 != alias.1 ) ; 'rename 'oname.1 ' 'alias.1 ; endif 'make_ts -FUNCTION 'oname.1' -NAME OBS'1 newfile = subwrd(result,1) kdim = subwrd(result,2) 'set dfile 'qfile.1 'set x 1' 'set y 1' 'set z 1' 'sett' 'define obsg = OBS1g*'oscale.1'*86400' endif * Make Plot * --------- flag = "" while ( flag = "" ) 'run 'geosutil'/plots/tseries/pme_1 'expid' 'expdsc' 'output' 'afile' 'ofile.1' 'obsnam 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 * Check next Comparison Experiment Dataset * ---------------------------------------- num = num + 1 exp = subwrd( cmpexp,num ) endwhile '!/bin/mv HISTORY.Tmp HISTORY.T' ******************************************************************* **** Loop over Possible Verification Datasets for Comparison **** ******************************************************************* 'getnumrc 'geosutil'/plots/tseries' rcinfo = result numrc = subwrd( rcinfo,1 ) k = 1 while( k <= numrc ) loc = k + 1 rcfile = subwrd( rcinfo,loc ) say 'rcfile = 'rcfile 'run getobs TPREC MOIST 'rcfile oname = subwrd(result,1) obsfile = subwrd(result,2) oscale = subwrd(result,3) obsdsc = subwrd(result,4) obsnam = subwrd(result,5) if( oname != 'NULL' ) 'set dfile 'obsfile 'set z 1' 'setx' 'sety' 'sett' 'make_ts -FUNCTION 'oname'*'oscale' -NAME OBS'k 'set x 1' 'set y 1' 'set z 1' 'define obsg = OBS'k'g' 'set dfile 'qfile.1 * Make Plot * --------- flag = "" while ( flag = "" ) 'run 'geosutil'/plots/tseries/pme_1 'expid' 'expdsc' 'output' 'afile' 'obsfile' 'obsnam 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 k = k + 1 endwhile