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 branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/TOOLS/OBSTOOLS/src – NEMO

source: branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/TOOLS/OBSTOOLS/src/test_arrays_mod.F90 @ 5086

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

Merged head of trunk into branch in preparation for putting code back onto the trunk
In working copy ran the command:
svn merge svn+sshtimgraham@…/ipsl/forge/projets/nemo/svn/trunk

Also recompiled NEMO_book.pdf with merged input files

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.