Changeset 3845 for trunk/NEMOGCM
- Timestamp:
- 2013-03-22T13:23:14+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfslp.F90
r3625 r3845 21 21 !! ldf_slp_init : initialization of the slopes computation 22 22 !!---------------------------------------------------------------------- 23 USE oce ! ocean dynamics and tracers24 USE dom_oce ! ocean space and time domain25 USE ldftra_oce ! lateral diffusion: traceur26 USE ldfdyn_oce ! lateral diffusion: dynamics27 USE phycst ! physical constants28 USE zdfmxl ! mixed layer depth29 USE eosbn2 ! equation of states30 USE lbclnk ! ocean lateral boundary conditions (or mpp link)31 USE in_out_manager ! I/O manager32 USE prtctl ! Print control33 USE wrk_nemo ! work arrays34 USE timing ! Timing35 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)23 USE oce ! ocean dynamics and tracers 24 USE dom_oce ! ocean space and time domain 25 USE ldftra_oce ! lateral diffusion: traceur 26 USE ldfdyn_oce ! lateral diffusion: dynamics 27 USE phycst ! physical constants 28 USE zdfmxl ! mixed layer depth 29 USE eosbn2 ! equation of states 30 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 31 USE in_out_manager ! I/O manager 32 USE prtctl ! Print control 33 USE wrk_nemo ! work arrays 34 USE timing ! Timing 35 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 36 36 37 37 IMPLICIT NONE … … 495 495 DO ji = 1, fs_jpim1 496 496 ip = jl ; jp = jl 497 jk = MIN( nmln(ji+ip,jj) , mbkt(ji+ip,jj) ) + 1 ! ML level+1 (MIN in case ML depth is the ocean depth) 498 ! Add s-coordinate slope at t-points (do this by *subtracting* gradient of depth) 499 zti_g_raw = ( zdxrho(ji+ip,jj,jk-kp,1-ip) / zdzrho(ji+ip,jj,jk-kp,kp) & 500 & - ( fsdept(ji+1,jj,jk-kp) - fsdept(ji,jj,jk-kp) ) / e1u(ji,jj) ) * umask(ji,jj,jk) 501 jk = MIN( nmln(ji,jj+jp) , mbkt(ji,jj+jp) ) + 1 502 ztj_g_raw = ( zdyrho(ji,jj+jp,jk-kp,1-jp) / zdzrho(ji,jj+jp,jk-kp,kp) & 503 & - ( fsdept(ji,jj+1,jk-kp) - fsdept(ji,jj,jk-kp) ) / e2v(ji,jj) ) * vmask(ji,jj,jk) 504 zti_mlb(ji+ip,jj ,1-ip,kp) = SIGN( MIN( rn_slpmax, ABS( zti_g_raw ) ), zti_g_raw ) 505 ztj_mlb(ji ,jj+jp,1-jp,kp) = SIGN( MIN( rn_slpmax, ABS( ztj_g_raw ) ), ztj_g_raw ) 497 ! 498 jk = nmln(ji+ip,jj) + 1 499 IF( jk .GT. mbkt(ji+ip,jj) ) THEN !ML reaches bottom 500 zti_mlb(ji+ip,jj ,1-ip,kp) = 0.0_wp 501 ELSE 502 ! Add s-coordinate slope at t-points (do this by *subtracting* gradient of depth) 503 zti_g_raw = ( zdxrho(ji+ip,jj,jk-kp,1-ip) / zdzrho(ji+ip,jj,jk-kp,kp) & 504 & - ( fsdept(ji+1,jj,jk-kp) - fsdept(ji,jj,jk-kp) ) / e1u(ji,jj) ) * umask(ji,jj,jk) 505 zti_mlb(ji+ip,jj ,1-ip,kp) = SIGN( MIN( rn_slpmax, ABS( zti_g_raw ) ), zti_g_raw ) 506 ENDIF 507 ! 508 jk = nmln(ji,jj+jp) + 1 509 IF( jk .GT. mbkt(ji,jj+jp) ) THEN !ML reaches bottom 510 ztj_mlb(ji ,jj+jp,1-jp,kp) = 0.0_wp 511 ELSE 512 ztj_g_raw = ( zdyrho(ji,jj+jp,jk-kp,1-jp) / zdzrho(ji,jj+jp,jk-kp,kp) & 513 & - ( fsdept(ji,jj+1,jk-kp) - fsdept(ji,jj,jk-kp) ) / e2v(ji,jj) ) * vmask(ji,jj,jk) 514 ztj_mlb(ji ,jj+jp,1-jp,kp) = SIGN( MIN( rn_slpmax, ABS( ztj_g_raw ) ), ztj_g_raw ) 515 ENDIF 506 516 END DO 507 517 END DO
Note: See TracChangeset
for help on using the changeset viewer.