NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
First step is to use gddiag to create a verification grid..say you want to compare the 15 Feb 00Z 12 hour forecast of 500mb hghts to the RUC 12Z analysis..just as an example
GEMPAK-GDDIAG>l GDFILE = ruc2|12+gfs003|00 GDOUTF = out.gem GFUNC = sub(hght,hght+2^f012) GDATTIM = f000 GLEVEL = 500 GVCORD = pres GRDNAM = hgtsub GRDTYP = S GPACK = GRDHDR = PROJ = GRDAREA = dset KXKY = MAXGRD = 200 CPYFIL = ruc2|12 ANLYSS =So I am creating a parameter called hgtsub in the grid out.gem that subtracts the GFS from the RUC.
You can then use gdlist to create a text output of the grid: GEMPAK-GDLIST>l GDATTIM = 080215/1200F000:080215/0000F012 GLEVEL = 500 GVCORD = pres GFUNC = hgtsub GDFILE = out.gem GAREA = dset PROJ = SCALE = 0 OUTPUT = T GEMPAK-GDLIST>If you are happy with the output, then change output= (terminal) to output=/out.file. You can then use Excel or whatever to do stats on the difference file.
If you just want GEMPAK to create the average for you over the domain (the RUC domain in this case), then you would just run gddiag a second time to compute the average using savs. Calculate savs(hgtsub) from grid out.gem and then write that to a grid called outa.gem with a grid name of avg.
GEMPAK-GDDIAG>l GDFILE = ruc2|12+gfs003|00 GDOUTF = out.gem GFUNC = sub(hght,hght+2^f012) GDATTIM = f000 GLEVEL = 500 GVCORD = pres GRDNAM = hgtsub GRDTYP = S GPACK = GRDHDR = PROJ = GRDAREA = dset KXKY = MAXGRD = 200 CPYFIL = ruc2|12 ANLYSS = GEMPAK-GDDIAG>l GDFILE = out.gem GDOUTF = outa2.gem GFUNC = savs(hgtsub) GDATTIM = 080215/1200F000:080215/0000F012 GLEVEL = 500 GVCORD = pres GRDNAM = avg GRDTYP = S GPACK = GRDHDR = PROJ = GRDAREA = dset KXKY = MAXGRD = 200 CPYFIL = ruc2|12 ANLYSS = GEMPAK-GDDIAG>Since the computed value will be the same at any grid point as seen below:
ROW 2 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31
........................0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 ROW 1 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31
.......................This means you can just use gdpoint to list one value at one grid point in the domain to get your answer..e.g.
GEMPAK-GDPOINT>l GDATTIM = 080215/1200F000:080215/0000F012 GDFILE = outa2.gem GLEVEL = 500 GPOINT = psn GVCORD = pres GFUNC = avg SCALE = 0 GEMPAK-GDPOINT>r GDFILE: outa2.gem GPOINT: psn GVCORD: pres GLEVEL: 500 GFUNC : avg SCALE : 0 080215/1200F000 : 0.30856 Parameters requested: GDATTIM,GDFILE,GLEVEL,GPOINT,GVCORD,GFUNC,SCALE. GEMPAK-GDPOINT>e(PSN is where we are in Palestine, Texas)..so the average difference over the whole domain is 0.30856. You could replace dset with a lat/lon garea to split it up into regions.
Just use grep, awk, tcl, shell commands to extract the answer. Hope this helps, Robert Mullenax CSBF Meteorology
-----Original Message----- Sent: Thu 2/14/2008 6:04 AM To: Robert Mullenax Subject: Re: [gembud] Grid Diagnostics Script / Model Verification? Nope, not yet anyays. -Mike Robert Mullenax wrote:Mike, Did you get a response to this? Regards, Robert Mullenax CSBF Meteorology
gembud
archives: