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.
|