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 2497 – NEMO

Changeset 2497


Ignore:
Timestamp:
2010-12-21T07:44:40+01:00 (13 years ago)
Author:
gm
Message:

v3.3beta: #780 zdfgls error in bottom friction formulation

Location:
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/DYN/dynbfr.F90

    r2460 r2497  
    1313   USE dom_oce         ! ocean space and time domain variables  
    1414   USE zdf_oce         ! ocean vertical physics variables 
    15    USE zdfbfr          ! bottom friction 
    1615 
    1716   USE trdmod          ! ocean active dynamics and tracers trends  
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r2450 r2497  
    2020   USE phycst          ! physical constants 
    2121   USE in_out_manager  ! I/O manager 
    22 #if defined key_zdfgls 
    23    USE zdfbfr, ONLY : bfrua, bfrva, wbotu, wbotv ! bottom stresses 
    24    USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    25 #endif 
    2622 
    2723   IMPLICIT NONE 
     
    3632   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    3733   !! $Id$ 
    38    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    39    !!---------------------------------------------------------------------- 
    40  
     34   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     35   !!---------------------------------------------------------------------- 
    4136CONTAINS 
    4237 
     
    6661      !! 
    6762      INTEGER  ::   ji, jj, jk             ! dummy loop indices 
    68       REAL(wp) ::   zrau0r, zcoef         ! temporary scalars 
     63      REAL(wp) ::   z1_p2dt, zcoef         ! temporary scalars 
    6964      REAL(wp) ::   zzwi, zzws, zrhs       ! temporary scalars 
    7065      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zwi        ! 3D workspace 
     
    7974      ! 0. Local constant initialization 
    8075      ! -------------------------------- 
    81       zrau0r = 1. / rau0      ! inverse of the reference density 
     76      z1_p2dt = 1._wp / p2dt      ! inverse of the timestep 
    8277 
    8378      ! 1. Vertical diffusion on u 
     
    9893               zzws          = zcoef * avmu (ji,jj,jk+1) / fse3uw(ji,jj,jk+1) 
    9994               zws(ji,jj,jk) = zzws  * umask(ji,jj,jk+1) 
    100                zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zzws 
     95               zwd(ji,jj,jk) = 1._wp - zwi(ji,jj,jk) - zzws 
    10196            END DO 
    10297         END DO 
     
    10499      DO jj = 2, jpjm1        ! Surface boudary conditions 
    105100         DO ji = fs_2, fs_jpim1   ! vector opt. 
    106             zwi(ji,jj,1) = 0. 
    107             zwd(ji,jj,1) = 1. - zws(ji,jj,1) 
     101            zwi(ji,jj,1) = 0._wp 
     102            zwd(ji,jj,1) = 1._wp - zws(ji,jj,1) 
    108103         END DO 
    109104      END DO 
     
    134129      DO jj = 2, jpjm1        !==  second recurrence:    SOLk = RHSk - Lk / Dk-1  Lk-1  == 
    135130         DO ji = fs_2, fs_jpim1   ! vector opt. 
    136             ua(ji,jj,1) = ub(ji,jj,1)   & 
    137                &        + p2dt * (  ua(ji,jj,1) + 0.5 * ( utau_b(ji,jj) + utau(ji,jj) ) / ( fse3u(ji,jj,1) * rau0 )  ) 
     131            ua(ji,jj,1) = ub(ji,jj,1) + p2dt * (  ua(ji,jj,1) + 0.5_wp * ( utau_b(ji,jj) + utau(ji,jj) )   & 
     132               &                                                       / ( fse3u(ji,jj,1) * rau0      )  ) 
    138133         END DO 
    139134      END DO 
     
    155150         DO jj = 2, jpjm1    
    156151            DO ji = fs_2, fs_jpim1   ! vector opt. 
    157                ua(ji,jj,jk) =( ua(ji,jj,jk) - zws(ji,jj,jk) * ua(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
    158             END DO 
    159          END DO 
    160       END DO 
    161  
    162 #if defined key_zdfgls 
    163       ! Save bottom stress for next time step 
    164       DO jj = 2, jpjm1 
    165          DO ji = fs_2, fs_jpim1   ! vector opt. 
    166             wbotu(ji,jj) = bfrua(ji,jj) * ua(ji,jj,mbku(ji,jj)) * umask(ji,jj,mbku(ji,jj)) 
    167          END DO 
    168       END DO 
    169       CALL lbc_lnk( wbotu(:,:), 'U', -1. ) 
    170 #endif 
     152               ua(ji,jj,jk) = ( ua(ji,jj,jk) - zws(ji,jj,jk) * ua(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
     153            END DO 
     154         END DO 
     155      END DO 
    171156 
    172157      ! Normalization to obtain the general momentum trend ua 
     
    174159         DO jj = 2, jpjm1    
    175160            DO ji = fs_2, fs_jpim1   ! vector opt. 
    176                ua(ji,jj,jk) = ( ua(ji,jj,jk) - ub(ji,jj,jk) ) / p2dt 
     161               ua(ji,jj,jk) = ( ua(ji,jj,jk) - ub(ji,jj,jk) ) * z1_p2dt 
    177162            END DO 
    178163         END DO 
     
    197182               zzws          = zcoef * avmv (ji,jj,jk+1) / fse3vw(ji,jj,jk+1) 
    198183               zws(ji,jj,jk) =  zzws * vmask(ji,jj,jk+1) 
    199                zwd(ji,jj,jk) = 1. - zwi(ji,jj,jk) - zzws 
     184               zwd(ji,jj,jk) = 1._wp - zwi(ji,jj,jk) - zzws 
    200185            END DO 
    201186         END DO 
     
    203188      DO jj = 2, jpjm1        ! Surface boudary conditions 
    204189         DO ji = fs_2, fs_jpim1   ! vector opt. 
    205             zwi(ji,jj,1) = 0.e0 
    206             zwd(ji,jj,1) = 1. - zws(ji,jj,1) 
     190            zwi(ji,jj,1) = 0._wp 
     191            zwd(ji,jj,1) = 1._wp - zws(ji,jj,1) 
    207192         END DO 
    208193      END DO 
     
    233218      DO jj = 2, jpjm1        !==  second recurrence:    SOLk = RHSk - Lk / Dk-1  Lk-1  == 
    234219         DO ji = fs_2, fs_jpim1   ! vector opt. 
    235             va(ji,jj,1) = vb(ji,jj,1)   & 
    236                &        + p2dt * (  va(ji,jj,1) + 0.5 * ( vtau_b(ji,jj) + vtau(ji,jj) ) / ( fse3v(ji,jj,1) * rau0 )  ) 
     220            va(ji,jj,1) = vb(ji,jj,1) + p2dt * (  va(ji,jj,1) + 0.5_wp * ( vtau_b(ji,jj) + vtau(ji,jj) )   & 
     221               &                                                       / ( fse3v(ji,jj,1) * rau0      )  ) 
    237222         END DO 
    238223      END DO 
     
    254239         DO jj = 2, jpjm1    
    255240            DO ji = fs_2, fs_jpim1   ! vector opt. 
    256                va(ji,jj,jk) =( va(ji,jj,jk) - zws(ji,jj,jk) * va(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
    257             END DO 
    258          END DO 
    259       END DO 
    260  
    261 #if defined key_zdfgls 
    262       ! Save bottom stress for next time step 
    263       DO jj = 2, jpjm1 
    264          DO ji = fs_2, fs_jpim1   ! vector opt. 
    265             wbotv(ji,jj) = bfrva(ji,jj) * va(ji,jj,mbkv(ji,jj)) * vmask(ji,jj,mbku(ji,jj)) 
    266          END DO 
    267       END DO 
    268       CALL lbc_lnk( wbotv(:,:), 'V', -1. ) 
    269 #endif 
     241               va(ji,jj,jk) = ( va(ji,jj,jk) - zws(ji,jj,jk) * va(ji,jj,jk+1) ) / zwd(ji,jj,jk) 
     242            END DO 
     243         END DO 
     244      END DO 
    270245 
    271246      ! Normalization to obtain the general momentum trend va 
     
    273248         DO jj = 2, jpjm1    
    274249            DO ji = fs_2, fs_jpim1   ! vector opt. 
    275                va(ji,jj,jk) = ( va(ji,jj,jk) - vb(ji,jj,jk) ) / p2dt 
     250               va(ji,jj,jk) = ( va(ji,jj,jk) - vb(ji,jj,jk) ) * z1_p2dt 
    276251            END DO 
    277252         END DO 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdf_oce.F90

    r2287 r2497  
    3333 
    3434 
    35    REAL(wp), PUBLIC, DIMENSION        (jpk) ::   avmb, avtb   !: background profile of avm and avt 
    36    REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   avtb_2d      !: set in tke_init, for other modif than ice 
    37    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   avmu, avmv   !: vertical viscosity coeff. at uw- & vw-points   [m2/s] 
    38    REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   avm , avt    !: vertical viscosity & diffusivity coeff. at  w-point   [m2/s] 
     35   REAL(wp), PUBLIC, DIMENSION        (jpk) ::   avmb , avtb    !: background profile of avm and avt 
     36   REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   avtb_2d        !: set in tke_init, for other modif than ice 
     37   REAL(wp), PUBLIC, DIMENSION(jpi,jpj)     ::   bfrua, bfrva   !: Bottom friction coefficients set in zdfbfr 
     38   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   avmu , avmv    !: vertical viscosity coef at uw- & vw-pts        [m2/s] 
     39   REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   avm  , avt     !: vertical viscosity & diffusivity coef at w-pt  [m2/s] 
    3940  
    4041   !!---------------------------------------------------------------------- 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r2450 r2497  
    2929   PUBLIC   zdf_bfr_init    ! called by opa.F90 
    3030    
    31    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   bfrua , bfrva   !: Bottom friction coefficients set in zdfbfr 
    32 #if defined key_zdfgls   ||   defined key_esopa 
    33    REAL(wp), PUBLIC                     ::   rn_hbro =  0.003_wp  ! Bottom roughness (m) 
    34    REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   wbotu, wbotv         !  Bottom stresses 
    35 #endif 
    36  
    3731   !                                    !!* Namelist nambfr: bottom friction namelist * 
    3832   INTEGER  ::   nn_bfr    = 0           ! = 0/1/2/3 type of bottom friction  
     
    5145   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    5246   !! $Id$ 
    53    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    54    !!---------------------------------------------------------------------- 
    55  
     47   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     48   !!---------------------------------------------------------------------- 
    5649CONTAINS 
    5750 
     
    117110      ENDIF 
    118111      ! 
    119  
    120       !zdfgls case with explicit vertical diffusion scheme: save bottom stress for next time step 
    121  
    122 #if defined key_zdfgls && defined key_dynspg_exp 
    123       DO jj = 2, jpjm1 
    124          DO ji = fs_2, fs_jpim1   ! vector opt. 
    125             wbotu(ji,jj) = bfrua(ji,jj) * un(ji,jj,mbku(ji,jj)) * umask(ji,jj,mbku(ji,jj)) 
    126             wbotv(ji,jj) = bfrva(ji,jj) * vn(ji,jj,mbkv(ji,jj)) * vmask(ji,jj,mbkv(ji,jj)) 
    127          END DO 
    128       END DO 
    129       CALL lbc_lnk( wbotu(:,:), 'U', -1. )   ;   CALL lbc_lnk( wbotv(:,:), 'V', -1. )     ! lateral boundary condition 
    130 #endif 
    131  
    132112   END SUBROUTINE zdf_bfr 
    133113 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r2452 r2497  
    2828   USE in_out_manager ! I/O manager 
    2929   USE iom            ! I/O manager library 
    30    USE zdfbfr, ONLY : rn_hbro, wbotu, wbotv ! bottom roughness and bottom stresses 
    3130 
    3231   IMPLICIT NONE 
     
    6160 
    6261   REAL(wp) ::   hsro          =  0.003_wp    ! Minimum surface roughness 
     62   REAL(wp) ::   hbro          =  0.003_wp    ! Bottom roughness (m) 
    6363   REAL(wp) ::   rcm_sf        =  0.73_wp     ! Shear free turbulence parameters 
    6464   REAL(wp) ::   ra_sf         = -2.0_wp      ! Must be negative -2 < ra_sf < -1  
     
    143143      ustars2 = 0._wp   ;   ustarb2 = 0._wp   ;   psi  = 0._wp   ;   zwall_psi = 0._wp 
    144144 
    145       ! Compute wind stress at T-points 
     145      ! Compute surface and bottom friction at T-points 
    146146!CDIR NOVERRCHK 
    147147      DO jj = 2, jpjm1 
    148148!CDIR NOVERRCHK 
    149         DO ji = fs_2, fs_jpim1   ! vector opt. 
    150           !  
    151           ! wind stress 
    152           ! squared surface velocity scale 
    153           ustars2(ji,jj) = rau0r * taum(ji,jj) * tmask(ji,jj,1) 
    154           ! 
    155           ! bottom friction  
    156           ztx2 = ( wbotu(ji-1,jj)*umask(ji-1,jj,1) + wbotu(ji,jj)*umask(ji,jj,1) )   & 
    157             &  / MAX( 1.,         umask(ji-1,jj,1) +              umask(ji,jj,1) ) 
    158           zty2 = ( wbotv(ji,jj-1)*vmask(ji,jj-1,1) + wbotv(ji,jj)*vmask(ji,jj,1) )   & 
    159             &  / MAX( 1.,         vmask(ji,jj-1,1) +              vmask(ji,jj,1) ) 
    160           ustarb2(ji,jj) = SQRT( ztx2 * ztx2 + zty2 * zty2 ) * tmask(ji,jj,1) 
    161         END DO 
     149         DO ji = fs_2, fs_jpim1   ! vector opt. 
     150            !  
     151            ! surface friction  
     152            ustars2(ji,jj) = rau0r * taum(ji,jj) * tmask(ji,jj,1) 
     153            ! 
     154            ! bottom friction (explicit before friction) 
     155            ! Note that we chose here not to bound the friction as in dynbfr) 
     156            ztx2 = (  bfrua(ji,jj)  * ub(ji,jj,mbku(ji,jj)) + bfrua(ji-1,jj) * ub(ji-1,jj,mbku(ji-1,jj)) )   & 
     157               & * ( 1._wp - 0.5_wp * umask(ji,jj,1) * umask(ji-1,jj,1) ) 
     158            zty2 = (  bfrva(ji,jj)  * vb(ji,jj,mbkv(ji,jj)) + bfrva(ji,jj-1) * vb(ji,jj-1,mbkv(ji,jj-1)) )   & 
     159               & * ( 1._wp - 0.5_wp * vmask(ji,jj,1) * vmask(ji,jj-1,1) ) 
     160            ustarb2(ji,jj) = SQRT( ztx2 * ztx2 + zty2 * zty2 ) * tmask(ji,jj,1) 
     161         END DO 
    162162      END DO   
    163163 
     
    617617      ! 
    618618      CASE ( 0 )             ! Dirichlet  
    619          !                      ! en(ibot) = u*^2 / Co2 and mxln(ibot) = vkarmn * rn_hbro 
     619         !                      ! en(ibot) = u*^2 / Co2 and mxln(ibot) = vkarmn * hbro 
    620620         !                      ! Balance between the production and the dissipation terms 
    621621!CDIR NOVERRCHK 
     
    625625               ibot   = mbkt(ji,jj) + 1      ! k   bottom level of w-point 
    626626               ibotm1 = mbkt(ji,jj)          ! k-1 bottom level of w-point but >=1 
    627                zdep(ji,jj) = vkarmn * rn_hbro 
     627               zdep(ji,jj) = vkarmn * hbro 
    628628               psi (ji,jj,ibot) = rc0**rpp * en(ji,jj,ibot)**rmm * zdep(ji,jj)**rnn 
    629629               z_elem_a(ji,jj,ibot) = 0._wp 
     
    632632               ! 
    633633               ! Just above last level, Dirichlet condition again (GOTM like) 
    634                zdep(ji,jj) = vkarmn * (rn_hbro + fse3t(ji,jj,ibotm1)) 
     634               zdep(ji,jj) = vkarmn * ( hbro + fse3t(ji,jj,ibotm1) ) 
    635635               psi (ji,jj,ibotm1) = rc0**rpp * en(ji,jj,ibot  )**rmm * zdep(ji,jj)**rnn 
    636636               z_elem_a(ji,jj,ibotm1) = 0._wp 
     
    650650               ! 
    651651               ! Bottom level Dirichlet condition: 
    652                zdep(ji,jj) = vkarmn * rn_hbro 
     652               zdep(ji,jj) = vkarmn * hbro 
    653653               psi (ji,jj,ibot) = rc0**rpp * en(ji,jj,ibot)**rmm * zdep(ji,jj)**rnn 
    654654               ! 
     
    662662               ! 
    663663               ! Set psi vertical flux at the bottom: 
    664                zdep(ji,jj) = rn_hbro + 0.5_wp*fse3t(ji,jj,ibotm1) 
     664               zdep(ji,jj) = hbro + 0.5_wp*fse3t(ji,jj,ibotm1) 
    665665               zflxb = rsbc_psi2 * ( avm(ji,jj,ibot) + avm(ji,jj,ibotm1) )   & 
    666666                  &  * (0.5_wp*(en(ji,jj,ibot)+en(ji,jj,ibotm1)))**rmm * zdep(ji,jj)**(rnn-1._wp) 
     
    906906         WRITE(numout,*) '      minimum value of en                           rn_emin       = ', rn_emin 
    907907         WRITE(numout,*) '      minimum value of eps                          rn_epsmin     = ', rn_epsmin 
    908          WRITE(numout,*) '      Surface roughness (m)                         hsro          = ', hsro 
    909          WRITE(numout,*) '      Bottom roughness (m)                          rn_hbro       = ', rn_hbro 
    910908         WRITE(numout,*) '      Limit dissipation rate under stable stratif.  ln_length_lim = ', ln_length_lim 
    911909         WRITE(numout,*) '      Galperin limit (Standard: 0.53, Holt: 0.26)   rn_clim_galp  = ', rn_clim_galp 
     
    920918         WRITE(numout,*) '      Stability functions                           nn_stab_func   = ', nn_stab_func 
    921919         WRITE(numout,*) '      Type of closure                               nn_clos        = ', nn_clos 
    922          WRITE(numout,*) 
     920         WRITE(numout,*) '   Hard coded parameters' 
     921         WRITE(numout,*) '      Surface roughness (m)                         hsro          = ', hsro 
     922         WRITE(numout,*) '      Bottom roughness (m)                          hbro          = ', hbro 
    923923      ENDIF 
    924924 
     
    11951195            id5 = iom_varid( numror, 'avmv' , ldstop = .FALSE. ) 
    11961196            id6 = iom_varid( numror, 'mxln' , ldstop = .FALSE. ) 
    1197             id7 = iom_varid( numror, 'wbotu', ldstop = .FALSE. ) 
    1198             id8 = iom_varid( numror, 'wbotv', ldstop = .FALSE. ) 
    11991197            ! 
    12001198            IF( MIN( id1, id2, id3, id4, id5, id6, id7, id8 ) > 0 ) THEN        ! all required arrays exist 
     
    12051203               CALL iom_get( numror, jpdom_autoglo, 'avmv'  , avmv   ) 
    12061204               CALL iom_get( numror, jpdom_autoglo, 'mxln'  , mxln   ) 
    1207                CALL iom_get( numror, jpdom_autoglo, 'wbotu' , wbotu  ) 
    1208                CALL iom_get( numror, jpdom_autoglo, 'wbotv' , wbotv  ) 
    12091205            ELSE                         
    12101206               IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' 
    1211                IF(lwp) WRITE(numout,*) ' ===>>>> : The bottom stresses are estimated'  
    12121207               en  (:,:,:) = rn_emin 
    12131208               mxln(:,:,:) = 0.001         
    1214                ! Initialize bottom stresses 
    1215                DO jj = 2, jpjm1 
    1216                   DO ji = fs_2, fs_jpim1   ! vector opt. 
    1217                      ikbu = mbku(ji,jj)         ! bottom ocean level of u-point 
    1218                      ikbv = mbkv(ji,jj) 
    1219                      cbx  = avmu(ji,jj,ikbu+1) / fse3uw(ji,jj,ikbu+1) 
    1220                      cby  = avmv(ji,jj,ikbv+1) / fse3vw(ji,jj,ikbv+1) 
    1221                      wbotu(ji,jj) = -cbx * un(ji,jj,ikbu) * umask(ji,jj,1) 
    1222                      wbotv(ji,jj) = -cby * vn(ji,jj,ikbv) * vmask(ji,jj,1) 
    1223                   END DO 
    1224                END DO 
    12251209               DO jit = nit000 + 1, nit000 + 10   ;   CALL zdf_gls( jit )   ;   END DO 
    12261210            ENDIF 
    12271211         ELSE                                   !* Start from rest 
    12281212            IF(lwp) WRITE(numout,*) ' ===>>>> : Initialisation of en and mxln by background values' 
    1229             IF(lwp) WRITE(numout,*) ' ===>>>> : The bottom stresses are estimated' 
    12301213            en  (:,:,:) = rn_emin 
    12311214            mxln(:,:,:) = 0.001        
    1232             ! Initialize bottom stresses 
    1233             DO jj = 2, jpjm1 
    1234                DO ji = fs_2, fs_jpim1   ! vector opt. 
    1235                   ikbu = mbku(ji,jj)            ! bottom ocean level of u-point 
    1236                   ikbv = mbkv(ji,jj) 
    1237                   cbx  = avmu(ji,jj,ikbu+1) / fse3uw(ji,jj,ikbu+1) 
    1238                   cby  = avmv(ji,jj,ikbv+1) / fse3vw(ji,jj,ikbv+1) 
    1239                   wbotu(ji,jj) = -cbx * un(ji,jj,ikbu) * umask(ji,jj,1) 
    1240                   wbotv(ji,jj) = -cby * vn(ji,jj,ikbv) * vmask(ji,jj,1) 
    1241                END DO 
    1242             END DO 
    12431215         ENDIF 
    12441216         ! 
     
    12521224         CALL iom_rstput( kt, nitrst, numrow, 'avmv' , avmv  ) 
    12531225         CALL iom_rstput( kt, nitrst, numrow, 'mxln' , mxln  ) 
    1254          CALL iom_rstput( kt, nitrst, numrow, 'wbotu' , wbotu ) 
    1255          CALL iom_rstput( kt, nitrst, numrow, 'wbotv' , wbotv ) 
    12561226         ! 
    12571227      ENDIF 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r2450 r2497  
    4444   USE zdf_oce        ! vertical physics: ocean variables 
    4545   USE zdfmxl         ! vertical physics: mixed layer 
    46    USE zdfbfr         ! vertical mixing: bottom friction 
    4746   USE restart        ! ocean restart 
    4847   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
Note: See TracChangeset for help on using the changeset viewer.