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 1884 for branches/TAM_V3_0/NEMO/OPA_SRC/OBC/obctra.F90 – NEMO

Ignore:
Timestamp:
2010-05-27T11:26:52+02:00 (14 years ago)
Author:
rblod
Message:

Light adaptation of NEMO direct model routine to handle TAM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/TAM_V3_0/NEMO/OPA_SRC/OBC/obctra.F90

    r1152 r1884  
    4343      rtauein, rtauwin, rtaunin, rtausin      ! Boundary restoring coefficient for inflow  
    4444 
     45   LOGICAL  ::   ll_fbc 
     46    
    4547   !! * Substitutions 
    4648#  include "obc_vectopt_loop_substitute.h90" 
     
    9193      END IF 
    9294 
    93       IF( lp_obc_east  )   CALL obc_tra_east ( kt )    ! East open boundary 
    94  
    95       IF( lp_obc_west  )   CALL obc_tra_west ( kt )    ! West open boundary 
    96  
    97       IF( lp_obc_north )   CALL obc_tra_north( kt )    ! North open boundary 
    98  
    99       IF( lp_obc_south )   CALL obc_tra_south( kt )    ! South open boundary 
     95      ll_fbc = ( ( kt < nit000+3 ) .AND. .NOT. ln_rstart ) 
     96       
     97      IF ( cp_cfg == "indian" ) THEN 
     98         ll_fbc = ( ( kt < nit000+30 ) .AND. .NOT. ln_obc_rstart ) 
     99      ENDIF 
     100 
     101      IF( lp_obc_east  )   CALL obc_tra_east     ! East open boundary 
     102 
     103      IF( lp_obc_west  )   CALL obc_tra_west     ! West open boundary 
     104 
     105      IF( lp_obc_north )   CALL obc_tra_north    ! North open boundary 
     106 
     107      IF( lp_obc_south )   CALL obc_tra_south    ! South open boundary 
     108 
    100109 
    101110      IF( lk_mpp ) THEN                  !!bug ??? 
     
    111120 
    112121 
    113    SUBROUTINE obc_tra_east ( kt ) 
     122   SUBROUTINE obc_tra_east 
    114123      !!------------------------------------------------------------------------------ 
    115124      !!                ***  SUBROUTINE obc_tra_east  *** 
     
    128137      !!------------------------------------------------------------------------------ 
    129138      !! * Arguments 
    130       INTEGER, INTENT( in ) ::   kt 
    131139 
    132140      !! * Local declaration 
     
    139147      ! -------------------------------------------------------- 
    140148 
    141       IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbceast ) THEN 
    142          DO ji = fs_nie0+1, fs_nie1+1 ! Vector opt. 
     149      IF ( ll_fbc .OR. lfbceast ) THEN 
     150 
     151        DO ji = fs_nie0+1, fs_nie1+1 ! Vector opt. 
    143152            DO jk = 1, jpkm1 
    144153               DO jj = 1, jpj 
     
    211220 
    212221 
    213    SUBROUTINE obc_tra_west ( kt ) 
     222   SUBROUTINE obc_tra_west 
    214223      !!------------------------------------------------------------------------------ 
    215224      !!                 ***  SUBROUTINE obc_tra_west  *** 
     
    228237      !!------------------------------------------------------------------------------ 
    229238      !! * Arguments 
    230       INTEGER, INTENT( in ) ::   kt 
    231239 
    232240      !! * Local declaration 
     
    239247      ! -------------------------------------------------------- 
    240248 
    241       IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcwest ) THEN 
     249      IF ( ll_fbc .OR. lfbcwest ) THEN 
    242250 
    243251         DO ji = fs_niw0, fs_niw1 ! Vector opt. 
     
    310318 
    311319 
    312    SUBROUTINE obc_tra_north ( kt ) 
     320   SUBROUTINE obc_tra_north 
    313321      !!------------------------------------------------------------------------------ 
    314322      !!                 ***  SUBROUTINE obc_tra_north  *** 
     
    327335      !!------------------------------------------------------------------------------ 
    328336      !! * Arguments 
    329       INTEGER, INTENT( in ) ::   kt 
    330337 
    331338      !! * Local declaration 
     
    338345      ! -------------------------------------------------------- 
    339346 
    340       IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcnorth ) THEN 
     347      IF ( ll_fbc .OR. lfbcnorth ) THEN 
    341348 
    342349         DO jj = fs_njn0+1, fs_njn1+1  ! Vector opt. 
     
    412419 
    413420 
    414    SUBROUTINE obc_tra_south ( kt ) 
     421   SUBROUTINE obc_tra_south 
    415422      !!------------------------------------------------------------------------------ 
    416423      !!                ***  SUBROUTINE obc_tra_south  *** 
     
    429436      !!------------------------------------------------------------------------------ 
    430437      !! * Arguments 
    431       INTEGER, INTENT( in ) ::   kt 
    432438 
    433439      !! * Local declaration 
     
    440446      ! -------------------------------------------------------- 
    441447 
    442       IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcsouth ) THEN 
     448      IF ( ll_fbc .OR. lfbcsouth ) THEN 
    443449 
    444450         DO jj = fs_njs0, fs_njs1  ! Vector opt. 
Note: See TracChangeset for help on using the changeset viewer.