<div dir="ltr"><div><div>Hi Dave,<br><br></div>I will look into this and likely file a bug report. At one point, there was an issue whereby if _FillValue (or any attribute) was added to a variable, it caused all the other attributes to be dropped (but the data was preserved). This was traced to a bug in the underlying NetCDF library, which was fixed in version 4.4.1 around summer 2016. The NetCDF library was going to a lot of effort to make it possible to rewrite a preexisting variable, so I would think the correct response is for it to "just work", rather than error out and do nothing?<br><br></div>Rick<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 28, 2017 at 2:59 PM, Dave Allured - NOAA Affiliate <span dir="ltr"><<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">NCL team,<div><br></div><div>Under some conditions, adding a _FillValue attribute to an existing Netcdf-4 file erases previous data. I find this behavior with both NCL 6.3.0 and 6.4.0 on Mac OS 10.11 (El Capitan). I get the same behavior with both netcdf4-classic and full netcdf4 formats.</div><div><br></div><div><div>mac56:~/ncl/bugs/fillvalue1 2> ncdump -s <a href="http://test3.nc" target="_blank">test3.nc</a> </div><div>netcdf test3 {</div><div>dimensions:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>dim = 10 ;</div><div>variables:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>int var(dim) ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>var:_Storage = "contiguous" ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>var:_Endianness = "little" ;</div><div><br></div><div>// global attributes:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_NCProperties = "version=1|netcdflibversion=4.<wbr>4.1|hdf5libversion=1.8.17" ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_SuperblockVersion = 0 ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_IsNetcdf4 = 1 ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_Format = "netCDF-4 classic model" ;</div><div>data:</div><div><br></div><div> var = 11, 22, 33, 44, 55, _, _, _, _, _ ;</div><div>}</div><div><br></div><div>mac56:~/ncl/bugs/fillvalue1 3> ncl</div><div> Copyright (C) 1995-2017 - All Rights Reserved</div><div> University Corporation for Atmospheric Research</div><div> NCAR Command Language Version 6.4.0</div><div> The use of this software is governed by a License Agreement.</div><div> See <a href="http://www.ncl.ucar.edu/" target="_blank">http://www.ncl.ucar.edu/</a> for more details.</div><div>ncl 0> f=addfile("<a href="http://test3.nc" target="_blank">test3.nc</a>","w")</div><div>ncl 1> f->var@_FillValue = 99</div><div>ncl 2> exit</div><div><br></div><div>mac56:~/ncl/bugs/fillvalue1 4> ncdump -s <a href="http://test3.nc" target="_blank">test3.nc</a></div><div>netcdf test3 {</div><div>dimensions:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>dim = 10 ;</div><div>variables:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">        </span>int var(dim) ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>var:_FillValue = 99 ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>var:_Storage = "contiguous" ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>var:_Endianness = "little" ;</div><div><br></div><div>// global attributes:</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_NCProperties = "version=1|netcdflibversion=4.<wbr>4.1|hdf5libversion=1.8.17" ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_SuperblockVersion = 0 ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_IsNetcdf4 = 1 ;</div><div><span class="m_7077803766920794331m_7973063563983683359m_6761569823105552128gmail-Apple-tab-span" style="white-space:pre-wrap">                </span>:_Format = "netCDF-4 classic model" ;</div><div>data:</div><div><br></div><div> var = _, _, _, _, _, _, _, _, _, _ ;</div><div>}</div></div><div><br></div><div>In my opinion, the correct response for netcdf-4 formats should be an error, something like "Can not change _FillValue after data is written in netcdf-4", and the file is unchanged. In any case, previous data should not be silently erased. If you agree, please fix this for the next release. Thanks.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>--Dave</div></font></span></div>
<br>______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/<wbr>mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>