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 13537 for NEMO/trunk – NEMO

Changeset 13537 for NEMO/trunk


Ignore:
Timestamp:
2020-09-29T12:09:41+02:00 (4 years ago)
Author:
smasson
Message:

trunk: bugfix for BDY defined with segments, see #2519

File:
1 edited

Legend:

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

    r13286 r13537  
    11111111      CASE( 'N' ) 
    11121112         IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1 
    1113             nbdyind  = jpjglo - 2  ! set boundary to whole side of model domain. 
     1113            nbdyind  = Nj0glo - 2  ! set boundary to whole side of model domain. 
    11141114            nbdybeg  = 2 
    1115             nbdyend  = jpiglo - 1 
     1115            nbdyend  = Ni0glo -1 
    11161116         ENDIF 
    11171117         nbdysegn = nbdysegn + 1 
    11181118         npckgn(nbdysegn) = kb_bdy ! Save bdy package number 
    1119          jpjnob(nbdysegn) = nbdyind 
    1120          jpindt(nbdysegn) = nbdybeg 
    1121          jpinft(nbdysegn) = nbdyend 
     1119         jpjnob(nbdysegn) = nbdyind + nn_hls 
     1120         jpindt(nbdysegn) = nbdybeg + nn_hls 
     1121         jpinft(nbdysegn) = nbdyend + nn_hls 
    11221122         ! 
    11231123      CASE( 'S' ) 
     
    11251125            nbdyind  = 2           ! set boundary to whole side of model domain. 
    11261126            nbdybeg  = 2 
    1127             nbdyend  = jpiglo - 1 
     1127            nbdyend  = Ni0glo - 1 
    11281128         ENDIF 
    11291129         nbdysegs = nbdysegs + 1 
    11301130         npckgs(nbdysegs) = kb_bdy ! Save bdy package number 
    1131          jpjsob(nbdysegs) = nbdyind 
    1132          jpisdt(nbdysegs) = nbdybeg 
    1133          jpisft(nbdysegs) = nbdyend 
     1131         jpjsob(nbdysegs) = nbdyind + nn_hls 
     1132         jpisdt(nbdysegs) = nbdybeg + nn_hls 
     1133         jpisft(nbdysegs) = nbdyend + nn_hls 
    11341134         ! 
    11351135      CASE( 'E' ) 
    11361136         IF( nbdyind == -1 ) THEN  ! Automatic boundary definition: if nbdysegX = -1 
    1137             nbdyind  = jpiglo - 2  ! set boundary to whole side of model domain. 
     1137            nbdyind  = Ni0glo - 2  ! set boundary to whole side of model domain. 
    11381138            nbdybeg  = 2 
    1139             nbdyend  = jpjglo - 1 
     1139            nbdyend  = Nj0glo - 1 
    11401140         ENDIF 
    11411141         nbdysege = nbdysege + 1  
    11421142         npckge(nbdysege) = kb_bdy ! Save bdy package number 
    1143          jpieob(nbdysege) = nbdyind 
    1144          jpjedt(nbdysege) = nbdybeg 
    1145          jpjeft(nbdysege) = nbdyend 
     1143         jpieob(nbdysege) = nbdyind + nn_hls 
     1144         jpjedt(nbdysege) = nbdybeg + nn_hls 
     1145         jpjeft(nbdysege) = nbdyend + nn_hls 
    11461146         ! 
    11471147      CASE( 'W' ) 
     
    11491149            nbdyind  = 2           ! set boundary to whole side of model domain. 
    11501150            nbdybeg  = 2 
    1151             nbdyend  = jpjglo - 1 
     1151            nbdyend  = Nj0glo - 1 
    11521152         ENDIF 
    11531153         nbdysegw = nbdysegw + 1 
    11541154         npckgw(nbdysegw) = kb_bdy ! Save bdy package number 
    1155          jpiwob(nbdysegw) = nbdyind 
    1156          jpjwdt(nbdysegw) = nbdybeg 
    1157          jpjwft(nbdysegw) = nbdyend 
     1155         jpiwob(nbdysegw) = nbdyind + nn_hls 
     1156         jpjwdt(nbdysegw) = nbdybeg + nn_hls 
     1157         jpjwft(nbdysegw) = nbdyend + nn_hls 
    11581158         ! 
    11591159      CASE DEFAULT   ;   CALL ctl_stop( 'ctypebdy must be N, S, E or W' ) 
     
    11921192      IF(lwp) WRITE(numout,*) 'Number of north segments     : ', nbdysegn 
    11931193      IF(lwp) WRITE(numout,*) 'Number of south segments     : ', nbdysegs 
     1194      ! 
    11941195      ! 1. Check bounds 
    11951196      !---------------- 
     
    12291230         IF (jpjwft(ib).gt.jpjglo)     CALL ctl_stop( 'End index out of domain' ) 
    12301231      ENDDO 
    1231       ! 
    12321232      !       
    12331233      ! 2. Look for segment crossings 
Note: See TracChangeset for help on using the changeset viewer.