/[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.6 - (show annotations) (download)
Wed Apr 30 07:04:08 2003 UTC (21 years ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint50c_post, checkpoint50c_pre, checkpoint50d_pre, checkpoint50d_post, checkpoint50f_post, checkpoint50f_pre, checkpoint50e_pre, checkpoint50e_post
Changes since 1.5: +5 -6 lines
checkpoint50c_pre
Merging from release1_p13:
o bug fix for pkg/seaice dynamic solver
o Added SEAICE_initialHEFF to pkg/seaice

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

  ViewVC Help
Powered by ViewVC 1.1.22