Changeset 2302 in lmdz_wrf


Ignore:
Timestamp:
Jan 30, 2019, 1:42:25 PM (6 years ago)
Author:
lfita
Message:

Fixing 'coincident_gridsin2D' !!

  • indices for A and B, also rely on the other slices inpA/B = f(A,B)!!
File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/tools/module_scientific.f90

    r2301 r2302  
    62556255  END SUBROUTINE coincident_list_2Dcoords
    62566256
    6257   SUBROUTINE coincident_gridsin2D_old(dxA, dyA, dxyA, NpointsA, pointsA, dxB, dyB, dxyB, NpointsB,        &
     6257  SUBROUTINE coincident_gridsin2D_old(dxA, dyA, dxyA, NpointsA, pointsA, dxB, dyB, dxyB, NpointsB,    &
    62586258    pointsB, Npoints, points, inpointsA, inpointsB)
    62596259  ! Subroutine to determine which lists of 2D gridsin points of an A list are also found in a B list
     
    62706270    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA, 2),                                                  &
    62716271      INTENT(out)                                        :: points
    6272     INTEGER, DIMENSION(dxA, dyA, dxyA), INTENT(out)      :: inpointsA
    6273     INTEGER, DIMENSION(dxB, dyB, dxyA), INTENT(out)      :: inpointsB
     6272    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA),                                                     &
     6273      INTENT(out)                                        :: inpointsA
     6274    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA),                                                     &
     6275      INTENT(out)                                        :: inpointsB
    62746276
    62756277    ! Local
     
    63116313              points(ixA,iyA,ixB,iyB,iv,1) = pts(iv,1)
    63126314              points(ixA,iyA,ixB,iyB,iv,2) = pts(iv,2)
    6313               inpointsA(ixA,iyA,iv) = ptsA(iv)
    6314               inpointsB(ixB,iyB,iv) = ptsB(iv)
    6315               IF (Npoints(ixA,iyA,ixB,iyB) == 4) THEN
    6316                 PRINT *,ixA, iyA,ixB,iyB,'________________'
    6317                 DO ii = 1, Npoints(ixA,iyA,ixB,iyB)
    6318                   PRINT *,'Lluis ii:', ii, points(ixA,iyA,ixB,iyB,ii,:)
    6319                   PRINT *,'Lluis A:', inpointsA(ixA,iyA,iv), pointsA(ixA,iyA,ptsA(iv),:)
    6320                   PRINT *,'Lluis B:', inpointsB(ixB,iyB,iv), pointsB(ixB,iyB,ptsB(iv),:)
    6321                 END DO
    6322               END IF
     6315              inpointsA(ixA,iyA,ixB,iyB,iv) = ptsA(iv)
     6316              inpointsB(ixA,iyA,ixB,iyB,iv) = ptsB(iv)
    63236317            END DO
    63246318          END DO
     
    63446338    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA, 2),                                                  &
    63456339      INTENT(out)                                        :: points
    6346     INTEGER, DIMENSION(dxA, dyA, dxyA), INTENT(out)      :: inpointsA
    6347     INTEGER, DIMENSION(dxB, dyB, dxyA), INTENT(out)      :: inpointsB
     6340    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA),                                                     &
     6341      INTENT(out)                                        :: inpointsA
     6342    INTEGER, DIMENSION(dxA, dyA, dxB, dyB, dxyA),                                                     &
     6343      INTENT(out)                                        :: inpointsB
    63486344
    63496345    ! Local
     
    63876383                  points(ixA,iyA,ixB,iyB,iv,1) = pointsA(ixA,iyA,iv1,1)
    63886384                  points(ixA,iyA,ixB,iyB,iv,2) = pointsA(ixA,iyA,iv1,2)
    6389                   inpointsA(ixA,iyA,iv) = iv1
    6390                   inpointsB(ixB,iyB,iv) = iv2
     6385                  inpointsA(ixA,iyA,ixB,iyB,iv) = iv1
     6386                  inpointsB(ixA,iyA,ixB,iyB,iv) = iv2
    63916387                END IF
    63926388              END DO
     
    63966392        END DO
    63976393      END DO
    6398     END DO
     6394    END DO   
    63996395
    64006396  END SUBROUTINE coincident_gridsin2D
Note: See TracChangeset for help on using the changeset viewer.