*=*=*=*= gradsread.html =*=*=*=*
FUNCTION gradsread

FUNCTION gradsread


      FUNCTION gradsread (unit,variable,var,it)
c=======================================================================
c   Objet:
c   ------
c   Lecture d'un champ du modele 2D ou 3D instantanne
c    dans un fichier DRS.
c   arguments:
c   ----------
c   entree:
c   -------
c   unit     INTEGER    unite logique pour la lecture DRS
c   varname  character*100 nom de la variable DRS
c   it       INTEGER    indice du temps a lire
c   sortie:
c   -------
c   var      REAL(surdimension) variable
c=======================================================================
      implicit none
#include  "dimensions.h"
#include  "paramet.h"
      INTEGER gradsread
      INTEGER imx,ijlmx
      parameter (ijlmx=(iim+1)*(jjm+1)*(llm+1))
      REAL var(iip1,jjp1,llm),zvar(ijlmx)
      character*100 variable,zvarname

      INTEGER i,j,l,lnblnk,longueur,im
      INTEGER unit,it,getnd,ix,ivar,ij

      integer nvarmx,nvar
      parameter (nvarmx=100)
      integer reclength,nlev,rec,nrectot
      character*40 varname
      common/gradsr/rec(nvarmx),varname(nvarmx),nlev(nvarmx)
     s   ,reclength,nrectot,nvar


      print*,'Lecture de la variable ',variable
      print*,'variable 1',varname(1)
      print*,'variable 2',varname(2)
      print*,'variable 3',varname(3)
      print*,'variable 4',varname(4)
      print*
      print*
      print*
      zvarname=varname(1)
      longueur=lnblnk(variable)
      print*,'longu ',longueur
      ivar=1
      dowhile(zvarname.ne.variable)
        print*,'ivar',ivar
        print*,zvarname
        print*,variable(1:longueur)
        ivar=ivar+1
        zvarname=varname(ivar)
      enddo
c     print*,'IVAR=',ivar,'  ',varname(ivar),'   LM=',nlev(ivar)
c     print*,'REC ',rec(ivar)
      do l=1,nlev(ivar)
         print*,'lecture couche ',l
         read(unit+1,rec=(it-1)*nrectot+rec(ivar)+l-1)
     s    (zvar((l-1)*reclength+ij),ij=1,reclength)
c        print*,'lecture couche ',l,' ok'
         im=reclength/(jjm+1)
c        call dump2d(im,jjm+1,zvar((l-1)*reclength+1),variable)
         do j=1,jjp1
            do i=1,iim
               var(i,j,l)=zvar((l-1)*reclength+(j-1)*im+i)
            enddo
            var(iim+1,j,l)=var(1,j,l)
         enddo
c        call dump2d(iim+1,jjm+1,var(1,1,l),variable)
      enddo


      return
      END