Changeset 12548
- Timestamp:
- 2020-03-13T11:34:46+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/releases/release-4.0-HEAD/src/OCE/BDY/bdydta.F90
r12395 r12548 96 96 INTEGER :: ii, ij, ik, igrd, ipl ! local integers 97 97 INTEGER, DIMENSION(jpbgrd) :: ilen1 98 INTEGER, DIMENSION(:), POINTER :: nblen, nblenrim ! short cuts99 98 TYPE(OBC_DATA) , POINTER :: dta_alias ! short cut 100 99 TYPE(FLD), DIMENSION(:), POINTER :: bf_alias … … 112 111 DO jbdy = 1, nb_bdy 113 112 ! 114 nblen => idx_bdy(jbdy)%nblen115 nblenrim => idx_bdy(jbdy)%nblenrim116 !117 113 IF( nn_dyn2d_dta(jbdy) == 0 ) THEN 118 ilen1(:) = nblen(:)119 114 IF( dta_bdy(jbdy)%lneed_ssh ) THEN 120 115 igrd = 1 121 DO ib = 1, i len1(igrd)116 DO ib = 1, idx_bdy(jbdy)%nblenrim(igrd) ! ssh is allocated and used only on the rim 122 117 ii = idx_bdy(jbdy)%nbi(ib,igrd) 123 118 ij = idx_bdy(jbdy)%nbj(ib,igrd) … … 127 122 IF( dta_bdy(jbdy)%lneed_dyn2d) THEN 128 123 igrd = 2 129 DO ib = 1, ilen1(igrd)124 DO ib = 1, SIZE(dta_bdy(jbdy)%u2d) ! u2d is used only on the rim except if ln_full_vel = T, see bdy_dta_init 130 125 ii = idx_bdy(jbdy)%nbi(ib,igrd) 131 126 ij = idx_bdy(jbdy)%nbj(ib,igrd) … … 133 128 END DO 134 129 igrd = 3 135 DO ib = 1, ilen1(igrd)130 DO ib = 1, SIZE(dta_bdy(jbdy)%v2d) ! v2d is used only on the rim except if ln_full_vel = T, see bdy_dta_init 136 131 ii = idx_bdy(jbdy)%nbi(ib,igrd) 137 132 ij = idx_bdy(jbdy)%nbj(ib,igrd) … … 142 137 ! 143 138 IF( nn_dyn3d_dta(jbdy) == 0 ) THEN 144 ilen1(:) = nblen(:)145 139 IF( dta_bdy(jbdy)%lneed_dyn3d ) THEN 146 140 igrd = 2 147 DO ib = 1, i len1(igrd)141 DO ib = 1, idx_bdy(jbdy)%nblen(igrd) 148 142 DO ik = 1, jpkm1 149 143 ii = idx_bdy(jbdy)%nbi(ib,igrd) … … 153 147 END DO 154 148 igrd = 3 155 DO ib = 1, i len1(igrd)149 DO ib = 1, idx_bdy(jbdy)%nblen(igrd) 156 150 DO ik = 1, jpkm1 157 151 ii = idx_bdy(jbdy)%nbi(ib,igrd) … … 164 158 165 159 IF( nn_tra_dta(jbdy) == 0 ) THEN 166 ilen1(:) = nblen(:)167 160 IF( dta_bdy(jbdy)%lneed_tra ) THEN 168 161 igrd = 1 169 DO ib = 1, i len1(igrd)162 DO ib = 1, idx_bdy(jbdy)%nblen(igrd) 170 163 DO ik = 1, jpkm1 171 164 ii = idx_bdy(jbdy)%nbi(ib,igrd) … … 180 173 #if defined key_si3 181 174 IF( nn_ice_dta(jbdy) == 0 ) THEN ! set ice to initial values 182 ilen1(:) = nblen(:)183 175 IF( dta_bdy(jbdy)%lneed_ice ) THEN 184 176 igrd = 1 185 177 DO jl = 1, jpl 186 DO ib = 1, i len1(igrd)178 DO ib = 1, idx_bdy(jbdy)%nblen(igrd) 187 179 ii = idx_bdy(jbdy)%nbi(ib,igrd) 188 180 ij = idx_bdy(jbdy)%nbj(ib,igrd) … … 348 340 DO jbdy = 1, nb_bdy ! Tidal component added in ts loop 349 341 IF ( nn_dyn2d_dta(jbdy) .GE. 2 ) THEN 350 nblen => idx_bdy(jbdy)%nblen351 nblenrim => idx_bdy(jbdy)%nblenrim352 IF( cn_dyn2d(jbdy) == 'frs' ) THEN ; ilen1(:)=nblen(:) ; ELSE ; ilen1(:)=nblenrim(:) ; ENDIF342 IF( cn_dyn2d(jbdy) == 'frs' ) THEN ; ilen1(:)=idx_bdy(jbdy)%nblen(:) 343 ELSE ; ilen1(:)=idx_bdy(jbdy)%nblenrim(:) 344 ENDIF 353 345 IF ( dta_bdy(jbdy)%lneed_ssh ) dta_bdy_s(jbdy)%ssh(1:ilen1(1)) = dta_bdy(jbdy)%ssh(1:ilen1(1)) 354 346 IF ( dta_bdy(jbdy)%lneed_dyn2d ) dta_bdy_s(jbdy)%u2d(1:ilen1(2)) = dta_bdy(jbdy)%u2d(1:ilen1(2))
Note: See TracChangeset
for help on using the changeset viewer.