Changeset 372


Ignore:
Timestamp:
03/16/23 19:55:42 (14 months ago)
Author:
dumas
Message:

Fixed a bug in openMP implementation in subroutine SIA_velocities

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GRISLIv3/SOURCES/velocities-polyn-0.3.f90

    r72 r372  
    2727!use deform_declar  
    2828USE module_choix 
     29 
    2930implicit none 
    3031 
    31 REAL hdd 
     32real, dimension(nx,ny) :: hdd 
     33 
    3234if (itracebug.eq.1)  call tracebug(' Entree dans routine SIA_velocity') 
    3335 
    3436!$OMP PARALLEL 
    35 !$OMP DO COLLAPSE(2)     
     37!$OMP DO COLLAPSE(2) 
    3638do k=1,nz 
    3739   do j=2,ny-1 
     
    5557 
    5658            do iglen=n1poly,n2poly 
    57  
    5859               ux(i,j,k)  = ux(i,j,k)+ddx(i,j,iglen)*sa_mx(i,j,k,iglen) 
    5960               sux(i,j,k) = sux(i,j,k)+ddx(i,j,iglen)*s2a_mx(i,j,k,iglen) 
     
    8586 
    8687            do iglen=n1poly,n2poly 
    87                uy(i,j,k)=uy(i,j,k)+ddy(i,j,iglen)*sa_my(i,j,k,iglen) 
    88                suy(i,j,k)=suy(i,j,k)+ddy(i,j,iglen)*s2a_my(i,j,k,iglen) 
     88               uy(i,j,k)  = uy(i,j,k)+ddy(i,j,iglen)*sa_my(i,j,k,iglen) 
     89               suy(i,j,k) = suy(i,j,k)+ddy(i,j,iglen)*s2a_my(i,j,k,iglen) 
    8990            end do 
    9091            uy(i,j,k)  = uy(i,j,k)*(-sdy(i,j)) 
     
    110111   do i=2,nx-1 
    111112 
    112       divu(i,j)=((uxbar(i+1,j)*hmx(i+1,j)-uxbar(i,j)*hmx(i,j))  &          ! formulation explicite 
     113      divu(i,j)=((uxbar(i+1,j)*hmx(i+1,j)-uxbar(i,j)*hmx(i,j))  &    ! formulation explicite 
    113114           + (uybar(i,j+1)*hmy(i,j+1)-uybar(i,j)*hmy(i,j)))/dx 
    114115 
    115116      uzr(i,j,nz)=bmelt(i,j) 
    116117      xx(i,j)=uzr(i,j,1) 
    117       hdd=bm(i,j)-bmelt(i,j)-divu(i,j)                                     ! formulation explicite de dH/dt 
     118      hdd(i,j)=bm(i,j)-bmelt(i,j)-divu(i,j)                          ! formulation explicite de dH/dt 
    118119 
    119120!     ------------------------------------------------------------------- 
     
    127128               uzr(i,j,k)=uzr(i,j,nz)-((sux(i+1,j,k)-sux(i,j,k)) & 
    128129                +(suy(i,j+1,k)-suy(i,j,k)))/dx 
    129                uzr(i,j,k)=uzr(i,j,k)+hdd*cde(k) 
     130               uzr(i,j,k)=uzr(i,j,k)+hdd(i,j)*cde(k) 
    130131 
    131132            else 
Note: See TracChangeset for help on using the changeset viewer.