24 |
vwindFile = 'v10m.labsea79' # 10-m meridional wind |
vwindFile = 'v10m.labsea79' # 10-m meridional wind |
25 |
atempFile = 'tair.labsea1979' # 2-m air temperature |
atempFile = 'tair.labsea1979' # 2-m air temperature |
26 |
aqhFile = 'qa.labsea1979' # 2-m specific humidity |
aqhFile = 'qa.labsea1979' # 2-m specific humidity |
27 |
lwdownFile = 'flo.labsea1979' # downward longwave radiation |
lwfluxFile = 'flo.labsea1979' # longwave radiation |
28 |
swdownFile = 'fsh.labsea1979' # downward shortwave radiation |
swfluxFile = 'fsh.labsea1979' # shortwave radiation |
29 |
precipFile = 'prate.labsea1979' # precipitation |
precipFile = 'prate.labsea1979' # precipitation |
30 |
evapFile = 'evap.labsea1979' # evaporation |
evapFile = 'evap.labsea1979' # evaporation |
31 |
|
|
84 |
make |
make |
85 |
mv mitgcmuv mitgcmuv_exf_forcing |
mv mitgcmuv mitgcmuv_exf_forcing |
86 |
|
|
|
1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP |
|
|
cd ../../../verification/lab_sea/input |
|
|
ln -sf ../code/SIZE.h . |
|
|
ln -sf ../code/CPP_EEOPTIONS.h . |
|
|
ln -sf ../code/CPP_OPTIONS.h . |
|
|
ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h |
|
|
ln -sf ../code/SEAICE_OPTIONS.h . |
|
|
../../../tools/genmake -makefile |
|
|
==> on alhena use: |
|
|
../../../tools/genmake -platform=o2k_noopt -makefile |
|
|
make clean |
|
|
make depend |
|
|
make |
|
|
mv mitgcmuv mitgcmuv_compute_evap |
|
|
|
|
87 |
Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES: |
Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES: |
88 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
89 |
ln -sf ../code/SIZE.h . |
ln -sf ../code/SIZE.h . |
127 |
To run Experiment 1: |
To run Experiment 1: |
128 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
129 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
130 |
ln -sf DATA.SEAICE.lsr data.seaice |
ln -sf DATA.SEAICE.adi data.seaice |
131 |
mitgcmuv_1 >&! output.txt |
mitgcmuv_1 >&! output.txt |
132 |
mkdir exp1 |
mkdir exp1 |
133 |
mv *tave.0000000010.data exp1 |
mv *tave.0000000010.data exp1 |
134 |
|
|
135 |
Use matlab script lookat_exp1.m to compare the output |
Use matlab script lookat_exp1.m to compare the output |
136 |
of exp1 with that from release1_p16 sea-ice code: |
of exp1 with that from release1_p10 sea-ice code: |
137 |
cd ../../../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
138 |
matlab |
matlab |
139 |
lookat_exp1 |
lookat_exp1 |
142 |
Instructions for running Experiment 2 |
Instructions for running Experiment 2 |
143 |
===================================== |
===================================== |
144 |
|
|
145 |
This is a 1-cpu test of the ADI solver. The solution is |
This is a 1-cpu test of the LSR solver. The solution is |
146 |
compared to that of experiment 1, which used the LSR solver. |
compared to that of experiment 1, which used the ADI solver. |
147 |
|
|
148 |
To run Experiment 2: |
To run Experiment 2: |
149 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
150 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
151 |
ln -sf DATA.SEAICE.adi data.seaice |
ln -sf DATA.SEAICE.lsr data.seaice |
152 |
mitgcmuv_1 >&! output.txt |
mitgcmuv_1 >&! output.txt |
153 |
mkdir exp2 |
mkdir exp2 |
154 |
mv *tave.0000000010.data exp2 |
mv *tave.0000000010.data exp2 |
180 |
mkdir exp3b |
mkdir exp3b |
181 |
mv *tave.0000000001.data exp3b |
mv *tave.0000000001.data exp3b |
182 |
|
|
183 |
Use matlab script lookat_exp3.m to look at |
Use matlab script lookat_exp3.m to compare |
184 |
results from exp3a and exp3b: |
the output of exp2 to that of exp1: |
185 |
cd ../../../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
186 |
matlab |
matlab |
187 |
lookat_exp3 |
lookat_exp3 |
188 |
|
|
189 |
Both solvers should and do converge to solutions |
If the dynamic ice solvers are correct, they should converge to a |
190 |
that are constant at each latitude. But note that |
constant solution. The tests above show that both the ADI and the LSR |
191 |
the two solutions are not exactly the same because |
solver are unable to handle periodic domains and therefore that they |
192 |
the two solvers represent slightly different |
cannot be "correctly" parallelized. |
|
approximations of the viscous/plastic equations. |
|
193 |
|
|
194 |
|
|
195 |
Instructions for running Experiment 4 |
Instructions for running Experiment 4 |
201 |
To run Experiment 4: |
To run Experiment 4: |
202 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
203 |
ln -sf DATA.10hours data |
ln -sf DATA.10hours data |
204 |
ln -sf DATA.SEAICE.lsr data.seaice |
ln -sf DATA.SEAICE.adi data.seaice |
205 |
mpirun -np 2 mitgcmuv_2x1 |
mpirun -np 2 mitgcmuv_2x1 |
206 |
mkdir exp4 |
mkdir exp4 |
207 |
mv *tave.0000000010.data exp4 |
mv *tave.0000000010.data exp4 |
212 |
matlab |
matlab |
213 |
lookat_exp4 |
lookat_exp4 |
214 |
|
|
215 |
The accuracy of the dynamic solvers is increased by |
The inaccuracy at the tile boundary can be decreased by increasing |
216 |
reducing parameter LSR_ERROR for the LSR solver and |
NPSEUDO in data.seaice at the expense of computation time. |
217 |
by increasing parameter NPSEUDO for the ADI solver. |
Also as sea-ice ages (thickens) the difference at the tiles becomes |
218 |
The computational cost/accuracy trade-off is quite |
increasingly small. For solver pkg/seaice/adi.F a value of NPSEUDO=10 |
219 |
high for the ADI solver but relatively small for |
appears adequate for forward integrations but cannot be used for sea-ice |
220 |
the LSR solver, which is the default solver. |
adjoint model. Work is underway to fix this problem. |
221 |
|
|
222 |
|
|
223 |
Instructions for running Experiment 5 |
Instructions for running Experiment 5 |
229 |
To run Experiment 5: |
To run Experiment 5: |
230 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
231 |
ln -sf DATA.2years data |
ln -sf DATA.2years data |
232 |
ln -sf DATA.SEAICE.lsr data.seaice |
ln -sf DATA.SEAICE.adi data.seaice |
233 |
ln -sf evap.labsea1979 evap.labsea1980 |
ln -sf evap.labsea1979 evap.labsea1980 |
234 |
ln -sf flo.labsea1979 flo.labsea1980 |
ln -sf flo.labsea1979 flo.labsea1980 |
235 |
ln -sf fsh.labsea1979 fsh.labsea1980 |
ln -sf fsh.labsea1979 fsh.labsea1980 |
246 |
matlab |
matlab |
247 |
lookat_exp5 |
lookat_exp5 |
248 |
|
|
249 |
The comparison here is just for fun. |
Disclaimer: |
250 |
The configuration is too coarse and artificial |
The comparison here is just for fun, not really supposed |
251 |
to reproduce realistic sea-ice conditions. |
to look anything like the data. |
252 |
|
Otherwise it would put a lot of people out of business :-) |
253 |
|
|
254 |
Instructions for running Experiment 6 |
Instructions for running Experiment 6 |
255 |
===================================== |
===================================== |
271 |
matlab |
matlab |
272 |
lookat_exp6 |
lookat_exp6 |
273 |
|
|
|
|
|
274 |
Instructions for running Experiment 7 |
Instructions for running Experiment 7 |
275 |
===================================== |
===================================== |
276 |
|
|
305 |
To run Experiment 8: |
To run Experiment 8: |
306 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
307 |
ln -sf DATA.10hours_exf data |
ln -sf DATA.10hours_exf data |
308 |
ln -sf DATA.SEAICE.exf data.seaice |
ln -sf DATA.SEAICE.adi_exf data.seaice |
309 |
mitgcmuv_exf_forcing >&! output.txt |
mitgcmuv_exf_forcing >&! output.txt |
310 |
mkdir exp8 |
mkdir exp8 |
311 |
mv *tave.0000000010.data exp8 |
mv *tave.0000000010.data exp8 |
327 |
To run Experiment 9: |
To run Experiment 9: |
328 |
cd ../../../verification/lab_sea/input |
cd ../../../verification/lab_sea/input |
329 |
ln -sf DATA.10hours_exf data |
ln -sf DATA.10hours_exf data |
330 |
ln -sf DATA.SEAICE.exf data.seaice |
ln -sf DATA.SEAICE.adi_exf data.seaice |
331 |
mitgcmuv_exf_fluxes >&! output.txt |
mitgcmuv_exf_fluxes >&! output.txt |
332 |
mkdir exp9 |
mkdir exp9 |
333 |
mv *tave.0000000010.data exp9 |
mv *tave.0000000010.data exp9 |
337 |
cd ../../../verification/lab_sea/matlab |
cd ../../../verification/lab_sea/matlab |
338 |
matlab |
matlab |
339 |
lookat_exp9 |
lookat_exp9 |
|
|
|
|
|
|
|
Instructions for running Experiment 10 |
|
|
====================================== |
|
|
|
|
|
This is a 1-cpu, 10-hour integration similar to exp8, but |
|
|
with bulk formula computation of evaporation fields. |
|
|
|
|
|
To run Experiment 10: |
|
|
cd ../../../verification/lab_sea/input |
|
|
ln -sf DATA.10hours_exf data |
|
|
ln -sf DATA.SEAICE.exf data.seaice |
|
|
mitgcmuv_compute_evap >&! output.txt |
|
|
mkdir exp10 |
|
|
mv *tave.0000000010.data exp10 |
|
|
|
|
|
Use matlab script lookat_exp10.m to compare |
|
|
the output of exp10 to that of exp8: |
|
|
cd ../../../verification/lab_sea/matlab |
|
|
matlab |
|
|
lookat_exp10 |
|