BMF |
(BMF_write) |
SUBROUTINE BMF_write(iun,nom,ni,istart,iend,nj,jstart,jend,nk,kstart, &
kend,time1,time2,hgrid,vgrid,dtyp,scat,ndata,vecteur)
iun | File unit | integer | I |
nom Variable name | to be written | character*4 | I |
ni,nj,nj | "Total" size of field (see below) | integer | I |
(ijk)start | Beginning of the slice to be written | integer | I |
(ijk)end | End of the slice to be writen | integer | I |
time1 | timestamp 1:yyyymmdd | integer | I |
time2 | timestamp 2:hhmmsscc | integer | I |
hgrid | horizontal grid descriptor | integer | I |
vgrid | vertical grid descriptor | integer | I |
dtyp | Data type | integer | I |
scat | Unused scatter list descriptor (must set to 0) | integer | I |
ndata | Number of items in slice to be written | integer | I |
vecteur | Array to be written | depend of dtyp | I |
ierr = FNOM(iun,filename,'SEQ/UNF',0)
The array is of size ndata*nb_words where nb_words depends ofthe type of variable written.
Here are the recognized variable types (dtyp):
integer | => | 40 |
real*4 | => | 41 |
integer*8 | => | 80 |
real*8 | => | 81 |
complex | => | 82 |
character | => | 10 |
ni,nj,nk, (ijk)start and (ijk)end are attributes which will permit to place each slice of data correctly in the field. Timestamps with the variable name are used for unicity. At reading time, an array of size at least (ni,nj,nk) will be used to place each slice, limited by (istart:iend, jstart:jend, kstart:kend).
We must have:
1 <= imin < imax <= ni
Notice: until now, attributes hgrid, vgrid and scat are not used so, they must be set to 0