Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf.F90
r2715 r3294 30 30 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 31 31 USE lib_mpp ! MPP library 32 USE wrk_nemo ! Memory allocation 33 USE timing ! Timing 32 34 33 35 … … 60 62 !! 61 63 INTEGER :: jk ! Dummy loop indices 62 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE:: ztrdt, ztrds ! 3D workspace64 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdt, ztrds ! 3D workspace 63 65 !!--------------------------------------------------------------------- 64 65 ! ! set time step 66 ! 67 IF( nn_timing == 1 ) CALL timing_start('tra_zdf') 68 ! 66 69 IF( neuler == 0 .AND. kt == nit000 ) THEN ! at nit000 67 70 r2dtra(:) = rdttra(:) ! = rdtra (restarting with Euler time stepping) … … 71 74 72 75 IF( l_trdtra ) THEN !* Save ta and sa trends 73 ALLOCATE( ztrdt(jpi,jpj,jpk) ) ; ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 74 ALLOCATE( ztrds(jpi,jpj,jpk) ) ; ztrds(:,:,:) = tsa(:,:,:,jp_sal) 76 CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 77 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 78 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 75 79 ENDIF 76 80 77 81 SELECT CASE ( nzdf ) ! compute lateral mixing trend and add it to the general trend 78 CASE ( 0 ) ; CALL tra_zdf_exp( kt, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts ) ! explicit scheme79 CASE ( 1 ) ; CALL tra_zdf_imp( kt, 'TRA', r2dtra, tsb, tsa, jpts ) ! implicit scheme82 CASE ( 0 ) ; CALL tra_zdf_exp( kt, nit000, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts ) ! explicit scheme 83 CASE ( 1 ) ; CALL tra_zdf_imp( kt, nit000, 'TRA', r2dtra, tsb, tsa, jpts ) ! implicit scheme 80 84 CASE ( -1 ) ! esopa: test all possibility with control print 81 CALL tra_zdf_exp( kt, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts )85 CALL tra_zdf_exp( kt, nit000, 'TRA', r2dtra, nn_zdfexp, tsb, tsa, jpts ) 82 86 CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf0 - Ta: ', mask1=tmask, & 83 87 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 84 CALL tra_zdf_imp( kt, 'TRA', r2dtra, tsb, tsa, jpts )88 CALL tra_zdf_imp( kt, nit000, 'TRA', r2dtra, tsb, tsa, jpts ) 85 89 CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf1 - Ta: ', mask1=tmask, & 86 90 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) … … 94 98 CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_zdf, ztrdt ) 95 99 CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_zdf, ztrds ) 96 DEALLOCATE( ztrdt ) ; DEALLOCATE( ztrds )100 CALL wrk_dealloc( jpi, jpj, jpk, ztrdt, ztrds ) 97 101 ENDIF 98 102 … … 100 104 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' zdf - Ta: ', mask1=tmask, & 101 105 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 106 ! 107 IF( nn_timing == 1 ) CALL timing_stop('tra_zdf') 102 108 ! 103 109 END SUBROUTINE tra_zdf
Note: See TracChangeset
for help on using the changeset viewer.