<div dir="ltr">This also sounds like an ideal spot for implementing the &#39;where&#39; function.<div><br></div><div><a href="https://www.ncl.ucar.edu/Document/Functions/Built-in/where.shtml">https://www.ncl.ucar.edu/Document/Functions/Built-in/where.shtml</a><br>

</div><div><br></div><div>pos_dd = where(tasC.ge.0,tasC,tasC@_FillValue)</div><div>total_pos_dd = dim_sum_n_Wrap(pos_dd,0)</div><div><br></div><div>This will assign the missing value of tasC to any location in the array that is greater than or equal to zero and have each point less than zero assigned to the missing value (usually in the _FillValue attribute. If tasC@_FillValue is not set, you can set it to anything). You can then add up the values over the 0th dimension (time) to get a total at each lat/lon point.</div>

<div><br></div><div>Hope that helps,</div><div><br></div><div><br></div><div>Kyle</div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr">----------------------------------------<div>Kyle S. Griffin</div>
<div>
Department of Atmospheric and Oceanic Sciences</div><div>University of Wisconsin - Madison</div><div>Room 1421</div><div>1225 W Dayton St, Madison, WI 53706</div><div>Email: <a href="mailto:ksgriffin2@wisc.edu" target="_blank">ksgriffin2@wisc.edu</a></div>

</div></div>
<br><br><div class="gmail_quote">On Mon, Aug 4, 2014 at 11:11 AM, Dennis Shea <span dir="ltr">&lt;<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div><div><div><div><div>The variable, tasC, is an *array * <br><div class=""><br>   tasC = tasL - 273.15 ; Convert K to C<br></div></div>   printVarSummary(tasC)<br><br></div>You can not use an array as a loop variable ... in any language.<br>


<br>  do tasC = 0,364<br><br></div>could be, say,<br><br>  do day = 0,364<br><br></div>See:<br><a href="https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclStatements.shtml#Loops" target="_blank">https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclStatements.shtml#Loops</a><br>


<br></div>Specifically:<br><pre>  do <i>loop_identifier</i> = <i>scalar_start_expr</i> , <i>end_expr<br><br></i></pre><pre><i>T</i>he &quot;scalar_start_expr , end_expr&quot; are scalar.</pre><br><div><div><div><div><br>

===<br>
<br>                 a = addfile(&quot;tas_day_CCSM4_lgm_<div class=""><div><a href="http://r2i1p1_18700101-19001231.nc" target="_blank">r2i1p1_18700101-19001231.nc</a>&quot;,&quot;r&quot;)<br>
                tasL  = a-&gt;tas(0:364,:,:)<br><br></div></div><div>                TIME = cd_calendar(tasL&amp;time,0)   ; TIME(ntim,6)<br></div><div>                print(TIME)<br></div><div class="">
<div><br></div><div>
                tasC = tasL - 273.15 ; Convert K to C<br></div></div><div>                tasC = where(tasC.gt.0.0, tasc, 0.0)<br></div><div>                pdd  = dim_sum_n_Wrap(tasC, 0)       ; (lat,lon)<br>
</div><div>                pdd@long_name = &quot;degree days for year=&quot;+toint(TIME(0,0))<br></div><div>                pdd@units = &quot;degC&quot;<br><br><br></div></div></div></div>
</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 4, 2014 at 9:16 AM, Lauren Jean Vargo <span dir="ltr">&lt;<a href="mailto:lvargo@unm.edu" target="_blank">lvargo@unm.edu</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I’m having trouble doing a calculation with NCL, ultimately I am trying to calculate the Positive degree-day (PDD) sum. I’ve read in daily temperature data (which is 3D [time,lat,lon]). What I am trying to do is calculate the sum of the temperatures that are greater than 0C for 1 year.<br>



<br>
The way I was trying to do this was with a loop, and to first set any temperature less than or equal to zero, just to zero. Next I want to sum all the temperatures over 365 days at each lat &amp; lon point. If there is an easier way to do this using NCL functions, that would be great.<br>



<br>
The error message that I am getting is that the “loop must be scalar&quot;. However, I’m not sure how to specify that I want the temperature value to be analyzed when tasC is (time,lat,lon).<br>
<br>
I’ve uploaded the file &quot;tas_day_CCSM4_lgm_r2i1p1_18700101-19001231.nc” to the ftp account.<br>
<br>
I’m running ncl version 6.1.2, and the system is Darwin Kernel Version 13.3.0<br>
<br>
<br>
Here is the script:<br>
<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl&quot;<br>
load “$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl&quot;<br>
<br>
begin<br>
<br>
; Read in near surface air temperature (Ta)<br>
<br>
                a = addfile(&quot;tas_day_CCSM4_lgm_r2i1p1_18700101-19001231.nc&quot;,&quot;r&quot;)<br>
                tasL = a-&gt;tas(0:364,:,:)<br>
                tasC = tasL - 273.15 ; Convert K to C<br>
                print (tasC)<br>
                printVarSummary (tasC)<br>
<br>
                do tasC = 0,364<br>
                        if (tasC .le. 0)<br>
                                H = 0<br>
                        end if<br>
                end do<br>
<br>
                PDD_sum = dim_cumsum_n_Wrap(tasC)<br>
<br>
end<br>
<br>
<br>
Any help would be greatly appreciated.<br>
<br>
Thanks,<br>
<br>
Lauren Vargo<br>
M.S. Candidate<br>
The University of New Mexico<br>
_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>