CCC $Header$ CCC TOP 1.0 , LOCEAN-IPSL (2005) C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt C --------------------------------------------------------------------------- CCC CCC trcrst.mpp.h CCC *************** CCC CDIR$ NOLIST USE oce_trc USE trc USE sms IMPLICIT NONE CDIR$ LIST #if defined key_passivetrc CC---------------------------------------------------------------------- CC local declarations CC ================== INTEGER ino0,ino1,it0,it1,idast1,jn,iarak0,iarak1 C C C 0. initialisations C ------------------ C ino0 =no it0 =nit000 #if defined key_trc_cen2 iarak0=1 #else iarak0=0 #endif C IF(lwp) THEN WRITE(numout,*) ' ' WRITE(numout,*) ' *** trcrst beginning of restart for' WRITE(numout,*) ' passive tracer' WRITE(numout,*) ' the present run :' WRITE(numout,*) ' number job is : ',no WRITE(numout,*) ' with the time nit000 : ',nit000 IF(iarak0.eq.1) then WRITE(numout,*) ' and before fields for Arakawa sheme ' ENDIF WRITE(numout,*) ' ' ENDIF C C 1. READ C ------- C C 1.1 first record C READ(nutrst,REC=1) ino1,it1,iarak1 C IF(lwp) THEN WRITE(numout,*) ' ' WRITE(numout,*) ' READ nutrst with ' WRITE(numout,*) ' number job is : ',ino1 WRITE(numout,*) ' with the time it : ',it1 IF(iarak1.eq.1) then WRITE(numout,*) ' and before fields for Arakawa sheme ' ENDIF WRITE(numout,*) ' ' ENDIF C C 1.2 control of date C IF((it0-it1).ne.1.and.abs(nrsttr).eq.1) THEN IF(lwp) THEN WRITE(numout,*) ' ===>>>> : problem with nit000 for the', $ ' passive tracer restart' WRITE(numout,*) ' ======= ', $ ' ======================' WRITE(numout,*) ' we stop. verify the FILE' WRITE(numout,*) ' or rerun with the value 0 for the' WRITE(numout,*) ' control of time PARAMETER nrstdt' WRITE(numout,*) ' ' ENDIF STOP 'trcrst' ENDIF C C 1.3 Control of the sheme C IF(iarak0.ne.iarak1) THEN IF(lwp) THEN WRITE(numout,*) ' ===>>>> : problem with the', $ ' passive tracer restart file' WRITE(numout,*) ' ======= ', $ ' ===========================' WRITE(numout,*) ' we stop. verify the FILE' WRITE(numout,*) ' before field required IF 1=',iarak0 WRITE(numout,*) ' before field present in file IF 1=', $ iarak1 WRITE(numout,*) ' ' ENDIF STOP 'trcrst' ENDIF C C 1.4 READ prognostic variables C DO jn=1,jptra CALL read3(nutrst,trn(1,1,1,jn), jn + 1 ) END DO DO jn=1,jptra CALL read3(nutrst,trb(1,1,1,jn), jptra + jn + 1 ) END DO