Thank you very much, that solved my problem!
Am 20. März 2012 04:34 schrieb Mary Haley <haley@ucar.edu>:
> Hi Torben,
>
> Perhaps the "k = 0" should be inside the first "do while" loop?
>
> Also, you don't need to keep recreating sml_temp inside the loop. You can do it once outside the loop:
>
>> sml_temp = new(dimsizes(y),float) ; dim: x,y,t
>> do while (i.le.n-1) ; loop for different cases
>
> If you need to, you can set sml_temp to all missing inside the loop before you start assigning it.
> This is only necessary if you are not assigning all values of sml_temp inside the second do loop:
>
> sml_temp = sml_temp@_FillValue
>
> I think your "do" loops can be simplified by using regular "do" rather than "do while":
>
> nt = dimsizes(t)
> do i=0,n-1
> . . .
> do k=0,nt-1
> . . .
> end do
> end do
>
> This way you don't need the "i = 0", "k = 0" initializers, or the "i=i+1" and "k=k+1" incrementors at all.
>
> --Mary
>
> On Mar 16, 2012, at 9:39 PM, Torben Mueller wrote:
>
>> Dear NCL community,
>>
>> I have a problem with the loop sketched below.
>> All my input arrays (ts and x) have defined values at all times).
>> Basically, I run through a number of cases and create a temporary
>> lon*lat*time matrix, average over the time dimension and assign it to
>> a new array with a time-average lon*lat matrix for every case n.
>> However in my final array (sml), I only get correct values for the
>> first i loop (i=0), afterwards I only get fill values.
>> Is there maybe a problem running once over an inner dimension and once
>> over an outer dimension?
>>
>> Thank you very much in advance!
>>
>> sml = new(dimsizes(x),float) ; dim:n,x,y
>>
>> i = 0
>> k = 0
>>
>> do while (i.le.n-1) ; loop for different cases
>>
>> sml_temp = new(dimsizes(y),float) ; dim: x,y,t
>>
>> do while (k.le.dimsizes(t)-1) ; time loop
>> sml_temp(:,:,k) = ts(i,k)*x(:,:,k)
>> k=k+1
>> end do
>>
>> ; average over the time dimension
>> sml(i,:,:) = dim_avg_n_Wrap(sml_temp,2)
>>
>> i=i+1
>> end do
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Mar 19 13:21:16 2012
This archive was generated by hypermail 2.1.8 : Tue Mar 20 2012 - 15:27:15 MDT