<div dir="ltr"><div>I believe we have been through some of this before:<br><br>-------------------------------------------------------<br>On 1 April 2017<br><br>There was an email about<br>&quot;[ncl-talk] Plotting Multiple time series of same variable from 9 different files (2005-2013)&quot;<br><br>Several people replied including me. In fact, I attached two scripts:<br>   (1) read the txt (ascii) files and plotted the desired time series<br>   (2) created a single netCDF file from one test (ascii) file<br><br>Requested by me:<br> &quot;Please: Carefully go through the tutorial at:<br>   <a href="http://www.ncl.ucar.edu/Document/Manuals/NCL_User_Guide/">http://www.ncl.ucar.edu/Document/Manuals/NCL_User_Guide/</a><br>  You must put some effort into learning a computer language.&quot;<br><br>====<br>Your latest script:<br><br>[A]<br>    files = systemfunc(&quot;ls &quot; + wkdir +&quot;AOT_550*.txt&quot;)<br>    You are getting *txt* [text, ascii] files.<br><br>[B]<br>    You use &#39;addfiles&#39; and &#39;addfiles_GetVar&#39;. **Neither reads text (ascii) files.**<br><br>    <a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml">https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml</a><br><br>    Further, addfiles_GetVar is &quot;deprected&quot; and the documentation says to use &#39;addfiles&#39;<br>    PLEASE read the documentation for the functions you are using.<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br><br>I have attached a script that will convert each .txt file to a netCDF file.<br>It also creates 3 different &#39;time&#39; variables to facilitate usage: time, yyyyddd, yyyymmdd<br><br>  %&gt; ncl AOT_txt2nc.ncl<br><br>PLEASE examine the netCDF files produced by the above script  via<br><br>  %&gt; ncl_filedump -v time,yyyyddd,yyyymmdd AOT_550_2005.nc<br>or<br>  %&gt; ncdump -v time,yyyyddd,yyyymmdd AOT_550_2005.nc<br><br>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br><br>The attached &#39;najiby_monthly.ncl&#39; (requires NCL 6.4.0) script computes the monthly means.<br><br></div>NOTE: The most important rule of data processing is:  LOOK AT YOUR DATA!<br><div><br>Some of the months have only one day (value). Computing a monthly mean based uoon one value is<br>not appropriate. In fact, not one year has complete daily values.<br><br>      yyyy   days<br>      2005 - 266<br>      2006 - 270<br>      2007 - 300<br>      2008 - 216<br>      2009 - 178<br>      2010 -   9<br>      2011 -  89<br>      2012 - 249<br>      2023 - 124<br>      2014 - 156<br><br>The driver script [ najiby_monthly.ncl ] that calculates the monthly means requires 10 values before a monthly mean is calculated.<br><br>   <a href="https://www.ncl.ucar.edu/Document/Functions/Contributed/calculate_monthly_values.shtml">https://www.ncl.ucar.edu/Document/Functions/Contributed/calculate_monthly_values.shtml</a><br>   You will need NCL 6.4.0<br><br>If you do not have NCL-6.4.0, I have attached the function: calculate_monthly_values.640.ncl<br>You will have to explicitily (manually) load it. [you must unzip the file: gzip -d ...]<br><br>===<br></div><div>Actually, I have decided to alos attache the ASCII (.txt) and netCDF (.nc) files containg the monthly mean data.<br></div><div><br>Again, **please read the documentation for the functions you are using.**<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jun 17, 2017 at 4:22 AM,  <span dir="ltr">&lt;<a href="mailto:najib.yusuf@carnasrda.com" target="_blank">najib.yusuf@carnasrda.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Hi Rick,<br>
<br>
  Thank you for your response. The asciiread part of the program works<br>
well, there is no error in there, that is why<br>
  I didn&#39;t bother you with it, I only cut part that has the problem from<br>
the printed output as well as from the program due to    length of the<br>
files. I will correct the addfiles command with &quot;.txt&quot; files and revert.<br>
<br>
  Thank you.<br>
<br>
  Najib<br>
<div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
On 2017-06-16 13:48, Rick Brownrigg wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; There must be more going on to this script than is shown.  The printed<br>
&gt; output does not align with print statements in the script, and I don&#39;t<br>
&gt; believe an addfiles command works with &quot;.txt&quot; files. The error message<br>
&gt; is coming from asciiread(), which does not appear anywhere in the<br>
&gt; script you&#39;ve shown. In any case, the error message is telling you<br>
&gt; that there is no variable names AOT_550 in the files. Are there other<br>
&gt; error messages from the script?<br>
&gt;<br>
&gt; Rick<br>
&gt;<br>
&gt; On Fri, Jun 16, 2017 at 8:41 AM, &lt;<a href="mailto:najib.yusuf@carnasrda.com">najib.yusuf@carnasrda.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; -------- Original Message --------<br>
&gt;&gt; Subject: Deriving monthly mean from files of ten years data<br>
&gt;&gt; Date: 2017-06-16 10:00<br>
&gt;&gt; From: <a href="mailto:najib.yusuf@carnasrda.com">najib.yusuf@carnasrda.com</a><br>
&gt;&gt; To: <a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
&gt;&gt; Cc: <a href="mailto:shea@ucar.edu">shea@ucar.edu</a><br>
&gt;&gt;<br>
&gt;&gt; Dear ncl experts,<br>
&gt;&gt;<br>
&gt;&gt; I am trying to derived monthly mean (for example all January,<br>
&gt;&gt; all<br>
&gt;&gt; February....all December) mean from 10 files (0-9) years of Julian<br>
&gt;&gt; date,<br>
&gt;&gt; so I can plot the mean on the bulk of the data. I tried but I got an<br>
&gt;&gt; error;<br>
&gt;&gt;<br>
&gt;&gt; ;  to derive the mean of the data<br>
&gt;&gt;<br>
&gt; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<wbr>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<wbr>;;;;;;;;;;;;;;;;;<br>
&gt;&gt; wkdir = &quot;./&quot;<br>
&gt;&gt; fil_dat  = &quot;AOT_550&quot;<br>
&gt;&gt; ; list all AOT files for different years<br>
&gt;&gt; files = systemfunc(&quot;ls &quot; + wkdir +&quot;AOT_550*.txt&quot;)<br>
&gt;&gt; print(files)<br>
&gt;&gt;<br>
&gt;&gt; ; read years (files)<br>
&gt;&gt; files10 = files(0:9)<br>
&gt;&gt; print(files10)<br>
&gt;&gt; f = addfiles(files10, &quot;r&quot;)<br>
&gt;&gt; AOT = addfiles_GetVar(f,files10,&quot;<wbr>AOT_550&quot;)<br>
&gt;&gt; time = addfiles_GetVar(f,files10,&quot;<wbr>time&quot;)<br>
&gt;&gt;<br>
&gt;&gt; ; get date<br>
&gt;&gt; t1=calendar_decode2(time,0)<br>
&gt;&gt; ; get day of year<br>
&gt;&gt; printVarSummary(t1)<br>
&gt;&gt; ndays = 365<br>
&gt;&gt; doy = ndays<br>
&gt;&gt; doy(9) = 365<br>
&gt;&gt; print(doy)<br>
&gt;&gt;<br>
&gt;&gt; ; read only  monthly mean (not sure?)<br>
&gt;&gt; AOT_550_all12 = AOT_550_all12(0:11)<br>
&gt;&gt; print(AOT_550_all12)<br>
&gt;&gt;<br>
&gt;&gt; f = addfiles(files12, &quot;r&quot;)<br>
&gt;&gt; AOT = addfiles_GetVar(f,AOT_550_<wbr>all12,&quot;AOT_550_all&quot;)<br>
&gt;&gt; time = addfiles_GetVar(f,AOT_550_<wbr>all12,&quot;time&quot;)<br>
&gt;&gt; ; get date<br>
&gt;&gt; t1=calendar_decode2(time,0)<br>
&gt;&gt; ; get day of year<br>
&gt;&gt; printVarSummary(t1)<br>
&gt;&gt;<br>
&gt; doy=day_of_year(floattoint(t1(<wbr>:,0)),floattoint(t1(:,1)),<wbr>floattoint(t1(:,2)))<br>
&gt;&gt; ; move to mid-months<br>
&gt;&gt; doy=doy-15<br>
&gt;&gt; doy(11:9) = 365 ;<br>
&gt;&gt; print(doy)<br>
&gt;&gt; AOT_550_all12 = AOT<br>
&gt;&gt;<br>
&gt;&gt; printVarSummary(AOT)<br>
&gt;&gt;<br>
&gt;&gt; Variable: variables<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 56 bytes<br>
&gt;&gt; 7 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [7]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; Number Of Attributes: 1<br>
&gt;&gt; _FillValue : missing<br>
&gt;&gt; (0)     Day<br>
&gt;&gt; (1)     AOT_675<br>
&gt;&gt; (2)     AOT_500<br>
&gt;&gt; (3)     AOT_440<br>
&gt;&gt; (4)     440-675Angstrom<br>
&gt;&gt; (5)     ╬▒<br>
&gt;&gt; (6)     AOT_550<br>
&gt;&gt;<br>
&gt;&gt; Variable: files (subsection)<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 8 bytes<br>
&gt;&gt; 1 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [1]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; (0)     /home/model-user/AOT_550_2014.<wbr>txt<br>
&gt;&gt; warning:asciiread: End of file reached and only (157) elements were<br>
&gt;&gt; read<br>
&gt;&gt; from the file, filling remaining elements with the default missing<br>
&gt;&gt; value<br>
&gt;&gt; for the requested type<br>
&gt;&gt;<br>
&gt;&gt; Variable: z1<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 2928 bytes<br>
&gt;&gt; 366 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [366]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; Number Of Attributes: 1<br>
&gt;&gt; _FillValue : missing<br>
&gt;&gt;<br>
&gt;&gt; Variable: new_str<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 20496 bytes<br>
&gt;&gt; 2562 values<br>
&gt;&gt; Number of Dimensions: 2<br>
&gt;&gt; Dimensions and sizes:   [366] x [7]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; Number Of Attributes: 1<br>
&gt;&gt; _FillValue : missing<br>
&gt;&gt;<br>
&gt;&gt; Variable: variables<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 56 bytes<br>
&gt;&gt; 7 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [7]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; Number Of Attributes: 1<br>
&gt;&gt; _FillValue : missing<br>
&gt;&gt; (0)     Day<br>
&gt;&gt; (1)     AOT_675<br>
&gt;&gt; (2)     AOT_500<br>
&gt;&gt; (3)     AOT_440<br>
&gt;&gt; (4)     440-675Angstrom<br>
&gt;&gt; (5)     ╬▒<br>
&gt;&gt; (6)     AOT_550<br>
&gt;&gt;<br>
&gt;&gt; Variable: AOT_550_all<br>
&gt;&gt; Type: float<br>
&gt;&gt; Total Size: 14600 bytes<br>
&gt;&gt; 3650 values<br>
&gt;&gt; Number of Dimensions: 2<br>
&gt;&gt; Dimensions and sizes:   [years | 10] x [days | 365]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; Number Of Attributes: 1<br>
&gt;&gt; _FillValue : 9.96921e+36<br>
&gt;&gt;<br>
&gt;&gt; Variable: files<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 80 bytes<br>
&gt;&gt; 10 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [10]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; (0)     /home/model-user/AOT_550_2005.<wbr>txt<br>
&gt;&gt; (1)     /home/model-user/AOT_550_2006.<wbr>txt<br>
&gt;&gt; (2)     /home/model-user/AOT_550_2007.<wbr>txt<br>
&gt;&gt; (3)     /home/model-user/AOT_550_2008.<wbr>txt<br>
&gt;&gt; (4)     /home/model-user/AOT_550_2009.<wbr>txt<br>
&gt;&gt; (5)     /home/model-user/AOT_550_2010.<wbr>txt<br>
&gt;&gt; (6)     /home/model-user/AOT_550_2011.<wbr>txt<br>
&gt;&gt; (7)     /home/model-user/AOT_550_2012.<wbr>txt<br>
&gt;&gt; (8)     /home/model-user/AOT_550_2013.<wbr>txt<br>
&gt;&gt; (9)     /home/model-user/AOT_550_2014.<wbr>txt<br>
&gt;&gt;<br>
&gt;&gt; Variable: files10<br>
&gt;&gt; Type: string<br>
&gt;&gt; Total Size: 80 bytes<br>
&gt;&gt; 10 values<br>
&gt;&gt; Number of Dimensions: 1<br>
&gt;&gt; Dimensions and sizes:   [10]<br>
&gt;&gt; Coordinates:<br>
&gt;&gt; (0)     /home/model-user/AOT_550_2005.<wbr>txt<br>
&gt;&gt; (1)     /home/model-user/AOT_550_2006.<wbr>txt<br>
&gt;&gt; (2)     /home/model-user/AOT_550_2007.<wbr>txt<br>
&gt;&gt; (3)     /home/model-user/AOT_550_2008.<wbr>txt<br>
&gt;&gt; (4)     /home/model-user/AOT_550_2009.<wbr>txt<br>
&gt;&gt; (5)     /home/model-user/AOT_550_2010.<wbr>txt<br>
&gt;&gt; (6)     /home/model-user/AOT_550_2011.<wbr>txt<br>
&gt;&gt; (7)     /home/model-user/AOT_550_2012.<wbr>txt<br>
&gt;&gt; (8)     /home/model-user/AOT_550_2013.<wbr>txt<br>
&gt;&gt; (9)     /home/model-user/AOT_550_2014.<wbr>txt<br>
&gt;&gt; fatal:No valid instance of variable AOT_550 found in file list<br>
&gt;&gt; fatal:[&quot;Execute.c&quot;:8575]:<wbr>Execute: Error occurred at or near line<br>
&gt;&gt; 6095 in<br>
&gt;&gt; file<br>
&gt;&gt;<br>
&gt; /home/model-user/NCL/ncl-6.3.<wbr>0/lib/ncarg/nclscripts/csm/<wbr>contributed.ncl<br>
&gt;&gt;<br>
&gt;&gt; Please assist to put me through.<br>
&gt;&gt;<br>
&gt;&gt; Thank you for your time.<br>
&gt;&gt;<br>
&gt;&gt; Najib<br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; ncl-talk mailing list<br>
&gt;&gt; <a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
&gt;&gt; List instructions, subscriber options, unsubscribe:<br>
</div></div>&gt;&gt; <a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/<wbr>mailman/listinfo/ncl-talk</a> [1]<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Links:<br>
&gt; ------<br>
&gt; [1] <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>
<div class="HOEnZb"><div class="h5">______________________________<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>
</div></div></blockquote></div><br></div>