/[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.8 - (show annotations) (download)
Tue Mar 11 21:26:04 2003 UTC (21 years, 1 month ago) by dimitri
Branch: release1
Changes since 1.1.2.7: +2 -2 lines
Modified File verification/lab_sea/README

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.adi 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_p10 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 LSR solver. The solution is
161 compared to that of experiment 1, which used the ADI solver.
162
163 To run Experiment 2:
164 cd ../../../verification/lab_sea/input
165 ln -sf DATA.10hours data
166 ln -sf DATA.SEAICE.lsr 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 If the dynamic ice solvers are correct, they should converge to a
205 constant solution. The tests above show that both the ADI and the LSR
206 solver are unable to handle periodic domains and therefore that they
207 cannot be "correctly" parallelized.
208
209
210 Instructions for running Experiment 4
211 =====================================
212
213 This is a 2-cpu, 10-hour integration used to test
214 tile edges for sea-ice dynamic solvers.
215
216 To run Experiment 4:
217 cd ../../../verification/lab_sea/input
218 ln -sf DATA.10hours data
219 ln -sf DATA.SEAICE.adi data.seaice
220 mpirun -np 2 mitgcmuv_2x1
221 mkdir exp4
222 mv *tave.0000000010.data exp4
223
224 Use the matlab script lookat_exp4.m to compare
225 the 2-cpu output to that of exp1:
226 cd ../../../verification/lab_sea/matlab
227 matlab
228 lookat_exp4
229
230 The inaccuracy at the tile boundary can be decreased by increasing
231 NPSEUDO in data.seaice at the expense of computation time.
232 Also as sea-ice ages (thickens) the difference at the tiles becomes
233 increasingly small. For solver pkg/seaice/adi.F a value of NPSEUDO=10
234 appears adequate for forward integrations but cannot be used for sea-ice
235 adjoint model. Work is underway to fix this problem.
236
237
238 Instructions for running Experiment 5
239 =====================================
240
241 This is a 2-cpu, 2-year, test integration. It illustrates
242 convention used by seaice_get_forcing.F for multi-year forcing.
243
244 To run Experiment 5:
245 cd ../../../verification/lab_sea/input
246 ln -sf DATA.2years data
247 ln -sf DATA.SEAICE.adi data.seaice
248 ln -sf evap.labsea1979 evap.labsea1980
249 ln -sf flo.labsea1979 flo.labsea1980
250 ln -sf fsh.labsea1979 fsh.labsea1980
251 ln -sf prate.labsea1979 prate.labsea1980
252 ln -sf qa.labsea1979 qa.labsea1980
253 ln -sf tair.labsea1979 tair.labsea1980
254 ln -sf u10m.labsea79 u10m.labsea80
255 ln -sf v10m.labsea79 v10m.labsea80
256 mpirun -np 2 mitgcmuv_2x1
257
258 Use the matlab script lookat_exp5.m to compare
259 the 2-cpu output to SMMR-SSM/I data:
260 cd ../../../verification/lab_sea/matlab
261 matlab
262 lookat_exp5
263
264 Disclaimer:
265 The comparison here is just for fun, not really supposed
266 to look anything like the data.
267 Otherwise it would put a lot of people out of business :-)
268
269 Instructions for running Experiment 6
270 =====================================
271
272 This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
273 The solution is compared to that of experiment 1.
274
275 To run Experiment 6:
276 cd ../../../verification/lab_sea/input
277 ln -sf DATA.10hours data
278 ln -sf DATA.SEAICE.nodynamics data.seaice
279 mitgcmuv_1 >&! output.txt
280 mkdir exp6
281 mv *tave.0000000010.data exp6
282
283 Use the matlab script lookat_exp6.m to compare
284 the output of exp6 to that of exp1:
285 cd ../verification/lab_sea/matlab
286 matlab
287 lookat_exp6
288
289 Instructions for running Experiment 7
290 =====================================
291
292 This is a 2-cpu, 10-hour integration used to test
293 tile edges for sea-ice thermodynamics (no dynamics).
294 2-CPU executable from experiment 4 is required.
295
296 To run Experiment 7:
297 cd ../../../verification/lab_sea/input
298 ln -sf DATA.10hours data
299 ln -sf DATA.SEAICE.nodynamics data.seaice
300 mpirun -np 2 mitgcmuv_2x1
301 mkdir exp7
302 mv *tave.0000000010.data exp7
303
304 Use the matlab script lookat_exp7.m to compare
305 the output of exp7 to that of exp6:
306 cd ../verification/lab_sea/matlab
307 matlab
308 lookat_exp7
309
310
311 Instructions for running Experiment 8
312 =====================================
313
314 This is the default experiment which is executed by
315 verification/testscript. It is a 1-cpu, 10-hour integration
316 used to test CPP option SEAICE_EXTERNAL_FORCING. Atmospheric
317 state is read-in using pkg/exf, rather than pkg/seaice routines.
318 This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
319
320 To run Experiment 8:
321 cd ../../../verification/lab_sea/input
322 ln -sf DATA.10hours_exf data
323 ln -sf DATA.SEAICE.adi_exf data.seaice
324 mitgcmuv_exf_forcing >&! output.txt
325 mkdir exp8
326 mv *tave.0000000010.data exp8
327
328 Use matlab script lookat_exp8.m to compare
329 the output of exp8 to that of exp1:
330 cd ../../../verification/lab_sea/matlab
331 matlab
332 lookat_exp8
333
334
335 Instructions for running Experiment 9
336 =====================================
337
338 This is a 1-cpu, 10-hour integration used to test CPP option
339 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
340 open-water surface fluxes are provided by pkg/exf.
341
342 To run Experiment 9:
343 cd ../../../verification/lab_sea/input
344 ln -sf DATA.10hours_exf data
345 ln -sf DATA.SEAICE.adi_exf data.seaice
346 mitgcmuv_exf_fluxes >&! output.txt
347 mkdir exp9
348 mv *tave.0000000010.data exp9
349
350 Use matlab script lookat_exp9.m to compare
351 the output of exp9 to that of exp8:
352 cd ../../../verification/lab_sea/matlab
353 matlab
354 lookat_exp9
355
356
357 Instructions for running Experiment 10
358 ======================================
359
360 This is a 1-cpu, 10-hour integration similar to exp8, but
361 with bulk formula computation of evaporation fields.
362
363 To run Experiment 10:
364 cd ../../../verification/lab_sea/input
365 ln -sf DATA.10hours_exf data
366 ln -sf DATA.SEAICE.adi_exf data.seaice
367 mitgcmuv_compute_evap >&! output.txt
368 mkdir exp10
369 mv *tave.0000000010.data exp10
370
371 Use matlab script lookat_exp10.m to compare
372 the output of exp10 to that of exp8:
373 cd ../../../verification/lab_sea/matlab
374 matlab
375 lookat_exp10

  ViewVC Help
Powered by ViewVC 1.1.22