57 |
|
|
58 |
Generating 1-CPU executable: |
Generating 1-CPU executable: |
59 |
cd verification/lab_sea/input |
cd verification/lab_sea/input |
60 |
|
ln -sf ../code/packages.conf . |
61 |
ln -sf ../code/SIZE.h . |
ln -sf ../code/SIZE.h . |
62 |
ln -sf ../code/CPP_EEOPTIONS.h . |
ln -sf ../code/CPP_EEOPTIONS.h . |
|
ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h |
|
63 |
rm -f SEAICE_OPTIONS.h |
rm -f SEAICE_OPTIONS.h |
64 |
../../../tools/genmake -makefile |
../../../tools/genmake2 |
|
==> on alhena use: |
|
|
../../../tools/genmake -platform=o2k_noopt -makefile |
|
65 |
make clean |
make clean |
66 |
make depend |
make depend |
67 |
make |
make |
69 |
|
|
70 |
Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING: |
Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING: |
71 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
72 |
|
ln -sf ../code/packages.conf . |
73 |
ln -sf ../code/SIZE.h . |
ln -sf ../code/SIZE.h . |
74 |
ln -sf ../code/CPP_EEOPTIONS.h . |
ln -sf ../code/CPP_EEOPTIONS.h . |
75 |
ln -sf ../code/CPP_OPTIONS.h . |
ln -sf ../code/CPP_OPTIONS.h . |
76 |
ln -sf ../code/ECCO_CPPOPTIONS.h . |
ln -sf ../code/ECCO_CPPOPTIONS.h . |
77 |
ln -sf ../code/SEAICE_OPTIONS.h . |
ln -sf ../code/SEAICE_OPTIONS.h . |
78 |
../../../tools/genmake -makefile |
../../../tools/genmake2 |
|
==> on alhena use: |
|
|
../../../tools/genmake -platform=o2k_noopt -makefile |
|
79 |
make clean |
make clean |
80 |
make depend |
make depend |
81 |
make |
make |
83 |
|
|
84 |
1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP |
1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP |
85 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
86 |
|
ln -sf ../code/packages.conf . |
87 |
ln -sf ../code/SIZE.h . |
ln -sf ../code/SIZE.h . |
88 |
ln -sf ../code/CPP_EEOPTIONS.h . |
ln -sf ../code/CPP_EEOPTIONS.h . |
89 |
ln -sf ../code/CPP_OPTIONS.h . |
ln -sf ../code/CPP_OPTIONS.h . |
90 |
ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h |
ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h |
91 |
ln -sf ../code/SEAICE_OPTIONS.h . |
ln -sf ../code/SEAICE_OPTIONS.h . |
92 |
../../../tools/genmake -makefile |
../../../tools/genmake2 |
|
==> on alhena use: |
|
|
../../../tools/genmake -platform=o2k_noopt -makefile |
|
93 |
make clean |
make clean |
94 |
make depend |
make depend |
95 |
make |
make |
97 |
|
|
98 |
Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES: |
Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES: |
99 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
100 |
|
ln -sf ../code/packages.conf . |
101 |
ln -sf ../code/SIZE.h . |
ln -sf ../code/SIZE.h . |
102 |
ln -sf ../code/CPP_EEOPTIONS.h . |
ln -sf ../code/CPP_EEOPTIONS.h . |
103 |
ln -sf ../code/CPP_OPTIONS.h . |
ln -sf ../code/CPP_OPTIONS.h . |
104 |
ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h |
ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h |
105 |
ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h |
ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h |
106 |
../../../tools/genmake -makefile |
../../../tools/genmake2 |
|
==> on alhena use: |
|
|
../../../tools/genmake -platform=o2k_noopt -makefile |
|
107 |
make clean |
make clean |
108 |
make depend |
make depend |
109 |
make |
make |
110 |
mv mitgcmuv mitgcmuv_exf_fluxes |
mv mitgcmuv mitgcmuv_exf_fluxes |
111 |
|
|
112 |
|
Generating 1-CPU executable with SEAICE_MULTILEVEL: |
113 |
|
cd ../../../verification/lab_sea/input |
114 |
|
ln -sf ../code/packages.conf . |
115 |
|
ln -sf ../code/SIZE.h . |
116 |
|
ln -sf ../code/CPP_EEOPTIONS.h . |
117 |
|
ln -sf ../code/SEAICE_OPTIONS.MULTILEVEL.h SEAICE_OPTIONS.h |
118 |
|
../../../tools/genmake2 |
119 |
|
make clean |
120 |
|
make depend |
121 |
|
make |
122 |
|
mv mitgcmuv mitgcmuv_multilevel |
123 |
|
|
124 |
Generating 2-CPU executable: |
Generating 2-CPU executable: |
125 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
126 |
|
ln -sf ../code/packages.conf . |
127 |
ln -sf ../code/SIZE.2x1.h SIZE.h |
ln -sf ../code/SIZE.2x1.h SIZE.h |
128 |
ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h |
ln -sf ../code/CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h |
|
ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h |
|
129 |
rm -f SEAICE_OPTIONS.h |
rm -f SEAICE_OPTIONS.h |
130 |
../../../tools/genmake -mpi -makefile |
../../../tools/genmake2 -mpi |
|
==> on alhena for comparison purposes use: |
|
|
../../../tools/genmake -mpi -platform=o2k_noopt -makefile |
|
|
==> on alhena for fast execution use: |
|
|
../../../tools/genmake -mpi -platform=o2k -makefile |
|
131 |
make clean |
make clean |
132 |
make depend |
make depend |
133 |
make |
make |
145 |
To run Experiment 1: |
To run Experiment 1: |
146 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
147 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
148 |
ln -sf DATA.SEAICE.adi data.seaice |
ln -sf DATA.SEAICE.lsr data.seaice |
149 |
mitgcmuv_1 >&! output.txt |
mitgcmuv_1 >&! output.txt |
150 |
mkdir exp1 |
mkdir exp1 |
151 |
mv *tave.0000000010.data exp1 |
mv *tave.0000000010.data exp1 |
152 |
|
|
153 |
Use matlab script lookat_exp1.m to compare the output |
Use matlab script lookat_exp1.m to compare the output |
154 |
of exp1 with that from release1_p10 sea-ice code: |
of exp1 with that from checkpoint51f sea-ice code: |
155 |
cd ../../../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
156 |
matlab |
matlab |
157 |
lookat_exp1 |
lookat_exp1 |
160 |
Instructions for running Experiment 2 |
Instructions for running Experiment 2 |
161 |
===================================== |
===================================== |
162 |
|
|
163 |
This is a 1-cpu test of the LSR solver. The solution is |
This is a 1-cpu test of the ADI solver. The solution is |
164 |
compared to that of experiment 1, which used the ADI solver. |
compared to that of experiment 1, which used the LSR solver. |
165 |
|
|
166 |
To run Experiment 2: |
To run Experiment 2: |
167 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
168 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
169 |
ln -sf DATA.SEAICE.lsr data.seaice |
ln -sf DATA.SEAICE.adi data.seaice |
170 |
mitgcmuv_1 >&! output.txt |
mitgcmuv_1 >&! output.txt |
171 |
mkdir exp2 |
mkdir exp2 |
172 |
mv *tave.0000000010.data exp2 |
mv *tave.0000000010.data exp2 |
204 |
matlab |
matlab |
205 |
lookat_exp3 |
lookat_exp3 |
206 |
|
|
207 |
If the dynamic ice solvers are correct, they should converge to a |
Both solvers should and do converge to solutions |
208 |
solution that is constant at each latitude. |
that are constant at each latitude. But note that |
209 |
|
the two solutions are not exactly the same because |
210 |
|
the two solvers represent slightly different |
211 |
|
approximations of the viscous/plastic equations. |
212 |
|
|
213 |
|
|
214 |
Instructions for running Experiment 4 |
Instructions for running Experiment 4 |
220 |
To run Experiment 4: |
To run Experiment 4: |
221 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
222 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
223 |
ln -sf DATA.SEAICE.adi data.seaice |
ln -sf DATA.SEAICE.lsr data.seaice |
224 |
mpirun -np 2 mitgcmuv_2x1 |
mpirun -np 2 mitgcmuv_2x1 |
225 |
mkdir exp4 |
mkdir exp4 |
226 |
mv *tave.0000000010.data exp4 |
mv *tave.0000000010.data exp4 |
231 |
matlab |
matlab |
232 |
lookat_exp4 |
lookat_exp4 |
233 |
|
|
234 |
The inaccuracy at the tile boundary can be decreased by increasing |
The accuracy of the dynamic solvers is increased by |
235 |
NPSEUDO in data.seaice at the expense of computation time. |
reducing parameter LSR_ERROR for the LSR solver and |
236 |
Also as sea-ice ages (thickens) the difference at the tiles becomes |
by increasing parameter NPSEUDO for the ADI solver. |
237 |
increasingly small. For solver pkg/seaice/adi.F a value of NPSEUDO=10 |
The computational cost/accuracy trade-off is quite |
238 |
appears adequate for forward integrations but cannot be used for sea-ice |
high for the ADI solver but relatively small for |
239 |
adjoint model. With NPSEUDO=300 or greater, the tile disappears, but the |
the LSR solver, which is the default solver. |
|
computational cost is very large (11 times that of teh forward model). |
|
240 |
|
|
241 |
|
|
242 |
Instructions for running Experiment 5 |
Instructions for running Experiment 5 |
248 |
To run Experiment 5: |
To run Experiment 5: |
249 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
250 |
ln -sf DATA.2years data |
ln -sf DATA.2years data |
251 |
ln -sf DATA.SEAICE.adi data.seaice |
ln -sf DATA.SEAICE.lsr data.seaice |
252 |
ln -sf evap.labsea1979 evap.labsea1980 |
ln -sf evap.labsea1979 evap.labsea1980 |
253 |
ln -sf flo.labsea1979 flo.labsea1980 |
ln -sf flo.labsea1979 flo.labsea1980 |
254 |
ln -sf fsh.labsea1979 fsh.labsea1980 |
ln -sf fsh.labsea1979 fsh.labsea1980 |
265 |
matlab |
matlab |
266 |
lookat_exp5 |
lookat_exp5 |
267 |
|
|
268 |
Disclaimer: |
The comparison here is just for fun. |
269 |
The comparison here is just for fun, not really supposed |
The configuration is too coarse and artificial |
270 |
to look anything like the data. |
to reproduce realistic sea-ice conditions. |
271 |
Otherwise it would put a lot of people out of business :-) |
|
272 |
|
|
273 |
Instructions for running Experiment 6 |
Instructions for running Experiment 6 |
274 |
===================================== |
===================================== |
286 |
|
|
287 |
Use the matlab script lookat_exp6.m to compare |
Use the matlab script lookat_exp6.m to compare |
288 |
the output of exp6 to that of exp1: |
the output of exp6 to that of exp1: |
289 |
cd ../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
290 |
matlab |
matlab |
291 |
lookat_exp6 |
lookat_exp6 |
292 |
|
|
293 |
|
|
294 |
Instructions for running Experiment 7 |
Instructions for running Experiment 7 |
295 |
===================================== |
===================================== |
296 |
|
|
325 |
To run Experiment 8: |
To run Experiment 8: |
326 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
327 |
ln -sf DATA.10hours_exf data |
ln -sf DATA.10hours_exf data |
328 |
ln -sf DATA.SEAICE.adi_exf data.seaice |
ln -sf DATA.SEAICE.exf data.seaice |
329 |
mitgcmuv_exf_forcing >&! output.txt |
mitgcmuv_exf_forcing >&! output.txt |
330 |
mkdir exp8 |
mkdir exp8 |
331 |
mv *tave.0000000010.data exp8 |
mv *tave.0000000010.data exp8 |
347 |
To run Experiment 9: |
To run Experiment 9: |
348 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
349 |
ln -sf DATA.10hours_exf data |
ln -sf DATA.10hours_exf data |
350 |
ln -sf DATA.SEAICE.adi_exf data.seaice |
ln -sf DATA.SEAICE.exf data.seaice |
351 |
mitgcmuv_exf_fluxes >&! output.txt |
mitgcmuv_exf_fluxes >&! output.txt |
352 |
mkdir exp9 |
mkdir exp9 |
353 |
mv *tave.0000000010.data exp9 |
mv *tave.0000000010.data exp9 |
368 |
To run Experiment 10: |
To run Experiment 10: |
369 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
370 |
ln -sf DATA.10hours_exf data |
ln -sf DATA.10hours_exf data |
371 |
ln -sf DATA.SEAICE.adi_exf data.seaice |
ln -sf DATA.SEAICE.exf data.seaice |
372 |
mitgcmuv_compute_evap >&! output.txt |
mitgcmuv_compute_evap >&! output.txt |
373 |
mkdir exp10 |
mkdir exp10 |
374 |
mv *tave.0000000010.data exp10 |
mv *tave.0000000010.data exp10 |
378 |
cd ../../../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
379 |
matlab |
matlab |
380 |
lookat_exp10 |
lookat_exp10 |
381 |
|
|
382 |
|
|
383 |
|
Instructions for running Experiment 11 |
384 |
|
====================================== |
385 |
|
|
386 |
|
This is a 1-cpu, 10-hour integration similar to exp1, but |
387 |
|
with multi-level sea-ice thermodynamics. |
388 |
|
|
389 |
|
To run Experiment 10: |
390 |
|
cd ../../../verification/lab_sea/input |
391 |
|
ln -sf DATA.10hours data |
392 |
|
ln -sf DATA.SEAICE.lsr data.seaice |
393 |
|
mitgcmuv_multilevel >&! output.txt |
394 |
|
mkdir exp11 |
395 |
|
mv *tave.0000000010.data exp11 |
396 |
|
|
397 |
|
Use matlab script lookat_exp11.m to compare |
398 |
|
the output of exp11 to that of exp1: |
399 |
|
cd ../../../verification/lab_sea/matlab |
400 |
|
matlab |
401 |
|
lookat_exp11 |