function zcmp (args) expid = subwrd(args,1) output = subwrd(args,2) * Define Seasons to Process * ------------------------- seasons = '' k = 3 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 greyscale white' 'set csmooth on' 'c' * Get Model Prognostic Variables * ------------------------------ 'getvar SLP DYN' qname.1 = subwrd(result,1) qfile.1 = subwrd(result,2) scale.1 = subwrd(result,3) expdsc = subwrd(result,4) 'getvar U DYN' qname.2 = subwrd(result,1) qfile.2 = subwrd(result,2) scale.2 = subwrd(result,3) 'getvar V DYN' qname.3 = subwrd(result,1) qfile.3 = subwrd(result,2) scale.3 = subwrd(result,3) 'getvar T DYN' qname.4 = subwrd(result,1) qfile.4 = subwrd(result,2) scale.4 = subwrd(result,3) 'getvar Q MOIST' qname.5 = subwrd(result,1) qfile.5 = subwrd(result,2) scale.5 = subwrd(result,3) 'getvar RH2 MOIST' qname.6 = subwrd(result,1) qfile.6 = subwrd(result,2) scale.6 = subwrd(result,3) 'getvar ZLE DYN' qname.7 = subwrd(result,1) qfile.7 = subwrd(result,2) scale.7 = subwrd(result,3) 'run setenv "FILE_SLP" 'qfile.1 'run setenv "FILE_U" 'qfile.2 'run setenv "FILE_V" 'qfile.3 'run setenv "FILE_T" 'qfile.4 'run setenv "FILE_Q" 'qfile.5 'run setenv "FILE_RH" 'qfile.6 'getenv "GEOSUTIL"' geosutil = result 'getenv "VERIFICATION"' verification = result * Ensure NAMES have no underscores * -------------------------------- num=7 m=1 while ( m2) 'xdfopen 'verification'/c403_cer_01/xdf_clim.tabl' 'getinfo numfiles' g4dasfile = result ' open 'verification'/NCEP_REANAL-2/pgb.anl.198201.avrg.grib.ctl' 'getinfo numfiles' ncep1file = result ' open 'verification'/NCEP_REANAL-2/ncep_sphu.ctl' 'getinfo numfiles' ncep2file = result * Validation data * --------------- 'setfile 'g4dasfile 'setx' 'sety' 'getdates' 'set z 1' 'makez slp z2' 'setz' 'makez uwnd z2' 'makez tmpu z2' 'makez hght z2' 'makez vwnd z2' 'makez sphu z2' 'makez rh z2' 'set x 1' 'set z 1' 'seasonal slpz2' 'setz' 'seasonal uwndz2' 'seasonal tmpuz2' 'seasonal hghtz2' 'seasonal vwndz2' 'seasonal sphuz2' 'seasonal rhz2' 'setfile 'ncep1file 'setx' 'sety' 'getdates' 'set z 1' 'makez slp z3' 'setz' 'makez uwnd z3' 'makez vwnd z3' 'makez tmpu z3' 'makez hght z3' 'makez rh z3' 'setfile 'ncep2file 'setx' 'sety' 'setz' 'getdates' 'makez sphu z3' 'set x 1' 'set z 1' 'seasonal slpz3' 'setz' 'seasonal uwndz3' 'seasonal vwndz3' 'seasonal tmpuz3' 'seasonal hghtz3' 'seasonal sphuz3' 'seasonal rhz3' endif * Model Data * ---------- if(1>2) 'setfile 'qfile.1 'set z 1' 'setx' 'sety' 'getdates' 'makez 'alias.1' z1' 'set x 1' 'define slpz1 = 'alias.1'z1*'scale.1 'seasonal slpz1' 'setfile 'qfile.2 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.2' z1' 'set x 1' 'define uwndz1 = 'alias.2'z1*'scale.2 'seasonal uwndz1' 'setfile 'qfile.3 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.3' z1' 'set x 1' 'define vwndz1 = 'alias.3'z1*'scale.3 'seasonal vwndz1' 'setfile 'qfile.4 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.4' z1' 'set x 1' 'define tmpuz1 = 'alias.4'z1*'scale.4 'seasonal tmpuz1' endif 'setfile 'qfile.5 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.5' z1' 'set x 1' 'define sphuz1 = 'alias.5'z1*'scale.5 'seasonal sphuz1' if(1>2) 'setfile 'qfile.6 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.6' z1' 'set x 1' 'define rhz1 = 'alias.6'z1*'scale.6 'seasonal rhz1' 'setfile 'qfile.7 'setz' 'setx' 'sety' 'getdates' 'makez 'alias.7' z1' 'set x 1' 'define hghtz1 = 'alias.7'z1*'scale.7 'seasonal hghtz1' endif * 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 'setfile 'qfile.2 'count "'season'" 'begdate' 'enddate num = result 'set display color white' 'rgbset' 'run 'geosutil'/plots/zcmp/zcmp_q 'expid' 'season' 'output' 'num *'! 'geosutil'/plots/grads_util/make_gif -name zonal.log_qv -rotate 90 -season 'season' -output 'output' &' 'c' endif endwhile