Changeset 245


Ignore:
Timestamp:
01/17/19 18:24:44 (5 years ago)
Author:
aquiquet
Message:

Island tag has become obsolete with analytical flux computation at the GL so no longer used, nor computed

Location:
trunk/SOURCES
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/SOURCES/New-remplimat/diagno-L2_mod.f90

    r192 r245  
    281281  !$OMP PARALLEL 
    282282  !$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) 
    285285  !$OMP END WORKSHARE 
    286286 
  • trunk/SOURCES/flottab2-0.7.f90

    r237 r245  
    377377    !$OMP END WORKSHARE 
    378378 
    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 
    480483    !$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 
    491485 
    492486    ! 5- calcule les noeuds qui sont streams a l'interieur et donne le betamx et betamy 
  • trunk/SOURCES/furst_schoof_mod.f90

    r237 r245  
    134134 
    135135 
    136                  if (.not.(ilemx(i,j)).and..not.(ilemx(i-1,j))) then 
     136!afq --                 if (.not.(ilemx(i,j)).and..not.(ilemx(i-1,j))) then 
    137137                     
    138138                 ! extrapolation pour avoir uxbar(i-1,j) qui sera ensuite prescrit dans call rempli_L2 
     
    159159                 !                 print* 
    160160 
    161                  end if 
     161!afq --                 end if 
    162162               
    163163              else            !  GL a Est du i staggered,                          o centre, x stag 
     
    167167                 !flux        !     in             in           out  G         out           in 
    168168 
    169                  if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 
     169!afq --                 if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 
    170170 
    171171                 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    187187                 gr_line_schoof(i+1,j) = 1 
    188188 
    189                  end if 
     189!afq --                 end if 
    190190 
    191191              end if 
     
    225225                 !flux        !                    in           out        G  out            in 
    226226 
    227                  if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 
     227!afq --                 if (.not.(ilemx(i,j)).and..not.(ilemx(i+1,j))) then 
    228228                     
    229229                 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    245245                 gr_line_schoof(i+1,j) = 1 
    246246 
    247                  end if 
     247!afq --                 end if 
    248248               
    249249              else   !  GL a west du i staggered,                          o centre, x stag 
     
    253253                 !flux        !                     in           out  G        out            in 
    254254 
    255                  if (.not.(ilemx(i+1,j)).and..not.(ilemx(i+2,j))) then 
     255!afq --                 if (.not.(ilemx(i+1,j)).and..not.(ilemx(i+2,j))) then 
    256256                     
    257257                 ! extrapolation pour avoir uxbar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    273273                 gr_line_schoof(i+2,j) = 1 
    274274 
    275                  end if 
     275!afq --                 end if 
    276276               
    277277              end if 
     
    317317                 !flux        !     in            out         G out            in 
    318318 
    319                  if (.not.(ilemy(i,j)).and..not.(ilemy(i,j-1))) then 
     319!afq --                 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j-1))) then 
    320320 
    321321                 ! extrapolation pour avoir uybar(i,j-1) qui sera ensuite prescrit dans call rempli_L2 
     
    338338 
    339339 
    340                  end if 
     340!afq --                 end if 
    341341               
    342342              else            !  GL au nord du j staggered,                          o centre, x stag 
     
    346346                 !flux        !     in             in           out  G         out           in 
    347347 
    348                  if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 
     348!afq --                 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 
    349349                     
    350350                 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    366366                 gr_line_schoof(i,j+1) = 1 
    367367 
    368                  end if 
     368!afq --                 end if 
    369369               
    370370              end if 
     
    404404                 !flux        !                    in           out        G  out            in 
    405405 
    406                  if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 
     406!afq --                 if (.not.(ilemy(i,j)).and..not.(ilemy(i,j+1))) then 
    407407 
    408408                 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    424424                 gr_line_schoof(i,j+1) = 1 
    425425 
    426                  end if 
     426!afq --                 end if 
    427427               
    428428              else   !  GL au nord du j staggered,                          o centre, x stag 
     
    432432                 !flux        !                     in           out  G        out            in 
    433433 
    434                  if (.not.(ilemy(i,j+1)).and..not.(ilemy(i,j+2))) then 
     434!afq --                 if (.not.(ilemy(i,j+1)).and..not.(ilemy(i,j+2))) then 
    435435 
    436436                 ! extrapolation pour avoir uybar(i,j) qui sera ensuite prescrit dans call rempli_L2 
     
    452452                 gr_line_schoof(i,j+2) = 1 
    453453 
    454                  end if 
     454!afq --                 end if 
    455455 
    456456              end if 
Note: See TracChangeset for help on using the changeset viewer.