<div dir="ltr">Will,<div><br></div><div>Find a completely different netcdf-4 file, preferably a very small and simple one, and retry my simple test to overwrite a single time coordinate value.  This will help differentiate between a file problem and an NCL problem.</div><div><br></div><div>Also try one other thing.  If by any chance your files are on a file server, then make local copies on your mac, and repeat the tests.  My work group has recently experienced compatibility problems with NFS mounted file servers and netcdf-4 files, accessed from Mac.</div><div><br></div><div>--Dave</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 29, 2016 at 9:16 PM, Will Hobbs <span dir="ltr">&lt;<a href="mailto:will.hobbs@utas.edu.au" target="_blank">will.hobbs@utas.edu.au</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="m_8631705864139276090m_-2872660423447519642WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Hi Dave<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">I tried your test but I still get the same segmentation fault, so I guess the problem is with the files.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Thanks anyway<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-family:Calibri;color:black">From: </span>
</b><span style="font-family:Calibri;color:black">Dave Allured - NOAA Affiliate &lt;<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>&gt;<br>
<b>Date: </b>Wednesday, 30 November 2016 at 11:29 AM<br>
<b>To: </b>Will Hobbs &lt;<a href="mailto:will.hobbs@utas.edu.au" target="_blank">will.hobbs@utas.edu.au</a>&gt;<br>
<b>Cc: </b>&quot;<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>&quot; &lt;<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>&gt;<br>
<b>Subject: </b>Re: [ncl-talk] Writing data to the existing record dimension of a netCDF<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Will, <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Please keep messages on the discussion list.  To debug your seg fault, try this simple test to overwrite a single junk time coordinate value:<br>
<br>
    fi = addfile (fil, &quot;w&quot;)<br>
    fi-&gt;time(0) = (/ 1.0d /)<br>
    print (&quot;Single value written&quot;)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">    exit<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">If this test works, the problem is probably in your code.  If this fails, there is probably something wrong with the file or with NCL, or else your time dimension is named something other than &quot;time&quot;.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">On your side question, t3 would still be a record variable because it shares the dimension name &quot;time&quot; with your old time coordinate variable, which is also a record variable.  I assumed that your actual time dimension name is &quot;time&quot;. 
 If the time dimension has a different name, please change &quot;time&quot; in these examples to the actual name of the time dimension.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">--Dave<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue, Nov 29, 2016 at 5:03 PM, Will Hobbs &lt;<a href="mailto:will.hobbs@utas.edu.au" target="_blank">will.hobbs@utas.edu.au</a>&gt; wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Hi Dave</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">I had a go trying what you suggested, (i.e. write a new time variable) and I still get the segmentation fault, so it’s possible
 there’s a problem with my file.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">As an aside, in your code snippet would the new file variables, t3, still be a record dimension? I presume not. This would become
 an issue with post-processing using CDO, NCO etc.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Thanks</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">Will</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"> </span><u></u><u></u></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-family:Calibri;color:black">From:
</span></b><span style="font-family:Calibri;color:black">Dave Allured - NOAA Affiliate &lt;<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>&gt;<br>
<b>Date: </b>Wednesday, 30 November 2016 at 10:38 AM<br>
<b>To: </b>Will Hobbs &lt;<a href="mailto:will.hobbs@utas.edu.au" target="_blank">will.hobbs@utas.edu.au</a>&gt;<br>
<b>Cc: </b>&quot;<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>&quot; &lt;<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>&gt;<br>
<b>Subject: </b>Re: [ncl-talk] Writing data to the existing record dimension of a netCDF</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Will,
<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">If the junk time array has the correct variable name and dimension name (probably both &quot;time&quot;), and a data type with sufficient precision, then the simplest method is to just overwrite
 the junk time coordinate values with correct time coordinates that you calculate in NCL.  I have found that trying to swap a new coordinate variable in place of an old one is very troublesome.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">As a side note, I just ran very simple tests on NCL 6.3.0 on Mac.  The following program easily added a new 1-D variable, to both netcdf-3 and netcdf-4 test files with unlimited
 time dimension.  In short, I do not see why your program crashed.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">    f = addfile (&quot;<a href="http://test.nc" target="_blank">test.nc</a>&quot;, &quot;w&quot;)<br>
    t3 = f-&gt;time      ; note both time and t3 are double in this case<br>
    f-&gt;t3 = t3          ; both have single dimension &quot;time&quot;<br>
    exit<br>
<br>
--Dave<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">On Tue, Nov 29, 2016 at 3:45 PM, Will Hobbs &lt;<a href="mailto:will.hobbs@utas.edu.au" target="_blank">will.hobbs@utas.edu.au</a>&gt; wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hi all</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I am working with some model output monthly files (one year for each file, with filename t.&lt;year&gt;.nc), which have a junk time array, and which I am
 trying to fix. I was hoping to create a new time array, add the values to each file’s time array, and update the variable attributes using NCO:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">&gt;Begin</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">yrst = 1979</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">yren=2014</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">vNam = “t”</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">;create new time array</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">ydum = new(12, integer)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">mdum = ispan(1,12,1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  ddum = conform_dims(12,15,-1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> tdum = conform_dims(12,0,-1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  opt          = 1</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  opt@calendar = &quot;standard&quot;</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  tunits        = &quot;days after 1-1-1&quot;</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">;loop through each year</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  do yy = yrst, yren</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    ;create time array</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    ydum = yy</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    ntime = cd_inv_calendar(ydum,mdum,ddum<wbr>,tdum,tdum,tdum,tunits,opt)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    ;add time to file</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    fil   =systemfunc(&quot;ls &quot;+vNam+&quot;.&quot;+yy+&quot;.nc&quot;)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    fi = addfile(fil,&quot;w&quot;)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    fi-&gt;time = (/ntime/)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">;update attributes</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  CMD = “ncatted –a time,units,o,c,”+tunits+” “+fil</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">system(CMD)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">end do</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Unfortunately when I try and write the data to file (i.e.    fi-&gt;time = (/ntime/) ) I get a segmentation fault:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Segmentation fault: 11</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I’ve checked the file permissions and it doesn’t seem to be that. I ‘speculate’ that netCDF won’t allow me to update the record dimension – is this
 the case? If so, presumably I will need rewrite each file from scratch with new time arrays.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Many thanks,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Will</span><u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
<p style="font-size:10pt;line-height:10pt;font-family:Calibri,sans-serif"><br>
<br>
University of Tasmania Electronic Communications Policy (December, 2014). <br>
This email is confidential, and is for the intended recipient only. Access, disclosure, copying, distribution, or reliance on any of it by anyone outside the intended recipient organisation is prohibited and may be a criminal offence. Please delete if obtained
 in error and email confirmation to the sender. The views expressed in this email are not necessarily the views of the University of Tasmania, unless clearly intended otherwise.
</p>
</div>

<br>______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">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/mailma<wbr>n/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div></div>