Changeset 335 for trunk/NEMO/TOP_SRC/trcrst.F90
- Timestamp:
- 2005-11-14T13:08:42+01:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/trcrst.F90
r274 r335 1 1 MODULE trcrst 2 !!====================================================================== =====================2 !!====================================================================== 3 3 !! 4 4 !! *** MODULE trcrst *** … … 6 6 !! Read the restart files for passive tracers 7 7 !! 8 !!====================================================================== =====================8 !!====================================================================== 9 9 !! TOP 1.0, LOCEAN-IPSL (2005) 10 !! $Header$11 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt12 10 !!---------------------------------------------------------------------- 13 !!---------------------------------------------------------------------- 14 !! * Modules used 15 !! ============== 16 USE oce_trc 17 USE trc 18 USE sms 19 USE trctrp_lec 20 21 IMPLICIT NONE 22 PRIVATE 23 11 #if defined key_passivetrc 12 !!---------------------------------------------------------------------- 13 !! * Modules used 14 !! ============== 15 USE oce_trc 16 USE trc 17 USE sms 18 USE trctrp_lec 19 20 IMPLICIT NONE 21 PRIVATE 22 24 23 !! * Accessibility 25 24 PUBLIC trc_rst 26 25 PUBLIC trc_wri 27 26 28 27 !! * Module variables 29 28 CHARACTER (len=48) :: & 30 29 trestart = 'initial.trc.nc' ! restart file name 31 30 32 31 CONTAINS 33 32 … … 37 36 !!---------------------------------------------------------------------- 38 37 #include "trcrst_fdir.h90" 39 40 #else 41 !! USE ioipsl 42 #if defined key_passivetrc 43 44 SUBROUTINE trc_rst 45 !!=========================================================================================== 46 !! 47 !! ROUTINE trc_rst 48 !! ******************* 49 !! 50 !! PURPOSE : 51 !! --------- 52 !! READ files for restart for passive tracer 53 !! 54 !! METHOD : 55 !! ------- 56 !! READ the previous fields on the FILE nutrst 57 !! the first record indicates previous characterics 58 !! after control with the present run, we READ : 59 !! - prognostic variables on the second and more record 60 !! 61 !! History: 62 !! -------- 63 !! original : 96-11 64 !! 00-05 (A. Estublier) TVD Limiter Scheme key_trc_tvd 65 !! 00-12 (O. Aumont, E. Kestenare) read restart file for sediments 66 !! 01-05 (O. Aumont, E. Kestenare) read restart file for calcite and silicate sediments 67 !! 05-03 (O. Aumont and A. El Moussaoui) F90 68 !!------------------------------------------------------------------------ 69 !! * Modules used 38 39 #else 40 41 SUBROUTINE trc_rst 42 !!=========================================================================================== 43 !! 44 !! ROUTINE trc_rst 45 !! ******************* 46 !! 47 !! PURPOSE : 48 !! --------- 49 !! READ files for restart for passive tracer 50 !! 51 !! METHOD : 52 !! ------- 53 !! READ the previous fields on the FILE nutrst 54 !! the first record indicates previous characterics 55 !! after control with the present run, we READ : 56 !! - prognostic variables on the second and more record 57 !! 58 !! History: 59 !! -------- 60 !! original : 96-11 61 !! 00-05 (A. Estublier) TVD Limiter Scheme key_trc_tvd 62 !! 00-12 (O. Aumont, E. Kestenare) read restart file for sediments 63 !! 01-05 (O. Aumont, E. Kestenare) read restart file for calcite and silicate sediments 64 !! 05-03 (O. Aumont and A. El Moussaoui) F90 65 !!------------------------------------------------------------------------ 66 !! * Modules used 70 67 USE ioipsl 71 68 72 69 73 !! local declarations74 !! ==================75 LOGICAL :: llog !!!76 CHARACTER (len=32) :: clname1,clname277 CHARACTER (len=32) :: clname = 'restart.trc'78 CHARACTER (len=12) :: clvnames(80)79 80 INTEGER :: ino1,jn,iarak0,iarak1, &81 82 83 REAL(wp) :: caralk,bicarb,zdt, &84 85 REAL(wp) :: zdept(jpk), zlamt(jpi,jpj), zphit(jpi,jpj)86 87 REAL(wp), DIMENSION(3) :: zinfo88 89 !!---------------------------------------------------------------------90 !! OPA.9 03-200591 !!---------------------------------------------------------------------92 !! 0. initialisations93 !!------------------70 !! local declarations 71 !! ================== 72 LOGICAL :: llog !!! 73 CHARACTER (len=32) :: clname1,clname2 74 CHARACTER (len=32) :: clname = 'restart.trc' 75 CHARACTER (len=12) :: clvnames(80) 76 77 INTEGER :: ino1,jn,iarak0,iarak1, & 78 ji, jj, jk, & 79 itime, ibvar 80 REAL(wp) :: caralk,bicarb,zdt, & 81 zdate0 82 REAL(wp) :: zdept(jpk), zlamt(jpi,jpj), zphit(jpi,jpj) 83 84 REAL(wp), DIMENSION(3) :: zinfo 85 86 !!--------------------------------------------------------------------- 87 !! OPA.9 03-2005 88 !!--------------------------------------------------------------------- 89 !! 0. initialisations 90 !!------------------ 94 91 95 92 96 93 IF( ln_trcadv_cen2 .OR. ln_trcadv_tvd ) THEN 97 94 iarak0 = 1 98 95 ELSE 99 96 iarak0=0 100 97 ENDIF 101 98 … … 108 105 IF(lwp) WRITE(numout,*) ' with the time nit000 : ',nit000 109 106 IF(lwp) THEN 110 111 112 ENDIF113 107 IF(iarak0.eq.1) then 108 WRITE(numout,*) ' and before fields for Arakawa sheme ' 109 ENDIF 110 WRITE(numout,*) ' ' 114 111 ENDIF 115 112 … … 133 130 134 131 135 !! 1. READ nutrst136 !! --------------137 !! ... first information138 !! ---------------------132 !! 1. READ nutrst 133 !! -------------- 134 !! ... first information 135 !! --------------------- 139 136 itime=0 140 137 llog=.false. !!! … … 143 140 zdept(:) = 0.e0 144 141 CALL restini(clname,jpi,jpj,zlamt,zphit,jpk,zdept,clname & 145 & ,itime,zdate0,zdt,nutrst)142 & ,itime,zdate0,zdt,nutrst) 146 143 147 144 CALL ioget_vname(nutrst, ibvar, clvnames) … … 155 152 IF(lwp) WRITE(numout,*) ' with the time it : ',nint(zinfo(2)) 156 153 IF(lwp) THEN 157 158 159 ENDIF154 IF(iarak1.eq.1) then 155 WRITE(numout,*) ' and before fields for Arakawa sheme ' 156 ENDIF 160 157 ENDIF 161 158 IF(lwp) WRITE(numout,*) ' number of variables : ', ibvar … … 164 161 IF(lwp) WRITE(numout,*) ' ' 165 162 166 !! 1.2 control of date167 !! -------------------163 !! 1.2 control of date 164 !! ------------------- 168 165 169 166 IF( nit000- NINT( zinfo(2) ) /= 1 .AND. nrsttr /= 0 ) THEN 170 171 172 173 174 175 176 177 178 179 180 181 ENDIF 182 183 !! 1.3 Control of the sheme184 !! ------------------------167 IF(lwp) THEN 168 WRITE(numout,*) ' ===>>>> : problem with nit000 for the', & 169 ' passive tracer restart' 170 WRITE(numout,*) ' ======= ', & 171 ' ======================' 172 WRITE(numout,*) ' we stop. verify the FILE' 173 WRITE(numout,*) ' or rerun with the value 0 for the' 174 WRITE(numout,*) ' control of time PARAMETER nrstdt' 175 WRITE(numout,*) ' ' 176 ENDIF 177 STOP 'trc_rst' !! 178 ENDIF 179 180 !! 1.3 Control of the sheme 181 !! ------------------------ 185 182 186 183 IF(iarak0.ne.iarak1) THEN 187 188 189 190 191 192 193 194 195 196 197 198 199 ENDIF 200 201 202 !! ... READ prognostic variables and computes diagnostic variable203 !! ---------------------------------------------------------------204 205 184 IF(lwp) THEN 185 WRITE(numout,*) ' ===>>>> : problem with the', & 186 ' passive tracer restart file' 187 WRITE(numout,*) ' ======= ', & 188 ' ===========================' 189 WRITE(numout,*) ' we stop. verify the FILE' 190 WRITE(numout,*) ' before field required IF 1=',iarak0 191 WRITE(numout,*) ' before field present in file IF 1=', & 192 iarak1 193 WRITE(numout,*) ' ' 194 ENDIF 195 STOP 'trc_rst' !!!!! AVERIFIER AU NIV F90' 196 ENDIF 197 198 199 !! ... READ prognostic variables and computes diagnostic variable 200 !! --------------------------------------------------------------- 201 202 DO jn=1,jptra 206 203 clname='TRN'//ctrcnm(jn) 207 204 CALL restget(nutrst,clname,jpi,jpj,jpk,0,llog,trn(:,:,:,jn)) 208 209 210 205 END DO 206 207 DO jn=1,jptra 211 208 clname='TRB'//ctrcnm(jn) 212 209 CALL restget(nutrst,clname,jpi,jpj,jpk,0,llog,trb(:,:,:,jn)) 213 END DO 214 215 #if defined key_trc_hamocc3 216 clname='SED'//ctrcnm(jppoc) 217 clname1='SED'//ctrcnm(jpcal) 218 clname2='SED'//ctrcnm(jpsil) 219 CALL restget(nutrst,clname1,jpi,jpj,1,0,llog,sedcal(:,:)) 220 CALL restget(nutrst,clname2,jpi,jpj,1,0,llog,sedsil(:,:)) 221 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,sedpoc(:,:)) 222 #elif defined key_trc_npzd || defined key_trc_lobster1 223 clname='SED'//ctrcnm(jpdet) 224 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,sedpoc(:,:)) 210 END DO 211 212 213 #if defined key_trc_lobster1 214 clname='SEDB'//ctrcnm(jpdet) 215 clname1='SEDN'//ctrcnm(jpdet) 216 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,sedpocb(:,:)) 217 CALL restget(nutrst,clname1,jpi,jpj,1,0,llog,sedpocn(:,:)) 225 218 #elif defined key_trc_pisces 226 227 clname='Silicalim' 228 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,xksi) 229 xksimax=xksi 230 231 clname='SED'//ctrcnm(jppoc) 232 clname1='SED'//ctrcnm(jpcal) 233 clname2='SED'//ctrcnm(jpsil) 234 CALL restget(nutrst,clname1,jpi,jpj,1,0,llog,sedcal(:,:)) 235 CALL restget(nutrst,clname2,jpi,jpj,1,0,llog,sedsil(:,:)) 236 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,sedpoc(:,:)) 219 clname='Silicalim' 220 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,xksi) 221 xksimax=xksi 222 223 clname='SED'//ctrcnm(jppoc) 224 clname1='SED'//ctrcnm(jpcal) 225 clname2='SED'//ctrcnm(jpsil) 226 CALL restget(nutrst,clname1,jpi,jpj,1,0,llog,sedcal(:,:)) 227 CALL restget(nutrst,clname2,jpi,jpj,1,0,llog,sedsil(:,:)) 228 CALL restget(nutrst,clname,jpi,jpj,1,0,llog,sedpoc(:,:)) 229 230 #elif defined key_cfc 231 clname='qint' 232 CALL restget(nutrst,clname,jpi,jpj,jptra,0,llog,qint(:,:,:)) 233 clname1='qtr' 234 CALL restget(nutrst,clname1,jpi,jpj,jptra,0,llog,qtr(:,:,:)) 237 235 #endif 238 236 239 #if defined key_trc_hamocc3 || defined key_trc_pisces 240 241 242 !! Initialization of chemical variables of the carbon cycle 243 !! -------------------------------------------------------- 244 245 DO jk = 1,jpk 246 DO jj = 1,jpj 237 #if defined key_trc_pisces 238 !! Initialization of chemical variables of the carbon cycle 239 !! -------------------------------------------------------- 240 241 DO jk = 1,jpk 242 DO jj = 1,jpj 247 243 DO ji = 1,jpi 248 caralk = trn(ji,jj,jk,jptal)- &249 & borat(ji,jj,jk)/(1.+1.E-8/(rtrn+akb3(ji,jj,jk)))250 co3(ji,jj,jk)=(caralk-trn(ji,jj,jk,jpdic))*tmask(ji,jj,jk) &251 & +(1.-tmask(ji,jj,jk))*.5e-3252 bicarb = (2.*trn(ji,jj,jk,jpdic)-caralk)253 hi(ji,jj,jk) = (ak23(ji,jj,jk)*bicarb/co3(ji,jj,jk)) &254 & *tmask(ji,jj,jk)+(1.-tmask(ji,jj,jk))*1.e-9255 h2co3(ji,jj) = 1.e-5244 caralk = trn(ji,jj,jk,jptal)- & 245 & borat(ji,jj,jk)/(1.+1.E-8/(rtrn+akb3(ji,jj,jk))) 246 co3(ji,jj,jk)=(caralk-trn(ji,jj,jk,jpdic))*tmask(ji,jj,jk) & 247 & +(1.-tmask(ji,jj,jk))*.5e-3 248 bicarb = (2.*trn(ji,jj,jk,jpdic)-caralk) 249 hi(ji,jj,jk) = (ak23(ji,jj,jk)*bicarb/co3(ji,jj,jk)) & 250 & *tmask(ji,jj,jk)+(1.-tmask(ji,jj,jk))*1.e-9 251 h2co3(ji,jj) = 1.e-5 256 252 ENDDO 257 258 253 ENDDO 254 ENDDO 259 255 #endif 260 256 261 END SUBROUTINE trc_rst262 263 SUBROUTINE trc_wri(kt)264 !! ==================================================================================265 !!266 !! ROUTINE trc_wri267 !! ******************268 !!269 !! PURPOSE :270 !! ---------271 !! WRITE restart fields in nutwrs272 !! METHOD :273 !! -------274 !!275 !! nutwrs FILE:276 !! each nstock time step , SAVE fields which are necessary for277 !! passive tracer restart278 !!279 !!280 !! INPUT :281 !! -----282 !! argument283 !! kt : time step284 !! COMMON285 !! /cottrc/ : passive tracers fields (before,now286 !! ,after)287 !!288 !! OUTPUT :289 !! ------290 !! FILE291 !! nutwrs : standard restart fields OUTPUT292 !!293 !! WORKSPACE :294 !! ---------295 !! ji,jj,jk,jl,ino0,it0,iarak0296 !!297 !! History:298 !! --------299 !! original : 96-12300 !! addition : 99-12 (M.-A. Foujols) NetCDF FORMAT with ioipsl301 !! additions : 00-05 (A. Estublier)302 !! TVD Limiter Scheme : key_trc_tvd303 !! additions : 01-01 (M.A Foujols, E. Kestenare) bug fix: restclo304 !! additions : 01-01 (O. Aumont, E. Kestenare)305 !! write restart file for sediments306 !! additions : 01-05 (O. Aumont, E. Kestenare)307 !! write restart file for calcite and silicate sediments308 !! 05-03 (O. Aumont and A. El Moussaoui) F90309 !!========================================================================================!257 END SUBROUTINE trc_rst 258 259 SUBROUTINE trc_wri(kt) 260 !! ================================================================================== 261 !! 262 !! ROUTINE trc_wri 263 !! ****************** 264 !! 265 !! PURPOSE : 266 !! --------- 267 !! WRITE restart fields in nutwrs 268 !! METHOD : 269 !! ------- 270 !! 271 !! nutwrs FILE: 272 !! each nstock time step , SAVE fields which are necessary for 273 !! passive tracer restart 274 !! 275 !! 276 !! INPUT : 277 !! ----- 278 !! argument 279 !! kt : time step 280 !! COMMON 281 !! /cottrc/ : passive tracers fields (before,now 282 !! ,after) 283 !! 284 !! OUTPUT : 285 !! ------ 286 !! FILE 287 !! nutwrs : standard restart fields OUTPUT 288 !! 289 !! WORKSPACE : 290 !! --------- 291 !! ji,jj,jk,jl,ino0,it0,iarak0 292 !! 293 !! History: 294 !! -------- 295 !! original : 96-12 296 !! addition : 99-12 (M.-A. Foujols) NetCDF FORMAT with ioipsl 297 !! additions : 00-05 (A. Estublier) 298 !! TVD Limiter Scheme : key_trc_tvd 299 !! additions : 01-01 (M.A Foujols, E. Kestenare) bug fix: restclo 300 !! additions : 01-01 (O. Aumont, E. Kestenare) 301 !! write restart file for sediments 302 !! additions : 01-05 (O. Aumont, E. Kestenare) 303 !! write restart file for calcite and silicate sediments 304 !! 05-03 (O. Aumont and A. El Moussaoui) F90 305 !!========================================================================================! 310 306 !! * Modules used 311 307 USE ioipsl 312 308 313 !! * Arguments309 !! * Arguments 314 310 !! ----------- 315 311 INTEGER, INTENT( in ) :: kt … … 322 318 323 319 INTEGER :: jn, & 324 325 326 320 ino0,it0,iarak0, & 321 ic,jc,ji,jj,jk, & 322 itime 327 323 328 324 REAL(wp) :: zdate0, zinfo(3),zdiag_var, & 329 330 331 332 !! 1. OUTPUT of restart fields (nutwrs)333 !! ---------------------------325 zdiag_varmin, zdiag_varmax 326 327 328 !! 1. OUTPUT of restart fields (nutwrs) 329 !! --------------------------- 334 330 335 331 IF( kt == nit000 ) THEN … … 342 338 IF( MOD(kt,nstock) == 0 .OR. kt == nitend ) THEN 343 339 344 !! 0. initialisations345 !! ------------------340 !! 0. initialisations 341 !! ------------------ 346 342 347 343 IF(lwp) WRITE(numout,*) ' ' 348 344 IF(lwp) WRITE(numout,*) 'trc_wri : write the passive tracer restart file in NetCDF format ', & 349 345 'at it= ',kt,' date= ',ndastp 350 346 IF(lwp) WRITE(numout,*) '~~~~~~~~~' 351 347 352 348 353 354 355 #if defined key_trc_cen2 || defined key_trc_tvd 356 iarak0=1357 #else 358 iarak0=0359 #endif 360 361 362 363 364 365 !! 1. WRITE in nutwrs366 !! ------------------367 !!... first information368 369 370 371 372 373 374 375 376 349 ino0 =no 350 it0 =kt 351 IF( ln_trcadv_cen2 .OR. ln_trcadv_tvd ) THEN 352 iarak0 = 1 353 ELSE 354 iarak0=0 355 ENDIF 356 357 zinfo(1)=FLOAT(ino0) 358 zinfo(2)=FLOAT(it0) 359 zinfo(3)=FLOAT(iarak0) 360 361 !! 1. WRITE in nutwrs 362 !! ------------------ 363 !!... first information 364 365 INQUIRE (FILE=trestart,EXIST=clbon) 366 IF(clbon) THEN 367 OPEN(UNIT=nutwrs,FILE=trestart,STATUS='old') 368 CLOSE(nutwrs,STATUS='delete') 369 ENDIF 370 371 ic=1 372 DO jc=1,16 377 373 IF(cexper(jc:jc) /= ' ') ic = jc 378 379 380 381 382 374 END DO 375 WRITE(cln,'("_",i2.2,i2.2,i2.2,"_restart.trc")') nyear, nmonth, nday 376 clname=cexper(1:ic)//cln 377 ic=1 378 DO jc=1,48 383 379 IF(clname(jc:jc) /= ' ') ic=jc 384 385 386 387 388 389 & ,itime,zdate0,rdt*nstock,nutwrs)390 391 392 393 ! prognostic variables394 ! --------------------380 END DO 381 trestart=clname(1:ic)//".nc" 382 itime=0 383 CALL ymds2ju(nyear,nmonth,nday,0.0,zdate0) 384 CALL restini('NONE',jpi,jpj,glamt,gphit,jpk,gdept,clname & 385 & ,itime,zdate0,rdt*nstock,nutwrs) 386 387 CALL restput(nutwrs,'info',1,1,3,0,zinfo) 388 389 ! prognostic variables 390 ! -------------------- 395 391 396 392 DO jn=1,jptra … … 398 394 CALL restput(nutwrs,clname,jpi,jpj,jpk,0,trn(:,:,:,jn)) 399 395 400 zdiag_var=0. 401 zdiag_varmin=0. 402 zdiag_varmax=0. 403 IF (lwp) WRITE(numout,*) '----TRACER STAT----' 404 405 DO ji=1,jpi 406 DO jj=1,jpj 407 DO jk=1,jpk 408 409 zdiag_var=zdiag_var+tmask(ji,jj,jk)*trn(ji,jj,jk,jn) 410 411 IF (tmask(ji,jj,jk).EQ.1.) THEN 412 IF (zdiag_varmin.GT.trn(ji,jj,jk,jn)) & 413 zdiag_varmin = trn(ji,jj,jk,jn) 414 IF (zdiag_varmax.LT.trn(ji,jj,jk,jn)) & 415 zdiag_varmax = trn(ji,jj,jk,jn) 416 417 ENDIF 418 419 END DO 396 zdiag_var=0. 397 zdiag_varmin=0. 398 zdiag_varmax=0. 399 IF (lwp) WRITE(numout,*) '----TRACER STAT----' 400 401 DO ji=1,jpi 402 DO jj=1,jpj 403 DO jk=1,jpk 404 405 zdiag_var=zdiag_var+tmask(ji,jj,jk)*trn(ji,jj,jk,jn) 406 407 IF (tmask(ji,jj,jk).EQ.1.) THEN 408 IF (zdiag_varmin.GT.trn(ji,jj,jk,jn)) & 409 zdiag_varmin = trn(ji,jj,jk,jn) 410 IF (zdiag_varmax.LT.trn(ji,jj,jk,jn)) & 411 zdiag_varmax = trn(ji,jj,jk,jn) 412 413 ENDIF 414 415 END DO 416 END DO 420 417 END DO 418 419 420 zdiag_var=zdiag_var/(jpi*jpj*jpk) 421 422 IF(lwp) WRITE(numout,*) 'MEAN NO ',jn,' =',zdiag_var,'MIN= ' & 423 ,zdiag_varmin,'MAX= ',zdiag_varmax 424 421 425 END DO 422 426 423 424 zdiag_var=zdiag_var/(jpi*jpj*jpk) 425 426 IF(lwp) WRITE(numout,*) 'MEAN NO ',jn,' =',zdiag_var,'MIN= ' & 427 ,zdiag_varmin,'MAX= ',zdiag_varmax 428 429 END DO 430 431 DO jn=1,jptra 427 DO jn=1,jptra 432 428 clname='TRB'//ctrcnm(jn) 433 429 CALL restput(nutwrs,clname,jpi,jpj,jpk,0,trb(:,:,:,jn)) 434 END DO 435 436 #if defined key_trc_hamocc3 437 clname='SED'//ctrcnm(jppoc) 438 clname1='SED'//ctrcnm(jpcal) 439 clname2='SED'//ctrcnm(jpsil) 440 CALL restput(nutwrs,clname1,jpi,jpj,1,0,sedcal(:,:)) 441 CALL restput(nutwrs,clname2,jpi,jpj,1,0,sedsil(:,:)) 442 CALL restput(nutwrs,clname,jpi,jpj,1,0,sedpoc(:,:)) 443 #elif defined key_trc_npzd || defined key_trc_lobster1 444 clname='SED'//ctrcnm(jpdet) 445 CALL restput(nutwrs,clname,jpi,jpj,1,0,sedpoc(:,:)) 430 END DO 431 432 433 #if defined key_trc_lobster1 434 clname='SEDB'//ctrcnm(jpdet) 435 clname1='SEDN'//ctrcnm(jpdet) 436 CALL restput(nutwrs,clname,jpi,jpj,1,0,sedpocb(:,:)) 437 CALL restput(nutwrs,clname1,jpi,jpj,1,0,sedpocn(:,:)) 446 438 #elif defined key_trc_pisces 447 clname='SED'//ctrcnm(jppoc) 448 clname1='SED'//ctrcnm(jpcal) 449 clname2='SED'//ctrcnm(jpsil) 450 CALL restput(nutwrs,clname1,jpi,jpj,1,0,sedcal(:,:)) 451 CALL restput(nutwrs,clname2,jpi,jpj,1,0,sedsil(:,:)) 452 CALL restput(nutwrs,clname,jpi,jpj,1,0,sedpoc(:,:)) 453 454 clname='Silicalim' 455 CALL restput(nutwrs,clname,jpi,jpj,1,0,xksi(:,:)) 439 clname='SED'//ctrcnm(jppoc) 440 clname1='SED'//ctrcnm(jpcal) 441 clname2='SED'//ctrcnm(jpsil) 442 CALL restput(nutwrs,clname1,jpi,jpj,1,0,sedcal(:,:)) 443 CALL restput(nutwrs,clname2,jpi,jpj,1,0,sedsil(:,:)) 444 CALL restput(nutwrs,clname,jpi,jpj,1,0,sedpoc(:,:)) 445 446 clname='Silicalim' 447 CALL restput(nutwrs,clname,jpi,jpj,1,0,xksi(:,:)) 448 #elif defined key_cfc 449 clname='qint' 450 CALL restput(nutwrs,clname,jpi,jpj,jptra,0,qint(:,:,:)) 451 clname1='qtr' 452 CALL restput(nutwrs,clname1,jpi,jpj,jptra,0,qtr(:,:,:)) 456 453 #endif 457 454 458 CALL restclo(nutwrs) 459 460 ENDIF 461 462 END SUBROUTINE trc_wri 455 456 CALL restclo(nutwrs) 457 458 ENDIF 459 460 END SUBROUTINE trc_wri 461 462 #endif 463 463 464 464 #else 465 466 SUBROUTINE trc_rst 467 !! no passive tracers 468 END SUBROUTINE trc_rst 469 470 SUBROUTINE trc_wri(kt) 471 !!! no passive tracers 472 INTEGER, INTENT ( in ) :: kt 465 !!====================================================================== 466 !! Empty module : No passive tracer 467 !!====================================================================== 468 CONTAINS 469 470 SUBROUTINE trc_rst 471 !! no passive tracers 472 END SUBROUTINE trc_rst 473 474 SUBROUTINE trc_wri(kt) 475 !! no passive tracers 476 INTEGER, INTENT ( in ) :: kt 473 477 WRITE(*,*) 'trc_wri: You should not have seen this print! error?', kt 474 END SUBROUTINE trc_wri 475 476 #endif 477 478 END SUBROUTINE trc_wri 479 478 480 #endif 479 480 481 END MODULE trcrst 481 482 END MODULE trcrst
Note: See TracChangeset
for help on using the changeset viewer.