<div dir="ltr">Will,<div><br></div><div>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;)</div><div>    exit<br><br></div><div>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;.</div><div><br></div><div>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.</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 5:03 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">







<div bgcolor="white" lang="EN-US">
<div class="gmail-m_3585375044619071936WordSection1">
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri">Hi Dave<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri">Thanks<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri">Will<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11pt;font-family:calibri"><u></u> <u></u></span></p>
<div style="border-style:solid none none;border-top-color:rgb(181,196,223);border-top-width:1pt;padding:3pt 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<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">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:12pt">    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-style:none none none solid;border-left-color:rgb(204,204,204);border-left-width:1pt;padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11pt">Hi all</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">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:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">&gt;Begin</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">yrst = 1979</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">yren=2014</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">vNam = “t”</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">;create new time array</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">ydum = new(12, integer)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">mdum = ispan(1,12,1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  ddum = conform_dims(12,15,-1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> tdum = conform_dims(12,0,-1)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  opt          = 1</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  opt@calendar = &quot;standard&quot;</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  tunits        = &quot;days after 1-1-1&quot;</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">;loop through each year</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  do yy = yrst, yren</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    ;create time array</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    ydum = yy</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    ntime = cd_inv_calendar(ydum,mdum,<wbr>ddum,tdum,tdum,tdum,tunits,<wbr>opt)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">   </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    ;add time to file</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    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:11pt">    fi = addfile(fil,&quot;w&quot;)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">    fi-&gt;time = (/ntime/)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">;update attributes</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">  CMD = “ncatted –a time,units,o,c,”+tunits+” “+fil</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">system(CMD)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">end do</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">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:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">Segmentation fault: 11</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">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:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">Many thanks,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11pt">Will</span></p></div></div></blockquote></div></div></div></div></div></blockquote></div></div></div>