Hi Lombardi,
Occasionally, I use malloc in FORTRAN programs.
But when I don't, I make a big static allocation in the main program,
and then do the I/O in subroutines, with variable length arrays.
For example
real mat(1000000)
...
nx = 5
ny = 6
nz = 7
call scribere(mat,nx,ny,nz)
The subroutine looks like this
subroutine scribere(myarray,n1,n2,n3)
real myarray(n1,n2,n3)
...
call ncvpt( CDFID, varid, START, count, myarray, ICODE )
You can make input subroutines that use this same feature.
Please write to me if you have more questions.
Bill
> Hi,
> I'm a fortran netcdf new user, and I neeed some help.
>
> Since i fortran (not using the non-standard malloc) you have to
> define the arrays at compile time, I' m used to do it using
> dimension bigger than the maximum expected.
>
> For istance:
> real mat(100,100,100)
>
> for beeing ready to have space for any array up to this dimension
>
> Let now assume my real data is a 5*6*7 array (that is I used only
> part of tha available space) filled in this way:
>
> do i=1,5
> do j=1,6
> do k=1,7
> mat(i,j,k)=......
> enddo
> enddo
> enddo
>
> How do i vrite this (5*6*7) variable in a netcdf file?
> I suppose using NCVPT or NCVPTG but I have not been able to do it.
>
> In another program I
> need to read the (5*6*7) data in a bigger array ready to contain
> any-sized data.
> Here again I suppose I need to use NCVGT or NCVGTG but I did'nt
> find out the way.
>
> Please don't tell me to read the manual becouse I've already done it
> but it is to difficult for me to find out the way to use
> the arrays STRIDE and IMAP described there.
>
>
>
> Thank a lot from Italy
>
> Emanuele Lombardi
> mail: ENEA AMB-CLIM-NUM
> I-00060 S.M. di Galeria (RM) ITALY
> email: lele@xxxxxxxxxxxxxxxxxxxxxxxxx
> tel +39 6 30483366
> fax +39 6 30483591
>
>
--
William Weibel weibel@xxxxxxxxxxxxxx
UCLA Department of Atmospheric Sciences Tel. (310)206-4441 \\\\/
Los Angeles, CA 90095-1565 Fax (310)206-5219 O-O
U.S.A. |
-
'Why,' said the Dodo, 'the best way to explain it is to do it.'
Alice's Adventures in Wonderland
|||| | | | | | | | | | | | | | | | | | | | | | | ||||