<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi LB,</p>
    <p>Likely a typo, but I note that your descriptor file has "vars 2",
      but only includes one variable:</p>
    <p>
      <blockquote type="cite">
        <div>
          <div>dset ^500HGT_Climo.dat</div>
          <div><br>
          </div>
          <div>title ERA5 500 hPa Height Climatology 1979 to 2018</div>
          <div>undef 9.999E+20</div>
          <div><br>
          </div>
          <div>ydef 721 linear -90.00 0.25</div>
          <div>xdef 1440 linear 0.00 0.25</div>
          <div>tdef 1464 linear 00Z01JAN1980 6hr</div>
          <div>zdef 1 linear 1 1</div>
          <div>vars 2</div>
          <div> hgt500mean         1  99  500 hPa Mean Geopotential
            Height [gpm]</div>
          <div>ENDVARS</div>
        </div>
      </blockquote>
      Jim<br>
    </p>
    <div class="moz-cite-prefix">On 3/11/19 2:18 PM, L.B. wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAM1sYauuvxy9F62VicgGnPY7j-OaHfS+9spKTSm5GE-X9WCWLA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div dir="ltr">
            <div dir="ltr">I'm having an issue with a pesky control file
              that I created for a binary file that I wrote out with
              GrADS using the fwrite function.
              <div><br>
              </div>
              <div>I have a large dataset of multiple grib2 files
                containing 500mb Geopotential by year. I used
                templating in the control file to run through all the
                grib files. Here is the control file for that data:</div>
              <div><br>
              </div>
              <div>
                <div>dset ^ERA5_500GEO_%y4.grb2</div>
                <div>index ^ERA5_500GEO_Climo.grb2.idx</div>
                <div>undef 9.999E+20</div>
                <div>options template</div>
                <div>title ERA5_500GEO_Climo</div>
                <div>* produced by g2ctl v0.1.4</div>
                <div>* griddef=1:0:(1440 x
                  721):grid_template=0:winds(N/S): lat-lon grid:(1440 x
                  721) units 1e-06 input WE:NS output WE:SN res 48 lat
                  90.000000 to -90.000000 by 0.250000 lon 0.000000 to
                  359.750000 by 0.250000 #points=1038240:winds(N/S)</div>
                <div><br>
                </div>
                <div>dtype grib2</div>
                <div>ydef 721 linear -90.00 0.25</div>
                <div>xdef 1440 linear 0.00 0.25</div>
                <div>tdef 58440 linear 00Z01JAN1979 6hr</div>
                <div>zdef 1 linear 1 1</div>
                <div>vars 1</div>
                <div>GP500mb   0,100,50000   0,3,4 ** 500 mb
                  Geopotential [m^2/s^2]</div>
                <div>ENDVARS</div>
                <div><br>
                </div>
                <div>From here, I created a script to further reduce the
                  size fo the climatology file by writing out to a
                  binary file the average 500mb geopotential height
                  every 6 hours for one year (data starts in 1979, but I
                  started the script in 1980 to include a leap year to
                  get Feb 29th - hence why I used 1461 for the first
                  timestep).</div>
                <div><br>
                </div>
                <div>The script that outputs the 6hour average is here:</div>
                <div><br>
                </div>
                <div>
                  <div>'reinit'</div>
                  <div>'open ERA5_500GEO.ctl'</div>
                  <div>'set gxout fwrite'</div>
                  <div>'set fwrite 500HGT_Climo.dat'</div>
                  <div><br>
                  </div>
                  <div>tt=1461</div>
                  <div><br>
                  </div>
                  <div> while (tt<=2924)</div>
                  <div>     'set t 'tt</div>
                  <div>     'q dims'</div>
                  <div>     rec=sublin(result,5)</div>
                  <div>     vdate=subwrd(rec,6)</div>
                  <div>     vday=substr(vdate,1,8)</div>
                  <div>     say vday</div>
                  <div><br>
                  </div>
                  <div>     if (vday=00Z29FEB | vday=06Z29FEB |
                    vday=12Z29FEB | vday=18Z29FEB)</div>
                  <div>     
 'mean=(GP500mb(time='vday'1980)+GP500mb(time='vday'1984)+GP500mb(time='vday'1988)+GP500mb(time='vday'1992)+GP500mb(time='vday'1996)+GP500mb(time='vday'2000)+GP500mb(time='vday'2004)+GP500mb(time='vday'2008)+GP500mb(time='vday'2012)+GP500mb(time='vday'2016))/10'</div>
                  <div><br>
                  </div>
                  <div>     else</div>
                  <div><br>
                  </div>
                  <div>     
 'mean=(GP500mb(time='vday'1979)+GP500mb(time='vday'1980)+GP500mb(time='vday'1981)+GP500mb(time='vday'1982)+GP500mb(time='vday'1983)+GP500mb(time='vday'1984)+GP500mb(time='vday'1985)+GP500mb(time='vday'1986)+GP500mb(time='vday'1987)+GP500mb(time='vday'1988)+GP500mb(time='vday'1989)+GP500mb(time='vday'1990)+GP500mb(time='vday'1991)+GP500mb(time='vday'1992)+GP500mb(time='vday'1993)+GP500mb(time='vday'1994)+GP500mb(time='vday'1995)+GP500mb(time='vday'1996)+GP500mb(time='vday'1997)+GP500mb(time='vday'1998)+GP500mb(time='vday'1999)+GP500mb(time='vday'2000)+GP500mb(time='vday'2001)+GP500mb(time='vday'2002)+GP500mb(time='vday'2003)+GP500mb(time='vday'2004)+GP500mb(time='vday'2005)+GP500mb(time='vday'2006)+GP500mb(time='vday'2007)+GP500mb(time='vday'2008)+GP500mb(time='vday'2009)+GP500mb(time='vday'2010)+GP500mb(time='vday'2011)+GP500mb(time='vday'2012)+GP500mb(time='vday'2013)+GP500mb(time='vday'2014)+GP500mb(time='vday'2015)+GP500mb(time='vday'2016)+GP500mb(time='vday'2017)+GP500mb(time='vday'2018))/40'</div>
                  <div><br>
                  </div>
                  <div>     endif</div>
                  <div><br>
                  </div>
                  <div>      'd mean/9.80665'</div>
                  <div><br>
                  </div>
                  <div>  tt=tt+1</div>
                  <div> endwhile</div>
                  <div><br>
                  </div>
                  <div>'disable fwrite'</div>
                </div>
                <div><br>
                </div>
                <div>The control file for this binary file named:
                  500HGT_Climo.dat is where I am having the issue. The
                  control file is below:</div>
                <div><br>
                </div>
                <div>
                  <div>dset ^500HGT_Climo.dat</div>
                  <div><br>
                  </div>
                  <div>title ERA5 500 hPa Height Climatology 1979 to
                    2018</div>
                  <div>undef 9.999E+20</div>
                  <div><br>
                  </div>
                  <div>ydef 721 linear -90.00 0.25</div>
                  <div>xdef 1440 linear 0.00 0.25</div>
                  <div>tdef 1464 linear 00Z01JAN1980 6hr</div>
                  <div>zdef 1 linear 1 1</div>
                  <div>vars 2</div>
                  <div> hgt500mean         1  99  500 hPa Mean
                    Geopotential Height [gpm]</div>
                  <div>ENDVARS</div>
                </div>
                <div><br>
                </div>
                <div>If I were to just plot the first timestep from this
                  binary file, I would get the first image attached
                  named: 'fromdatfile.png'. This image is wrong,
                  however. The correct one (attached) is named:
                  'fromscript.png'. I can run that same 6 hour average
                  script but change it to output a contoured image, and
                  it is correct (the output is the 'fromscript.png'
                  image). However, that same exact code, when written to
                  binary format and then plotted is wrong. Somehow the
                  control file is messing up, but I cannot figure out
                  where.</div>
                <div><br>
                </div>
                <div>I have tested the 6hour average script using a
                  smaller domain than global (just the US) and adjusted
                  the control file accordingly and it works fine, but
                  the full global domain doesn't want to plot correctly
                  with that control file. Any ideas on what might be
                  going on? Thanks!</div>
                <div>
                  <div dir="ltr" class="gmail_signature">
                    <div dir="ltr">
                      <div dir="ltr">
                        <div dir="ltr">
                          <div><b>-------</b></div>
                          William (L.B.) LaForce IV<br>
                          Meteorologist</div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gradsusr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>
<a class="moz-txt-link-freetext" href="http://gradsusr.org/mailman/listinfo/gradsusr">http://gradsusr.org/mailman/listinfo/gradsusr</a>
</pre>
    </blockquote>
  </body>
</html>