<div dir="ltr">Ok, so I know I can &#39;easily&#39; do this via a massive if block but I&#39;m trying to avoid that, and I have been. I have a calculation that will return a unique value depending on which t it&#39;s running on.<div><br></div><div>So when I get to t=10 I need to run a calculation on data contained in t=1, t=2, t=3, etc. t=20 would need to run the calculation t=1, t=2, t=3, etc up to t=20. The actual value of of each t would be the same for the entire run if that helps to understand though.</div><div><br></div><div>So take this horrible example:</div><div><br></div><div>&#39;define t2m = tmp2m-273.15&#39;<br></div><div>&#39;d t2m+allpreviousforecasthourt2ms&#39;</div><div><br></div><div>Now, the other key is that I don&#39;t download all files and then run in one big loop. I download each file one-by-one and process one-by-one, in real-time, as they are released.</div><div><br></div><div>A real snippet of how I&#39;m currently achieving this would look like:</div><div><br></div><div>if (t=2)<br></div><div><div>&#39;set t 2&#39;<br></div><div>&#39;define t2m06 = tmp2m-273.15&#39;<br></div><div><br></div><div>&#39;define t2mtotal= t2m06&#39; <br></div><div>&#39;d t2mtotal&#39;<br></div><div>endif</div><div><br></div><div>if (t=3)</div><div><div>&#39;set t 2&#39;<br></div><div>&#39;define t2m06 = tmp2m-273.15&#39;<br></div><div><br></div></div><div>&#39;set t 3&#39;</div><div>&#39;define t2m12 = tmp2m-273.15&#39;</div><div><br></div><div>&#39;define t2mtotal= t2m06+t2m12&#39; <br></div><div>&#39;d t2mtotal&#39;<br></div><div>endif</div></div><div><br></div><div><div>if (t=4)</div><div><div>&#39;set t 2&#39;<br></div><div>&#39;define t2m06 = tmp2m-273.15&#39;<br></div><div><br></div></div><div>&#39;set t 3&#39;</div><div>&#39;define t2m12 = tmp2m-273.15&#39;</div><div><br></div><div><div>&#39;set t 4&#39;</div><div>&#39;define t2m18 = tmp2m-273.15&#39;</div></div><div><br></div><div>&#39;define t2mtotal= t2m06+t2m12+t2m18&#39; <br></div><div>&#39;d t2mtotal&#39;<br></div><div>endif</div></div><div><br></div><div><br></div><div><br></div><div>So, whether t2m06 is ran during hour 06, 12, 18, 240, etc t2m06 is going to be the exact same value. As you can see, the if blocks get exponentially bigger each t and that&#39;s what concerns me in terms of grads memory limits or if there&#39;s simply a better/faster approach.</div><div>
</div></div>