Changeset 2724


Ignore:
Timestamp:
2011-04-06T13:56:53+02:00 (10 years ago)
Author:
rblod
Message:

Correct dynspg_ts, see ticket #812

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r2715 r2724  
    88   !!             3.2  ! 2009-07  (R. Benshila, G. Madec) Complete revisit associated to vvl reactivation 
    99   !!             3.3  ! 2010-09  (D. Storkey, E. O'Dea) update for BDY for Shelf configurations 
    10   !!--------------------------------------------------------------------- 
     10   !!             3.3  ! 2011-03  (R. Benshila, R. Hordoir, P. Oddo) update calculation of ub_b 
     11   !!--------------------------------------------------------------------- 
    1112#if defined key_dynspg_ts   ||   defined key_esopa 
    1213   !!---------------------------------------------------------------------- 
     
    175176      !                                   !* e3*d/dt(Ua), e3*Ub, e3*Vn (Vertically integrated) 
    176177      !                                   ! -------------------------- 
    177       zua(:,:) = 0.e0   ;   zun(:,:) = 0.e0  
    178       zva(:,:) = 0.e0   ;   zvn(:,:) = 0.e0  
     178      zua(:,:) = 0.e0   ;   zun(:,:) = 0.e0   ;   ub_b(:,:) = 0.e0 
     179      zva(:,:) = 0.e0   ;   zvn(:,:) = 0.e0   ;   vb_b(:,:) = 0.e0 
    179180      ! 
    180181      DO jk = 1, jpkm1 
     
    192193               zun(ji,jj) = zun(ji,jj) + fse3u  (ji,jj,jk) * un(ji,jj,jk) 
    193194               zvn(ji,jj) = zvn(ji,jj) + fse3v  (ji,jj,jk) * vn(ji,jj,jk)                
     195               ! 
     196#if defined key_vvl 
     197               ub_b(ji,jj) = ub_b(ji,jj) + (fse3u_0(ji,jj,jk)*(1.+sshu_b(ji,jj)*muu(ji,jj,jk)))* ub(ji,jj,jk)  
     198               vb_b(ji,jj) = vb_b(ji,jj) + (fse3v_0(ji,jj,jk)*(1.+sshv_b(ji,jj)*muv(ji,jj,jk)))* vb(ji,jj,jk)    
     199#else 
     200               ub_b(ji,jj) = ub_b(ji,jj) + fse3u_0(ji,jj,jk) * ub(ji,jj,jk)  * umask(ji,jj,jk) 
     201               vb_b(ji,jj) = vb_b(ji,jj) + fse3v_0(ji,jj,jk) * vb(ji,jj,jk)  * vmask(ji,jj,jk) 
     202#endif 
    194203            END DO 
    195204         END DO 
     
    308317      zva(:,:) = zva(:,:) * hvr(:,:) 
    309318      ! 
     319      IF( lk_vvl ) THEN 
     320         ub_b(:,:) = ub_b(:,:) * umask(:,:,1) / ( hu_0(:,:) + sshu_b(:,:) + 1.e0 - umask(:,:,1) ) 
     321         vb_b(:,:) = vb_b(:,:) * vmask(:,:,1) / ( hv_0(:,:) + sshv_b(:,:) + 1.e0 - vmask(:,:,1) ) 
     322      ELSE 
     323         ub_b(:,:) = ub_b(:,:) * hur(:,:) 
     324         vb_b(:,:) = vb_b(:,:) * hvr(:,:) 
     325      ENDIF 
    310326 
    311327      ! ----------------------------------------------------------------------- 
     
    552568         va(:,:,jk) = va(:,:,jk) + ( zv_sum(:,:) - vb_b(:,:) ) / z2dt_b 
    553569      END DO 
    554       ub_b (:,:) = un_b(:,:) 
    555       vb_b (:,:) = vn_b(:,:) 
    556570      un_b  (:,:) =  zu_sum(:,:)  
    557571      vn_b  (:,:) =  zv_sum(:,:)  
Note: See TracChangeset for help on using the changeset viewer.