Changeset 245
- Timestamp:
- 01/17/19 18:24:44 (5 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/New-remplimat/diagno-L2_mod.f90
r192 r245 281 281 !$OMP PARALLEL 282 282 !$OMP WORKSHARE 283 uxbar(:,:)= uxb1(:,:)284 uybar(:,:)= uyb1(:,:)283 uxbar(:,:)=max(min(uxb1(:,:),V_limit),-V_limit) 284 uybar(:,:)=max(min(uyb1(:,:),V_limit),-V_limit) 285 285 !$OMP END WORKSHARE 286 286 -
trunk/SOURCES/flottab2-0.7.f90
r237 r245 377 377 !$OMP END WORKSHARE 378 378 379 ! selon x 380 !$OMP DO 381 ilesx: do j=2,ny-1 382 do i=3,nx-2 383 ! F G F 384 ! x 385 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 386 if ((flot(i-1,j).and..not.flot(i,j).and.flot(i+1,j)).and. & 387 (sdx(i,j).LT.1.E-02)) then 388 ilemx(i,j)=.true. 389 ilemx(i+1,j)=.true. 390 391 ! F G G F 392 ! x 393 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 394 else if ((flot(i-1,j).and..not.flot(i,j) & 395 .and..not.flot(i+1,j)).and.flot(i+2,j).and. & 396 (sdx(i,j).LT.1.E-02.and.sdx(i+1,j).LT.1.E-02)) then 397 ilemx(i,j)=.true. 398 ilemx(i+1,j)=.true. 399 ilemx(i+2,j)=.true. 400 401 ! F G G F 402 ! x 403 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 404 else if ((flot(i-2,j).and..not.flot(i-1,j) & 405 .and..not.flot(i,j)).and.flot(i+1,j).and. & 406 (sdx(i,j).LT.1.E-02.and.sdx(i-1,j).LT.1.E-02)) then 407 ilemx(i-1,j)=.true. 408 ilemx(i,j)=.true. 409 ilemx(i+1,j)=.true. 410 411 ! F G G G F 412 ! x 413 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 414 else if ((i.lt.nx-2) & 415 .and.(flot(i-2,j).and..not.flot(i-1,j) & 416 .and..not.flot(i,j)).and..not.flot(i+1,j) & 417 .and.flot(i+2,j).and. & 418 (sdx(i,j).LT.1.E-02.and.sdx(i-1,j).LT.1.E-02 & 419 .and.sdx(i+1,j).LT.1.E-02)) then 420 ilemx(i-1,j)=.true. 421 ilemx(i,j)=.true. 422 ilemx(i+1,j)=.true. 423 ilemx(i+2,j)=.true. 424 425 endif 426 427 end do 428 end do ilesx 429 !$OMP END DO 430 431 ! selon y 432 !$OMP DO 433 ilesy: do j=3,ny-2 434 do i=2,nx-1 435 ! F G F 436 ! x 437 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 438 if ((flot(i,j-1).and..not.flot(i,j).and.flot(i,j+1)).and. & 439 (sdy(i,j).LT.1.E-02)) then 440 ilemy(i,j)=.true. 441 ilemy(i,j+1)=.true. 442 443 ! F G G F 444 ! x 445 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 446 else if ((flot(i,j-1).and..not.flot(i,j) & 447 .and..not.flot(i,j+1)).and.flot(i,j+2).and. & 448 (sdy(i,j).LT.1.E-02.and.sdy(i,j+1).LT.1.E-02)) then 449 ilemy(i,j)=.true. 450 ilemy(i,j+1)=.true. 451 ilemy(i,j+2)=.true. 452 453 ! F G G F 454 ! x 455 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 456 else if ((flot(i,j-2).and..not.flot(i,j-1) & 457 .and..not.flot(i,j)).and.flot(i,j+1).and. & 458 (sdy(i,j).LT.1.E-02.and.sdy(i,j-1).LT.1.E-02)) then 459 ilemy(i,j-1)=.true. 460 ilemy(i,j)=.true. 461 ilemy(i,j+1)=.true. 462 463 ! F G G G F 464 ! x 465 ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 466 else if ((j.lt.ny-2) & 467 .and.(flot(i,j-2).and..not.flot(i,j-1) & 468 .and..not.flot(i,j)).and..not.flot(i,j+1) & 469 .and.flot(i,j+2).and. & 470 (sdy(i,j).LT.1.E-02.and.sdy(i,j-1).LT.1.E-02 & 471 .and.sdy(i,j+1).LT.1.E-02)) then 472 ilemy(i,j-1)=.true. 473 ilemy(i,j)=.true. 474 ilemy(i,j+1)=.true. 475 ilemy(i,j+2)=.true. 476 endif 477 end do 478 end do ilesy 479 !$OMP END DO 379 ! afq -- 17/01/19: on supprime les iles. 380 ! ! selon x 381 ! !$OMP DO 382 ! ilesx: do j=2,ny-1 383 ! do i=3,nx-2 384 ! ! F G F 385 ! ! x 386 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 387 ! if ((flot(i-1,j).and..not.flot(i,j).and.flot(i+1,j)).and. & 388 ! (sdx(i,j).LT.1.E-02)) then 389 ! ilemx(i,j)=.true. 390 ! ilemx(i+1,j)=.true. 391 392 ! ! F G G F 393 ! ! x 394 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 395 ! else if ((flot(i-1,j).and..not.flot(i,j) & 396 ! .and..not.flot(i+1,j)).and.flot(i+2,j).and. & 397 ! (sdx(i,j).LT.1.E-02.and.sdx(i+1,j).LT.1.E-02)) then 398 ! ilemx(i,j)=.true. 399 ! ilemx(i+1,j)=.true. 400 ! ilemx(i+2,j)=.true. 401 402 ! ! F G G F 403 ! ! x 404 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 405 ! else if ((flot(i-2,j).and..not.flot(i-1,j) & 406 ! .and..not.flot(i,j)).and.flot(i+1,j).and. & 407 ! (sdx(i,j).LT.1.E-02.and.sdx(i-1,j).LT.1.E-02)) then 408 ! ilemx(i-1,j)=.true. 409 ! ilemx(i,j)=.true. 410 ! ilemx(i+1,j)=.true. 411 412 ! ! F G G G F 413 ! ! x 414 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 415 ! else if ((i.lt.nx-2) & 416 ! .and.(flot(i-2,j).and..not.flot(i-1,j) & 417 ! .and..not.flot(i,j)).and..not.flot(i+1,j) & 418 ! .and.flot(i+2,j).and. & 419 ! (sdx(i,j).LT.1.E-02.and.sdx(i-1,j).LT.1.E-02 & 420 ! .and.sdx(i+1,j).LT.1.E-02)) then 421 ! ilemx(i-1,j)=.true. 422 ! ilemx(i,j)=.true. 423 ! ilemx(i+1,j)=.true. 424 ! ilemx(i+2,j)=.true. 425 426 ! endif 427 428 ! end do 429 ! end do ilesx 430 ! !$OMP END DO 431 432 ! ! selon y 433 ! !$OMP DO 434 ! ilesy: do j=3,ny-2 435 ! do i=2,nx-1 436 ! ! F G F 437 ! ! x 438 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 439 ! if ((flot(i,j-1).and..not.flot(i,j).and.flot(i,j+1)).and. & 440 ! (sdy(i,j).LT.1.E-02)) then 441 ! ilemy(i,j)=.true. 442 ! ilemy(i,j+1)=.true. 443 444 ! ! F G G F 445 ! ! x 446 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 447 ! else if ((flot(i,j-1).and..not.flot(i,j) & 448 ! .and..not.flot(i,j+1)).and.flot(i,j+2).and. & 449 ! (sdy(i,j).LT.1.E-02.and.sdy(i,j+1).LT.1.E-02)) then 450 ! ilemy(i,j)=.true. 451 ! ilemy(i,j+1)=.true. 452 ! ilemy(i,j+2)=.true. 453 454 ! ! F G G F 455 ! ! x 456 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 457 ! else if ((flot(i,j-2).and..not.flot(i,j-1) & 458 ! .and..not.flot(i,j)).and.flot(i,j+1).and. & 459 ! (sdy(i,j).LT.1.E-02.and.sdy(i,j-1).LT.1.E-02)) then 460 ! ilemy(i,j-1)=.true. 461 ! ilemy(i,j)=.true. 462 ! ilemy(i,j+1)=.true. 463 464 ! ! F G G G F 465 ! ! x 466 ! ! modif tof 26/08/02 limite sur la pente (si diff S > 400 m) 467 ! else if ((j.lt.ny-2) & 468 ! .and.(flot(i,j-2).and..not.flot(i,j-1) & 469 ! .and..not.flot(i,j)).and..not.flot(i,j+1) & 470 ! .and.flot(i,j+2).and. & 471 ! (sdy(i,j).LT.1.E-02.and.sdy(i,j-1).LT.1.E-02 & 472 ! .and.sdy(i,j+1).LT.1.E-02)) then 473 ! ilemy(i,j-1)=.true. 474 ! ilemy(i,j)=.true. 475 ! ilemy(i,j+1)=.true. 476 ! ilemy(i,j+2)=.true. 477 ! endif 478 ! end do 479 ! end do ilesy 480 ! !$OMP END DO 481 ! ! fin des iles 482 480 483 !$OMP END PARALLEL 481 ! fin des iles 482 483 !!$call detect_assym(nx,ny,0,41,1,0,1,0,H,itestf) 484 !!$if (itestf.gt.0) then 485 !!$ write(6,*) 'dans flottab avant dragging asymetrie sur H pour time=',time 486 !!$ stop 487 !!$else 488 !!$ write(6,*) 'dans flottab avant dragging pas d asymetrie sur H pour time=',time 489 !!$ 490 !!$end if 484 491 485 492 486 ! 5- calcule les noeuds qui sont streams a l'interieur et donne le betamx et betamy -
trunk/SOURCES/furst_schoof_mod.f90
r237 r245 134 134 135 135 136 if (.not.(ilemx(i,j)).and..not.(ilemx(i-1,j))) then136 !afq -- if (.not.(ilemx(i,j)).and..not.(ilemx(i-1,j))) then 137 137 138 138 ! extrapolation pour avoir uxbar(i-1,j) qui sera ensuite prescrit dans call rempli_L2 … … 159 159 ! print* 160 160 161 end if161 !afq -- end if 162 162 163 163 else ! GL a Est du i staggered, o centre, x stag … … 167 167 !flux ! in in out G out in 168 168 169 if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then169 !afq -- if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 170 170 171 171 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 187 187 gr_line_schoof(i+1,j) = 1 188 188 189 end if189 !afq -- end if 190 190 191 191 end if … … 225 225 !flux ! in out G out in 226 226 227 if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then227 !afq -- if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 228 228 229 229 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 245 245 gr_line_schoof(i+1,j) = 1 246 246 247 end if247 !afq -- end if 248 248 249 249 else ! GL a west du i staggered, o centre, x stag … … 253 253 !flux ! in out G out in 254 254 255 if (.not.(ilemx(i+1,j)).and..not.(ilemx(i+2,j))) then255 !afq -- if (.not.(ilemx(i+1,j)).and..not.(ilemx(i+2,j))) then 256 256 257 257 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 273 273 gr_line_schoof(i+2,j) = 1 274 274 275 end if275 !afq -- end if 276 276 277 277 end if … … 317 317 !flux ! in out G out in 318 318 319 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j-1))) then319 !afq -- if (.not.(ilemy(i,j)).and..not.(ilemy(i,j-1))) then 320 320 321 321 ! extrapolation pour avoir uybar(i,j-1) qui sera ensuite prescrit dans call rempli_L2 … … 338 338 339 339 340 end if340 !afq -- end if 341 341 342 342 else ! GL au nord du j staggered, o centre, x stag … … 346 346 !flux ! in in out G out in 347 347 348 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then348 !afq -- if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 349 349 350 350 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 366 366 gr_line_schoof(i,j+1) = 1 367 367 368 end if368 !afq -- end if 369 369 370 370 end if … … 404 404 !flux ! in out G out in 405 405 406 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then406 !afq -- if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 407 407 408 408 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 424 424 gr_line_schoof(i,j+1) = 1 425 425 426 end if426 !afq -- end if 427 427 428 428 else ! GL au nord du j staggered, o centre, x stag … … 432 432 !flux ! in out G out in 433 433 434 if (.not.(ilemy(i,j+1)).and..not.(ilemy(i,j+2))) then434 !afq -- if (.not.(ilemy(i,j+1)).and..not.(ilemy(i,j+2))) then 435 435 436 436 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 … … 452 452 gr_line_schoof(i,j+2) = 1 453 453 454 end if454 !afq -- end if 455 455 456 456 end if
Note: See TracChangeset
for help on using the changeset viewer.