1 |
Instructions for setting up a cube-sphere integration with sea-ice. |
2 |
Date last tested: January 9, 2004. |
3 |
This is the code used for first multi-year 510x510x6 |
4 |
cube-sphere integration. |
5 |
|
6 |
|
7 |
########################################################################## |
8 |
########################################################################## |
9 |
# getting the code from anonymous CVS server |
10 |
|
11 |
setenv CVSROOT :pserver:cvsanon@mitgcm.org:/u/u0/gcmpack |
12 |
cvs login ( CVS password: cvsanon ) |
13 |
cvs co -r hrcube_1 MITgcm_contrib/high_res_cube/README_ice |
14 |
cvs co -r hrcube_1 MITgcm_contrib/high_res_cube/code-mods |
15 |
cvs co -r hrcube_1 MITgcm_contrib/high_res_cube/matlab-grid-converter |
16 |
cvs co -r hrcube_1 MITgcm_contrib/high_res_cube/input |
17 |
cvs co -r hrcube_1 MITgcm_contrib/high_res_cube/results |
18 |
cvs co -r hrcube_1 MITgcm_code |
19 |
cvs co -r hrcube_1 MITgcm/verification/global_ocean.cs32x15 |
20 |
|
21 |
|
22 |
########################################################################## |
23 |
########################################################################## |
24 |
# 32*32*6*15, 1-cpu cube sphere |
25 |
|
26 |
cd MITgcm/verification/global_ocean.cs32x15/code |
27 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
28 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s12t_16x32/* . |
29 |
\rm mdsio_readfield.F |
30 |
|
31 |
cd .. |
32 |
mkdir build |
33 |
cd build |
34 |
../../../tools/genmake2 -mods=../code |
35 |
make depend |
36 |
make |
37 |
|
38 |
cd .. |
39 |
mkdir run |
40 |
cd run |
41 |
\cp ../input/* . |
42 |
\cp ../../../../MITgcm_contrib/high_res_cube/matlab-grid-converter/tile00* . |
43 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
44 |
../build/mitgcmuv >& output.txt |
45 |
|
46 |
comparison output is in: |
47 |
../../../../MITgcm_contrib/high_res_cube/results/output.txt |
48 |
|
49 |
to use matlab to look at the output |
50 |
matlab |
51 |
|
52 |
for fld={'Eta','VICE','UICE','HEFF','AREA','Qsw','Qnet','FV','FU','EmPmR'} |
53 |
tmp=permute(readbin([fld{1} '.0000000020.data'],[32,6,32]),[1 3 2]); |
54 |
cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause |
55 |
end |
56 |
|
57 |
heff=permute(readbin(['HEFF.0000000020.data'],[32,6,32]),[1 3 2]); |
58 |
mask=0*heff; mask(find(heff>.001))=1; |
59 |
uice=mask.*permute(readbin(['UICE.0000000020.data'],[32,6,32]),[1 3 2]); |
60 |
vice=mask.*permute(readbin(['VICE.0000000020.data'],[32,6,32]),[1 3 2]); |
61 |
clf |
62 |
subplot(221), mypcolor(uice(:,:,3)'), colorbar, title('uice, tile 3') |
63 |
subplot(222), mypcolor(uice(:,:,6)'), colorbar, title('uice, tile 6') |
64 |
subplot(223), mypcolor(vice(:,:,3)'), colorbar, title('vice, tile 3') |
65 |
subplot(224), mypcolor(vice(:,:,6)'), colorbar, title('vice, tile 6') |
66 |
|
67 |
|
68 |
########################################################################## |
69 |
########################################################################## |
70 |
# 32*32*6*15, 2-cpu cube sphere on the altices with efc |
71 |
|
72 |
cd MITgcm/verification/global_ocean.cs32x15/code |
73 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
74 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s12t_16x32/* . |
75 |
\cp SIZE.h_mpi SIZE.h |
76 |
\cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h |
77 |
\rm mdsio_readfield.F |
78 |
|
79 |
cd .. |
80 |
mkdir build |
81 |
cd build |
82 |
\rm * |
83 |
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi |
84 |
make depend |
85 |
make |
86 |
|
87 |
cd .. |
88 |
mkdir run |
89 |
cd run |
90 |
\rm * |
91 |
\cp ../input/* . |
92 |
\cp ../../../../MITgcm_contrib/high_res_cube/matlab-grid-converter/tile00* . |
93 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
94 |
mpirun -np 2 ../build/mitgcmuv |
95 |
|
96 |
|
97 |
########################################################################## |
98 |
########################################################################## |
99 |
# 510*510*6*50, 54-cpu cube sphere on the altices with efc |
100 |
# requires input files in sudirectories run_template and ncep_rgau |
101 |
# presently residing under orion:/tmp1/dmenem/cube |
102 |
|
103 |
cd MITgcm/verification/global_ocean.cs32x15/code |
104 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
105 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* . |
106 |
\cp SIZE.h_54 SIZE.h |
107 |
\cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h |
108 |
\cp packages.conf_hr packages.conf |
109 |
\cp mom_vi_hdissip.F_hr mom_vi_hdissip.F |
110 |
\rm mdsio_readfield.F |
111 |
|
112 |
cd .. |
113 |
mkdir build |
114 |
cd build |
115 |
\rm * |
116 |
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi |
117 |
make depend |
118 |
make |
119 |
|
120 |
cd .. |
121 |
mkdir run |
122 |
cd run |
123 |
\rm * |
124 |
\cp ../input/* . |
125 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
126 |
qsub job_orion |
127 |
|
128 |
|
129 |
########################################################################## |
130 |
########################################################################## |
131 |
# 510*510*6*50, 216-cpu cube sphere on altix with efc |
132 |
# requires input files in sudirectories run_template and ncep_rgau |
133 |
# these can be obained from lou:/u/menemenl/cube |
134 |
|
135 |
cd MITgcm/verification/global_ocean.cs32x15/code |
136 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* . |
137 |
\cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* . |
138 |
\cp SIZE.h_216 SIZE.h |
139 |
\cp CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h |
140 |
\cp packages.conf_hr packages.conf |
141 |
\cp mom_vi_hdissip.F_hr mom_vi_hdissip.F |
142 |
\rm mdsio_readfield.F |
143 |
|
144 |
cd .. |
145 |
mkdir build |
146 |
cd build |
147 |
\rm * |
148 |
../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix |
149 |
make depend |
150 |
make |
151 |
|
152 |
cd .. |
153 |
mkdir run |
154 |
cd run |
155 |
\rm * |
156 |
\cp ../input/* . |
157 |
\cp ../../../../MITgcm_contrib/high_res_cube/input/* . |
158 |
qsub job_altix |
159 |
|
160 |
|
161 |
########################################################################## |
162 |
########################################################################## |
163 |
# matlab script for generating pChkptFreq |
164 |
|
165 |
nTimeSteps=26352; |
166 |
for niter0=216:26352:(26352*11) |
167 |
pChkptFreq=(niter0+nTimeSteps)*1200; |
168 |
day=pChkptFreq/24/60/60; |
169 |
disp(['niter0=' int2str(niter0) ',day=' int2str(day) ', ' ... |
170 |
datestr(datenum(1992,1,1)+day) ', pChkptFreq=' int2str(pChkptFreq)]) |
171 |
end |
172 |
|
173 |
niter0 = 216 , day = 369 , 04-Jan-1993, pChkptFreq = 31881600 |
174 |
niter0 = 26568 , day = 735 , 05-Jan-1994, pChkptFreq = 63504000 |
175 |
niter0 = 52920 , day = 1101, 06-Jan-1995, pChkptFreq = 95126400 |
176 |
niter0 = 79272 , day = 1467, 07-Jan-1996, pChkptFreq = 126748800 |
177 |
niter0 = 105624, day = 1833, 07-Jan-1997, pChkptFreq = 158371200 |
178 |
niter0 = 131976, day = 2199, 08-Jan-1998, pChkptFreq = 189993600 |
179 |
niter0 = 158328, day = 2565, 09-Jan-1999, pChkptFreq = 221616000 |
180 |
niter0 = 184680, day = 2931, 10-Jan-2000, pChkptFreq = 253238400 |
181 |
niter0 = 211032, day = 3297, 10-Jan-2001, pChkptFreq = 284860800 |
182 |
niter0 = 237384, day = 3663, 11-Jan-2002, pChkptFreq = 316483200 |
183 |
niter0 = 263736, day = 4029, 12-Jan-2003, pChkptFreq = 348105600 |