Changeset 6308
- Timestamp:
- 2016-02-12T12:32:54+01:00 (8 years ago)
- Location:
- branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r5506 r6308 107 107 108 108 jl = n_trc_index(jn) 109 CALL trc_dta( kt, sf_trcdta(jl) ,rf_trfac(jl)) ! read tracer data at nit000110 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 109 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 110 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) * tmask(:,:,:) * rf_trfac(jl) 111 111 112 112 SELECT CASE ( nn_zdmp_tr ) … … 187 187 INTEGER :: ji , jj, jk, jn, jl, jc ! dummy loop indicesa 188 188 INTEGER :: isrow ! local index 189 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 3D workspace190 189 191 190 !!---------------------------------------------------------------------- … … 278 277 IF(lwp) WRITE(numout,*) 279 278 ! 280 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation281 !282 279 DO jn = 1, jptra 283 280 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 284 281 jl = n_trc_index(jn) 285 CALL trc_dta( kt, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 286 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 282 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 287 283 DO jc = 1, npncts 288 284 DO jk = 1, jpkm1 289 285 DO jj = nctsj1(jc), nctsj2(jc) 290 286 DO ji = nctsi1(jc), nctsi2(jc) 291 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk) * tmask(ji,jj,jk)287 trn(ji,jj,jk,jn) = sf_trcdta(jl)%fnow(ji,jj,jk) * tmask(ji,jj,jk) * rf_trfac(jl) 292 288 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 293 289 ENDDO … … 297 293 ENDIF 298 294 ENDDO 299 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )295 ! 300 296 ENDIF 301 297 ! -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r5385 r6308 170 170 END DO 171 171 ENDIF 172 ! 173 CALL lbc_lnk( sbc_trc(:,:,jn), 'T', 1. ) 172 174 ! Concentration dilution effect on tracers due to evaporation & precipitation 173 175 DO jj = 2, jpj -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90
r5120 r6308 67 67 IF( lk_trabbl ) CALL trc_bbl( kstp ) ! advective (and/or diffusive) bottom boundary layer scheme 68 68 IF( ln_trcdmp ) CALL trc_dmp( kstp ) ! internal damping trends 69 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kstp ) ! internal damping trends on closed seas only70 69 CALL trc_adv( kstp ) ! horizontal & vertical advection 71 70 CALL trc_ldf( kstp ) ! lateral mixing … … 78 77 CALL trc_nxt( kstp ) ! tracer fields at next time step 79 78 IF( ln_trcrad ) CALL trc_rad( kstp ) ! Correct artificial negative concentrations 79 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kstp ) ! internal damping trends on closed seas only 80 80 81 81 #if defined key_agrif -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r5385 r6308 151 151 152 152 153 SUBROUTINE trc_dta( kt, sf_dta , zrf_trfac)153 SUBROUTINE trc_dta( kt, sf_dta ) 154 154 !!---------------------------------------------------------------------- 155 155 !! *** ROUTINE trc_dta *** … … 165 165 INTEGER , INTENT(in ) :: kt ! ocean time-step 166 166 TYPE(FLD), DIMENSION(1) , INTENT(inout) :: sf_dta ! array of information on the field to read 167 REAL(wp) , INTENT(in ) :: zrf_trfac ! multiplication factor168 167 ! 169 168 INTEGER :: ji, jj, jk, jl, jkk, ik ! dummy loop indices … … 234 233 ENDIF 235 234 ! 236 sf_dta(1)%fnow(:,:,:) = sf_dta(1)%fnow(:,:,:) * zrf_trfac ! multiplicative factor237 !238 235 IF( lwp .AND. kt == nit000 ) THEN 239 236 clndta = TRIM( sf_dta(1)%clvar ) -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r5407 r6308 61 61 INTEGER :: jk, jn, jl ! dummy loop indices 62 62 CHARACTER (len=25) :: charout 63 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 4D workspace64 63 !!--------------------------------------------------------------------- 65 64 ! … … 121 120 IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 122 121 ! 123 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation124 !125 122 DO jn = 1, jptra 126 123 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 127 124 jl = n_trc_index(jn) 128 CALL trc_dta( nit000, sf_trcdta(jl) ,rf_trfac(jl)) ! read tracer data at nit000129 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:)130 trn(:,:,:,jn) = ztrcdta(:,:,:) * tmask(:,:,:)125 CALL trc_dta( nit000, sf_trcdta(jl) ) ! read tracer data at nit000 126 trn(:,:,:,jn) = sf_trcdta(jl)%fnow(:,:,:) * tmask(:,:,:) * rf_trfac(jl) 127 ! 131 128 IF( .NOT.ln_trcdmp .AND. .NOT.ln_trcdmp_clo ) THEN !== deallocate data structure ==! 132 129 ! (data used only for initialisation) … … 138 135 ENDIF 139 136 ENDDO 140 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )137 ! 141 138 ENDIF 142 139 !
Note: See TracChangeset
for help on using the changeset viewer.