*=*=*=*= writehis.html =*=*=*=*
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