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 3490 for branches/2012/dev_r3327_MERCATOR1_BDY/NEMOGCM/NEMO/OPA_SRC/BDY/bdytra.F90 – NEMO

Ignore:
Timestamp:
2012-10-08T16:27:20+02:00 (12 years ago)
Author:
cbricaud
Message:

add Jerome Chanut 's modications for BDY, Mercator_1 2012 task

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3327_MERCATOR1_BDY/NEMOGCM/NEMO/OPA_SRC/BDY/bdytra.F90

    r3367 r3490  
    2222   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2323   USE in_out_manager  ! I/O manager 
    24    USE phycst 
     24 
    2525 
    2626   IMPLICIT NONE 
     
    2828 
    2929   PUBLIC bdy_tra      ! routine called in tranxt.F90  
    30    PUBLIC bdy_tra_dmp  ! routine called in tranxt.F90  
     30   PUBLIC bdy_tra_dmp  ! routine called in step.F90  
    3131 
    3232   !!---------------------------------------------------------------------- 
     
    6565         END SELECT 
    6666      ENDDO 
     67      ! 
     68      ! Boundary points should be updated 
     69      IF (nb_bdy>0) CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. ) 
     70      IF (nb_bdy>0) CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. ) 
    6771 
    6872   END SUBROUTINE bdy_tra 
     
    98102      END DO  
    99103      ! 
    100       CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. )   ; CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )    ! Boundary points should be updated 
    101       ! 
    102104      IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
    103105      ! 
     
    133135         END DO 
    134136      END DO 
    135       ! 
    136       CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. )   ; CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )    ! Boundary points should be updated 
    137137      ! 
    138138      IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
     
    190190      END DO 
    191191      ! 
    192       CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. )   ; CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )    ! Boundary points should be updated 
    193       ! 
    194192      IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
    195193      ! 
     
    229227         END DO 
    230228      END DO 
    231       ! 
    232       CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. )   ; CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )    ! Boundary points should be updated 
    233229      ! 
    234230      IF( kt .eq. nit000 ) CLOSE( unit = 102 ) 
     
    262258               ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
    263259               ij = idx_bdy(ib_bdy)%nbj(ib,igrd) 
    264                zwgt = idx_bdy(ib_bdy)%nbw(ib,igrd) / ( rn_time_dmp(ib_bdy) * rday ) 
     260               zwgt = idx_bdy(ib_bdy)%nbd(ib,igrd) 
    265261               DO ik = 1, jpkm1 
    266                   tsa(ii,ij,ik,jp_tem) = ( tsa(ii,ij,ik,jp_tem) + zwgt * ( dta_bdy(ib_bdy)%tem(ib,ik) - tsb(ii,ij,ik,jp_tem) ) ) * tmask(ii,ij,ik) 
    267                   tsa(ii,ij,ik,jp_sal) = ( tsa(ii,ij,ik,jp_sal) + zwgt * ( dta_bdy(ib_bdy)%sal(ib,ik) - tsb(ii,ij,ik,jp_sal) ) ) * tmask(ii,ij,ik) 
     262                  zta = zwgt * ( dta_bdy(ib_bdy)%tem(ib,ik) - tsb(ii,ij,ik,jp_tem) ) * tmask(ii,ij,ik) 
     263                  zsa = zwgt * ( dta_bdy(ib_bdy)%sal(ib,ik) - tsb(ii,ij,ik,jp_sal) ) * tmask(ii,ij,ik) 
     264                  tsa(ii,ij,ik,jp_tem) = tsa(ii,ij,ik,jp_tem) + zta 
     265                  tsa(ii,ij,ik,jp_sal) = tsa(ii,ij,ik,jp_sal) + zsa 
    268266               END DO 
    269267            END DO 
    270268         ENDIF 
    271269      ENDDO 
    272       ! 
    273       CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. )  ;  CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. )    ! Boundary points should be updated 
    274270      ! 
    275271      IF( nn_timing == 1 ) CALL timing_stop('bdy_tra_dmp') 
Note: See TracChangeset for help on using the changeset viewer.