/[MITgcm]/MITgcm/verification/lab_sea/README
ViewVC logotype

Contents of /MITgcm/verification/lab_sea/README

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


Revision 1.9 - (show annotations) (download)
Thu Jan 15 03:38:22 2004 UTC (20 years, 3 months ago) by dimitri
Branch: MAIN
Changes since 1.8: +13 -24 lines
o added temporary hack for sea-ice dynamics on the cube:
  metric terms are ignored and it is assumed that
  there is no sea-ice on cube faces 1, 2, 4, and 5.

1 Example: Labrador Sea Region with Sea-Ice
2 =========================================
3
4 This example sets up a small (20x16x23) Labrador Sea experiment
5 coupled to a dynamic thermodynamic sea-ice model.
6 A brief description of the sea-ice model is in "seaice.ps".
7
8 The domain of integration spans 280E to 320E and 46N to 78N.
9 Horizontal grid spacing is 2 degrees.
10 The 23 vertical levels and the bathymetry file
11 bathyFile = 'bathy.labsea'
12 are obtained from the the 2-degree ECCO configuration.
13
14 Integration is initialized from annual-mean Levitus climatology
15 hydrogThetaFile = 'LevCli_temp.labsea'
16 hydrogSaltFile = 'LevCli_salt.labsea'
17
18 Surface salinity relaxation is to the monthly mean Levitus climatology
19 saltClimFile = 'SSS.labsea'
20
21 Forcing files are a 1979-1999 monthly climatology computed from the
22 NCEP reanalysis (see pkg/seaice/SEAICE_FFIELDS.h for units and signs)
23 uwindFile = 'u10m.labsea79' # 10-m zonal wind
24 vwindFile = 'v10m.labsea79' # 10-m meridional wind
25 atempFile = 'tair.labsea1979' # 2-m air temperature
26 aqhFile = 'qa.labsea1979' # 2-m specific humidity
27 lwdownFile = 'flo.labsea1979' # downward longwave radiation
28 swdownFile = 'fsh.labsea1979' # downward shortwave radiation
29 precipFile = 'prate.labsea1979' # precipitation
30 evapFile = 'evap.labsea1979' # evaporation
31
32
33 Using testscript to test sea-ice code
34 =====================================
35
36 Running the testscript experiment:
37 cd verification
38 ./testscript -force lab_sea
39 The default experiment is Experiment 8, below.
40 It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
41
42 Note that fairly large differences in accuracy occur across different
43 platforms. For example, testscript comparisons between g77 (Linux)
44 and f77 (SGI) generated output gives:
45
46 T S U V
47 C D M c m s m s m s m s
48 n p a R g m m e . m m e . m m e . m m e .
49 f n k u 2 i a a d i a a d i a a d i a a d
50 g d e n d n x n . n x n . n x n . n x n .
51
52 Y Y Y Y 8 10 9 11 10 9 11 13 10 9 8 8 9 8 9 8 9 FAIL lab_sea
53
54
55 Instructions for generating 1-CPU and 2-CPU executables
56 =======================================================
57
58 Generating 1-CPU executable:
59 cd verification/lab_sea/input
60 ln -sf ../code/packages.conf .
61 ln -sf ../code/SIZE.h .
62 ln -sf ../code/CPP_EEOPTIONS.h .
63 rm -f SEAICE_OPTIONS.h
64 ../../../tools/genmake2
65 make clean
66 make depend
67 make
68 mv mitgcmuv mitgcmuv_1
69
70 Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING:
71 cd ../../../verification/lab_sea/input
72 ln -sf ../code/packages.conf .
73 ln -sf ../code/SIZE.h .
74 ln -sf ../code/CPP_EEOPTIONS.h .
75 ln -sf ../code/CPP_OPTIONS.h .
76 ln -sf ../code/ECCO_CPPOPTIONS.h .
77 ln -sf ../code/SEAICE_OPTIONS.h .
78 ../../../tools/genmake2
79 make clean
80 make depend
81 make
82 mv mitgcmuv mitgcmuv_exf_forcing
83
84 1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP
85 cd ../../../verification/lab_sea/input
86 ln -sf ../code/packages.conf .
87 ln -sf ../code/SIZE.h .
88 ln -sf ../code/CPP_EEOPTIONS.h .
89 ln -sf ../code/CPP_OPTIONS.h .
90 ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
91 ln -sf ../code/SEAICE_OPTIONS.h .
92 ../../../tools/genmake2
93 make clean
94 make depend
95 make
96 mv mitgcmuv mitgcmuv_compute_evap
97
98 Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:
99 cd ../../../verification/lab_sea/input
100 ln -sf ../code/packages.conf .
101 ln -sf ../code/SIZE.h .
102 ln -sf ../code/CPP_EEOPTIONS.h .
103 ln -sf ../code/CPP_OPTIONS.h .
104 ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
105 ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h
106 ../../../tools/genmake2
107 make clean
108 make depend
109 make
110 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:
125 cd ../../../verification/lab_sea/input
126 ln -sf ../code/packages.conf .
127 ln -sf ../code/SIZE.2x1.h SIZE.h
128 ln -sf ../code/CPP_EEOPTIONS.h_mpi CPP_EEOPTIONS.h
129 rm -f SEAICE_OPTIONS.h
130 ../../../tools/genmake2 -mpi
131 make clean
132 make depend
133 make
134 mv mitgcmuv mitgcmuv_2x1
135
136
137 Instructions for running Experiment 1
138 =====================================
139
140 This is a 1-cpu, 10-hour integration used to make sure that all
141 the files are available and that the sea-ice model compiles and
142 runs. The reading of atmospheric forcing files and the computation
143 of open-water bulk fluxes are carried out within pkg/seaice.
144
145 To run Experiment 1:
146 cd ../../../verification/lab_sea/input
147 ln -sf DATA.10hours data
148 ln -sf DATA.SEAICE.lsr data.seaice
149 mitgcmuv_1 >&! output.txt
150 mkdir exp1
151 mv *tave.0000000010.data exp1
152
153 Use matlab script lookat_exp1.m to compare the output
154 of exp1 with that from checkpoint51f sea-ice code:
155 cd ../../../verification/lab_sea/matlab
156 matlab
157 lookat_exp1
158
159
160 Instructions for running Experiment 2
161 =====================================
162
163 This is a 1-cpu test of the ADI solver. The solution is
164 compared to that of experiment 1, which used the LSR solver.
165
166 To run Experiment 2:
167 cd ../../../verification/lab_sea/input
168 ln -sf DATA.10hours data
169 ln -sf DATA.SEAICE.adi data.seaice
170 mitgcmuv_1 >&! output.txt
171 mkdir exp2
172 mv *tave.0000000010.data exp2
173
174 Use matlab script lookat_exp2.m to compare
175 the output of exp2 to that of exp1:
176 cd ../../../verification/lab_sea/matlab
177 matlab
178 lookat_exp2
179
180
181 Instructions for running Experiment 3
182 =====================================
183
184 This is a test of periodic boundary conditions for LSR
185 and ADI solvers. The domain has a flat bottom and
186 is periodic both in the x and the y directions.
187 All forcing files are null or constant (u10m = v10m = 5 m/s).
188
189 To run Experiment 3:
190 cd ../../../verification/lab_sea/input
191 ln -sf DATA.1hour data
192 ln -sf DATA.SEAICE.testadi data.seaice
193 mitgcmuv_1 >&! output.txt
194 mkdir exp3a
195 mv *tave.0000000001.data exp3a
196 ln -sf DATA.SEAICE.testlsr data.seaice
197 mitgcmuv_1 >&! output.txt
198 mkdir exp3b
199 mv *tave.0000000001.data exp3b
200
201 Use matlab script lookat_exp3.m to look at
202 results from exp3a and exp3b:
203 cd ../../../verification/lab_sea/matlab
204 matlab
205 lookat_exp3
206
207 Both solvers should and do converge to solutions
208 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
215 =====================================
216
217 This is a 2-cpu, 10-hour integration used to test
218 tile edges for sea-ice dynamic solvers.
219
220 To run Experiment 4:
221 cd ../../../verification/lab_sea/input
222 ln -sf DATA.10hours data
223 ln -sf DATA.SEAICE.lsr data.seaice
224 mpirun -np 2 mitgcmuv_2x1
225 mkdir exp4
226 mv *tave.0000000010.data exp4
227
228 Use the matlab script lookat_exp4.m to compare
229 the 2-cpu output to that of exp1:
230 cd ../../../verification/lab_sea/matlab
231 matlab
232 lookat_exp4
233
234 The accuracy of the dynamic solvers is increased by
235 reducing parameter LSR_ERROR for the LSR solver and
236 by increasing parameter NPSEUDO for the ADI solver.
237 The computational cost/accuracy trade-off is quite
238 high for the ADI solver but relatively small for
239 the LSR solver, which is the default solver.
240
241
242 Instructions for running Experiment 5
243 =====================================
244
245 This is a 2-cpu, 2-year, test integration. It illustrates
246 convention used by seaice_get_forcing.F for multi-year forcing.
247
248 To run Experiment 5:
249 cd ../../../verification/lab_sea/input
250 ln -sf DATA.2years data
251 ln -sf DATA.SEAICE.lsr data.seaice
252 ln -sf evap.labsea1979 evap.labsea1980
253 ln -sf flo.labsea1979 flo.labsea1980
254 ln -sf fsh.labsea1979 fsh.labsea1980
255 ln -sf prate.labsea1979 prate.labsea1980
256 ln -sf qa.labsea1979 qa.labsea1980
257 ln -sf tair.labsea1979 tair.labsea1980
258 ln -sf u10m.labsea79 u10m.labsea80
259 ln -sf v10m.labsea79 v10m.labsea80
260 mpirun -np 2 mitgcmuv_2x1
261
262 Use the matlab script lookat_exp5.m to compare
263 the 2-cpu output to SMMR-SSM/I data:
264 cd ../../../verification/lab_sea/matlab
265 matlab
266 lookat_exp5
267
268 The comparison here is just for fun.
269 The configuration is too coarse and artificial
270 to reproduce realistic sea-ice conditions.
271
272
273 Instructions for running Experiment 6
274 =====================================
275
276 This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
277 The solution is compared to that of experiment 1.
278
279 To run Experiment 6:
280 cd ../../../verification/lab_sea/input
281 ln -sf DATA.10hours data
282 ln -sf DATA.SEAICE.nodynamics data.seaice
283 mitgcmuv_1 >&! output.txt
284 mkdir exp6
285 mv *tave.0000000010.data exp6
286
287 Use the matlab script lookat_exp6.m to compare
288 the output of exp6 to that of exp1:
289 cd ../../../verification/lab_sea/matlab
290 matlab
291 lookat_exp6
292
293
294 Instructions for running Experiment 7
295 =====================================
296
297 This is a 2-cpu, 10-hour integration used to test
298 tile edges for sea-ice thermodynamics (no dynamics).
299 2-CPU executable from experiment 4 is required.
300
301 To run Experiment 7:
302 cd ../../../verification/lab_sea/input
303 ln -sf DATA.10hours data
304 ln -sf DATA.SEAICE.nodynamics data.seaice
305 mpirun -np 2 mitgcmuv_2x1
306 mkdir exp7
307 mv *tave.0000000010.data exp7
308
309 Use the matlab script lookat_exp7.m to compare
310 the output of exp7 to that of exp6:
311 cd ../verification/lab_sea/matlab
312 matlab
313 lookat_exp7
314
315
316 Instructions for running Experiment 8
317 =====================================
318
319 This is the default experiment which is executed by
320 verification/testscript. It is a 1-cpu, 10-hour integration
321 used to test CPP option SEAICE_EXTERNAL_FORCING. Atmospheric
322 state is read-in using pkg/exf, rather than pkg/seaice routines.
323 This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
324
325 To run Experiment 8:
326 cd ../../../verification/lab_sea/input
327 ln -sf DATA.10hours_exf data
328 ln -sf DATA.SEAICE.exf data.seaice
329 mitgcmuv_exf_forcing >&! output.txt
330 mkdir exp8
331 mv *tave.0000000010.data exp8
332
333 Use matlab script lookat_exp8.m to compare
334 the output of exp8 to that of exp1:
335 cd ../../../verification/lab_sea/matlab
336 matlab
337 lookat_exp8
338
339
340 Instructions for running Experiment 9
341 =====================================
342
343 This is a 1-cpu, 10-hour integration used to test CPP option
344 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
345 open-water surface fluxes are provided by pkg/exf.
346
347 To run Experiment 9:
348 cd ../../../verification/lab_sea/input
349 ln -sf DATA.10hours_exf data
350 ln -sf DATA.SEAICE.exf data.seaice
351 mitgcmuv_exf_fluxes >&! output.txt
352 mkdir exp9
353 mv *tave.0000000010.data exp9
354
355 Use matlab script lookat_exp9.m to compare
356 the output of exp9 to that of exp8:
357 cd ../../../verification/lab_sea/matlab
358 matlab
359 lookat_exp9
360
361
362 Instructions for running Experiment 10
363 ======================================
364
365 This is a 1-cpu, 10-hour integration similar to exp8, but
366 with bulk formula computation of evaporation fields.
367
368 To run Experiment 10:
369 cd ../../../verification/lab_sea/input
370 ln -sf DATA.10hours_exf data
371 ln -sf DATA.SEAICE.exf data.seaice
372 mitgcmuv_compute_evap >&! output.txt
373 mkdir exp10
374 mv *tave.0000000010.data exp10
375
376 Use matlab script lookat_exp10.m to compare
377 the output of exp10 to that of exp8:
378 cd ../../../verification/lab_sea/matlab
379 matlab
380 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

  ViewVC Help
Powered by ViewVC 1.1.22