*=*=*=*= writedem.html =*=*=*=*
SUBROUTINE writedem

SUBROUTINE writedem


      SUBROUTINE writedem(unit,nq,ldrs,time,vcov,ucov,h,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=======================================================================
c
c  .....   Modif  P. Le Van  (  4/7/96 ,  ajout de   SETREP  )   ......
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 time
      INTEGER nbetat
      INTEGER unit
      INTEGER ierr, SETVDIM, SETNAME, PUTDAT, PUTVDIM, CLUVDB
      INTEGER SETREP
      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',' ')
#ifdef CRAY
      ierr = SETREP(idrs_cray_r8)
#endif
      ierr = PUTDAT(unit,ucov)
c
      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',' ')
#ifdef CRAY
      ierr = SETREP(idrs_cray_r8)
#endif
      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',' ',' ')
#ifdef CRAY
      ierr = SETREP(idrs_cray_r8)
#endif
      ierr = PUTDAT(unit,h)
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',' ',' ')
#ifdef CRAY
            ierr = SETREP(idrs_cray_r8)
#endif
            ierr = PUTDAT(unit,q(1,1,iq))
         ENDDO
      ENDIF
c
      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',' ')
#ifdef CRAY
      ierr = SETREP(idrs_cray_r8)
#endif
      ierr = PUTDAT(unit,pext)
c
      ierr = SETNAME(descript,'phis','geopotentiel au sol',' ',' ')
#ifdef CRAY
      ierr = SETREP(idrs_cray_r8)
#endif
      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