<div dir="ltr">Stuart,<div><br></div>You are welcome.  Also please take a look at the wgt_areaave family of functions, which are specifically intended for spatial averaging.  They are slightly more complicated than the simple averaging method that I showed.  The advantage of wgt_areaave functions is that they account for variations in actual grid cell areas on the surface of the earth.<div><br></div><div>--Dave</div><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 16, 2018 at 12:25 PM, Smith, Stuart <span dir="ltr"><<a href="mailto:smit1770@purdue.edu" target="_blank">smit1770@purdue.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_4374574139318422062WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Dave,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thank you very much for your help, and taking the time to walk me through the steps.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Regards,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">-Stuart <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Dave Allured - NOAA Affiliate [mailto:<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>] <br><b>Sent:</b> Thursday, March 15, 2018 4:09 PM<br><b>To:</b> Smith, Stuart <<a href="mailto:smit1770@purdue.edu" target="_blank">smit1770@purdue.edu</a>><br><b>Cc:</b> Ncl-talk <<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>><br><b>Subject:</b> Re: [ncl-talk] Plotting netCDF<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Stuart,<br><br>When reading the whole array, subscripts are not needed.  Just use whole array syntax:<br><br>    x = f->ppt<br><br>You did not fix the mismatched _FillVallue problem that I mentioned before.  You will need to either fix the file, or else add this kludge to make NCL properly recognize the missing values after they are read in:<br><br>    x@_FillValue := todouble (x@missing_value)<br><br>With that fix, it looks like your <a href="http://ppt.nc" target="_blank">ppt.nc</a> data file is pre-masked for a predetermined spatial area.  To calculate a simple spatial average time series for all grid points within that predetermined area, just use a simple unweighted array averaging function:<br><br>    dim_select = (/ 1, 2 /)        ; select lat and lon dims to average over<br>    spatial_aves = dim_avg_n_Wrap (x, dim_select)     ; makes a 1-D time series<br><br>Please read the function documentation for dim_avg_n and dim_avg_n_Wrap, for more details.<br><br>If you need latitude weighting, or you need to select a smaller spatial area within the existing domain, then more code will be needed.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">--Dave<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On Wed, Mar 14, 2018 at 8:06 AM, Smith, Stuart <<a href="mailto:smit1770@purdue.edu" target="_blank">smit1770@purdue.edu</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Dave,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Thanks for the feedback. I was able to get more data. The runoff data didn’t look useful, so I have attached another variable (precipitation) which had more data over the spatial area, but still missing data (-9999). The variables are:</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884msolistparagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">0)</span><span style="font-size:7.0pt;color:#1f497d">      </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">PPT=Precipitation</span><u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884msolistparagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">1)</span><span style="font-size:7.0pt;color:#1f497d">      </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">T = Time</span><u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884msolistparagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">2)</span><span style="font-size:7.0pt;color:#1f497d">      </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">X= Longitude</span><u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884msolistparagraph"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">3)</span><span style="font-size:7.0pt;color:#1f497d">      </span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Y = Latitude</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">In order to calculate spatial averages over time would I read in all dimensions, similar to what you have described below and calculate the average using a function? Thank you for your time.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal">    x = f->runoff(:,:,:)        ; x will be read as a 3-D array<u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Regards,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">-Stuart</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Dave Allured - NOAA Affiliate [mailto:<a href="mailto:dave.allured@noaa.gov" target="_blank">dave.allured@noaa.gov</a>] <br><b>Sent:</b> Tuesday, March 13, 2018 5:12 PM<br><b>To:</b> Smith, Stuart <<a href="mailto:smit1770@purdue.edu" target="_blank">smit1770@purdue.edu</a>><br><b>Cc:</b> Ncl-talk <<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>><br><b>Subject:</b> Re: [ncl-talk] Plotting netCDF</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Stuart,<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">That is a strange Netcdf file.  It is a time series of 45 x 29 grids, but all grid points are missing values, except for one corner point at (*,0,0).  You can extract the corner point as a 1-D time series, and make a line plot and other 1-D analysis.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">    x = f->runoff(:,0,0)        ; x will be read as a 1-D array<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">However, you requested how to calculate spatial averages.  That does not make sense if you do not have valid data over multiple grid points.  So either you can just do 1-D plots and analysis, or you need to go back to your data source and get a file with valid data over your desired spatial area.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">If you get another data file, also please ask the provider to make the _FillValue match the array data type, which is "double" in this case.<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><div><div><p class="MsoNormal">On Tue, Mar 13, 2018 at 2:20 PM, Smith, Stuart <<a href="mailto:smit1770@purdue.edu" target="_blank">smit1770@purdue.edu</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt"><div><div><p class="MsoNormal">Good afternoon,<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">I received a netCDF file that has a format I am unfamiliar with and wanted guidance on calculating spatial averages over time. Attached is a copy of the .nc file. The variables are:<u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884m-2497627876462014960msolistparagraph">0)<span style="font-size:7.0pt">      </span>Runoff <u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884m-2497627876462014960msolistparagraph">1)<span style="font-size:7.0pt">      </span>T=Time<u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884m-2497627876462014960msolistparagraph">2)<span style="font-size:7.0pt">      </span>X= Longitude<u></u><u></u></p><p class="m_4374574139318422062gmail-m1337615567738090884m-2497627876462014960msolistparagraph">3)<span style="font-size:7.0pt">      </span>Y = Latitude<u></u><u></u></p><p class="MsoNormal">When defining variables for runoff (ex. Var = fi->runoff ), the output format is the following:<u></u><u></u></p><p class="MsoNormal">(0,0,0)    0<u></u><u></u></p><p class="MsoNormal">(0,0,1) -9999<u></u><u></u></p><p class="MsoNormal">(0,0,2) -9999<u></u><u></u></p><p class="MsoNormal">(0,0,3) -9999<u></u><u></u></p><p class="MsoNormal">(0,0,4) -9999<u></u><u></u></p><p class="MsoNormal">……..<u></u><u></u></p><p class="MsoNormal">(1,0,0)    0<u></u><u></u></p><p class="MsoNormal">(1,0,1) -9999<u></u><u></u></p><p class="MsoNormal">(1,0,2) -9999<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">The next value will not appear until (1,0,0). I wanted to ask how I would plot such data, and calculate averages over the area with the given format?  Thank you for your time.<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Regards,<u></u><u></u></p><p class="MsoNormal"><span style="color:#888888"> </span><u></u><u></u></p><p class="MsoNormal"><span style="color:#888888">-Stuart</span><u></u><u></u></p></div></div></blockquote></div></div></div></div></div></blockquote></div></div></div></div></div></div></blockquote></div><br></div></div></div>