- Timestamp:
- 2015-06-19T18:07:11+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5107_mld_zint/NEMOGCM/NEMO/TOP_SRC/trcrst.F90
r5247 r5447 51 51 CHARACTER(LEN=20) :: clkt ! ocean time-step define as a character 52 52 CHARACTER(LEN=50) :: clname ! trc output restart file name 53 CHARACTER(LEN=256) :: clpath ! full path to ocean output restart file 53 54 !!---------------------------------------------------------------------- 54 55 ! … … 56 57 IF( kt == nittrc000 ) THEN 57 58 lrst_trc = .FALSE. 58 nitrst = nitend 59 ENDIF 60 61 IF( MOD( kt - 1, nstock ) == 0 ) THEN 59 IF( ln_rst_list ) THEN 60 nrst_lst = 1 61 nitrst = nstocklist( nrst_lst ) 62 ELSE 63 nitrst = nitend 64 ENDIF 65 ENDIF 66 67 IF( .NOT. ln_rst_list .AND. MOD( kt - 1, nstock ) == 0 ) THEN 62 68 ! we use kt - 1 and not kt - nittrc000 to keep the same periodicity from the beginning of the experiment 63 69 nitrst = kt + nstock - 1 ! define the next value of nitrst for restart writing … … 79 85 IF(lwp) WRITE(numout,*) 80 86 clname = TRIM(cexper)//"_"//TRIM(ADJUSTL(clkt))//"_"//TRIM(cn_trcrst_out) 81 IF(lwp) WRITE(numout,*) ' open trc restart.output NetCDF file: '//clname 82 CALL iom_open( clname, numrtw, ldwrt = .TRUE., kiolib = jprstlib ) 87 clpath = TRIM(cn_trcrst_outdir) 88 IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/' 89 IF(lwp) WRITE(numout,*) & 90 ' open trc restart.output NetCDF file: ',TRIM(clpath)//clname 91 CALL iom_open( TRIM(clpath)//TRIM(clname), numrtw, ldwrt = .TRUE., kiolib = jprstlib ) 83 92 lrst_trc = .TRUE. 84 93 ENDIF … … 140 149 lrst_trc = .FALSE. 141 150 #endif 151 IF( lk_offline .AND. ln_rst_list ) THEN 152 nrst_lst = nrst_lst + 1 153 nitrst = nstocklist( nrst_lst ) 154 ENDIF 142 155 ENDIF 143 156 ! … … 190 203 ! eventually read netcdf file (monobloc) for restarting on different number of processors 191 204 ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90 192 INQUIRE( FILE = TRIM(cn_trcrst_in )//'.nc', EXIST = llok )205 INQUIRE( FILE = TRIM(cn_trcrst_indir)//'/'//TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 193 206 IF ( llok ) THEN ; jlibalt = jpnf90 ; ELSE ; jlibalt = jprstlib ; ENDIF 194 207 ENDIF 195 208 196 CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt )209 CALL iom_open( TRIM(cn_trcrst_indir)//'/'//cn_trcrst_in, numrtr, kiolib = jlibalt ) 197 210 198 211 CALL iom_get ( numrtr, 'kt', zkt ) ! last time-step of previous run … … 265 278 INTEGER :: jk, jn 266 279 REAL(wp) :: ztraf, zmin, zmax, zmean, zdrift 280 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zvol 267 281 !!---------------------------------------------------------------------- 268 282 … … 273 287 ENDIF 274 288 ! 275 DO jn = 1, jptra 276 ztraf = glob_sum( trn(:,:,:,jn) * cvol(:,:,:) ) 289 DO jk = 1, jpk 290 zvol(:,:,jk) = e1e2t(:,:) * fse3t_a(:,:,jk) * tmask(:,:,jk) 291 END DO 292 ! 293 DO jn = 1, jptra 294 ztraf = glob_sum( trn(:,:,:,jn) * zvol(:,:,:) ) 277 295 zmin = MINVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) ) 278 296 zmax = MAXVAL( trn(:,:,:,jn), mask= ((tmask*SPREAD(tmask_i,DIM=3,NCOPIES=jpk).NE.0.)) )
Note: See TracChangeset
for help on using the changeset viewer.