- Timestamp:
- 2019-07-31T18:05:50+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_STOPACK/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfevd.F90
r4990 r11384 19 19 USE zdf_oce ! ocean vertical physics variables 20 20 USE zdfkpp ! KPP vertical mixing 21 USE trd_oce ! trends: ocean variables 22 USE trdtra ! trends manager: tracers 21 23 USE in_out_manager ! I/O manager 22 24 USE iom ! for iom_put 23 25 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 24 26 USE timing ! Timing 27 USE stopack 25 28 26 29 IMPLICIT NONE … … 28 31 29 32 PUBLIC zdf_evd ! called by step.F90 33 REAL, SAVE, ALLOCATABLE, DIMENSION(:,:) :: rn_avevd0 30 34 31 35 !! * Substitutions … … 67 71 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 68 72 IF(lwp) WRITE(numout,*) 73 ALLOCATE ( rn_avevd0(jpi,jpj) ) 74 rn_avevd0(:,:) = rn_avevd 69 75 ENDIF 70 76 71 77 zavt_evd(:,:,:) = avt(:,:,:) ! set avt prior to evd application 78 79 IF(nn_spp_aevd.GT.0) THEN 80 rn_avevd0(:,:) = rn_avevd 81 CALL spp_gen(kt, rn_avevd0, nn_spp_aevd, rn_aevd_sd, jk_spp_aevd) 82 ENDIF 72 83 73 84 SELECT CASE ( nn_evdm ) … … 86 97 IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) THEN 87 98 #endif 88 avt (ji ,jj ,jk) = rn_avevd * tmask(ji ,jj ,jk)89 avm (ji ,jj ,jk) = rn_avevd * tmask(ji ,jj ,jk)90 avmu(ji ,jj ,jk) = rn_avevd * umask(ji ,jj ,jk)91 avmu(ji-1,jj ,jk) = rn_avevd * umask(ji-1,jj ,jk)92 avmv(ji ,jj ,jk) = rn_avevd * vmask(ji ,jj ,jk)93 avmv(ji ,jj-1,jk) = rn_avevd * vmask(ji ,jj-1,jk)99 avt (ji ,jj ,jk) = rn_avevd0(ji,jj) * tmask(ji ,jj ,jk) 100 avm (ji ,jj ,jk) = rn_avevd0(ji,jj) * tmask(ji ,jj ,jk) 101 avmu(ji ,jj ,jk) = rn_avevd0(ji,jj) * umask(ji ,jj ,jk) 102 avmu(ji-1,jj ,jk) = rn_avevd0(ji,jj) * umask(ji-1,jj ,jk) 103 avmv(ji ,jj ,jk) = rn_avevd0(ji,jj) * vmask(ji ,jj ,jk) 104 avmv(ji ,jj-1,jk) = rn_avevd0(ji,jj) * vmask(ji ,jj-1,jk) 94 105 ENDIF 95 106 END DO … … 113 124 IF( MIN( rn2(ji,jj,jk), rn2b(ji,jj,jk) ) <= -1.e-12 ) & 114 125 #endif 115 avt(ji,jj,jk) = rn_avevd * tmask(ji,jj,jk)126 avt(ji,jj,jk) = rn_avevd0(ji,jj) * tmask(ji,jj,jk) 116 127 END DO 117 128 END DO … … 122 133 zavt_evd(:,:,:) = avt(:,:,:) - zavt_evd(:,:,:) ! change in avt due to evd 123 134 CALL iom_put( "avt_evd", zavt_evd ) ! output this change 135 IF( l_trdtra ) CALL trd_tra( kt, 'TRA', jp_tem, jptra_evd, zavt_evd ) 124 136 ! 125 137 IF( nn_timing == 1 ) CALL timing_stop('zdf_evd')
Note: See TracChangeset
for help on using the changeset viewer.