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