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 481 for trunk/NEMO/OPA_SRC/TRA/trabbl.F90 – NEMO

Ignore:
Timestamp:
2006-06-19T15:29:54+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_bugfix_047 : CT : correction in order to take into account the partial steps for advective bbl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/TRA/trabbl.F90

    r474 r481  
    2020   USE trdmod_oce           ! ocean variables trends 
    2121   USE in_out_manager       ! I/O manager 
     22   USE lbclnk               ! ocean lateral boundary conditions 
    2223   USE prtctl               ! Print control 
    2324 
     
    115116      USE oce, ONLY :    ztdta => ua,     & ! use ua as 3D workspace    
    116117                         ztdsa => va        ! use va as 3D workspace    
    117       USE eosbn2 , ONLY : neos              ! type of equation of state 
     118      USE eosbn2                            ! equation of state 
    118119 
    119120      !! * Arguments  
     
    233234      SELECT CASE ( neos ) 
    234235 
    235       CASE ( 0   )               ! 0 :Jackett and McDougall (1994) formulation 
     236      CASE ( 0 )                 ! Jackett and McDougall (1994) formulation 
    236237 
    237238#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp 
     
    321322      CASE ( 2 )               ! Linear formulation function of temperature and salinity 
    322323 
    323          CALL ctl_stop( '          use of linear eos rho(T,S) = rau0 * ( rbeta * S - ralpha * T )', & 
    324               &         '          bbl not implented: easy to do it ' ) 
    325  
     324#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp 
     325      jj = 1 
     326      DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     327#  else 
     328      DO jj = 1, jpjm1 
     329         DO ji = 1, jpim1 
     330#  endif       
     331            ! local density gradient along i-bathymetric slope 
     332            zgdrho = - ( rbeta*( zsnb(ji+1,jj) - zsnb(ji,jj) )   & 
     333                     -  ralpha*( ztnb(ji+1,jj) - ztnb(ji,jj) ) ) 
     334            ! sign of local i-gradient of density multiplied by the i-slope 
     335            zsign = SIGN( 0.5, - zgdrho * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     336            zki(ji,jj) = ( 0.5 - zsign ) * zahu(ji,jj) 
     337#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp 
     338         END DO 
     339#  endif 
     340      END DO 
     341 
     342#  if defined key_vectopt_loop   &&   ! defined key_mpp_omp 
     343      jj = 1 
     344      DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     345#  else 
     346      DO jj = 1, jpjm1 
     347         DO ji = 1, jpim1 
     348#  endif      
     349            ! local density gradient along j-bathymetric slope 
     350            zgdrho = - ( rbeta*( zsnb(ji,jj+1) - zsnb(ji,jj) )   & 
     351                     -  ralpha*( ztnb(ji,jj+1) - ztnb(ji,jj) ) )    
     352            ! sign of local j-gradient of density multiplied by the j-slope 
     353            zsign = sign( 0.5, -zgdrho * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     354            zkj(ji,jj) = ( 0.5 - zsign ) * zahv(ji,jj) 
     355#  if ! defined key_vectopt_loop   ||   defined key_mpp_omp 
     356         END DO 
     357#  endif 
     358      END DO 
     359       
    326360      CASE DEFAULT 
    327361 
     
    461495      !! * Local declarations 
    462496      INTEGER ::   ji, jj      ! dummy loop indices 
     497      REAL(wp),  DIMENSION(jpi,jpj) :: zmbk   
     498 
    463499      NAMELIST/nambbl/ atrbbl 
    464500      !!---------------------------------------------------------------------- 
     
    499535         END DO 
    500536      END DO 
    501 !!bug ??? 
    502 !!bug Caution : define the vakue of mbku & mbkv everywhere!!! but lbc mpp lnk : pb when closed (0) 
     537 
     538      zmbk(:,:) = FLOAT( mbku (:,:) )    
     539      CALL lbc_lnk(zmbk,'U',1.) 
     540      mbku(:,:) = MAX( INT( zmbk(:,:) ), 1 )  
     541 
     542      zmbk(:,:) = FLOAT( mbkv (:,:) )    
     543      CALL lbc_lnk(zmbk,'V',1.) 
     544      mbkv(:,:) = MAX( INT( zmbk(:,:) ), 1 )  
    503545 
    504546# if defined key_trabbl_adv 
Note: See TracChangeset for help on using the changeset viewer.