/[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.1.2.10 - (show annotations) (download)
Thu May 22 20:49:14 2003 UTC (20 years, 11 months ago) by dimitri
Branch: release1
CVS Tags: release1_p16
Changes since 1.1.2.9: +26 -23 lines
release1_p16
o fixed gather/scatter inital MPI dialogue in ini_procs.F
o pkg/seaice/lsr.F has been moved to SouthWest B-grid location
  and has been made the default dynamic solver because of its
  fast convergence properties relative to adi.F solver.

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/SIZE.h .
61 ln -sf ../code/CPP_EEOPTIONS.h .
62 ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
63 rm -f SEAICE_OPTIONS.h
64 ../../../tools/genmake -makefile
65 ==> on alhena use:
66 ../../../tools/genmake -platform=o2k_noopt -makefile
67 make clean
68 make depend
69 make
70 mv mitgcmuv mitgcmuv_1
71
72 Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING:
73 cd ../../../verification/lab_sea/input
74 ln -sf ../code/SIZE.h .
75 ln -sf ../code/CPP_EEOPTIONS.h .
76 ln -sf ../code/CPP_OPTIONS.h .
77 ln -sf ../code/ECCO_CPPOPTIONS.h .
78 ln -sf ../code/SEAICE_OPTIONS.h .
79 ../../../tools/genmake -makefile
80 ==> on alhena use:
81 ../../../tools/genmake -platform=o2k_noopt -makefile
82 make clean
83 make depend
84 make
85 mv mitgcmuv mitgcmuv_exf_forcing
86
87 1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP
88 cd ../../../verification/lab_sea/input
89 ln -sf ../code/SIZE.h .
90 ln -sf ../code/CPP_EEOPTIONS.h .
91 ln -sf ../code/CPP_OPTIONS.h .
92 ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
93 ln -sf ../code/SEAICE_OPTIONS.h .
94 ../../../tools/genmake -makefile
95 ==> on alhena use:
96 ../../../tools/genmake -platform=o2k_noopt -makefile
97 make clean
98 make depend
99 make
100 mv mitgcmuv mitgcmuv_compute_evap
101
102 Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:
103 cd ../../../verification/lab_sea/input
104 ln -sf ../code/SIZE.h .
105 ln -sf ../code/CPP_EEOPTIONS.h .
106 ln -sf ../code/CPP_OPTIONS.h .
107 ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
108 ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h
109 ../../../tools/genmake -makefile
110 ==> on alhena use:
111 ../../../tools/genmake -platform=o2k_noopt -makefile
112 make clean
113 make depend
114 make
115 mv mitgcmuv mitgcmuv_exf_fluxes
116
117 Generating 2-CPU executable:
118 cd ../../../verification/lab_sea/input
119 ln -sf ../code/SIZE.2x1.h SIZE.h
120 ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h
121 ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
122 rm -f SEAICE_OPTIONS.h
123 ../../../tools/genmake -mpi -makefile
124 ==> on alhena for comparison purposes use:
125 ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
126 ==> on alhena for fast execution use:
127 ../../../tools/genmake -mpi -platform=o2k -makefile
128 make clean
129 make depend
130 make
131 mv mitgcmuv mitgcmuv_2x1
132
133
134 Instructions for running Experiment 1
135 =====================================
136
137 This is a 1-cpu, 10-hour integration used to make sure that all
138 the files are available and that the sea-ice model compiles and
139 runs. The reading of atmospheric forcing files and the computation
140 of open-water bulk fluxes are carried out within pkg/seaice.
141
142 To run Experiment 1:
143 cd ../../../verification/lab_sea/input
144 ln -sf DATA.10hours data
145 ln -sf DATA.SEAICE.lsr data.seaice
146 mitgcmuv_1 >&! output.txt
147 mkdir exp1
148 mv *tave.0000000010.data exp1
149
150 Use matlab script lookat_exp1.m to compare the output
151 of exp1 with that from release1_p16 sea-ice code:
152 cd ../../../verification/lab_sea/matlab
153 matlab
154 lookat_exp1
155
156
157 Instructions for running Experiment 2
158 =====================================
159
160 This is a 1-cpu test of the ADI solver. The solution is
161 compared to that of experiment 1, which used the LSR solver.
162
163 To run Experiment 2:
164 cd ../../../verification/lab_sea/input
165 ln -sf DATA.10hours data
166 ln -sf DATA.SEAICE.adi data.seaice
167 mitgcmuv_1 >&! output.txt
168 mkdir exp2
169 mv *tave.0000000010.data exp2
170
171 Use matlab script lookat_exp2.m to compare
172 the output of exp2 to that of exp1:
173 cd ../../../verification/lab_sea/matlab
174 matlab
175 lookat_exp2
176
177
178 Instructions for running Experiment 3
179 =====================================
180
181 This is a test of periodic boundary conditions for LSR
182 and ADI solvers. The domain has a flat bottom and
183 is periodic both in the x and the y directions.
184 All forcing files are null or constant (u10m = v10m = 5 m/s).
185
186 To run Experiment 3:
187 cd ../../../verification/lab_sea/input
188 ln -sf DATA.1hour data
189 ln -sf DATA.SEAICE.testadi data.seaice
190 mitgcmuv_1 >&! output.txt
191 mkdir exp3a
192 mv *tave.0000000001.data exp3a
193 ln -sf DATA.SEAICE.testlsr data.seaice
194 mitgcmuv_1 >&! output.txt
195 mkdir exp3b
196 mv *tave.0000000001.data exp3b
197
198 Use matlab script lookat_exp3.m to look at
199 results from exp3a and exp3b:
200 cd ../../../verification/lab_sea/matlab
201 matlab
202 lookat_exp3
203
204 Both solvers should and do converge to solutions
205 that are constant at each latitude. But note that
206 the two solutions are not exactly the same because
207 the two solvers represent slightly different
208 approximations of the viscous/plastic equations.
209
210
211 Instructions for running Experiment 4
212 =====================================
213
214 This is a 2-cpu, 10-hour integration used to test
215 tile edges for sea-ice dynamic solvers.
216
217 To run Experiment 4:
218 cd ../../../verification/lab_sea/input
219 ln -sf DATA.10hours data
220 ln -sf DATA.SEAICE.lsr data.seaice
221 mpirun -np 2 mitgcmuv_2x1
222 mkdir exp4
223 mv *tave.0000000010.data exp4
224
225 Use the matlab script lookat_exp4.m to compare
226 the 2-cpu output to that of exp1:
227 cd ../../../verification/lab_sea/matlab
228 matlab
229 lookat_exp4
230
231 The accuracy of the dynamic solvers is increased by
232 reducing parameter LSR_ERROR for the LSR solver and
233 by increasing parameter NPSEUDO for the ADI solver.
234 The computational cost/accuracy trade-off is quite
235 high for the ADI solver but relatively small for
236 the LSR solver, which is the default solver.
237
238
239 Instructions for running Experiment 5
240 =====================================
241
242 This is a 2-cpu, 2-year, test integration. It illustrates
243 convention used by seaice_get_forcing.F for multi-year forcing.
244
245 To run Experiment 5:
246 cd ../../../verification/lab_sea/input
247 ln -sf DATA.2years data
248 ln -sf DATA.SEAICE.lsr data.seaice
249 ln -sf evap.labsea1979 evap.labsea1980
250 ln -sf flo.labsea1979 flo.labsea1980
251 ln -sf fsh.labsea1979 fsh.labsea1980
252 ln -sf prate.labsea1979 prate.labsea1980
253 ln -sf qa.labsea1979 qa.labsea1980
254 ln -sf tair.labsea1979 tair.labsea1980
255 ln -sf u10m.labsea79 u10m.labsea80
256 ln -sf v10m.labsea79 v10m.labsea80
257 mpirun -np 2 mitgcmuv_2x1
258
259 Use the matlab script lookat_exp5.m to compare
260 the 2-cpu output to SMMR-SSM/I data:
261 cd ../../../verification/lab_sea/matlab
262 matlab
263 lookat_exp5
264
265 The comparison here is just for fun.
266 The configuration is too coarse and artificial
267 to reproduce realistic sea-ice conditions.
268
269
270 Instructions for running Experiment 6
271 =====================================
272
273 This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
274 The solution is compared to that of experiment 1.
275
276 To run Experiment 6:
277 cd ../../../verification/lab_sea/input
278 ln -sf DATA.10hours data
279 ln -sf DATA.SEAICE.nodynamics data.seaice
280 mitgcmuv_1 >&! output.txt
281 mkdir exp6
282 mv *tave.0000000010.data exp6
283
284 Use the matlab script lookat_exp6.m to compare
285 the output of exp6 to that of exp1:
286 cd ../verification/lab_sea/matlab
287 matlab
288 lookat_exp6
289
290
291 Instructions for running Experiment 7
292 =====================================
293
294 This is a 2-cpu, 10-hour integration used to test
295 tile edges for sea-ice thermodynamics (no dynamics).
296 2-CPU executable from experiment 4 is required.
297
298 To run Experiment 7:
299 cd ../../../verification/lab_sea/input
300 ln -sf DATA.10hours data
301 ln -sf DATA.SEAICE.nodynamics data.seaice
302 mpirun -np 2 mitgcmuv_2x1
303 mkdir exp7
304 mv *tave.0000000010.data exp7
305
306 Use the matlab script lookat_exp7.m to compare
307 the output of exp7 to that of exp6:
308 cd ../verification/lab_sea/matlab
309 matlab
310 lookat_exp7
311
312
313 Instructions for running Experiment 8
314 =====================================
315
316 This is the default experiment which is executed by
317 verification/testscript. It is a 1-cpu, 10-hour integration
318 used to test CPP option SEAICE_EXTERNAL_FORCING. Atmospheric
319 state is read-in using pkg/exf, rather than pkg/seaice routines.
320 This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
321
322 To run Experiment 8:
323 cd ../../../verification/lab_sea/input
324 ln -sf DATA.10hours_exf data
325 ln -sf DATA.SEAICE.exf data.seaice
326 mitgcmuv_exf_forcing >&! output.txt
327 mkdir exp8
328 mv *tave.0000000010.data exp8
329
330 Use matlab script lookat_exp8.m to compare
331 the output of exp8 to that of exp1:
332 cd ../../../verification/lab_sea/matlab
333 matlab
334 lookat_exp8
335
336
337 Instructions for running Experiment 9
338 =====================================
339
340 This is a 1-cpu, 10-hour integration used to test CPP option
341 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
342 open-water surface fluxes are provided by pkg/exf.
343
344 To run Experiment 9:
345 cd ../../../verification/lab_sea/input
346 ln -sf DATA.10hours_exf data
347 ln -sf DATA.SEAICE.exf data.seaice
348 mitgcmuv_exf_fluxes >&! output.txt
349 mkdir exp9
350 mv *tave.0000000010.data exp9
351
352 Use matlab script lookat_exp9.m to compare
353 the output of exp9 to that of exp8:
354 cd ../../../verification/lab_sea/matlab
355 matlab
356 lookat_exp9
357
358
359 Instructions for running Experiment 10
360 ======================================
361
362 This is a 1-cpu, 10-hour integration similar to exp8, but
363 with bulk formula computation of evaporation fields.
364
365 To run Experiment 10:
366 cd ../../../verification/lab_sea/input
367 ln -sf DATA.10hours_exf data
368 ln -sf DATA.SEAICE.exf data.seaice
369 mitgcmuv_compute_evap >&! output.txt
370 mkdir exp10
371 mv *tave.0000000010.data exp10
372
373 Use matlab script lookat_exp10.m to compare
374 the output of exp10 to that of exp8:
375 cd ../../../verification/lab_sea/matlab
376 matlab
377 lookat_exp10

  ViewVC Help
Powered by ViewVC 1.1.22