*=*=*=*= writehis.html =*=*=*=*
SUBROUTINE writehis

SUBROUTINE writehis


      SUBROUTINE writehis(unit,nq,ldrs,time,vcov,ucov,h,phi,q,pext,
     .                        phis,nbetat)
      IMPLICIT NONE
c=================================================================
c
c  Ecriture des fichiers de redemarrage sous format DRS
c
c  L.Fairhead 04/93
c
c  parametres:
c     unit:                      unite logique d'ecriture
c     time:                      pas de temps de la simulation
c     vcov, ucov, h, pext, phis: champs a ecrire
c     nbetat:                    Nbre d'etats qui seront ecrits
c
c=================================================================
#include "dimensions.h"
#include "paramet.h"
#include "description.h"
#include "drsdef.h"
#include "comvert.h"
#include "comgeom.h"

      INTEGER nq
      LOGICAL ldrs
      REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm)
      REAL h(ip1jmp1,llm)
      REAL pext(ip1jmp1)
      REAL phis(ip1jmp1)
      REAL q(ip1jmp1,llm,nq)
      REAL phi(ip1jmp1,llm)

      REAL time
      INTEGER nbetat
      INTEGER unit
      INTEGER ierr, setvdim, SETNAME, putdat, putvdim, cluvdb
      INTEGER it1, it2,iq
      character*2 str2

      IF(ldrs) THEN
c  Ecriture/extension de la coordonnee temps
      ierr = cluvdb()
      ierr = SETNAME(descript,'temps','temps simule','jours',' ')
      ierr = putvdim(unit,1,time,it1,it2)
      write(6,*)' writedem: it1, it2, ',it1 ,it2

c  Ecriture des champs
      ierr = cluvdb()
      ierr = SETVDIM(1,' ','rlonu',' ',' ',rlonu(1),rlonu(iip1))
      ierr = SETVDIM(2,' ','rlatu',' ',' ',rlatu(1),rlatu(jjp1))
      ierr = SETVDIM(3,' ','sig_s',' ',' ',sig_s(1),sig_s(llm))
      ierr = SETVDIM(4,' ','temps',' ',' ',time,time)
      ierr = SETNAME(descript,'ucov','vents u covariants','m/s',' ')
      ierr = putdat(unit,ucov)
      ierr = SETVDIM(1,' ','rlonv',' ',' ',rlonv(1),rlonv(iip1))
      ierr = SETVDIM(2,' ','rlatv',' ',' ',rlatv(1),rlatv(jjm))
      ierr = SETNAME(descript,'vcov','vents v covariants','m/s',' ')
      ierr = putdat(unit,vcov)
      ierr = SETVDIM(1,' ','rlonv',' ',' ',rlonv(1),rlonv(iip1))
      ierr = SETVDIM(2,' ','rlatu',' ',' ',rlatu(1),rlatu(jjp1))
      ierr = SETNAME(descript,'h','temperature potentielle',' ',' ')
      ierr = putdat(unit,h)

c
c   ..........     P. Le Van ( ajout  le 19/04/96 )   ............
c
      ierr = SETNAME(descript,'geop',
     *        'geopotentiel instantane','m**2/s/s',' ')
      ierr = PUTDAT(unit,phi)
c   ..............................................................
c
      IF(nq.GE.1) THEN
         DO iq=1,nq
            str2(1:1)='q'
            WRITE(str2(2:2),'(i1.1)') iq
            ierr = SETNAME(descript,str2,'traceur',' ',' ')
            ierr = putdat(unit,q(1,1,iq))
         ENDDO
      ENDIF
      ierr = cluvdb()
      ierr = SETVDIM(1,' ','rlonv',' ',' ',rlonv(1),rlonv(iip1))
      ierr = SETVDIM(2,' ','rlatu',' ',' ',rlatu(1),rlatu(jjp1))
      ierr = SETVDIM(3,' ','temps',' ',' ',time,time)
      ierr = SETNAME(descript,'pext','pression extensive','Pa',' ')
      ierr = putdat(unit,pext)
      ierr = SETNAME(descript,'phis','geopotentiel au sol',' ',' ')
      ierr = putdat(unit,phis)
      ELSE
         IF(nq.GE.1) THEN
            WRITE(unit) time,ucov,vcov,h,q,pext,phis
         ELSE
            WRITE(unit) time,ucov,vcov,h,q,pext,phis
         ENDIF
      ENDIF

      return
      end