@@ -2,8 +2,121 @@ MODULE DIFFSIZES
22 IMPLICIT NONE
33 INTEGER , PARAMETER :: nbdirsmax = 4
44 ! ISIZE* are module variables (set via set_ISIZE*(), read via get_ISIZE*() or use directly after check)
5- INTEGER , SAVE :: isize1ofx = - 1 , isize1ofy = - 1 , isize2ofa = - 1
5+ INTEGER , SAVE :: isize1ofap = - 1 , isize1ofcx = - 1 , isize1ofcy = - 1 , isize1ofdx = - 1 , isize1ofdy = - 1 , isize1ofsx = - 1 , &
6+ & isize1ofsy = - 1 , isize1ofx = - 1 , isize1ofy = - 1 , isize1ofzx = - 1 , isize1ofzy = - 1 , isize2ofa = - 1 , isize2ofb = - 1
67CONTAINS
8+ SUBROUTINE set_ISIZE1OFAp (val )
9+ INTEGER , INTENT (IN ) :: val
10+ isize1ofap = val
11+ END SUBROUTINE set_ISIZE1OFAp
12+
13+ INTEGER FUNCTION get_ISIZE1OFAp ()
14+ get_ISIZE1OFAp = isize1ofap
15+ END FUNCTION get_ISIZE1OFAp
16+
17+ SUBROUTINE check_ISIZE1OFAp_initialized ()
18+ IF (isize1ofap < 0 ) THEN
19+ WRITE (* ,' (A)' ) ' Error: isize1ofap not set. Call set_ISIZE1OFAp before differentiated routine.'
20+ STOP 1
21+ END IF
22+ END SUBROUTINE check_ISIZE1OFAp_initialized
23+
24+ SUBROUTINE set_ISIZE1OFCx (val )
25+ INTEGER , INTENT (IN ) :: val
26+ isize1ofcx = val
27+ END SUBROUTINE set_ISIZE1OFCx
28+
29+ INTEGER FUNCTION get_ISIZE1OFCx ()
30+ get_ISIZE1OFCx = isize1ofcx
31+ END FUNCTION get_ISIZE1OFCx
32+
33+ SUBROUTINE check_ISIZE1OFCx_initialized ()
34+ IF (isize1ofcx < 0 ) THEN
35+ WRITE (* ,' (A)' ) ' Error: isize1ofcx not set. Call set_ISIZE1OFCx before differentiated routine.'
36+ STOP 1
37+ END IF
38+ END SUBROUTINE check_ISIZE1OFCx_initialized
39+
40+ SUBROUTINE set_ISIZE1OFCy (val )
41+ INTEGER , INTENT (IN ) :: val
42+ isize1ofcy = val
43+ END SUBROUTINE set_ISIZE1OFCy
44+
45+ INTEGER FUNCTION get_ISIZE1OFCy ()
46+ get_ISIZE1OFCy = isize1ofcy
47+ END FUNCTION get_ISIZE1OFCy
48+
49+ SUBROUTINE check_ISIZE1OFCy_initialized ()
50+ IF (isize1ofcy < 0 ) THEN
51+ WRITE (* ,' (A)' ) ' Error: isize1ofcy not set. Call set_ISIZE1OFCy before differentiated routine.'
52+ STOP 1
53+ END IF
54+ END SUBROUTINE check_ISIZE1OFCy_initialized
55+
56+ SUBROUTINE set_ISIZE1OFDx (val )
57+ INTEGER , INTENT (IN ) :: val
58+ isize1ofdx = val
59+ END SUBROUTINE set_ISIZE1OFDx
60+
61+ INTEGER FUNCTION get_ISIZE1OFDx ()
62+ get_ISIZE1OFDx = isize1ofdx
63+ END FUNCTION get_ISIZE1OFDx
64+
65+ SUBROUTINE check_ISIZE1OFDx_initialized ()
66+ IF (isize1ofdx < 0 ) THEN
67+ WRITE (* ,' (A)' ) ' Error: isize1ofdx not set. Call set_ISIZE1OFDx before differentiated routine.'
68+ STOP 1
69+ END IF
70+ END SUBROUTINE check_ISIZE1OFDx_initialized
71+
72+ SUBROUTINE set_ISIZE1OFDy (val )
73+ INTEGER , INTENT (IN ) :: val
74+ isize1ofdy = val
75+ END SUBROUTINE set_ISIZE1OFDy
76+
77+ INTEGER FUNCTION get_ISIZE1OFDy ()
78+ get_ISIZE1OFDy = isize1ofdy
79+ END FUNCTION get_ISIZE1OFDy
80+
81+ SUBROUTINE check_ISIZE1OFDy_initialized ()
82+ IF (isize1ofdy < 0 ) THEN
83+ WRITE (* ,' (A)' ) ' Error: isize1ofdy not set. Call set_ISIZE1OFDy before differentiated routine.'
84+ STOP 1
85+ END IF
86+ END SUBROUTINE check_ISIZE1OFDy_initialized
87+
88+ SUBROUTINE set_ISIZE1OFSx (val )
89+ INTEGER , INTENT (IN ) :: val
90+ isize1ofsx = val
91+ END SUBROUTINE set_ISIZE1OFSx
92+
93+ INTEGER FUNCTION get_ISIZE1OFSx ()
94+ get_ISIZE1OFSx = isize1ofsx
95+ END FUNCTION get_ISIZE1OFSx
96+
97+ SUBROUTINE check_ISIZE1OFSx_initialized ()
98+ IF (isize1ofsx < 0 ) THEN
99+ WRITE (* ,' (A)' ) ' Error: isize1ofsx not set. Call set_ISIZE1OFSx before differentiated routine.'
100+ STOP 1
101+ END IF
102+ END SUBROUTINE check_ISIZE1OFSx_initialized
103+
104+ SUBROUTINE set_ISIZE1OFSy (val )
105+ INTEGER , INTENT (IN ) :: val
106+ isize1ofsy = val
107+ END SUBROUTINE set_ISIZE1OFSy
108+
109+ INTEGER FUNCTION get_ISIZE1OFSy ()
110+ get_ISIZE1OFSy = isize1ofsy
111+ END FUNCTION get_ISIZE1OFSy
112+
113+ SUBROUTINE check_ISIZE1OFSy_initialized ()
114+ IF (isize1ofsy < 0 ) THEN
115+ WRITE (* ,' (A)' ) ' Error: isize1ofsy not set. Call set_ISIZE1OFSy before differentiated routine.'
116+ STOP 1
117+ END IF
118+ END SUBROUTINE check_ISIZE1OFSy_initialized
119+
7120 SUBROUTINE set_ISIZE1OFX (val )
8121 INTEGER , INTENT (IN ) :: val
9122 isize1ofx = val
@@ -36,6 +149,38 @@ SUBROUTINE check_ISIZE1OFY_initialized()
36149 END IF
37150 END SUBROUTINE check_ISIZE1OFY_initialized
38151
152+ SUBROUTINE set_ISIZE1OFZx (val )
153+ INTEGER , INTENT (IN ) :: val
154+ isize1ofzx = val
155+ END SUBROUTINE set_ISIZE1OFZx
156+
157+ INTEGER FUNCTION get_ISIZE1OFZx ()
158+ get_ISIZE1OFZx = isize1ofzx
159+ END FUNCTION get_ISIZE1OFZx
160+
161+ SUBROUTINE check_ISIZE1OFZx_initialized ()
162+ IF (isize1ofzx < 0 ) THEN
163+ WRITE (* ,' (A)' ) ' Error: isize1ofzx not set. Call set_ISIZE1OFZx before differentiated routine.'
164+ STOP 1
165+ END IF
166+ END SUBROUTINE check_ISIZE1OFZx_initialized
167+
168+ SUBROUTINE set_ISIZE1OFZy (val )
169+ INTEGER , INTENT (IN ) :: val
170+ isize1ofzy = val
171+ END SUBROUTINE set_ISIZE1OFZy
172+
173+ INTEGER FUNCTION get_ISIZE1OFZy ()
174+ get_ISIZE1OFZy = isize1ofzy
175+ END FUNCTION get_ISIZE1OFZy
176+
177+ SUBROUTINE check_ISIZE1OFZy_initialized ()
178+ IF (isize1ofzy < 0 ) THEN
179+ WRITE (* ,' (A)' ) ' Error: isize1ofzy not set. Call set_ISIZE1OFZy before differentiated routine.'
180+ STOP 1
181+ END IF
182+ END SUBROUTINE check_ISIZE1OFZy_initialized
183+
39184 SUBROUTINE set_ISIZE2OFA (val )
40185 INTEGER , INTENT (IN ) :: val
41186 isize2ofa = val
@@ -52,4 +197,20 @@ SUBROUTINE check_ISIZE2OFA_initialized()
52197 END IF
53198 END SUBROUTINE check_ISIZE2OFA_initialized
54199
200+ SUBROUTINE set_ISIZE2OFB (val )
201+ INTEGER , INTENT (IN ) :: val
202+ isize2ofb = val
203+ END SUBROUTINE set_ISIZE2OFB
204+
205+ INTEGER FUNCTION get_ISIZE2OFB ()
206+ get_ISIZE2OFB = isize2ofb
207+ END FUNCTION get_ISIZE2OFB
208+
209+ SUBROUTINE check_ISIZE2OFB_initialized ()
210+ IF (isize2ofb < 0 ) THEN
211+ WRITE (* ,' (A)' ) ' Error: isize2ofb not set. Call set_ISIZE2OFB before differentiated routine.'
212+ STOP 1
213+ END IF
214+ END SUBROUTINE check_ISIZE2OFB_initialized
215+
55216END MODULE DIFFSIZES
0 commit comments