Changeset 8860 for branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lbc_nfd_ext_generic.h90
- Timestamp:
- 2017-11-30T16:11:05+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8126_ROBUST08_no_ghost/NEMOGCM/NEMO/OPA_SRC/LBC/lbc_nfd_ext_generic.h90
r8854 r8860 10 10 #define ARRAY_TYPE(i,j,k,l,f) REAL(wp),INTENT(inout)::ARRAY_IN(i,j,k,l,f) 11 11 12 SUBROUTINE ROUTINE_NFD( ptab, cd_nat, psgn, ipr2dj )12 SUBROUTINE ROUTINE_NFD( ptab, cd_nat, psgn, kextj ) 13 13 ARRAY_TYPE(:,:,:,:,:) ! array or pointer of arrays on which the boundary condition is applied 14 14 CHARACTER(len=1) , INTENT(in ) :: NAT_IN(:) ! nature of array grid-points 15 15 REAL(wp) , INTENT(in ) :: SGN_IN(:) ! sign used across the north fold boundary 16 INTEGER , INTENT(in ) :: ipr2dj ! extra halo width to exchange16 INTEGER , INTENT(in ) :: kextj ! extra halo width at north fold 17 17 ! 18 18 INTEGER :: ji, jj, jk, jl, jh, jf ! dummy loop indices … … 31 31 END SELECT 32 32 ! 33 IF (jpni > 1 ) ipj = ipj + ipr2dj34 !35 33 ipjm1 = ipj-1 36 34 … … 44 42 SELECT CASE ( NAT_IN(jf) ) 45 43 CASE ( 'T' , 'W' ) ! T-, W-point 46 DO jh = 0, ipr2dj44 DO jh = 0, kextj 47 45 DO ji = 2, jpiglo 48 46 ijt = jpiglo-ji+2 … … 56 54 END DO 57 55 CASE ( 'U' ) ! U-point 58 DO jh = 0, ipr2dj56 DO jh = 0, kextj 59 57 DO ji = 1, jpiglo-1 60 58 iju = jpiglo-ji+1 … … 69 67 END DO 70 68 CASE ( 'V' ) ! V-point 71 DO jh = 0, ipr2dj69 DO jh = 0, kextj 72 70 DO ji = 2, jpiglo 73 71 ijt = jpiglo-ji+2 … … 78 76 END DO 79 77 CASE ( 'F' ) ! F-point 80 DO jh = 0, ipr2dj78 DO jh = 0, kextj 81 79 DO ji = 1, jpiglo-1 82 80 iju = jpiglo-ji+1 … … 93 91 SELECT CASE ( NAT_IN(jf) ) 94 92 CASE ( 'T' , 'W' ) ! T-, W-point 95 DO jh = 0, ipr2dj93 DO jh = 0, kextj 96 94 DO ji = 1, jpiglo 97 95 ijt = jpiglo-ji+1 … … 100 98 END DO 101 99 CASE ( 'U' ) ! U-point 102 DO jh = 0, ipr2dj100 DO jh = 0, kextj 103 101 DO ji = 1, jpiglo-1 104 102 iju = jpiglo-ji … … 108 106 END DO 109 107 CASE ( 'V' ) ! V-point 110 DO jh = 0, ipr2dj108 DO jh = 0, kextj 111 109 DO ji = 1, jpiglo 112 110 ijt = jpiglo-ji+1 … … 119 117 END DO 120 118 CASE ( 'F' ) ! F-point 121 DO jh = 0, ipr2dj119 DO jh = 0, kextj 122 120 DO ji = 1, jpiglo-1 123 121 iju = jpiglo-ji … … 136 134 SELECT CASE ( NAT_IN(jf) ) 137 135 CASE ( 'T' , 'U' , 'V' , 'W' ) ! T-, U-, V-, W-points 138 ARRAY_IN(:, 1:1- ipr2dj ,:,:,jf) = 0._wp139 ARRAY_IN(:,ipj:ipj+ ipr2dj,:,:,jf) = 0._wp136 ARRAY_IN(:, 1:1-kextj ,:,:,jf) = 0._wp 137 ARRAY_IN(:,ipj:ipj+kextj,:,:,jf) = 0._wp 140 138 CASE ( 'F' ) ! F-point 141 ARRAY_IN(:,ipj:ipj+ ipr2dj,:,:,jf) = 0._wp139 ARRAY_IN(:,ipj:ipj+kextj,:,:,jf) = 0._wp 142 140 END SELECT 143 141 !
Note: See TracChangeset
for help on using the changeset viewer.