*=*=*=*= iniwritefi.html =*=*=*=*
SUBROUTINE iniwritefi

SUBROUTINE iniwritefi


      SUBROUTINE iniwritefi(unit,ldrs,idayref)
      IMPLICIT NONE

c=======================================================================
c
c   Auteur:  P. Le Van
c   -------
c
c   Objet:
c   ------
c
c   ecriture du fichier histoire
c
c=======================================================================
c-----------------------------------------------------------------------
c   Declarations:
c   -------------

#include "dimensions.h"
#include "dimphys.h"
#include "comcstfi.h"
#include "comgeomfi.h"
#include "planete.h"
#include "surfdat.h"
#include "drscoorfi.h"
#include "drsdef.h"
#include "description.h"
#include "dimradmars.h"
#include "yomaer.h"

c   Arguments:
c   ----------

      INTEGER idayref
      LOGICAL ldrs
      INTEGER unit

c   Local:
c   ------
      integer length,ig,l
      parameter (length = 100)
      real tab_cntrl(length) ! tableau des parametres du run
      integer ierr, setvdim, putvdim, putdat, setname,cluvdb
      integer setdim
      integer ind1,indlast

c-----------------------------------------------------------------------
      write (*,*) 'dans iniwritefi, idayref =' , idayref

      DO l=1,nlayermx
         vert_coor(l)=float(l)
      ENDDO

      DO l=1,nlayermx+1
         vert2_coor(l)=float(l)
      ENDDO

      DO ig=1,ngridmx
         hor_coor(ig)=float(ig)
      ENDDO

      DO l=1,nsoilmx
         surf_coor(l)=float(l)
      ENDDO

      DO l=1,length
         tab_cntrl(l)=0.
      ENDDO

ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c pour la DOCUMENTATION    (fichier io/maj/fi_cntl)
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c Info sur la grille physique
      tab_cntrl(1) = float(ngridmx)  ! nombre de points de la grille physique
      tab_cntrl(2) = float(nlayermx) ! nombre de couches
      tab_cntrl(3) = float(idayref)  ! jour 0

c Info sur la Planete Mars pour la dynamique et la physique
      tab_cntrl(5) = rad      ! rayon de mars(m) ~3397200
      tab_cntrl(6) = omeg     ! vitesse de rotation (rad.s-1)
      tab_cntrl(7) = g        ! gravite (m.s-2) ~3.72
      tab_cntrl(8) = mugaz    ! Masse molaire de l'atm (g.mol-1) ~43.49
      tab_cntrl(9) = rcp      !  = r/cp  ~0.256793 (=kappa dans dynamique)
      tab_cntrl(10) = daysec  ! duree du sol (s)  ~88775

      tab_cntrl(11) = dtphys  ! pas de temps de la physique
      tab_cntrl(12) = 0.
      tab_cntrl(13) = 0.

c Info sur la Planete Mars pour la physique uniquement
      tab_cntrl(14) = year_day  ! duree de l'annee (sols) ~668.6
      tab_cntrl(15) = periheli  ! dist.min. soleil-mars (Mkm) ~206.66
      tab_cntrl(16) = aphelie   ! dist.max. soleil-mars (Mkm) ~249.22
      tab_cntrl(17) = peri_day  ! date du perihelie (sols depuis printemps)
      tab_cntrl(18) = obliquit  ! Obliquite de la planete (deg) ~23.98

c Couche limite et Turbulence
      tab_cntrl(19) = z0        ! surface roughness (m) ~0.01
      tab_cntrl(20) = lmixmin   ! longueur de melange ~100
      tab_cntrl(21) = emin_turb ! energie minimale ~1.e-8

c propriete optiques des calottes et emissivite du sol
      tab_cntrl(22) = albedice(1)  ! Albedo calotte nord ~0.5
      tab_cntrl(23) = albedice(2)  ! Albedo calotte sud ~0.5
      tab_cntrl(24) = emisice(1)   ! Emissivite calotte nord ~0.95
      tab_cntrl(25) = emisice(2)   ! Emissivite calotte sud ~0.95
      tab_cntrl(26) = emissiv      ! Emissivite du sol martien ~.95
      tab_cntrl(31) = iceradius(1) ! mean scat radius of CO2 snow (north)
      tab_cntrl(32) = iceradius(2) ! mean scat radius of CO2 snow (south)
      tab_cntrl(33) = dtemisice(1) ! time scale for snow metamorphism (north)
      tab_cntrl(34) = dtemisice(2) ! time scale for snow metamorphism (south)

c Proprietes des poussiere aerosol
      tab_cntrl(27) = tauvis      ! profondeur optique visible moyenne

      tab_cntrl(28) = 0.
      tab_cntrl(29) = 0.
      tab_cntrl(30) = 0.
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc


c  Ancien code radiatif
c     tab_cntrl(28) = piza(1,1) ! dust vis. single scat alb
c     tab_cntrl(29) = cga(1,1) ! dust vis. assym. factor
c     tab_cntrl(30) = caer(1,1)!ratio (mean IR opt.depth)/visible


      IF(ldrs) THEN
c  Ecriture DRS du tableau des parametres du run
      ierr = CLUVDB()
      ierr = SETDIM(1,'index',' ',length,1.,float(length))
      ierr = SETNAME(descript,'controle','Tableau des parametres du run'
     .              ,' ',' ')
      ierr = PUTDAT(unit,tab_cntrl)

c   Ecriture de coordonnees bidons
      ierr = SETNAME(descript,'hor_coor','Indice horizontal',
     .               'Entier',' ')
      ierr = PUTVDIM(unit,ngridmx,hor_coor,ind1,indlast)
      ierr = SETNAME(descript,'vert_coor','Indice vertical',
     .               'Entier',' ')
      ierr = PUTVDIM(unit,nlayermx,vert_coor,ind1,indlast)
      ierr = SETNAME(descript,'vert2_coor','Indice vertical (bords)',
     .               'Entier',' ')
      ierr = PUTVDIM(unit,nlayermx+1,vert2_coor,ind1,indlast)
      ierr = SETNAME(descript,'surf_coor','Indice vertical sol',
     .               'Entier',' ')
      ierr = PUTVDIM(unit,nsoilmx,surf_coor,ind1,indlast)

c  Ecriture des champs horizontaux
      ierr = CLUVDB()
      ierr =
     . SETVDIM(1,' ','hor_coor',' ',' ',hor_coor(1),hor_coor(ngridmx))

c  Ecriture des longitudes et latitudes
      ierr = SETNAME(descript,'long','Longitudes',
     .               'degres',' ')
      ierr = PUTDAT(unit,long)
      ierr = SETNAME(descript,'lati','Latitudes',
     .               'degres',' ')
      ierr = PUTDAT(unit,lati)
      ierr = SETNAME(descript,'area','Aires des mailles',
     .               'm^2',' ')
      ierr = PUTDAT(unit,area)

c   geopotentiel au sol
      ierr = SETNAME(descript,'phisfi','Geopotentiel au sol init',
     .               'm^2 s^-^2',' ')
      ierr = PUTDAT(unit,phisfi)

c   fichier albedodat
      ierr = SETNAME(descript,'albedodat','Albedo du sol nu',
     .               ' ',' ')
      ierr = PUTDAT(unit,albedodat)

c   fichier inertiedat
      ierr = SETNAME(descript,'inertiedat','Inertie thermique du sol',
     .               'SI',' ')
      ierr = PUTDAT(unit,inertiedat)

c!-*-
c   fichier pour les programmes de Francois Lott
      ierr = SETNAME(descript,'zmea','Relief moyen',
     .               'm',' ')
      ierr = PUTDAT(unit,zmea)

      ierr = SETNAME(descript,'zstd','ecartype du relief',
     .               'm',' ')
      ierr = PUTDAT(unit,zstd)

      ierr = SETNAME(descript,'zsig','Relief: parametre sigma',
     .               'm',' ')
      ierr = PUTDAT(unit,zsig)

      ierr = SETNAME(descript,'zgam','Relief: parametre gamma',
     .               'm',' ')
      ierr = PUTDAT(unit,zgam)

      ierr = SETNAME(descript,'zthe','Relief: parametre theta',
     .               'm',' ')
      ierr = PUTDAT(unit,zthe)
c!-*-


      ELSE
        print*,'TABLEAU DE CONTROLE PHYSIQUE!'
        print*,tab_cntrl
c       write(unit+1,*) 'tab_cntrl'
c       write(unit+1,'(3e25.15)') tab_cntrl
c       write(unit+1,*) 'long,lati,area,phisfi'
c       write(unit+1,'(3e25.15)') long,lati,area,phisfi
c       write(unit+1,*) 'albedodat,inertiedat'
c       write(unit+1,'(3e25.15)') albedodat,inertiedat
c       write(unit+1,*) 'zmea,zstd,zsig,zgam,zthe'
c       write(unit+1,'(3e25.15)') zmea,zstd,zsig,zgam,zthe
        write(unit) tab_cntrl
        write(unit) long,lati,area,phisfi
        write(unit) albedodat,inertiedat
        write(unit) zmea,zstd,zsig,zgam,zthe
      ENDIF

      RETURN
      END