Skip to content

Commit fea2103

Browse files
committed
clean and rearrage the fortran mp test
1 parent 96a6789 commit fea2103

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

test/testFortranCreateRebuildMPs.f90

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function epsilonDiff(a,b) result(isSame)
1717
endif
1818
end function
1919

20-
subroutine createTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
20+
subroutine createMPsTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
2121
implicit none
2222
type(c_ptr):: mpMesh
2323
integer :: nCells, numMPs, i
@@ -27,6 +27,20 @@ subroutine createTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
2727
integer, parameter :: MP_INACTIVE = 0
2828
integer, dimension(:), pointer :: mpsPerElm, mp2Elm, isMPActive
2929
real(kind=MPAS_RKIND), dimension(:,:), pointer :: mpPosition
30+
31+
isMPActive = MP_ACTIVE !no inactive MPs and some changed below
32+
isMPActive(4) = MP_INACTIVE !first/1-st MP is indexed 1 and 4-th MP is inactive
33+
34+
!mp2Elm = [2,3,2,0,3,4,5,6,...]
35+
mp2Elm(1) = 2
36+
mp2Elm(2) = 3
37+
mp2Elm(3) = 2
38+
!mp2Elm(4) is not needed/used since 4-th MP is inactive
39+
do i = 5,numMPs
40+
mp2Elm(i) = i-2 !i=5 leads to mp2Elm(5)=3 (5-th MP in 3-rd element)
41+
!i=numMPs leads to mp2Elm(numMPs=nCells+2)=numMPs-2=nCells
42+
end do
43+
3044
allocate(mpsPerElm(nCells))
3145
mpsPerElm = 1 !all elements have 1 MP and some changed below
3246
mpsPerElm(1) = 0 !1st element has 0 MPs
@@ -70,7 +84,7 @@ subroutine createTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
7084
deallocate(mpsPerElm)
7185
end subroutine
7286

73-
subroutine rebuildTests(mpMesh, numMPs, mp2Elm, isMPActive)
87+
subroutine rebuildMPsTests(mpMesh, numMPs, mp2Elm, isMPActive)
7488
implicit none
7589
type(c_ptr):: mpMesh
7690
integer :: numMPs, i, numMPsLarger
@@ -255,27 +269,14 @@ program main
255269
latVertex, &
256270
verticesOnCell, cellsOnCell)
257271

258-
!test on new createMPs
272+
!check for allocation
259273
call assert(nCells .ge. 3, "This test requires a mesh with at least three cells")
260274
numMPs = nCells+2;
261275
allocate(mp2Elm(numMPs))
262276
allocate(isMPActive(numMPs))
263277

264-
isMPActive = MP_ACTIVE !no inactive MPs and some changed below
265-
isMPActive(4) = MP_INACTIVE !first/1-st MP is indexed 1 and 4-th MP is inactive
266-
267-
! mp2Elm = [2,3,2,0,3,4,5,6,...]
268-
mp2Elm(1) = 2
269-
mp2Elm(2) = 3
270-
mp2Elm(3) = 2
271-
!mp2Elm(4) is not needed/used since 4-th MP is inactive
272-
do i = 5,numMPs
273-
mp2Elm(i) = i-2 !i=5 leads to mp2Elm(5)=3 (5-th MP in 3-rd element)
274-
!i=numMPs leads to mp2Elm(numMPs=nCells+2)=numMPs-2=nCells
275-
end do
276-
277-
call createTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
278-
call rebuildTests(mpMesh, numMPs, mp2Elm, isMPActive)
278+
call createMPsTest(mpMesh, nCells, numMPs, mp2Elm, isMPActive)
279+
call rebuildMPsTests(mpMesh, numMPs, mp2Elm, isMPActive)
279280

280281
deallocate(mp2Elm)
281282
deallocate(isMPActive)

0 commit comments

Comments
 (0)