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 13527 for NEMO/trunk/src/OCE/BDY/bdylib.F90 – NEMO

Ignore:
Timestamp:
2020-09-25T18:00:14+02:00 (4 years ago)
Author:
smasson
Message:

trunk: missing parts of [13526] + soem cleaning

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/BDY/bdylib.F90

    r13526 r13527  
    100100      !! 
    101101      !!---------------------------------------------------------------------- 
    102       TYPE(OBC_INDEX),                     INTENT(in) ::   idx  ! OBC indices 
    103       REAL(wp), DIMENSION(:,:), POINTER,   INTENT(in) ::   dta  ! OBC external data 
    104       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   phib  ! before tracer field 
    105       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   phia  ! tracer trend 
    106       LOGICAL                 , OPTIONAL,  INTENT(in) ::   lrim0   ! indicate if rim 0 is treated 
    107       LOGICAL,                             INTENT(in) ::   ll_npo  ! switch for NPO version 
     102      TYPE(OBC_INDEX),                   INTENT(in   ) ::   idx  ! OBC indices 
     103      REAL(wp), DIMENSION(:,:), POINTER, INTENT(in   ) ::   dta  ! OBC external data 
     104      REAL(wp), DIMENSION(jpi,jpj,jpk),  INTENT(inout) ::   phib  ! before tracer field 
     105      REAL(wp), DIMENSION(jpi,jpj,jpk),  INTENT(inout) ::   phia  ! tracer trend 
     106      LOGICAL ,                          INTENT(in   ) ::   lrim0   ! indicate if rim 0 is treated 
     107      LOGICAL ,                          INTENT(in   ) ::   ll_npo  ! switch for NPO version 
    108108      !! 
    109109      INTEGER  ::   igrd                                    ! grid index 
     
    133133      REAL(wp), DIMENSION(:,:),          INTENT(inout) ::   phia     ! model after 2D field (to be updated) 
    134134      REAL(wp), DIMENSION(:  ), POINTER, INTENT(in   ) ::   phi_ext  ! external forcing data 
    135       LOGICAL, OPTIONAL,                 INTENT(in   ) ::   lrim0    ! indicate if rim 0 is treated 
     135      LOGICAL ,                          INTENT(in   ) ::   lrim0    ! indicate if rim 0 is treated 
    136136      LOGICAL ,                          INTENT(in   ) ::   ll_npo   ! switch for NPO version 
    137137      ! 
     
    188188      END SELECT 
    189189      ! 
    190       IF( PRESENT(lrim0) ) THEN 
    191          IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
    192          ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
    193          END IF 
    194       ELSE                  ;   ibeg = 1                       ;   iend = idx%nblenrim(igrd)    ! both 
    195       END IF 
     190      IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
     191      ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
     192      ENDIF 
    196193      ! 
    197194      DO jb = ibeg, iend 
     
    275272           &                    - (1.-zsign_ups) * zry * ( phib(iijp1,ijjp1) - phib(ii   ,ij    ) ) & 
    276273           &                    + zwgt * ( phi_ext(jb) - phib(ii,ij) ) ) / ( 1. + zrx )  
    277          end if 
     274         endif 
    278275         phia(ii,ij) = phia(ii,ij) * zmask(ii,ij) 
    279276      END DO 
     
    298295      REAL(wp), DIMENSION(:,:,:),          INTENT(inout) ::   phia     ! model after 3D field (to be updated) 
    299296      REAL(wp), DIMENSION(:,:  ), POINTER, INTENT(in   ) ::   phi_ext  ! external forcing data 
    300       LOGICAL, OPTIONAL,                   INTENT(in   ) ::   lrim0    ! indicate if rim 0 is treated 
     297      LOGICAL ,                            INTENT(in   ) ::   lrim0    ! indicate if rim 0 is treated 
    301298      LOGICAL ,                            INTENT(in   ) ::   ll_npo   ! switch for NPO version 
    302299      ! 
     
    353350      END SELECT 
    354351      ! 
    355       IF( PRESENT(lrim0) ) THEN 
    356          IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
    357          ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
    358          END IF 
    359       ELSE                  ;   ibeg = 1                       ;   iend = idx%nblenrim(igrd)    ! both 
    360       END IF 
     352      IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
     353      ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
     354      ENDIF 
    361355      ! 
    362356      DO jk = 1, jpk 
     
    441435              &                       - (1.-zsign_ups) * zry * ( phib(iijp1,ijjp1,jk) - phib(ii   ,ij   ,jk) ) & 
    442436              &                       + zwgt * ( phi_ext(jb,jk) - phib(ii,ij,jk) ) ) / ( 1. + zrx )  
    443             end if 
     437            endif 
    444438            phia(ii,ij,jk) = phia(ii,ij,jk) * zmask(ii,ij,jk) 
    445439         END DO 
     
    466460      REAL(wp), DIMENSION(:,:,:), INTENT(inout)  ::   phia     ! model after 3D field (to be updated), must be masked 
    467461      TYPE(OBC_INDEX),            INTENT(in   )  ::   idx      ! OBC indices 
    468       LOGICAL, OPTIONAL,          INTENT(in   )  ::   lrim0    ! indicate if rim 0 is treated 
     462      LOGICAL ,                   INTENT(in   )  ::   lrim0    ! indicate if rim 0 is treated 
    469463      !!  
    470464      REAL(wp) ::   zweight 
     
    486480      END SELECT 
    487481      ! 
    488       IF( PRESENT(lrim0) ) THEN 
    489          IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
    490          ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
    491          END IF 
    492       ELSE                  ;   ibeg = 1                       ;   iend = idx%nblenrim(igrd)    ! both 
    493       END IF 
     482      IF( lrim0 ) THEN   ;   ibeg = 1                       ;   iend = idx%nblenrim0(igrd)   ! rim 0 
     483      ELSE               ;   ibeg = idx%nblenrim0(igrd)+1   ;   iend = idx%nblenrim(igrd)    ! rim 1 
     484      ENDIF 
    494485      ! 
    495486      DO ib = ibeg, iend 
Note: See TracChangeset for help on using the changeset viewer.