- Timestamp:
- 2016-11-28T17:04:10+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r5836 r7351 26 26 USE sbc_oce 27 27 USE trcice ! tracers in sea ice 28 USE trcbc, only : trc_bc_init ! generalized Boundary Conditions 28 29 29 30 IMPLICIT NONE … … 32 33 PUBLIC trc_init ! called by opa 33 34 34 !! * Substitutions35 # include "domzgr_substitute.h90"36 35 !!---------------------------------------------------------------------- 37 36 !! NEMO/TOP 4.0 , NEMO Consortium (2011) … … 119 118 ! ! masked grid volume 120 119 DO jk = 1, jpk 121 cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk)120 cvol(:,:,jk) = e1e2t(:,:) * e3t_n(:,:,jk) * tmask(:,:,jk) 122 121 END DO 123 IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:)! degrad option: reduction by facvol122 IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol 124 123 ! ! total volume of the ocean 125 124 areatot = glob_sum( cvol(:,:,:) ) … … 204 203 USE trcdta ! initialisation from files 205 204 ! 206 INTEGER :: jk, jn, jl! dummy loop indices207 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 4D workspace208 ! !----------------------------------------------------------------------209 ! 205 INTEGER :: jn, jl ! dummy loop indices 206 !!---------------------------------------------------------------------- 207 ! 208 ! Initialisation of tracers Initial Conditions 210 209 IF( ln_trcdta ) CALL trc_dta_init(jptra) 211 210 211 ! Initialisation of tracers Boundary Conditions 212 IF( lk_my_trc ) CALL trc_bc_init(jptra) 213 212 214 IF( ln_rsttr ) THEN 213 215 ! … … 217 219 ! 218 220 IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN ! Initialisation of tracer from a file that may also be used for damping 219 !220 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation221 221 ! 222 222 DO jn = 1, jptra 223 223 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 224 224 jl = n_trc_index(jn) 225 CALL trc_dta( nit000, sf_trcdta(jl), rf_trfac(jl) ) ! read tracer data at nit000226 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:)227 trn(:,:,:,jn) = ztrcdta(:,:,:) * tmask(:,:,:)225 CALL trc_dta( nit000, sf_trcdta(jl), rf_trfac(jl) ) ! read tracer data at nit000 226 trn(:,:,:,jn) = sf_trcdta(jl)%fnow(:,:,:) 227 ! 228 228 IF( .NOT.ln_trcdmp .AND. .NOT.ln_trcdmp_clo ) THEN !== deallocate data structure ==! 229 229 ! (data used only for initialisation) … … 235 235 ENDIF 236 236 ENDDO 237 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )237 ! 238 238 ENDIF 239 239 ! … … 246 246 END SUBROUTINE trc_ini_state 247 247 248 249 248 SUBROUTINE top_alloc 250 249 !!---------------------------------------------------------------------- … … 253 252 !! ** Purpose : Allocate all the dynamic arrays of the OPA modules 254 253 !!---------------------------------------------------------------------- 255 USE trcadv , ONLY: trc_adv_alloc ! TOP-related alloc routines...256 254 USE trc , ONLY: trc_alloc 257 USE trcnxt , ONLY: trc_nxt_alloc258 USE trczdf , ONLY: trc_zdf_alloc259 255 USE trdtrc_oce , ONLY: trd_trc_oce_alloc 260 256 #if defined key_trdmxl_trc … … 265 261 !!---------------------------------------------------------------------- 266 262 ! 267 ierr = trc_adv_alloc() ! Start of TOP-related alloc routines... 268 ierr = ierr + trc_alloc () 269 ierr = ierr + trc_nxt_alloc() 270 ierr = ierr + trc_zdf_alloc() 263 ierr = trc_alloc() 271 264 ierr = ierr + trd_trc_oce_alloc() 272 265 #if defined key_trdmxl_trc
Note: See TracChangeset
for help on using the changeset viewer.