/[MITgcm]/MITgcm/eesupp/src/Makefile
ViewVC logotype

Contents of /MITgcm/eesupp/src/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.17 - (show annotations) (download)
Fri Sep 24 18:38:25 2010 UTC (13 years, 7 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63g, checkpoint63, checkpoint63l, checkpoint63m, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c
Changes since 1.16: +15 -3 lines
o eesup and pkg/mdsio: ALLOW_WHIO

  Option to write/read 2D fields to files including tiles halos.
  The main purpose is for adjoint related "tape I/O".
  The secondary purpose is for debugging phases.

  A word on those rather specifically intended purposes.
  The code was meant to be stripped down to the bare minimum.
  Typically, there is a unique and basic mapping to the global
  buffer (tile by tile, then proc by proc, then level by level), and
  byteswaps and meta-files are omitted. Indeed the (*_WH*) code is not
  meant to generate user friendly outputs of various shapes and forms.
  Rather it is intended, for the knowledgeabale developers,
  to be largely independent of the many mdsio options, to allow
  outputs of tiles+halos in debugging phases and in adjoint runs,
  and to allow some flexibility in tuning (adoint) I/O depending on each
  file system behavior. With regard to tuning, most of the potential knobs
  (to leave files open, to allocate the I/O indep. of usesinglecpuio,
  to specify directories, to specify the typical size of I/O calls, etc.)
  are not yet included, and will be added if they prove useful.

1 # $Header: /u/gcmpack/MITgcm/eesupp/src/Makefile,v 1.16 2010/05/25 23:07:15 jmc Exp $
2 # $Name: $
3
4 # Makefile for generate eesupp source code from templates.
5 # Why do we do this? Answer: saves typing!
6
7 RL_FILES = exch_xy_rl.F exch_3d_rl.F exch_xyz_rl.F exch_s3d_rl.F \
8 exch_uv_xy_rl.F exch_uv_3d_rl.F exch_uv_xyz_rl.F \
9 exch_z_3d_rl.F exch_sm_3d_rl.F \
10 exch_uv_agrid_3d_rl.F exch_uv_bgrid_3d_rl.F exch_uv_dgrid_3d_rl.F \
11 exch1_rl.F \
12 exch1_rl_cube.F exch1_z_rl_cube.F exch1_uv_rl_cube.F exch1_bg_rl_cube.F \
13 exch1_rl_ad.F exch1_rl_cube_ad.F \
14 exch_rl_recv_get_x.F exch_rl_recv_get_y.F \
15 exch_rl_send_put_x.F exch_rl_send_put_y.F
16
17 RS_FILES = exch_xy_rs.F exch_3d_rs.F exch_xyz_rs.F exch_s3d_rs.F \
18 exch_uv_xy_rs.F exch_uv_3d_rs.F exch_uv_xyz_rs.F \
19 exch_z_3d_rs.F exch_sm_3d_rs.F \
20 exch_uv_agrid_3d_rs.F exch_uv_bgrid_3d_rs.F exch_uv_dgrid_3d_rs.F \
21 exch1_rs.F \
22 exch1_rs_cube.F exch1_z_rs_cube.F exch1_uv_rs_cube.F exch1_bg_rs_cube.F \
23 exch1_rs_ad.F exch1_rs_cube_ad.F \
24 exch_rs_recv_get_x.F exch_rs_recv_get_y.F \
25 exch_rs_send_put_x.F exch_rs_send_put_y.F
26
27 R4_FILES = exch_xy_r4.F exch_3d_r4.F exch_xyz_r4.F exch_s3d_r4.F \
28 exch_uv_xy_r4.F exch_uv_3d_r4.F exch_uv_xyz_r4.F \
29 exch_z_3d_r4.F exch_sm_3d_r4.F \
30 exch_uv_agrid_3d_r4.F exch_uv_bgrid_3d_r4.F exch_uv_dgrid_3d_r4.F \
31 exch1_r4.F \
32 exch1_r4_cube.F exch1_z_r4_cube.F exch1_uv_r4_cube.F exch1_bg_r4_cube.F \
33 exch_r4_recv_get_x.F exch_r4_recv_get_y.F \
34 exch_r4_send_put_x.F exch_r4_send_put_y.F \
35 gather_2d_r4.F scatter_2d_r4.F \
36 gather_2d_wh_r4.F scatter_2d_wh_r4.F
37
38 R8_FILES = exch_xy_r8.F exch_3d_r8.F exch_xyz_r8.F exch_s3d_r8.F \
39 exch_uv_xy_r8.F exch_uv_3d_r8.F exch_uv_xyz_r8.F \
40 exch_z_3d_r8.F exch_sm_3d_r8.F \
41 exch_uv_agrid_3d_r8.F exch_uv_bgrid_3d_r8.F exch_uv_dgrid_3d_r8.F \
42 exch1_r8.F \
43 exch1_r8_cube.F exch1_z_r8_cube.F exch1_uv_r8_cube.F exch1_bg_r8_cube.F \
44 exch_r8_recv_get_x.F exch_r8_recv_get_y.F \
45 exch_r8_send_put_x.F exch_r8_send_put_y.F \
46 gather_2d_r8.F scatter_2d_r8.F \
47 gather_2d_wh_r8.F scatter_2d_wh_r8.F
48
49 OLD_FILES = exch_z_xy_rl.F exch_z_xy_rs.F exch_z_xy_r4.F exch_z_xy_r8.F \
50 exch_z_xyz_rl.F exch_z_xyz_rs.F exch_z_xyz_r4.F exch_z_xyz_r8.F \
51 exch_uv_agrid_xy_rl.F exch_uv_agrid_xy_rs.F exch_uv_agrid_xy_r4.F exch_uv_agrid_xy_r8.F \
52 exch_uv_agrid_xyz_rl.F exch_uv_agrid_xyz_rs.F exch_uv_agrid_xyz_r4.F exch_uv_agrid_xyz_r8.F \
53 exch_rl.F exch_rs.F exch_r4.F exch_r8.F \
54 exch_rl_cube.F exch_rs_cube.F exch_r4_cube.F exch_r8_cube.F \
55 exch_z_rl_cube.F exch_z_rs_cube.F exch_z_r4_cube.F exch_z_r8_cube.F \
56 exch_uv_rl_cube.F exch_uv_rs_cube.F exch_uv_r4_cube.F exch_uv_r8_cube.F \
57 exch_bg_rl_cube.F exch_bg_rs_cube.F exch_bg_r4_cube.F exch_bg_r8_cube.F
58
59 all: $(RL_FILES) $(RS_FILES) $(R4_FILES) $(R8_FILES)
60
61 clean_old:
62 -rm -f $(OLD_FILES)
63
64 clean:
65 -rm -f $(RL_FILES) $(RS_FILES) $(R4_FILES) $(R8_FILES) $(OLD_FILES)
66
67 # exch_xy_rx
68 exch_xy_rl.F: exch_xy_rx.template
69 sed 's/RX/RL/g' exch_xy_rx.template > $@
70 exch_xy_rs.F: exch_xy_rx.template
71 sed 's/RX/RS/g' exch_xy_rx.template > $@
72 exch_xy_r8.F: exch_xy_rx.template
73 sed 's/RX/R8/g' exch_xy_rx.template > $@
74 exch_xy_r4.F: exch_xy_rx.template
75 sed 's/RX/R4/g' exch_xy_rx.template > $@
76
77 # exch_3d_rx
78 exch_3d_rl.F: exch_3d_rx.template
79 sed 's/RX/RL/g' exch_3d_rx.template > $@
80 exch_3d_rs.F: exch_3d_rx.template
81 sed 's/RX/RS/g' exch_3d_rx.template > $@
82 exch_3d_r8.F: exch_3d_rx.template
83 sed 's/RX/R8/g' exch_3d_rx.template > $@
84 exch_3d_r4.F: exch_3d_rx.template
85 sed 's/RX/R4/g' exch_3d_rx.template > $@
86
87 # exch_xyz_rx
88 exch_xyz_rl.F: exch_xyz_rx.template
89 sed 's/RX/RL/g' exch_xyz_rx.template > $@
90 exch_xyz_rs.F: exch_xyz_rx.template
91 sed 's/RX/RS/g' exch_xyz_rx.template > $@
92 exch_xyz_r8.F: exch_xyz_rx.template
93 sed 's/RX/R8/g' exch_xyz_rx.template > $@
94 exch_xyz_r4.F: exch_xyz_rx.template
95 sed 's/RX/R4/g' exch_xyz_rx.template > $@
96
97 # exch_s3d_rx
98 exch_s3d_rl.F: exch_s3d_rx.template
99 sed 's/RX/RL/g' exch_s3d_rx.template > $@
100 exch_s3d_rs.F: exch_s3d_rx.template
101 sed 's/RX/RS/g' exch_s3d_rx.template > $@
102 exch_s3d_r8.F: exch_s3d_rx.template
103 sed 's/RX/R8/g' exch_s3d_rx.template > $@
104 exch_s3d_r4.F: exch_s3d_rx.template
105 sed 's/RX/R4/g' exch_s3d_rx.template > $@
106
107 # exch_uv_xy_rx
108 exch_uv_xy_rl.F: exch_uv_xy_rx.template
109 sed 's/RX/RL/g' exch_uv_xy_rx.template > $@
110 exch_uv_xy_rs.F: exch_uv_xy_rx.template
111 sed 's/RX/RS/g' exch_uv_xy_rx.template > $@
112 exch_uv_xy_r8.F: exch_uv_xy_rx.template
113 sed 's/RX/R8/g' exch_uv_xy_rx.template > $@
114 exch_uv_xy_r4.F: exch_uv_xy_rx.template
115 sed 's/RX/R4/g' exch_uv_xy_rx.template > $@
116
117 # exch_uv_3d_rx
118 exch_uv_3d_rl.F: exch_uv_3d_rx.template
119 sed 's/RX/RL/g' exch_uv_3d_rx.template > $@
120 exch_uv_3d_rs.F: exch_uv_3d_rx.template
121 sed 's/RX/RS/g' exch_uv_3d_rx.template > $@
122 exch_uv_3d_r8.F: exch_uv_3d_rx.template
123 sed 's/RX/R8/g' exch_uv_3d_rx.template > $@
124 exch_uv_3d_r4.F: exch_uv_3d_rx.template
125 sed 's/RX/R4/g' exch_uv_3d_rx.template > $@
126
127 # exch_uv_xyz_rx
128 exch_uv_xyz_rl.F: exch_uv_xyz_rx.template
129 sed 's/RX/RL/g' exch_uv_xyz_rx.template > $@
130 exch_uv_xyz_rs.F: exch_uv_xyz_rx.template
131 sed 's/RX/RS/g' exch_uv_xyz_rx.template > $@
132 exch_uv_xyz_r8.F: exch_uv_xyz_rx.template
133 sed 's/RX/R8/g' exch_uv_xyz_rx.template > $@
134 exch_uv_xyz_r4.F: exch_uv_xyz_rx.template
135 sed 's/RX/R4/g' exch_uv_xyz_rx.template > $@
136
137 # exch_z_3d_rx
138 exch_z_3d_rl.F: exch_z_3d_rx.template
139 sed 's/RX/RL/g' exch_z_3d_rx.template > $@
140 exch_z_3d_rs.F: exch_z_3d_rx.template
141 sed 's/RX/RS/g' exch_z_3d_rx.template > $@
142 exch_z_3d_r8.F: exch_z_3d_rx.template
143 sed 's/RX/R8/g' exch_z_3d_rx.template > $@
144 exch_z_3d_r4.F: exch_z_3d_rx.template
145 sed 's/RX/R4/g' exch_z_3d_rx.template > $@
146
147 # exch_sm_3d_rx
148 exch_sm_3d_rl.F: exch_sm_3d_rx.template
149 sed 's/RX/RL/g' exch_sm_3d_rx.template > $@
150 exch_sm_3d_rs.F: exch_sm_3d_rx.template
151 sed 's/RX/RS/g' exch_sm_3d_rx.template > $@
152 exch_sm_3d_r8.F: exch_sm_3d_rx.template
153 sed 's/RX/R8/g' exch_sm_3d_rx.template > $@
154 exch_sm_3d_r4.F: exch_sm_3d_rx.template
155 sed 's/RX/R4/g' exch_sm_3d_rx.template > $@
156
157 # exch_uv_agrid_3d_rx
158 exch_uv_agrid_3d_rl.F: exch_uv_agrid_3d_rx.template
159 sed 's/RX/RL/g' exch_uv_agrid_3d_rx.template > $@
160 exch_uv_agrid_3d_rs.F: exch_uv_agrid_3d_rx.template
161 sed 's/RX/RS/g' exch_uv_agrid_3d_rx.template > $@
162 exch_uv_agrid_3d_r8.F: exch_uv_agrid_3d_rx.template
163 sed 's/RX/R8/g' exch_uv_agrid_3d_rx.template > $@
164 exch_uv_agrid_3d_r4.F: exch_uv_agrid_3d_rx.template
165 sed 's/RX/R4/g' exch_uv_agrid_3d_rx.template > $@
166
167 # exch_uv_bgrid_3d_rx
168 exch_uv_bgrid_3d_rl.F: exch_uv_bgrid_3d_rx.template
169 sed 's/RX/RL/g' exch_uv_bgrid_3d_rx.template > $@
170 exch_uv_bgrid_3d_rs.F: exch_uv_bgrid_3d_rx.template
171 sed 's/RX/RS/g' exch_uv_bgrid_3d_rx.template > $@
172 exch_uv_bgrid_3d_r8.F: exch_uv_bgrid_3d_rx.template
173 sed 's/RX/R8/g' exch_uv_bgrid_3d_rx.template > $@
174 exch_uv_bgrid_3d_r4.F: exch_uv_bgrid_3d_rx.template
175 sed 's/RX/R4/g' exch_uv_bgrid_3d_rx.template > $@
176
177 # exch_uv_dgrid_3d_rx
178 exch_uv_dgrid_3d_rl.F: exch_uv_dgrid_3d_rx.template
179 sed 's/RX/RL/g' exch_uv_dgrid_3d_rx.template > $@
180 exch_uv_dgrid_3d_rs.F: exch_uv_dgrid_3d_rx.template
181 sed 's/RX/RS/g' exch_uv_dgrid_3d_rx.template > $@
182 exch_uv_dgrid_3d_r8.F: exch_uv_dgrid_3d_rx.template
183 sed 's/RX/R8/g' exch_uv_dgrid_3d_rx.template > $@
184 exch_uv_dgrid_3d_r4.F: exch_uv_dgrid_3d_rx.template
185 sed 's/RX/R4/g' exch_uv_dgrid_3d_rx.template > $@
186
187 # exch1_rx
188 exch1_rl.F: exch1_rx.template
189 sed 's/RX/RL/g' exch1_rx.template > $@
190 exch1_rs.F: exch1_rx.template
191 sed 's/RX/RS/g' exch1_rx.template > $@
192 exch1_r8.F: exch1_rx.template
193 sed 's/RX/R8/g' exch1_rx.template > $@
194 exch1_r4.F: exch1_rx.template
195 sed 's/RX/R4/g' exch1_rx.template > $@
196
197 # exch1_rx_cube
198 exch1_rl_cube.F: exch1_rx_cube.template
199 sed 's/RX/RL/g' exch1_rx_cube.template > $@
200 exch1_rs_cube.F: exch1_rx_cube.template
201 sed 's/RX/RS/g' exch1_rx_cube.template > $@
202 exch1_r8_cube.F: exch1_rx_cube.template
203 sed 's/RX/R8/g' exch1_rx_cube.template > $@
204 exch1_r4_cube.F: exch1_rx_cube.template
205 sed 's/RX/R4/g' exch1_rx_cube.template > $@
206
207 # exch1_z_rx_cube
208 exch1_z_rl_cube.F: exch1_z_rx_cube.template
209 sed 's/RX/RL/g' exch1_z_rx_cube.template > $@
210 exch1_z_rs_cube.F: exch1_z_rx_cube.template
211 sed 's/RX/RS/g' exch1_z_rx_cube.template > $@
212 exch1_z_r8_cube.F: exch1_z_rx_cube.template
213 sed 's/RX/R8/g' exch1_z_rx_cube.template > $@
214 exch1_z_r4_cube.F: exch1_z_rx_cube.template
215 sed 's/RX/R4/g' exch1_z_rx_cube.template > $@
216
217 # exch1_uv_rx_cube
218 exch1_uv_rl_cube.F: exch1_uv_rx_cube.template
219 sed 's/RX/RL/g' exch1_uv_rx_cube.template > $@
220 exch1_uv_rs_cube.F: exch1_uv_rx_cube.template
221 sed 's/RX/RS/g' exch1_uv_rx_cube.template > $@
222 exch1_uv_r8_cube.F: exch1_uv_rx_cube.template
223 sed 's/RX/R8/g' exch1_uv_rx_cube.template > $@
224 exch1_uv_r4_cube.F: exch1_uv_rx_cube.template
225 sed 's/RX/R4/g' exch1_uv_rx_cube.template > $@
226
227 # exch1_bg_rx_cube
228 exch1_bg_rl_cube.F: exch1_bg_rx_cube.template
229 sed 's/RX/RL/g' exch1_bg_rx_cube.template > $@
230 exch1_bg_rs_cube.F: exch1_bg_rx_cube.template
231 sed 's/RX/RS/g' exch1_bg_rx_cube.template > $@
232 exch1_bg_r8_cube.F: exch1_bg_rx_cube.template
233 sed 's/RX/R8/g' exch1_bg_rx_cube.template > $@
234 exch1_bg_r4_cube.F: exch1_bg_rx_cube.template
235 sed 's/RX/R4/g' exch1_bg_rx_cube.template > $@
236
237 # exch1_rx_ad
238 exch1_rl_ad.F: exch1_rx_ad.template
239 sed 's/RX/RL/g' exch1_rx_ad.template > $@
240 exch1_rs_ad.F: exch1_rx_ad.template
241 sed 's/RX/RS/g' exch1_rx_ad.template > $@
242 #exch1_r8_ad.F: exch1_rx_ad.template
243 # sed 's/RX/R8/g' exch1_rx_ad.template > $@
244 #exch1_r4_ad.F: exch1_rx_ad.template
245 # sed 's/RX/R4/g' exch1_rx_ad.template > $@
246
247 # exch1_rx_cube_ad
248 exch1_rl_cube_ad.F: exch1_rx_cube_ad.template
249 sed 's/RX/RL/g' exch1_rx_cube_ad.template > $@
250 exch1_rs_cube_ad.F: exch1_rx_cube_ad.template
251 sed 's/RX/RS/g' exch1_rx_cube_ad.template > $@
252 #exch1_r8_cube_ad.F: exch1_rx_cube_ad.template
253 # sed 's/RX/R8/g' exch1_rx_cube_ad.template > $@
254 #exch1_r4_cube_ad.F: exch1_rx_cube_ad.template
255 # sed 's/RX/R4/g' exch1_rx_cube_ad.template > $@
256
257 # exch_rx_recv_get_x
258 exch_rl_recv_get_x.F: exch_rx_recv_get_x.template
259 sed 's/RX/RL/g' exch_rx_recv_get_x.template > $@
260 exch_rs_recv_get_x.F: exch_rx_recv_get_x.template
261 sed 's/RX/RS/g' exch_rx_recv_get_x.template > $@
262 exch_r8_recv_get_x.F: exch_rx_recv_get_x.template
263 sed 's/RX/R8/g' exch_rx_recv_get_x.template > $@
264 exch_r4_recv_get_x.F: exch_rx_recv_get_x.template
265 sed 's/RX/R4/g' exch_rx_recv_get_x.template > $@
266
267 # exch_rx_recv_get_y
268 exch_rl_recv_get_y.F: exch_rx_recv_get_y.template
269 sed 's/RX/RL/g' exch_rx_recv_get_y.template > $@
270 exch_rs_recv_get_y.F: exch_rx_recv_get_y.template
271 sed 's/RX/RS/g' exch_rx_recv_get_y.template > $@
272 exch_r8_recv_get_y.F: exch_rx_recv_get_y.template
273 sed 's/RX/R8/g' exch_rx_recv_get_y.template > $@
274 exch_r4_recv_get_y.F: exch_rx_recv_get_y.template
275 sed 's/RX/R4/g' exch_rx_recv_get_y.template > $@
276
277 # exch_rx_send_put_x
278 exch_rl_send_put_x.F: exch_rx_send_put_x.template
279 sed 's/RX/RL/g' exch_rx_send_put_x.template > $@
280 exch_rs_send_put_x.F: exch_rx_send_put_x.template
281 sed 's/RX/RS/g' exch_rx_send_put_x.template > $@
282 exch_r8_send_put_x.F: exch_rx_send_put_x.template
283 sed 's/RX/R8/g' exch_rx_send_put_x.template > $@
284 exch_r4_send_put_x.F: exch_rx_send_put_x.template
285 sed 's/RX/R4/g' exch_rx_send_put_x.template > $@
286
287 # exch_rx_send_put_y
288 exch_rl_send_put_y.F: exch_rx_send_put_y.template
289 sed 's/RX/RL/g' exch_rx_send_put_y.template > $@
290 exch_rs_send_put_y.F: exch_rx_send_put_y.template
291 sed 's/RX/RS/g' exch_rx_send_put_y.template > $@
292 exch_r8_send_put_y.F: exch_rx_send_put_y.template
293 sed 's/RX/R8/g' exch_rx_send_put_y.template > $@
294 exch_r4_send_put_y.F: exch_rx_send_put_y.template
295 sed 's/RX/R4/g' exch_rx_send_put_y.template > $@
296
297 # gather_2d_rx, scatter_2d_rx
298 gather_2d_r8.F: gather_2d_rx.template
299 sed 's/RX/R8/g' gather_2d_rx.template > $@
300 gather_2d_r4.F: gather_2d_rx.template
301 sed 's/RX/R4/g' gather_2d_rx.template > $@
302 scatter_2d_r8.F: scatter_2d_rx.template
303 sed 's/RX/R8/g' scatter_2d_rx.template > $@
304 scatter_2d_r4.F: scatter_2d_rx.template
305 sed 's/RX/R4/g' scatter_2d_rx.template > $@
306
307 # gather_2d_wh_rx, scatter_2d_wh_rx
308 gather_2d_wh_r8.F: gather_2d_wh_rx.template
309 sed 's/RX/R8/g' gather_2d_wh_rx.template > $@
310 gather_2d_wh_r4.F: gather_2d_wh_rx.template
311 sed 's/RX/R4/g' gather_2d_wh_rx.template > $@
312 scatter_2d_wh_r8.F: scatter_2d_wh_rx.template
313 sed 's/RX/R8/g' scatter_2d_wh_rx.template > $@
314 scatter_2d_wh_r4.F: scatter_2d_wh_rx.template
315 sed 's/RX/R4/g' scatter_2d_wh_rx.template > $@
316

  ViewVC Help
Powered by ViewVC 1.1.22