<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal">Dear gradusers,<span style="font-size:12.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Had a query that I was looking for help with. I've been downloading upper-level pressure ERA5 data from Copernicus Climate Change Service (C3S) in NETCDF format. Since the data volume is too large, I've had to break the downloads of the
hourly data into monthly increments. Thus, I have files:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ecmwf.era5.anal.hourly.pl.u.201407.nc ------ > containing July 2014 1-hourly output</p>
<p class="MsoNormal">ecmwf.era5.anal.hourly.pl.u.201408.nc ------ > containing August 2014 1-hourly output</p>
<p class="MsoNormal">ecmwf.era5.anal.hourly.pl.u.201409.nc ------ > containing September 2014 1-hourly output</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Of course wanting to open this data up in GrADS using a single GrADS control file to evaluate time series, I generated the GrADS control file shown below:</p>
<p class="MsoNormal">_____________________________________________</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:red">dset ^./ecmwf.era5.anal.hourly.pl.u.%y4%m2.nc<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">options yrev zrev template<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">title <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">undef -9.99e+33<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">unpack scale_factor add_offset<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">dtype netcdf<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">xdef 1440 linear 0 0.25<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">ydef 721 linear -90 0.25<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">zdef 19 levels 1000 975 950 925 900 875 850 825 800 775 750 700 650 600 500 400 300 200 100<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">tdef 2208 linear 00Z01JUL2014 60mn<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">vars 1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">u=>u 19 t,z,y,x U component of wind (m/s)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">endvars<o:p></o:p></span></p>
<p class="MsoNormal">_____________________________________________</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">At first glance this control file appeared to have worked. However, once I started quality controlling by comparing with the directly opened NETCDF files there were differences in the output for the second and third months. After some
digging around, I realized that the C3S service from ERA5 does not implement standard values for the
<span style="color:blue">scale_factor </span>and <span style="color:blue">add_offset
</span>when processed into NETCDF form. For example, using ncdump to examine the NETCDF files individually, I find:</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:red">NETCDF File: ecmwf.era5.anal.hourly.pl.u.201407.nc<o:p></o:p></span></p>
<p class="MsoNormal"> short u(time, level, latitude, longitude) ;</p>
<p class="MsoNormal"><span style="color:blue"> u:scale_factor = 0.00256569367738034 ;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:blue"> u:add_offset = 25.6669300437863 ;<o:p></o:p></span></p>
<p class="MsoNormal"> u:_FillValue = -32767s ;</p>
<p class="MsoNormal"> u:missing_value = -32767s ;</p>
<p class="MsoNormal"> u:units = "m s**-1" ;</p>
<p class="MsoNormal"> u:long_name = "U component of wind" ;</p>
<p class="MsoNormal"> u:standard_name = "eastward_wind" ;</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:red">NETCDF File: ecmwf.era5.anal.hourly.pl.u.201408.nc<o:p></o:p></span></p>
<p class="MsoNormal"> short u(time, level, latitude, longitude) ;</p>
<p class="MsoNormal"><span style="color:blue"> u:scale_factor = 0.00344970129404031 ;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:blue"> u:add_offset = 30.5973199491577 ;<o:p></o:p></span></p>
<p class="MsoNormal"> u:_FillValue = -32767s ;</p>
<p class="MsoNormal"> u:missing_value = -32767s ;</p>
<p class="MsoNormal"> u:units = "m s**-1" ;</p>
<p class="MsoNormal"> u:long_name = "U component of wind" ;</p>
<p class="MsoNormal"> u:standard_name = "eastward_wind" ;</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:red">NETCDF File: ecmwf.era5.anal.hourly.pl.u.201409.nc<o:p></o:p></span></p>
<p class="MsoNormal"> short u(time, level, latitude, longitude) ;</p>
<p class="MsoNormal"> <span style="color:blue">u:scale_factor = 0.002590087296414 ;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:blue"> u:add_offset = 21.8817387087932 ;<o:p></o:p></span></p>
<p class="MsoNormal"> u:_FillValue = -32767s ;</p>
<p class="MsoNormal"> u:missing_value = -32767s ;</p>
<p class="MsoNormal"> u:units = "m s**-1" ;</p>
<p class="MsoNormal"> u:long_name = "U component of wind" ;</p>
<p class="MsoNormal"> u:standard_name = "eastward_wind" ;</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Essentially, when I open my GrADS control file up, it is not reading these values for
<span style="color:blue">scale_factor </span>and <span style="color:blue">add_offset
</span>from each of the NETCDF files when time is changed into another month, only the first data file at the initial time (i.e., from file ecmwf.era5.anal.hourly.pl.u.201407.nc).</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Does anyone know of a way to account for this change with additional setting/manipulation in the GrADS control file, or will I need to reprocess the data once downloaded from C3S to standardize it to a single convention? BTW… I’m using
GrADS Version 2.1.a2.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for your assistance.</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,</p>
<p class="MsoNormal">Ned Vizy</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">______________________________________<br>
Dr. Edward "Ned" Vizy<br>
Research Scientist Associate V<br>
Department of Geological Sciences<br>
Jackson School of Geosciences<br>
The University of Texas at Austin<br>
Austin, TX 78712<br>
______________________________________</p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>