1 |
daInstructions for setting up a cube-sphere integration with sea-ice. |
Instructions for setting up a cube-sphere integration with sea-ice. |
2 |
Date last updated: February 17, 2005 |
|
3 |
Code and input used for integrating cube22. |
================= |
4 |
|
UPDATES |
5 |
|
|
6 |
|
December 5, 2006: 216-CPU code for cube46 |
7 |
|
Changed diagnostics to accomodate JMCs latest and some |
8 |
|
changes to code-mods/CPP_EEOPTIONS.h and W2_OPTIONS.h |
9 |
|
to speed up code. |
10 |
|
|
11 |
|
November 7, 2006: 216-CPU code for cube43 |
12 |
|
Bug fixes in growth.F routine and new set of diagnostics |
13 |
|
|
14 |
|
October 15, 2006: 216-CPU code for cube40 |
15 |
|
|
16 |
|
September 28, 2006: 216-CPU code for cube38 |
17 |
|
|
18 |
|
September 4, 2006 |
19 |
|
Modified 32*32*6*15 experiments to use grid_cs32.* files from |
20 |
|
verification/tutorial_held_suarez_cs/input instead of |
21 |
|
tile* files from verification/global_ocean.cs32x15/input |
22 |
|
|
23 |
|
August 8, 2006: 216-CPU code and input used for cube37 |
24 |
|
using "June 10, 2006" MITgcm code. |
25 |
|
|
26 |
|
for online T/S profile diagnostics all that is needed is |
27 |
|
profiles_init_fixed |
28 |
|
profiles_inloop |
29 |
|
see pkg/ecco/ecco_cost_init_fixed.F |
30 |
|
pkg/ecco/cost_averagesfields.F |
31 |
|
|
32 |
|
########################################################################## |
33 |
|
########################################################################## |
34 |
|
# Get forcing files, etc. |
35 |
|
# Example below is for cube46 on /nobackup2a/menemenl |
36 |
|
|
37 |
|
cd /nobackup2a/menemenl |
38 |
|
mkdir cube46 |
39 |
|
cd cube46 |
40 |
|
ln -sf ../run_template . |
41 |
|
ln -sf ../ncep_rgau . |
42 |
|
|
43 |
|
|
44 |
########################################################################## |
########################################################################## |
45 |
########################################################################## |
########################################################################## |
46 |
# getting the code from anonymous CVS server |
# getting the code from anonymous CVS server |
47 |
|
|
48 |
|
bash or sh shell: |
49 |
|
$ export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack' |
50 |
|
$ cvs login |
51 |
|
( enter the CVS password: "cvsanon" ) |
52 |
|
|
53 |
|
tcsh or csh shell: |
54 |
|
$ setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/u/gcmpack' |
55 |
|
$ cvs login |
56 |
|
( enter the CVS password: "cvsanon" ) |
57 |
|
|
58 |
cvs co MITgcm_contrib/high_res_cube/README_ice |
cvs co MITgcm_contrib/high_res_cube/README_ice |
59 |
cvs co MITgcm_contrib/high_res_cube/code-mods |
cvs co MITgcm_contrib/high_res_cube/code-mods |
60 |
cvs co MITgcm_contrib/high_res_cube/input |
cvs co MITgcm_contrib/high_res_cube/input |
61 |
cvs co MITgcm_contrib/high_res_cube/results |
cvs co MITgcm_contrib/high_res_cube/results |
62 |
cvs co MITgcm_code |
cvs co MITgcm_code |
63 |
cvs co MITgcm/verification/global_ocean.cs32x15 |
cvs co MITgcm/verification/global_ocean.cs32x15 |
64 |
cvs co MITgcm/verification/testreport |
cvs co MITgcm/verification/tutorial_held_suarez_cs/input |
65 |
|
|
66 |
|
|
67 |
|
########################################################################## |
68 |
|
########################################################################## |
69 |
|
# 510*510*6*50, 216-cpu cube sphere on altix with ifort and pkg/diagnostics |
70 |
|
|
71 |
|
cd MITgcm/verification/global_ocean.cs32x15/code |
72 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
73 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* . |
74 |
|
\cp SIZE.h_216 SIZE.h |
75 |
|
\cp packages.conf_hr packages.conf |
76 |
|
|
77 |
|
cd ../build |
78 |
|
\rm * |
79 |
|
../../../tools/genmake2 -mods=../code -of ../code/linux_ia64_ifort+mpi_altix_nas |
80 |
|
make depend |
81 |
|
make -j |
82 |
|
|
83 |
|
cd .. |
84 |
|
mkdir run |
85 |
|
cd run |
86 |
|
\rm * |
87 |
|
\cp ../input/* . |
88 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
89 |
|
ln -sf ../../../../run_template/* . |
90 |
|
\rm pickup* eedata.mth data.pkg data.seaice data.exf_clim data.exf data.mnc data pr* |
91 |
|
\rm bathy_Hmin50.bin *192_94* *cs32* *.m lev* tren* job_c* job_altix150 job_altix92_54t |
92 |
|
ln -sf ../../../../run_template/pickup.0000000216.cube38 pickup.0000000216 |
93 |
|
ln -sf ../../../../run_template/pickup_seaice.0000000216.cube38 pickup_seaice.0000000216 |
94 |
|
\cp ../build/mitgcmuv . |
95 |
|
qsub job_altix |
96 |
|
|
97 |
|
|
98 |
########################################################################## |
########################################################################## |
111 |
mkdir run |
mkdir run |
112 |
cd run |
cd run |
113 |
\rm * |
\rm * |
114 |
|
\cp ../../tutorial_held_suarez_cs/input/grid* . |
115 |
\cp ../input/* . |
\cp ../input/* . |
116 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
117 |
../build/mitgcmuv >& output.txt |
../build/mitgcmuv >& output.txt |
122 |
to use matlab to look at the output |
to use matlab to look at the output |
123 |
matlab |
matlab |
124 |
|
|
125 |
for fld={'Eta','VICE','UICE','HEFF','AREA','Qsw','Qnet','FV','FU','EmPmR'} |
for fld={'SIuice','SIvice','SIheff','SIarea','oceQsw', ... |
126 |
tmp=permute(readbin([fld{1} '.0000000020.data'],[32,6,32]),[1 3 2]); |
'surForcT','oceTAUX','oceTAUY','surForcS'} |
127 |
|
tmp=permute(readbin([fld{1} '.0000000072.data'],[32,6,32]),[1 3 2]); |
128 |
cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause |
cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause |
129 |
end |
end |
130 |
|
|
131 |
heff=permute(readbin(['HEFF.0000000020.data'],[32,6,32]),[1 3 2]); |
heff=permute(readbin(['SIheff.0000000072.data'],[32,6,32]),[1 3 2]); |
132 |
mask=0*heff; mask(find(heff>.001))=1; |
mask=0*heff; mask(find(heff>.001))=1; |
133 |
uice=mask.*permute(readbin(['UICE.0000000020.data'],[32,6,32]),[1 3 2]); |
uice=mask.*permute(readbin(['SIuice.0000000072.data'],[32,6,32]),[1 3 2]); |
134 |
vice=mask.*permute(readbin(['VICE.0000000020.data'],[32,6,32]),[1 3 2]); |
vice=mask.*permute(readbin(['SIvice.0000000072.data'],[32,6,32]),[1 3 2]); |
135 |
clf |
clf |
136 |
subplot(221), mypcolor(uice(:,:,3)'), colorbar, title('uice, tile 3') |
subplot(221), mypcolor(uice(:,:,3)'); colorbar, title('uice, tile 3') |
137 |
subplot(222), mypcolor(uice(:,:,6)'), colorbar, title('uice, tile 6') |
subplot(222), mypcolor(uice(:,:,6)'); colorbar, title('uice, tile 6') |
138 |
subplot(223), mypcolor(vice(:,:,3)'), colorbar, title('vice, tile 3') |
subplot(223), mypcolor(vice(:,:,3)'); colorbar, title('vice, tile 3') |
139 |
subplot(224), mypcolor(vice(:,:,6)'), colorbar, title('vice, tile 6') |
subplot(224), mypcolor(vice(:,:,6)'); colorbar, title('vice, tile 6') |
140 |
|
|
141 |
|
|
142 |
########################################################################## |
########################################################################## |
155 |
mkdir run |
mkdir run |
156 |
cd run |
cd run |
157 |
\rm * |
\rm * |
158 |
|
\cp ../../tutorial_held_suarez_cs/input/grid* . |
159 |
\cp ../input/* . |
\cp ../input/* . |
160 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
161 |
../build/mitgcmuv >& output.txt |
../build/mitgcmuv >& output.txt |
162 |
|
|
|
comparison output is in: |
|
|
../../../../MITgcm_contrib/high_res_cube/results/output.txt |
|
|
|
|
|
to use matlab to look at the output |
|
|
matlab |
|
|
|
|
|
for fld={'Eta','VICE','UICE','HEFF','AREA','Qsw','Qnet','FV','FU','EmPmR'} |
|
|
tmp=permute(readbin([fld{1} '.0000000020.data'],[32,6,32]),[1 3 2]); |
|
|
cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause |
|
|
end |
|
|
|
|
|
heff=permute(readbin(['HEFF.0000000020.data'],[32,6,32]),[1 3 2]); |
|
|
mask=0*heff; mask(find(heff>.001))=1; |
|
|
uice=mask.*permute(readbin(['UICE.0000000020.data'],[32,6,32]),[1 3 2]); |
|
|
vice=mask.*permute(readbin(['VICE.0000000020.data'],[32,6,32]),[1 3 2]); |
|
|
clf |
|
|
subplot(221), mypcolor(uice(:,:,3)'), colorbar, title('uice, tile 3') |
|
|
subplot(222), mypcolor(uice(:,:,6)'), colorbar, title('uice, tile 6') |
|
|
subplot(223), mypcolor(vice(:,:,3)'), colorbar, title('vice, tile 3') |
|
|
subplot(224), mypcolor(vice(:,:,6)'), colorbar, title('vice, tile 6') |
|
|
|
|
163 |
|
|
164 |
########################################################################## |
########################################################################## |
165 |
########################################################################## |
########################################################################## |
166 |
# 32*32*6*15, 2-cpu cube sphere on the altices with efc |
# 32*32*6*15, 2-cpu cube sphere on the altices with ifort |
167 |
|
|
168 |
cd MITgcm/verification/global_ocean.cs32x15/code |
cd MITgcm/verification/global_ocean.cs32x15/code |
169 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
172 |
|
|
173 |
cd ../build |
cd ../build |
174 |
\rm * |
\rm * |
175 |
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix |
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas |
176 |
make depend |
make depend |
177 |
make -j |
make -j |
178 |
|
|
180 |
mkdir run |
mkdir run |
181 |
cd run |
cd run |
182 |
\rm * |
\rm * |
183 |
|
\cp ../../tutorial_held_suarez_cs/input/grid* . |
184 |
\cp ../input/* . |
\cp ../input/* . |
185 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
186 |
mpirun -np 2 ../build/mitgcmuv |
mpirun -np 2 ../build/mitgcmuv |
214 |
|
|
215 |
########################################################################## |
########################################################################## |
216 |
########################################################################## |
########################################################################## |
217 |
# 510*510*6*50, 216-cpu cube sphere on altix with ifort and pkg/diagnostics |
# 510*510*6*50, 1500-tile, 150-cpu, excludes land |
218 |
# requires input files in sudirectories run_template and ncep_rgau |
# uses s1500t_17x51 configuration |
|
# these can be obained from lou:/u/menemenl/cube |
|
219 |
|
|
220 |
cd MITgcm/verification/global_ocean.cs32x15/code |
cd MITgcm/verification/global_ocean.cs32x15/code |
221 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
222 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* . |
223 |
\cp SIZE.h_216 SIZE.h |
\cp SIZE.h_150 SIZE.h |
224 |
\cp packages.conf_hr packages.conf |
\cp packages.conf_hr packages.conf |
225 |
|
|
226 |
cd ../build |
cd ../build |
237 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
238 |
ln -sf ../../../../run_template/* . |
ln -sf ../../../../run_template/* . |
239 |
\rm pickup* |
\rm pickup* |
240 |
ln -sf ../../../../run_template/pickup.0000316440.cube20 pickup.0000000216.data |
ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216 |
241 |
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube20 pickup_seaice.0000000216.data |
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216 |
242 |
\cp ../build/mitgcmuv . |
\cp ../build/mitgcmuv mitgcmuv150 |
243 |
qsub job_altix92 |
qsub job_altix150 |
244 |
|
|
245 |
|
|
246 |
|
########################################################################## |
247 |
|
########################################################################## |
248 |
|
# 510*510*6*50, 1500-tile, 375-cpu, excludes land |
249 |
|
# uses s1500t_17x51 configuration |
250 |
|
# example for running on c17-c20 using arrayd |
251 |
|
|
252 |
|
cd MITgcm/verification/global_ocean.cs32x15/code |
253 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
254 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* . |
255 |
|
\cp SIZE.h_375 SIZE.h |
256 |
|
\cp packages.conf_hr packages.conf |
257 |
|
|
258 |
|
cd ../build |
259 |
|
\rm * |
260 |
|
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas |
261 |
|
make depend |
262 |
|
make -j |
263 |
|
|
264 |
|
cd .. |
265 |
|
mkdir run |
266 |
|
cd run |
267 |
|
\rm * |
268 |
|
\cp ../input/* . |
269 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
270 |
|
ln -sf ../../../../run_template/* . |
271 |
|
\rm pickup* |
272 |
|
ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216 |
273 |
|
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216 |
274 |
|
\cp ../build/mitgcmuv . |
275 |
|
job_c20_375cpu < /dev/null >&! output.run & |
276 |
|
|
277 |
|
|
278 |
|
########################################################################## |
279 |
|
########################################################################## |
280 |
|
# 510*510*6*50, 1500-tile, 375-cpu, excludes land |
281 |
|
# uses s1500t_17x51 configuration |
282 |
|
# example for running on c17-c20 using arrayd |
283 |
|
|
284 |
|
cd MITgcm/verification/global_ocean.cs32x15/code |
285 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
286 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* . |
287 |
|
\cp SIZE.h_375 SIZE.h |
288 |
|
\cp packages.conf_hr packages.conf |
289 |
|
|
290 |
|
cd ../build |
291 |
|
\rm * |
292 |
|
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas |
293 |
|
make depend |
294 |
|
make -j |
295 |
|
|
296 |
|
cd .. |
297 |
|
mkdir run |
298 |
|
cd run |
299 |
|
\rm * |
300 |
|
\cp ../input/* . |
301 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
302 |
|
ln -sf ../../../../run_template/* . |
303 |
|
\rm pickup* |
304 |
|
ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216 |
305 |
|
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216 |
306 |
|
\cp ../build/mitgcmuv . |
307 |
|
job_c20_375cpu < /dev/null >&! output.run & |
308 |
|
|
309 |
|
|
310 |
|
########################################################################## |
311 |
|
########################################################################## |
312 |
|
# 510*510*6*50, 1500-tile, 500-cpu, excludes land |
313 |
|
# uses s1500t_17x51 configuration |
314 |
|
# example for running on c17-c20 using arrayd |
315 |
|
|
316 |
|
cd MITgcm/verification/global_ocean.cs32x15/code |
317 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
318 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* . |
319 |
|
\cp SIZE.h_500 SIZE.h |
320 |
|
\cp packages.conf_hr packages.conf |
321 |
|
|
322 |
|
cd ../build |
323 |
|
\rm * |
324 |
|
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas |
325 |
|
make depend |
326 |
|
make -j |
327 |
|
|
328 |
|
cd .. |
329 |
|
mkdir run |
330 |
|
cd run |
331 |
|
\rm * |
332 |
|
\cp ../input/* . |
333 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
334 |
|
ln -sf ../../../../run_template/* . |
335 |
|
\rm pickup* |
336 |
|
ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216 |
337 |
|
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216 |
338 |
|
\cp ../build/mitgcmuv . |
339 |
|
job_c19_500cpu < /dev/null >&! output.run & |
340 |
|
|
341 |
|
|
342 |
|
########################################################################## |
343 |
|
########################################################################## |
344 |
|
# 510*510*6*50, 216-cpu cube sphere on cosmos |
345 |
|
|
346 |
|
cd MITgcm/verification/global_ocean.cs32x15/code |
347 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
348 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* . |
349 |
|
\cp SIZE.h_216 SIZE.h |
350 |
|
\cp packages.conf_hr packages.conf |
351 |
|
|
352 |
|
module unload latest_intel80 |
353 |
|
module unload mpich-gm-intel80 |
354 |
|
module load latest_intel81 |
355 |
|
module load mpich-gm-intel81 |
356 |
|
|
357 |
|
cd ../build |
358 |
|
\rm * |
359 |
|
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia32_ifort+mpi_cosmos |
360 |
|
make depend |
361 |
|
make -j |
362 |
|
|
363 |
|
cd .. |
364 |
|
mkdir run |
365 |
|
cd run |
366 |
|
\rm * |
367 |
|
\cp ../input/* . |
368 |
|
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
369 |
|
ln -sf ../../../../run_template/* . |
370 |
|
\rm pickup* |
371 |
|
ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216 |
372 |
|
ln -sf ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216 |
373 |
|
\cp ../build/mitgcmuv . |
374 |
|
bsub < job_cosmos |
375 |
|
|
376 |
|
|
377 |
########################################################################## |
########################################################################## |
453 |
\cp ../input/* . |
\cp ../input/* . |
454 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
455 |
qsub job_orion |
qsub job_orion |
|
|
|
|
|
|
|
########################################################################## |
|
|
########################################################################## |
|
|
# matlab script for generating pChkptFreq |
|
|
|
|
|
nTimeSteps=26352; |
|
|
for niter0=216:26352:(26352*12) |
|
|
pChkptFreq=(niter0+nTimeSteps)*1200; |
|
|
day=pChkptFreq/24/60/60; |
|
|
disp(['niter0=' int2str(niter0) ',day=' int2str(day) ', ' ... |
|
|
datestr(datenum(1992,1,1)+day) ', pChkptFreq=' int2str(pChkptFreq)]) |
|
|
end |
|
|
|
|
|
niter0 = 216 , day = 369 , 04-Jan-1993, pChkptFreq = 31881600 |
|
|
niter0 = 26568 , day = 735 , 05-Jan-1994, pChkptFreq = 63504000 |
|
|
niter0 = 52920 , day = 1101, 06-Jan-1995, pChkptFreq = 95126400 |
|
|
niter0 = 79272 , day = 1467, 07-Jan-1996, pChkptFreq = 126748800 |
|
|
niter0 = 105624, day = 1833, 07-Jan-1997, pChkptFreq = 158371200 |
|
|
niter0 = 131976, day = 2199, 08-Jan-1998, pChkptFreq = 189993600 |
|
|
niter0 = 158328, day = 2565, 09-Jan-1999, pChkptFreq = 221616000 |
|
|
niter0 = 184680, day = 2931, 10-Jan-2000, pChkptFreq = 253238400 |
|
|
niter0 = 211032, day = 3297, 10-Jan-2001, pChkptFreq = 284860800 |
|
|
niter0 = 237384, day = 3663, 11-Jan-2002, pChkptFreq = 316483200 |
|
|
niter0 = 263736, day = 4029, 12-Jan-2003, pChkptFreq = 348105600 |
|
|
niter0 = 290088, day = 4395, 13-Jan-2004, pChkptFreq = 379728000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#!/bin/csh |
|
|
\cp data.pkg_hr data.pkg |
|
|
\cp data.seaice_hr data.seaice |
|
|
\cp data.exf_clim_hr data.exf_clim |
|
|
|
|
|
\cp data_hr92 data |
|
|
./modpickup |
|
|
\cp data.exf_hr92 data.exf |
|
|
/opt/sgi/mpt/1.11-85/bin/mpirun.real -v -a a2k c20 216 runon 221-436 mitgcmuv |
|
|
mkdir out.1992 |
|
|
\mv STDOUT.0000 *.data pickup*.meta out.1992 |
|
|
\cp data* out.1992 |
|
|
\rm STD* *.meta |
|
|
|
|