Changeset 6309
- Timestamp:
- 2016-02-12T12:47:24+01:00 (8 years ago)
- Location:
- trunk/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r6140 r6309 104 104 ! 105 105 jl = n_trc_index(jn) 106 CALL trc_dta( kt, sf_trcdta(jl) ,rf_trfac(jl)) ! read tracer data at nit000107 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 106 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 107 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) * tmask(:,:,:) * rf_trfac(jl) 108 108 ! 109 109 SELECT CASE ( nn_zdmp_tr ) … … 243 243 INTEGER :: ji , jj, jk, jn, jl, jc ! dummy loop indicesa 244 244 INTEGER :: isrow ! local index 245 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 3D workspace246 245 !!---------------------------------------------------------------------- 247 246 ! … … 333 332 IF(lwp) WRITE(numout,*) 334 333 ! 335 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation336 !337 334 DO jn = 1, jptra 338 335 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 339 336 jl = n_trc_index(jn) 340 CALL trc_dta( kt, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 341 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 337 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 342 338 DO jc = 1, npncts 343 339 DO jk = 1, jpkm1 344 340 DO jj = nctsj1(jc), nctsj2(jc) 345 341 DO ji = nctsi1(jc), nctsi2(jc) 346 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk) * tmask(ji,jj,jk)342 trn(ji,jj,jk,jn) = sf_trcdta(jl)%fnow(ji,jj,jk) * tmask(ji,jj,jk) * rf_trfac(jl) 347 343 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 348 344 ENDDO … … 352 348 ENDIF 353 349 ENDDO 354 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )350 ! 355 351 ENDIF 356 352 ! -
trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r6140 r6309 167 167 END DO 168 168 ENDIF 169 ! 170 CALL lbc_lnk( sbc_trc(:,:,jn), 'T', 1. ) 169 171 ! Concentration dilution effect on tracers due to evaporation & precipitation 170 172 DO jj = 2, jpj -
trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90
r6140 r6309 65 65 IF( lk_trabbl ) CALL trc_bbl ( kt ) ! advective (and/or diffusive) bottom boundary layer scheme 66 66 IF( ln_trcdmp ) CALL trc_dmp ( kt ) ! internal damping trends 67 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kt ) ! internal damping trends on closed seas only68 67 IF( lk_bdy ) CALL trc_bdy_dmp( kt ) ! BDY damping trends 69 68 CALL trc_adv ( kt ) ! horizontal & vertical advection … … 82 81 CALL trc_nxt ( kt ) ! tracer fields at next time step 83 82 IF( ln_trcrad ) CALL trc_rad ( kt ) ! Correct artificial negative concentrations 83 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kt ) ! internal damping trends on closed seas only 84 84 85 85 #if defined key_agrif -
trunk/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r6140 r6309 159 159 160 160 161 SUBROUTINE trc_dta( kt, sf_dta , zrf_trfac)161 SUBROUTINE trc_dta( kt, sf_dta ) 162 162 !!---------------------------------------------------------------------- 163 163 !! *** ROUTINE trc_dta *** … … 171 171 !! ** Action : sf_dta passive tracer data on medl mesh and interpolated at time-step kt 172 172 !!---------------------------------------------------------------------- 173 INTEGER , INTENT(in 173 INTEGER , INTENT(in ) :: kt ! ocean time-step 174 174 TYPE(FLD), DIMENSION(1) , INTENT(inout) :: sf_dta ! array of information on the field to read 175 REAL(wp) , INTENT(in ) :: zrf_trfac ! multiplication factor176 175 ! 177 176 INTEGER :: ji, jj, jk, jl, jkk, ik ! dummy loop indices … … 237 236 ENDIF 238 237 ! 239 sf_dta(1)%fnow(:,:,:) = sf_dta(1)%fnow(:,:,:) * zrf_trfac ! multiplicative factor240 !241 238 ENDIF 242 239 ! -
trunk/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r6140 r6309 204 204 ! 205 205 INTEGER :: jk, jn, jl ! dummy loop indices 206 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 4D workspace207 206 !!---------------------------------------------------------------------- 208 207 ! … … 221 220 IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 222 221 ! 223 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation 224 ! 225 DO jn = 1, jptra 222 DO jn = 1, jptra 226 223 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 227 224 jl = n_trc_index(jn) 228 CALL trc_dta( nit000, sf_trcdta(jl) ,rf_trfac(jl)) ! read tracer data at nit000229 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:)230 trn(:,:,:,jn) = ztrcdta(:,:,:) * tmask(:,:,:)225 CALL trc_dta( nit000, sf_trcdta(jl) ) ! read tracer data at nit000 226 trn(:,:,:,jn) = sf_trcdta(jl)%fnow(:,:,:) * tmask(:,:,:) * rf_trfac(jl) 227 ! 231 228 IF( .NOT.ln_trcdmp .AND. .NOT.ln_trcdmp_clo ) THEN !== deallocate data structure ==! 232 229 ! (data used only for initialisation) … … 238 235 ENDIF 239 236 ENDDO 240 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )237 ! 241 238 ENDIF 242 239 !
Note: See TracChangeset
for help on using the changeset viewer.