Print

Print


Anthony Stone suggested:
> Perhaps you could declare a(30,40,1)?

Oliver Fuhrer replied:
>that's not really an option. I am working in a 250'000 lines code where 
>changing the dimensionality of a field potentially impacts _a lot_ of lines to 
>change (switching (i,j) to (i,j,1) throughout the whole program). I am looking 
>for a way for p(:,:,1:1) to point to a(:,:) somehow.

Well then, you could do it the other way around:
    Real,Target :: p(30,40,1)
    Real,Pointer :: a(:,:)
    a => a3(:,:,1)

Or if sometimes you want p to point to a, and sometimes to something else

   Real,Target :: a3(30,40,1)
   Real,Pointer :: a(:,:),p(:,:,:)
   a => a3(:,:,1)
   p => a3

Both of these work in plain F90, no complicated F2008 feature required!

Cheers.
-- 
................................Malcolm Cohen, Nihon NAG, Tokyo.