Changeset 2823 for branches/2011/dev_r2787_PISCES_improvment/NEMOGCM/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90
- Timestamp:
- 2011-08-09T13:11:24+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2787_PISCES_improvment/NEMOGCM/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90
r2715 r2823 43 43 44 44 ! 45 IF( l k_dtatrc.AND. ln_pisclo ) CALL pis_dmp_clo ! restoring of nutrients on close seas45 IF( ln_trcdta .AND. ln_pisclo ) CALL pis_dmp_clo ! restoring of nutrients on close seas 46 46 IF( ln_pisdmp ) CALL pis_dmp_ini ! relaxation of some tracers 47 47 ! … … 120 120 121 121 zarea = 1. / areatot * 1.e6 122 # if defined key_degrad 123 zalksum = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) * facvol(:,:,:) ) * zarea124 zpo4sum = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) * facvol(:,:,:) ) * zarea / 122.125 zno3sum = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) * facvol(:,:,:) ) * zarea / 7.6126 zsilsum = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) * facvol(:,:,:) ) * zarea127 # else 128 zalksum = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea129 zpo4sum = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea / 122.130 zno3sum = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea / 7.6131 zsilsum = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea132 # endif 122 IF( lk_degrad ) THEN 123 zalksum = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) * facvol(:,:,:) ) * zarea 124 zpo4sum = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) * facvol(:,:,:) ) * zarea / 122. 125 zno3sum = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) * facvol(:,:,:) ) * zarea / 7.6 126 zsilsum = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) * facvol(:,:,:) ) * zarea 127 ELSE 128 zalksum = glob_sum( trn(:,:,:,jptal) * cvol(:,:,:) ) * zarea 129 zpo4sum = glob_sum( trn(:,:,:,jppo4) * cvol(:,:,:) ) * zarea / 122. 130 zno3sum = glob_sum( trn(:,:,:,jpno3) * cvol(:,:,:) ) * zarea / 7.6 131 zsilsum = glob_sum( trn(:,:,:,jpsil) * cvol(:,:,:) ) * zarea 132 ENDIF 133 133 134 134 IF(lwp) WRITE(numout,*) ' TALK mean : ', zalksum … … 168 168 !! ictsi2(), ictsj2() : north-east Closed sea limits (i,j) 169 169 !!---------------------------------------------------------------------- 170 INTEGER, PARAMETER :: npicts = 4 !: number of closed sea 171 INTEGER, DIMENSION(npicts) :: ictsi1, ictsj1 !: south-west closed sea limits (i,j) 172 INTEGER, DIMENSION(npicts) :: ictsi2, ictsj2 !: north-east closed sea limits (i,j) 173 INTEGER :: ji, jj, jk, jn, jc ! dummy loop indices 170 INTEGER, PARAMETER :: npicts = 4 ! number of closed sea 171 INTEGER, DIMENSION(npicts) :: ictsi1, ictsj1 ! south-west closed sea limits (i,j) 172 INTEGER, DIMENSION(npicts) :: ictsi2, ictsj2 ! north-east closed sea limits (i,j) 173 INTEGER :: ji, jj, jk, jn, jl, jc ! dummy loop indices 174 INTEGER :: ierr ! local integer 175 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrcdta ! 4D workspace 174 176 !!---------------------------------------------------------------------- 175 177 … … 243 245 END DO 244 246 245 #if defined key_dtatrc246 247 ! Restore close seas values to initial data 247 CALL trc_dta( nit000 ) 248 DO jn = 1, jptra 249 IF( lutini(jn) ) THEN 250 DO jc = 1, npicts 251 DO jk = 1, jpkm1 252 DO jj = ictsj1(jc), ictsj2(jc) 253 DO ji = ictsi1(jc), ictsi2(jc) 254 trn(ji,jj,jk,jn) = trdta(ji,jj,jk,jn) * tmask(ji,jj,jk) 255 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 256 ENDDO 257 ENDDO 258 ENDDO 259 ENDDO 260 ENDIF 261 ENDDO 262 #endif 263 ! 248 IF( nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 249 ALLOCATE( ztrcdta(jpi,jpj,jpk,nb_trcdta), STAT=ierr ) 250 IF( ierr > 0 ) THEN 251 CALL ctl_stop( 'trc_ini: unable to allocate ztrcdta array' ) ; RETURN 252 ENDIF 253 ! 254 CALL trc_dta( nit000, ztrcdta ) ! read tracer data at nit000 255 ! 256 DO jn = 1, jptra 257 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 258 jl = n_trc_index(jn) 259 DO jc = 1, npicts 260 DO jk = 1, jpkm1 261 DO jj = ictsj1(jc), ictsj2(jc) 262 DO ji = ictsi1(jc), ictsi2(jc) 263 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk,jl) * tmask(ji,jj,jk) 264 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 265 ENDDO 266 ENDDO 267 ENDDO 268 ENDDO 269 ENDIF 270 ENDDO 271 DEALLOCATE( ztrcdta ) 272 ENDIF 273 ! 264 274 END SUBROUTINE pis_dmp_clo 265 275
Note: See TracChangeset
for help on using the changeset viewer.