Changeset 811 for branches/dev_001_SBC/NEMO/OPA_SRC/ZDF/zdfmxl.F90
- Timestamp:
- 2008-02-07T17:00:12+01:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_SBC/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r699 r811 44 44 45 45 CONTAINS 46 47 # if defined key_mpp_omp48 !!----------------------------------------------------------------------49 !! 'key_mpp_omp' j-k-i loop (j-slab)50 !!----------------------------------------------------------------------51 52 SUBROUTINE zdf_mxl( kt )53 !!----------------------------------------------------------------------54 !! *** ROUTINE zdfmxl ***55 !!56 !! ** Purpose : Compute the turbocline depth and the mixed layer depth57 !! with a density criteria.58 !!59 !! ** Method : The turbocline depth is the depth at which the vertical60 !! eddy diffusivity coefficient (resulting from the vertical physics61 !! alone, not the isopycnal part, see trazdf.F) fall below a given62 !! value defined locally (avt_c here taken equal to 5 cm/s2)63 !!64 !! ** Action :65 !!66 !!----------------------------------------------------------------------67 !! * Arguments68 INTEGER, INTENT( in ) :: kt ! ocean time-step index69 70 !! * Local declarations71 INTEGER :: ji, jj, jk ! dummy loop indices72 INTEGER :: ik ! temporary integer73 INTEGER, DIMENSION(jpi,jpj) :: &74 imld ! temporary workspace75 !!----------------------------------------------------------------------76 77 IF( kt == nit000 ) THEN78 IF(lwp) WRITE(numout,*)79 IF(lwp) WRITE(numout,*) 'zdf_mxl : mixed layer depth, j-k-i loops'80 IF(lwp) WRITE(numout,*) '~~~~~~~'81 ENDIF82 83 ! ! ===============84 DO jj = 1, jpj ! Vertical slab85 ! ! ===============86 87 ! 1. Turbocline depth88 ! -------------------89 ! last w-level at which avt<avt_c (starting from the bottom jk=jpk)90 ! (since avt(.,.,jpk)=0, we have jpk=< imld =< 2 )91 DO jk = jpk, 2, -192 DO ji = 1, jpi93 IF( avt(ji,jj,jk) < avt_c ) imld(ji,jj) = jk94 END DO95 END DO96 97 ! Turbocline depth and sub-turbocline temperature98 DO ji = 1, jpi99 ik = imld(ji,jj)100 hmld (ji,jj) = fsdepw(ji,jj,ik) * tmask(ji,jj,1)101 END DO102 103 !!gm idea104 !!105 !!gm DO jk = jpk, 2, -1106 !!gm DO ji = 1, jpi107 !!gm IF( avt(ji,jj,jk) < avt_c ) hmld(ji,jj) = fsdepw(ji,jj,jk) * tmask(ji,jj,1)108 !!gm END DO109 !!gm END DO110 !!gm111 112 ! 2. Mixed layer depth113 ! --------------------114 ! Initialization to the number of w ocean point mbathy115 nmln(:,jj) = mbathy(:,jj)116 117 ! Last w-level at which rhop>=rho surf+rho_c (starting from jpk-1)118 ! (rhop defined at t-point, thus jk-1 for w-level just above)119 DO jk = jpkm1, 2, -1120 DO ji = 1, jpi121 IF( rhop(ji,jj,jk) > rhop(ji,jj,1) + rho_c ) nmln(ji,jj) = jk122 END DO123 END DO124 125 ! Mixed layer depth126 DO ji = 1, jpi127 ik = nmln(ji,jj)128 hmlp (ji,jj) = fsdepw(ji,jj,ik) * tmask(ji,jj,1)129 hmlpt(ji,jj) = fsdept(ji,jj,ik-1)130 END DO131 ! ! ===============132 END DO ! End of slab133 ! ! ===============134 135 IF(ln_ctl) CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmld, clinfo2=' hmld : ', ovlap=1 )136 137 END SUBROUTINE zdf_mxl138 139 # else140 !!----------------------------------------------------------------------141 !! Default option : k-j-i loop142 !!----------------------------------------------------------------------143 46 144 47 SUBROUTINE zdf_mxl( kt ) … … 237 140 238 141 END SUBROUTINE zdf_mxl 239 #endif240 142 241 143 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.