New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
test_arrays_mod.F90 in trunk/NEMOGCM/TOOLS/OBSTOOLS/src – NEMO

source: trunk/NEMOGCM/TOOLS/OBSTOOLS/src/test_arrays_mod.F90 @ 4990

Last change on this file since 4990 was 4990, checked in by timgraham, 9 years ago

Merged branches/2014/dev_MERGE_2014 back onto the trunk as follows:

In the working copy of branch ran:
svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk@HEAD
1 conflict in LIM_SRC_3/limdiahsb.F90
Resolved by keeping the version from dev_MERGE_2014 branch
and commited at r4989

In working copy run:
svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
to switch working copy

Run:
svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2014/dev_MERGE_2014
to merge the branch into the trunk - no conflicts at this stage.

File size: 1.9 KB
Line 
1MODULE test_arrays_mod
2USE obs_fbm
3
4INTERFACE test_arrays
5   MODULE PROCEDURE test_real_arrays
6   MODULE PROCEDURE test_real_arrays_2D
7   MODULE PROCEDURE test_real_arrays_3D
8   MODULE PROCEDURE test_integer_arrays
9END INTERFACE test_arrays
10
11CONTAINS
12
13   LOGICAL FUNCTION test_real_arrays(array_in,array_out)
14   IMPLICIT NONE
15   INTEGER :: i
16   REAL(KIND=fbdp) :: array_in(:), array_out(:)
17
18   test_real_arrays=.TRUE.
19   DO i=1,SIZE(array_in)
20      IF (array_in(i) /= array_out(i)) THEN
21         test_real_arrays=.FALSE.
22      END IF
23   END DO
24
25   IF (SIZE(array_in) /= SIZE(array_out)) THEN
26         test_real_arrays=.FALSE.
27   END IF
28
29   END FUNCTION test_real_arrays
30
31
32   LOGICAL FUNCTION test_real_arrays_2D(array_in,array_out)
33   IMPLICIT NONE
34   INTEGER :: i, j
35   REAL(KIND=fbdp) :: array_in(:,:), array_out(:,:)
36
37   test_real_arrays_2D=.TRUE.
38   DO j=1,SIZE(array_in,2)
39      DO i=1,SIZE(array_in,1)
40         IF (array_in(i,j) /= array_out(i,j)) THEN
41            test_real_arrays_2D=.FALSE.
42         END IF
43      END DO
44   END DO
45
46   IF (SIZE(array_in) /= SIZE(array_out)) THEN
47         test_real_arrays_2D=.FALSE.
48   END IF
49
50   END FUNCTION test_real_arrays_2D
51
52
53   LOGICAL FUNCTION test_real_arrays_3D(array_in,array_out)
54   IMPLICIT NONE
55   INTEGER :: i, j, k
56   REAL(KIND=fbdp) :: array_in(:,:,:), array_out(:,:,:)
57
58   test_real_arrays_3D=.TRUE.
59   DO k=1,SIZE(array_in,3)
60      DO j=1,SIZE(array_in,2)
61         DO i=1,SIZE(array_in,1)
62            IF (array_in(i,j,k) /= array_out(i,j,k)) THEN
63               test_real_arrays_3D=.FALSE.
64            END IF
65         END DO
66      END DO
67   END DO
68
69   IF (SIZE(array_in) /= SIZE(array_out)) THEN
70         test_real_arrays_3D=.FALSE.
71   END IF
72
73   END FUNCTION test_real_arrays_3D
74
75
76   LOGICAL FUNCTION test_integer_arrays(array_in,array_out)
77   IMPLICIT NONE
78   INTEGER :: i
79   INTEGER :: array_in(:), array_out(:)
80
81   test_integer_arrays=.TRUE.
82   DO i=1,SIZE(array_in)
83      IF (array_in(i) /= array_out(i)) THEN
84         test_integer_arrays=.FALSE.
85      END IF
86   END DO
87
88   IF (SIZE(array_in) /= SIZE(array_out)) THEN
89         test_integer_arrays=.FALSE.
90   END IF
91
92   END FUNCTION test_integer_arrays
93
94END MODULE test_arrays_mod
Note: See TracBrowser for help on using the repository browser.