* +-======-+ * Copyright (c) 2003-2007 United States Government as represented by * the Admistrator of the National Aeronautics and Space Administration. * All Rights Reserved. * * THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, * REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN * COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS * REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). * THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN * INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR * REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, * DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED * HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE * RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT. * * Government Agency: National Aeronautics and Space Administration * Government Agency Original Software Designation: GSC-15354-1 * Government Agency Original Software Title: GEOS-5 GCM Modeling Software * User Registration Requested. Please Visit http://opensource.gsfc.nasa.gov * Government Agency Point of Contact for Original Software: * Dale Hithon, SRA Assistant, (301) 286-2691 * * +-======-+ function stdiff (args) field = subwrd (args,1) type = subwrd (args,2) tag1 = subwrd (args,3) tag2 = subwrd (args,4) cint = subwrd (args,5) if( type = std ) ; string = "Std.Dev. (Forecast-Analysis):" ; endif if( type = var ) ; string = "Variance (Forecast-Analysis):" ; endif if( type = rms ) ; string = "RMS (Forecast-Analysis):" ; endif if( type = fma ) ; string = "MEAN (Forecast-Analysis):" ; endif if( type = fmc ) ; string = "MEAN (Forecast-Climatology):" ; endif if( type = mse ) ; string = "Mean_Square_Error (Forecast-Analysis):" ; endif if( type = mes ) ; string = "Mean_Error_Squared (Forecast-Analysis):" ; endif 'run getinfo tinc' tinc = result if( tinc = "NULL" ) ; tinc = 6 ; endif 'run getinfo time' time = result hour = (time-1)*tinc if( hour < 10 ) ; hour = 0hour ; endif if( hour < 100 ) ; hour = 0hour ; endif 'set vpage 0 11 0 8.2' 'set grid off' 'set grads off' 'set gxout shaded' 'set ccols 92 0' 'set clevs 0.5' 'define diff = 'field''type''tag1'z-'field''type''tag2'z' if( cint = '' ) 'set gxout stat' 'd diff' info = sublin(result,13) aGLOB = subwrd(info,2) 'set gxout shaded' 'getint 'aGLOB cint = result if( aGLOB = 0 ) ; cint = 1 ; endif n = 0 while( cint = 0 ) say 'N: 'n' CINT: 'cint' aGLOB: 'aGLOB * say 'Hit ENTER to continue' * pull flag n = n + 1 aGLOB = 10*aGLOB 'getint 'aGLOB cint = result endwhile 'd pow(10,'n')' fact = subwrd(result,4) cint = cint/fact endif clevs = '' n = -9 while ( n <= 9 ) val = n * cint if( n != 0 ) ; clevs = clevs' 'val ; endif n = n + 1 endwhile 'set ccols 59 57 55 47 44 37 36 34 33 0 21 22 23 24 25 26 27 28 29' 'set clevs 'clevs 'd diff' 'cbarn -snum 0.8 -xmid 6.0' 'getinfo month' month = result 'getinfo year' year = result 'set vpage off' 'set string 1 c 6' 'set strsiz 0.14' 'draw string 6.1 7.9 'month' 'year' Forecast Hour: 'hour 'draw string 6.1 8.20392 Zonal Mean 'field' 'string' 'tag1' minus 'tag2