Changeset 76 for trunk/SOURCES/dragging_neff_slope_mod.f90
- Timestamp:
- 06/29/16 16:21:13 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/dragging_neff_slope_mod.f90
r66 r76 168 168 !------------------------------------------------------------------------- 169 169 subroutine dragging ! defini la localisation des streams et le frottement basal 170 170 !$ USE OMP_LIB 171 171 172 172 ! les iles n'ont pas de condition neff mais ont la condition toblim 173 173 ! (ce bloc etait avant dans flottab) 174 174 175 175 !$OMP PARALLEL 176 !$OMP DO 176 177 do j=2,ny 177 178 do i=2,nx … … 180 181 end do 181 182 end do 183 !$OMP END DO 182 184 183 185 ! le calcul des fleuves se fait sur les mailles majeures en partant de la cote … … 193 195 ! Attention : ce systeme ne permet pas d'avoir des fleuves convergents 194 196 ! et les fleuves n'ont une épaisseur que de 1 noeud. 195 197 !$OMP WORKSHARE 196 198 fleuvemx(:,:)=.false. 197 199 fleuvemy(:,:)=.false. 198 200 fleuve(:,:)=.false. 199 201 cote(:,:)=.false. 202 !$OMP END WORKSHARE 200 203 201 204 ! detection des cotes 205 !$OMP DO 202 206 do j=2,ny-1 203 207 do i=2,nx-1 … … 208 212 end do 209 213 end do 214 !$OMP END DO 210 215 211 216 ! calcul de neff (pression effective sur noeuds majeurs) 217 !$OMP DO 212 218 do j=1,ny-1 213 219 do i=1,nx-1 … … 215 221 enddo 216 222 enddo 223 !$OMP END DO 217 224 !aurel, for the borders: 225 !$OMP WORKSHARE 218 226 neff(:,ny)=1.e5 219 227 neff(nx,:)=1.e5 228 220 229 221 230 !!$ … … 277 286 ! aurel, we add the neff threshold: 278 287 where ((neff(:,:).le.seuil_neff).and.(.not.flot(:,:)).and.(H(:,:).gt.1.)) fleuve(:,:)=.true. 279 288 !$OMP END WORKSHARE 289 290 !$OMP DO 280 291 do j=1,ny-1 281 292 do i=1,nx-1 … … 288 299 end do 289 300 end do 301 !$OMP END DO 290 302 291 303 ! we look for the warm based points that will not be treated as stream (ub from SSA): 304 !$OMP WORKSHARE 292 305 slowssa(:,:)=.false. 293 306 slowssamx(:,:)=.false. 294 307 slowssamy(:,:)=.false. 308 !$OMP END WORKSHARE 309 !$OMP DO 295 310 do j=1,ny 296 311 do i=1,nx … … 299 314 end do 300 315 end do 316 !$OMP END DO 317 !$OMP DO 301 318 do j=1,ny-1 302 319 do i=1,nx-1 … … 309 326 end do 310 327 end do 311 328 !$OMP END DO 329 !$OMP DO 312 330 do j=1,ny 313 331 do i=1,nx … … 354 372 end do 355 373 end do 356 374 !$OMP END DO 375 376 !$OMP DO 357 377 do j=1,ny 358 378 do i=1,nx … … 399 419 end do 400 420 end do 401 402 421 !$OMP END DO 422 423 !$OMP DO 403 424 do j=2,ny-1 404 425 do i=2,nx-1 … … 407 428 end do 408 429 end do 409 410 411 where (fleuve(:,:)) 412 debug_3D(:,:,1)=1 413 elsewhere (flot(:,:)) 414 debug_3D(:,:,1)=2 415 elsewhere 416 debug_3D(:,:,1)=0 417 endwhere 418 419 where (cote(:,:)) 420 debug_3D(:,:,2)=1 421 elsewhere 422 debug_3D(:,:,2)=0 423 endwhere 424 425 where (fleuvemx(:,:)) 426 debug_3D(:,:,3)=1 427 elsewhere 428 debug_3D(:,:,3)=0 429 endwhere 430 431 where (flotmx(:,:)) 432 debug_3D(:,:,3)=-1 433 endwhere 430 !$OMP END DO 431 !$OMP END PARALLEL 432 433 !~ where (fleuve(:,:)) 434 !~ debug_3D(:,:,1)=1 435 !~ elsewhere (flot(:,:)) 436 !~ debug_3D(:,:,1)=2 437 !~ elsewhere 438 !~ debug_3D(:,:,1)=0 439 !~ endwhere 440 !~ 441 !~ where (cote(:,:)) 442 !~ debug_3D(:,:,2)=1 443 !~ elsewhere 444 !~ debug_3D(:,:,2)=0 445 !~ endwhere 446 !~ 447 !~ where (fleuvemx(:,:)) 448 !~ debug_3D(:,:,3)=1 449 !~ elsewhere 450 !~ debug_3D(:,:,3)=0 451 !~ endwhere 452 !~ 453 !~ where (flotmx(:,:)) 454 !~ debug_3D(:,:,3)=-1 455 !~ endwhere 434 456 435 457 !_____________________ 436 458 437 459 438 where (fleuvemy(:,:))439 debug_3D(:,:,4)=1440 elsewhere441 debug_3D(:,:,4)=0442 endwhere443 444 where (flotmy(:,:))445 debug_3D(:,:,4)=-1446 end where447 448 debug_3D(:,:,23)= abs(RO*G*HMX(:,:)*sdx(:,:)*1.e-5)449 debug_3D(:,:,24)= abs(RO*G*HMY(:,:)*sdy(:,:)*1.e-5)460 !~ where (fleuvemy(:,:)) 461 !~ debug_3D(:,:,4)=1 462 !~ elsewhere 463 !~ debug_3D(:,:,4)=0 464 !~ endwhere 465 !~ 466 !~ where (flotmy(:,:)) 467 !~ debug_3D(:,:,4)=-1 468 !~ end where 469 !~ 470 !~ debug_3D(:,:,23)= abs(RO*G*HMX(:,:)*sdx(:,:)*1.e-5) 471 !~ debug_3D(:,:,24)= abs(RO*G*HMY(:,:)*sdy(:,:)*1.e-5) 450 472 451 473 return
Note: See TracChangeset
for help on using the changeset viewer.