- To: "Mike Hardiman" <Mike.Hardiman@xxxxxxxx>
- Subject: Re: [gembud] Grid Diagnostics Script / Model Verification?
- From: "Robert Mullenax" <Robert.Mullenax@xxxxxxxxxxxxx>
- Date: Fri, 15 Feb 2008 09:48:35 -0600
OK, well I can give you a start then maybe someone else can chime in. I
figured someone much more adept would give you something more elegant,
but here's the brute force method(s). Good thing is if you script these
up it will be fast.
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
- References:
- [gembud] Grid Diagnostics Script / Model Verification?
- From: Mike Hardiman
- [gembud] Grid Diagnostics Script / Model Verification?