- Timestamp:
- 2017-05-30T10:13:14+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90
r7990 r8093 38 38 CONTAINS 39 39 40 SUBROUTINE zdf_evd( kt )40 SUBROUTINE zdf_evd( kt, p_avm, p_avt ) 41 41 !!---------------------------------------------------------------------- 42 42 !! *** ROUTINE zdf_evd *** … … 55 55 !! ** Action : avt, avm enhanced where static instability occurs 56 56 !!---------------------------------------------------------------------- 57 INTEGER, INTENT(in) :: kt ! ocean time-step indexocean time step 57 INTEGER , INTENT(in ) :: kt ! ocean time-step indexocean time step 58 REAL(wp), DIMENSION(:,:,:) , INTENT(inout) :: p_avm, p_avt ! momentum and tracer Kz (w-points) 58 59 ! 59 60 INTEGER :: ji, jj, jk ! dummy loop indices … … 71 72 ! 72 73 ! 73 zavt_evd(:,:,:) = avt(:,:,:)! set avt prior to evd application74 zavt_evd(:,:,:) = p_avt(:,:,:) ! set avt prior to evd application 74 75 ! 75 76 SELECT CASE ( nn_evdm ) … … 77 78 CASE ( 1 ) !== enhance tracer & momentum Kz ==! (if rn2<-1.e-12) 78 79 ! 79 zavm_evd(:,:,:) = avm(:,:,:)! set avm prior to evd application80 zavm_evd(:,:,:) = p_avm(:,:,:) ! set avm prior to evd application 80 81 ! 81 82 !! change last digits results 82 83 ! WHERE( MAX( rn2(2:jpi,2:jpj,2:jpkm1), rn2b(2:jpi,2:jpj,2:jpkm1) ) <= -1.e-12 ) THEN 83 ! avt(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1)84 ! avm(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1)84 ! p_avt(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1) 85 ! p_avm(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1) 85 86 ! END WHERE 86 87 ! … … 89 90 DO ji = 2, jpim1 90 91 IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN 91 avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk)92 avm(ji,jj,jk) = rn_evd * wmask(ji,jj,jk)92 p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 93 p_avm(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 93 94 ENDIF 94 95 END DO … … 96 97 END DO 97 98 ! 98 zavm_evd(:,:,:) = avm(:,:,:) - zavm_evd(:,:,:) ! change in avm due to evd99 CALL iom_put( "avm_evd", zavm_evd ) ! output this change99 zavm_evd(:,:,:) = p_avm(:,:,:) - zavm_evd(:,:,:) ! change in avm due to evd 100 CALL iom_put( "avm_evd", zavm_evd ) ! output this change 100 101 ! 101 102 CASE DEFAULT !== enhance tracer Kz ==! (if rn2<-1.e-12) 102 103 !! change last digits results 103 104 ! WHERE( MAX( rn2(2:jpi,2:jpj,2:jpkm1), rn2b(2:jpi,2:jpj,2:jpkm1) ) <= -1.e-12 ) 104 ! avt(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1)105 ! p_avt(2:jpi,2:jpj,2:jpkm1) = rn_evd * wmask(2:jpi,2:jpj,2:jpkm1) 105 106 ! END WHERE 106 107 … … 109 110 DO ji = 2, jpim1 110 111 IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) & 111 avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk)112 p_avt(ji,jj,jk) = rn_evd * wmask(ji,jj,jk) 112 113 END DO 113 114 END DO … … 116 117 END SELECT 117 118 ! 118 zavt_evd(:,:,:) = avt(:,:,:) - zavt_evd(:,:,:) ! change in avt due to evd119 zavt_evd(:,:,:) = p_avt(:,:,:) - zavt_evd(:,:,:) ! change in avt due to evd 119 120 CALL iom_put( "avt_evd", zavt_evd ) ! output this change 120 121 IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd )
Note: See TracChangeset
for help on using the changeset viewer.