New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5014 for branches/2015/dev_r4826_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90 – NEMO

Ignore:
Timestamp:
2015-01-07T19:03:53+01:00 (9 years ago)
Author:
hliu
Message:

upload the modifications for W/D based on r:4826

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r4826_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r4687 r5014  
    1717   !!            3.4  ! 2012-08  (J. Siddorn) added Siddorn and Furner stretching function 
    1818   !!            3.4  ! 2012-12  (R. Bourdalle-Badie and G. Reffray)  modify C1D case   
     19   !!            3.6  ! 2014-09  (H. Liu) Modifications for Wetting/Drying 
    1920   !!---------------------------------------------------------------------- 
    2021 
     
    451452         END DO 
    452453         ! 
    453          !                                            ! ================ ! 
    454454      ELSEIF( ntopo == 1 ) THEN                       !   read in file   ! (over the local domain) 
    455455         !                                            ! ================ ! 
     
    11211121      REAL(wp) ::   zrmax, ztaper   ! temporary scalars 
    11221122      REAL(wp) ::   zrfact 
     1123      REAL(wp) ::   zsmth 
    11231124      ! 
    11241125      REAL(wp), POINTER, DIMENSION(:,:  ) :: ztmpi1, ztmpi2, ztmpj1, ztmpj2 
     
    11761177      bathy(:,:) = MIN( rn_sbot_max, bathy(:,:) ) 
    11771178 
     1179      IF(.NOT.ln_wd) THEN                       
    11781180      DO jj = 1, jpj 
    11791181         DO ji = 1, jpi 
     
    11811183         END DO 
    11821184      END DO 
     1185      END IF 
    11831186      !                                        ! ============================= 
    11841187      !                                        ! Define the envelop bathymetry   (hbatt) 
     
    11871190      zenv(:,:) = bathy(:,:) 
    11881191      ! 
     1192      IF(.NOT.ln_wd) THEN     
    11891193      ! set first land point adjacent to a wet cell to sbot_min as this needs to be included in smoothing 
    11901194      DO jj = 1, jpj 
     
    12021206         END DO 
    12031207      END DO 
     1208      END IF 
     1209 
    12041210      ! apply lateral boundary condition   CAUTION: keep the value when the lbc field is zero 
    12051211      CALL lbc_lnk( zenv, 'T', 1._wp, 'no0' ) 
     
    12411247         zri(:,:) = 0._wp 
    12421248         zrj(:,:) = 0._wp 
     1249          
     1250         !IF(ln_wd) THEN                     !extend the smoothed region to cover the W/D zones 
     1251         !  zsmth = -rn_wdld     
     1252         !ELSE 
     1253           zsmth = 0._wp                     ! The original form (only smooth ocean points) 
     1254         !ENDIF 
     1255 
    12431256         DO jj = 1, nlcj 
    12441257            DO ji = 1, nlci 
    12451258               iip1 = MIN( ji+1, nlci )      ! force zri = 0 on last line (ji=ncli+1 to jpi) 
    12461259               ijp1 = MIN( jj+1, nlcj )      ! force zrj = 0 on last raw  (jj=nclj+1 to jpj) 
    1247                IF( (zenv(ji,jj) > 0._wp) .AND. (zenv(iip1,jj) > 0._wp)) THEN 
     1260               IF( (zenv(ji,jj) > zsmth) .AND. (zenv(iip1,jj) > zsmth)) THEN 
    12481261                  zri(ji,jj) = ( zenv(iip1,jj  ) - zenv(ji,jj) ) / ( zenv(iip1,jj  ) + zenv(ji,jj) ) 
    12491262               END IF 
    1250                IF( (zenv(ji,jj) > 0._wp) .AND. (zenv(ji,ijp1) > 0._wp)) THEN 
     1263               IF( (zenv(ji,jj) > zsmth) .AND. (zenv(ji,ijp1) > zsmth)) THEN 
    12511264                  zrj(ji,jj) = ( zenv(ji  ,ijp1) - zenv(ji,jj) ) / ( zenv(ji  ,ijp1) + zenv(ji,jj) ) 
    12521265               END IF 
     
    12571270            END DO 
    12581271         END DO 
     1272 
    12591273         IF( lk_mpp )   CALL mpp_max( zrmax )   ! max over the global domain 
    12601274         ! 
     
    12711285      END DO                                                !     End loop     ! 
    12721286      !                                                     ! ================ ! 
    1273       DO jj = 1, jpj 
    1274          DO ji = 1, jpi 
    1275             zenv(ji,jj) = MAX( zenv(ji,jj), rn_sbot_min ) ! set all points to avoid undefined scale value warnings 
    1276          END DO 
    1277       END DO 
     1287      IF(ln_wd) THEN 
     1288        DO jj = 1, jpj 
     1289           DO ji = 1, jpi 
     1290              zenv(ji,jj) = MAX( zenv(ji,jj), -rn_wdld )    ! filt out land bathy data  
     1291           END DO 
     1292        END DO 
     1293      ELSE 
     1294        DO jj = 1, jpj 
     1295           DO ji = 1, jpi 
     1296              zenv(ji,jj) = MAX( zenv(ji,jj), rn_sbot_min ) ! set all points to avoid undefined scale value warnings 
     1297           END DO 
     1298        END DO 
     1299      ENDIF 
    12781300      ! 
    12791301      ! Envelope bathymetry saved in hbatt 
     
    13051327      IF(lwp) THEN 
    13061328         WRITE(numout,*) 
    1307          WRITE(numout,*) ' zgr_sco: minimum depth of the envelop topography set to : ', rn_sbot_min 
     1329         IF(.NOT.ln_wd) THEN 
     1330           WRITE(numout,*) ' zgr_sco: minimum depth of the envelop topography set to : ', rn_sbot_min 
     1331         ELSE 
     1332           WRITE(numout,*) ' zgr_sco: minimum positive depth of the envelop topography set to : ', rn_sbot_min 
     1333           WRITE(numout,*) ' zgr_sco: minimum negative depth of the envelop topography set to : ', -rn_wdld 
     1334         ENDIF 
    13081335      ENDIF 
    13091336      hbatu(:,:) = rn_sbot_min 
     
    13181345        END DO 
    13191346      END DO 
     1347 
     1348      IF(ln_wd) THEN               !avoid the zero depth on T- (U-,V-,F-) points 
     1349        DO jj = 1, jpj 
     1350          DO ji = 1, jpi 
     1351            IF(ABS(hbatt(ji,jj)) < rn_wdmin1) & 
     1352              & hbatt(ji,jj) = SIGN(1._wp, hbatt(ji,jj)) * rn_wdmin1 
     1353            IF(ABS(hbatu(ji,jj)) < rn_wdmin1) & 
     1354              & hbatu(ji,jj) = SIGN(1._wp, hbatu(ji,jj)) * rn_wdmin1 
     1355            IF(ABS(hbatv(ji,jj)) < rn_wdmin1) & 
     1356              & hbatv(ji,jj) = SIGN(1._wp, hbatv(ji,jj)) * rn_wdmin1 
     1357            IF(ABS(hbatf(ji,jj)) < rn_wdmin1) & 
     1358              & hbatf(ji,jj) = SIGN(1._wp, hbatf(ji,jj)) * rn_wdmin1 
     1359          END DO 
     1360        END DO 
     1361      END IF 
    13201362      !  
    13211363      ! Apply lateral boundary condition 
    13221364!!gm  ! CAUTION: retain non zero value in the initial file this should be OK for orca cfg, not for EEL 
     1365 
    13231366      zhbat(:,:) = hbatu(:,:)   ;   CALL lbc_lnk( hbatu, 'U', 1._wp ) 
    13241367      DO jj = 1, jpj 
    13251368         DO ji = 1, jpi 
    13261369            IF( hbatu(ji,jj) == 0._wp ) THEN 
     1370               !No worries about the following line when ln_wd == .true. 
    13271371               IF( zhbat(ji,jj) == 0._wp )   hbatu(ji,jj) = rn_sbot_min 
    13281372               IF( zhbat(ji,jj) /= 0._wp )   hbatu(ji,jj) = zhbat(ji,jj) 
     
    13301374         END DO 
    13311375      END DO 
     1376 
    13321377      zhbat(:,:) = hbatv(:,:)   ;   CALL lbc_lnk( hbatv, 'V', 1._wp ) 
    13331378      DO jj = 1, jpj 
     
    13391384         END DO 
    13401385      END DO 
     1386 
    13411387      zhbat(:,:) = hbatf(:,:)   ;   CALL lbc_lnk( hbatf, 'F', 1._wp ) 
    13421388      DO jj = 1, jpj 
     
    13501396 
    13511397!!bug:  key_helsinki a verifer 
    1352       hift(:,:) = MIN( hift(:,:), hbatt(:,:) ) 
    1353       hifu(:,:) = MIN( hifu(:,:), hbatu(:,:) ) 
    1354       hifv(:,:) = MIN( hifv(:,:), hbatv(:,:) ) 
    1355       hiff(:,:) = MIN( hiff(:,:), hbatf(:,:) ) 
     1398      IF(.NOT.ln_wd) THEN 
     1399       hift(:,:) = MIN( hift(:,:), hbatt(:,:) ) 
     1400       hifu(:,:) = MIN( hifu(:,:), hbatu(:,:) ) 
     1401       hifv(:,:) = MIN( hifv(:,:), hbatv(:,:) ) 
     1402       hiff(:,:) = MIN( hiff(:,:), hbatf(:,:) ) 
     1403      END IF 
    13561404 
    13571405      IF( nprint == 1 .AND. lwp )   THEN 
     
    13951443      CALL lbc_lnk( e3vw_0, 'V', 1._wp ) 
    13961444 
    1397       fsdepw(:,:,:) = gdepw_0 (:,:,:) 
    1398       fsde3w(:,:,:) = gdep3w_0(:,:,:) 
    1399       ! 
    1400       where (e3t_0   (:,:,:).eq.0.0)  e3t_0(:,:,:) = 1.0 
    1401       where (e3u_0   (:,:,:).eq.0.0)  e3u_0(:,:,:) = 1.0 
    1402       where (e3v_0   (:,:,:).eq.0.0)  e3v_0(:,:,:) = 1.0 
    1403       where (e3f_0   (:,:,:).eq.0.0)  e3f_0(:,:,:) = 1.0 
    1404       where (e3w_0   (:,:,:).eq.0.0)  e3w_0(:,:,:) = 1.0 
    1405       where (e3uw_0  (:,:,:).eq.0.0)  e3uw_0(:,:,:) = 1.0 
    1406       where (e3vw_0  (:,:,:).eq.0.0)  e3vw_0(:,:,:) = 1.0 
     1445      !fsdepw(:,:,:) = gdepw_0 (:,:,:) 
     1446      !fsde3w(:,:,:) = gdep3w_0(:,:,:) 
     1447      ! 
     1448      IF(.NOT.ln_wd) THEN 
     1449        where (e3t_0   (:,:,:).eq.0.0)  e3t_0(:,:,:) = 1.0 
     1450        where (e3u_0   (:,:,:).eq.0.0)  e3u_0(:,:,:) = 1.0 
     1451        where (e3v_0   (:,:,:).eq.0.0)  e3v_0(:,:,:) = 1.0 
     1452        where (e3f_0   (:,:,:).eq.0.0)  e3f_0(:,:,:) = 1.0 
     1453        where (e3w_0   (:,:,:).eq.0.0)  e3w_0(:,:,:) = 1.0 
     1454        where (e3uw_0  (:,:,:).eq.0.0)  e3uw_0(:,:,:) = 1.0 
     1455        where (e3vw_0  (:,:,:).eq.0.0)  e3vw_0(:,:,:) = 1.0 
     1456      END IF 
    14071457 
    14081458#if defined key_agrif 
     
    14461496               IF( scobot(ji,jj) >= fsdept(ji,jj,jk) )   mbathy(ji,jj) = MAX( 2, jk ) 
    14471497            END DO 
    1448             IF( scobot(ji,jj) == 0._wp               )   mbathy(ji,jj) = 0 
    1449          END DO 
    1450       END DO 
     1498 
     1499            IF(ln_wd) THEN 
     1500              IF( scobot(ji,jj) <= -(rn_wdld - rn_wdmin2)) THEN 
     1501                mbathy(ji,jj) = 0 
     1502              ELSEIF(scobot(ji,jj) <= rn_wdmin1) THEN 
     1503                mbathy(ji,jj) = 2 
     1504              ENDIF 
     1505            ELSE 
     1506              IF( scobot(ji,jj) == 0._wp )   mbathy(ji,jj) = 0 
     1507            ENDIF 
     1508         END DO 
     1509      END DO 
     1510 
    14511511      IF( nprint == 1 .AND. lwp ) WRITE(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ),   & 
    14521512         &                                                       ' MAX ', MAXVAL( mbathy(:,:) ) 
     
    15681628      INTEGER  ::   ji, jj, jk           ! dummy loop argument 
    15691629      REAL(wp) ::   zcoeft, zcoefw   ! temporary scalars 
     1630      REAL(wp) ::   ztmpu, ztmpv, ztmpf 
    15701631      ! 
    15711632      REAL(wp), POINTER, DIMENSION(:,:,:) :: z_gsigw3, z_gsigt3, z_gsi3w3 
     
    16211682      DO ji = 1, jpim1 
    16221683         DO jj = 1, jpjm1 
     1684            ! extended for Wetting/Drying case 
     1685            ztmpu = hbatt(ji,jj)+hbatt(ji+1,jj) 
     1686            ztmpv = hbatt(ji,jj)+hbatt(ji,jj+1) 
     1687            ztmpf = hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) 
    16231688            DO jk = 1, jpk 
    1624                z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) )   & 
    1625                   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
    1626                z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) )   & 
    1627                   &              / ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
    1628                z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk)     & 
    1629                   &                + hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) )   & 
    1630                   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) ) 
    1631                z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) )   & 
    1632                   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
    1633                z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) )   & 
    1634                   &              / ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
     1689               IF(ABS(ztmpu) < rn_wdmin1.AND.ln_wd) THEN 
     1690                 z_esigtu3(ji,jj,jk) = 0.5_wp * ( z_esigt3(ji,jj,jk) + z_esigt3(ji+1,jj,jk) ) 
     1691                 z_esigwu3(ji,jj,jk) = 0.5_wp * ( z_esigw3(ji,jj,jk) + z_esigw3(ji+1,jj,jk) ) 
     1692               ELSE 
     1693                 z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) ) & 
     1694                        &              / ztmpu 
     1695                 z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) ) & 
     1696                        &              / ztmpu 
     1697               END IF 
     1698 
     1699               IF(ABS(ztmpv) < rn_wdmin1.AND.ln_wd) THEN 
     1700                 z_esigtv3(ji,jj,jk) = 0.5_wp * ( z_esigt3(ji,jj,jk) + z_esigt3(ji,jj+1,jk) ) 
     1701                 z_esigwv3(ji,jj,jk) = 0.5_wp * ( z_esigw3(ji,jj,jk) + z_esigw3(ji,jj+1,jk) ) 
     1702               ELSE 
     1703                 z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) ) & 
     1704                        &              / ztmpv 
     1705                 z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) ) & 
     1706                        &              / ztmpv 
     1707               END IF 
     1708 
     1709               IF(ABS(ztmpf) < rn_wdmin1.AND.ln_wd) THEN 
     1710                 z_esigtf3(ji,jj,jk) = 0.25_wp * ( z_esigt3(ji,jj,jk)   + z_esigt3(ji+1,jj,jk)  & 
     1711                    &                            + z_esigt3(ji,jj+1,jk) + z_esigt3(ji+1,jj+1,jk) ) 
     1712               ELSE 
     1713                 z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk)  & 
     1714                    &                + hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) ) & 
     1715                    &              / ztmpf 
     1716               END IF 
     1717 
     1718               ! 
     1719               !z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) )   & 
     1720               !   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
     1721               !z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) )   & 
     1722               !   &              / ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
     1723               !z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk)     & 
     1724               !   &                + hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) )   & 
     1725               !   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) ) 
     1726               !z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) )   & 
     1727               !   &              / ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
     1728               !z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) )   & 
     1729               !   &              / ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
    16351730               ! 
    16361731               e3t_0(ji,jj,jk) = ( (hbatt(ji,jj)-rn_hc)*z_esigt3 (ji,jj,jk) + rn_hc/REAL(jpkm1,wp) ) 
     
    16721767      REAL(wp) ::   zsmth               ! smoothing around critical depth 
    16731768      REAL(wp) ::   zzs, zzb           ! Surface and bottom cell thickness in sigma space 
     1769      REAL(wp) ::   ztmpu, ztmpv, ztmpf 
    16741770      ! 
    16751771      REAL(wp), POINTER, DIMENSION(:,:,:) :: z_gsigw3, z_gsigt3, z_gsi3w3 
     
    17501846        DO jj=1,jpj-1 
    17511847 
    1752           DO jk = 1, jpk 
    1753                 z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) ) / & 
    1754                                     ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
    1755                 z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) ) / & 
    1756                                     ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
    1757                 z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) +  & 
    1758                                       hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) ) / & 
    1759                                     ( hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) ) 
    1760                 z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) ) / & 
    1761                                     ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
    1762                 z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) ) / & 
    1763                                     ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
     1848           ! extend to suit for Wetting/Drying case 
     1849           ztmpu = hbatt(ji,jj)+hbatt(ji+1,jj) 
     1850           ztmpv = hbatt(ji,jj)+hbatt(ji,jj+1) 
     1851           ztmpf = hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) 
     1852           DO jk = 1, jpk 
     1853              IF(ABS(ztmpu) < 1.e-5.AND.ln_wd) THEN 
     1854                z_esigtu3(ji,jj,jk) = 0.5_wp * ( z_esigt3(ji,jj,jk) + z_esigt3(ji+1,jj,jk) ) 
     1855                z_esigwu3(ji,jj,jk) = 0.5_wp * ( z_esigw3(ji,jj,jk) + z_esigw3(ji+1,jj,jk) ) 
     1856              ELSE 
     1857                z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) ) & 
     1858                       &              / ztmpu 
     1859                z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) ) & 
     1860                       &              / ztmpu 
     1861              END IF 
     1862 
     1863              IF(ABS(ztmpv) < 1.e-5.AND.ln_wd) THEN 
     1864                z_esigtv3(ji,jj,jk) = 0.5_wp * ( z_esigt3(ji,jj,jk) + z_esigt3(ji,jj+1,jk) ) 
     1865                z_esigwv3(ji,jj,jk) = 0.5_wp * ( z_esigw3(ji,jj,jk) + z_esigw3(ji,jj+1,jk) ) 
     1866              ELSE 
     1867                z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) ) & 
     1868                       &              / ztmpv 
     1869                z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) ) & 
     1870                       &              / ztmpv 
     1871              END IF 
     1872 
     1873              IF(ABS(ztmpf) < 1.e-5.AND.ln_wd) THEN 
     1874                z_esigtf3(ji,jj,jk) = 0.25_wp * ( z_esigt3(ji,jj,jk)   + z_esigt3(ji+1,jj,jk)  & 
     1875                   &                            + z_esigt3(ji,jj+1,jk) + z_esigt3(ji+1,jj+1,jk) ) 
     1876              ELSE 
     1877                z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk)  & 
     1878                   &                + hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) ) & 
     1879                   &              / ztmpf 
     1880              END IF 
     1881 
     1882             !z_esigtu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) ) / & 
     1883             !                    ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
     1884             !z_esigtv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk) ) / & 
     1885             !                    ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
     1886             !z_esigtf3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigt3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigt3(ji+1,jj,jk) +  & 
     1887             !                      hbatt(ji,jj+1)*z_esigt3(ji,jj+1,jk)+hbatt(ji+1,jj+1)*z_esigt3(ji+1,jj+1,jk) ) / & 
     1888             !                    ( hbatt(ji,jj)+hbatt(ji+1,jj)+hbatt(ji,jj+1)+hbatt(ji+1,jj+1) ) 
     1889             !z_esigwu3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji+1,jj)*z_esigw3(ji+1,jj,jk) ) / & 
     1890             !                    ( hbatt(ji,jj)+hbatt(ji+1,jj) ) 
     1891             !z_esigwv3(ji,jj,jk) = ( hbatt(ji,jj)*z_esigw3(ji,jj,jk)+hbatt(ji,jj+1)*z_esigw3(ji,jj+1,jk) ) / & 
     1892             !                    ( hbatt(ji,jj)+hbatt(ji,jj+1) ) 
    17641893 
    17651894             e3t_0(ji,jj,jk)=(scosrf(ji,jj)+hbatt(ji,jj))*z_esigt3(ji,jj,jk) 
Note: See TracChangeset for help on using the changeset viewer.