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

Annotation of /MITgcm/verification/lab_sea/README

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


Revision 1.1.2.11 - (hide annotations) (download)
Fri May 23 08:07:09 2003 UTC (20 years, 10 months ago) by dimitri
Branch: release1
CVS Tags: release1_p17
Changes since 1.1.2.10: +36 -1 lines
release1_p17
o added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics

1 heimbach 1.1.2.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 dimitri 1.1.2.2 A brief description of the sea-ice model is in "seaice.ps".
7 heimbach 1.1.2.1
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 dimitri 1.1.2.4 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 dimitri 1.1.2.6 lwdownFile = 'flo.labsea1979' # downward longwave radiation
28     swdownFile = 'fsh.labsea1979' # downward shortwave radiation
29 dimitri 1.1.2.4 precipFile = 'prate.labsea1979' # precipitation
30 heimbach 1.1.2.1 evapFile = 'evap.labsea1979' # evaporation
31    
32    
33 dimitri 1.1.2.2 Using testscript to test sea-ice code
34 heimbach 1.1.2.1 =====================================
35    
36 dimitri 1.1.2.2 Running the testscript experiment:
37     cd verification
38     ./testscript -force lab_sea
39 dimitri 1.1.2.4 The default experiment is Experiment 8, below.
40     It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
41 dimitri 1.1.2.2
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 dimitri 1.1.2.3 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 dimitri 1.1.2.2
52 dimitri 1.1.2.3 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 dimitri 1.1.2.2
54    
55     Instructions for generating 1-CPU and 2-CPU executables
56     =======================================================
57    
58     Generating 1-CPU executable:
59 dimitri 1.1.2.3 cd verification/lab_sea/input
60 dimitri 1.1.2.2 ln -sf ../code/SIZE.h .
61     ln -sf ../code/CPP_EEOPTIONS.h .
62 dimitri 1.1.2.3 ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
63     rm -f SEAICE_OPTIONS.h
64 dimitri 1.1.2.2 ../../../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 dimitri 1.1.2.3
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 dimitri 1.1.2.7 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 dimitri 1.1.2.3 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 dimitri 1.1.2.11
117     Generating 1-CPU executable with SEAICE_MULTILEVEL:
118     cd ../../../verification/lab_sea/input
119     ln -sf ../code/SIZE.h .
120     ln -sf ../code/CPP_EEOPTIONS.h .
121     ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
122     ln -sf ../code/SEAICE_OPTIONS.MULTILEVEL.h SEAICE_OPTIONS.h
123     ../../../tools/genmake -makefile
124     ==> on alhena use:
125     ../../../tools/genmake -platform=o2k_noopt -makefile
126     make clean
127     make depend
128     make
129     mv mitgcmuv mitgcmuv_multilevel
130    
131 dimitri 1.1.2.2 Generating 2-CPU executable:
132     cd ../../../verification/lab_sea/input
133 dimitri 1.1.2.3 ln -sf ../code/SIZE.2x1.h SIZE.h
134     ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h
135     ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
136     rm -f SEAICE_OPTIONS.h
137 dimitri 1.1.2.2 ../../../tools/genmake -mpi -makefile
138     ==> on alhena for comparison purposes use:
139     ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
140     ==> on alhena for fast execution use:
141     ../../../tools/genmake -mpi -platform=o2k -makefile
142     make clean
143 heimbach 1.1.2.1 make depend
144     make
145 dimitri 1.1.2.2 mv mitgcmuv mitgcmuv_2x1
146    
147    
148     Instructions for running Experiment 1
149     =====================================
150 heimbach 1.1.2.1
151 dimitri 1.1.2.4 This is a 1-cpu, 10-hour integration used to make sure that all
152     the files are available and that the sea-ice model compiles and
153     runs. The reading of atmospheric forcing files and the computation
154     of open-water bulk fluxes are carried out within pkg/seaice.
155 dimitri 1.1.2.2
156     To run Experiment 1:
157     cd ../../../verification/lab_sea/input
158 dimitri 1.1.2.3 ln -sf DATA.10hours data
159 dimitri 1.1.2.10 ln -sf DATA.SEAICE.lsr data.seaice
160 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
161 heimbach 1.1.2.1 mkdir exp1
162     mv *tave.0000000010.data exp1
163    
164 dimitri 1.1.2.2 Use matlab script lookat_exp1.m to compare the output
165 dimitri 1.1.2.10 of exp1 with that from release1_p16 sea-ice code:
166 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
167 heimbach 1.1.2.1 matlab
168     lookat_exp1
169    
170 dimitri 1.1.2.2
171 heimbach 1.1.2.1 Instructions for running Experiment 2
172     =====================================
173    
174 dimitri 1.1.2.10 This is a 1-cpu test of the ADI solver. The solution is
175     compared to that of experiment 1, which used the LSR solver.
176 heimbach 1.1.2.1
177 dimitri 1.1.2.2 To run Experiment 2:
178     cd ../../../verification/lab_sea/input
179 dimitri 1.1.2.3 ln -sf DATA.10hours data
180 dimitri 1.1.2.10 ln -sf DATA.SEAICE.adi data.seaice
181 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
182 heimbach 1.1.2.1 mkdir exp2
183     mv *tave.0000000010.data exp2
184    
185 dimitri 1.1.2.2 Use matlab script lookat_exp2.m to compare
186 heimbach 1.1.2.1 the output of exp2 to that of exp1:
187 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
188 heimbach 1.1.2.1 matlab
189     lookat_exp2
190    
191 dimitri 1.1.2.2
192 heimbach 1.1.2.1 Instructions for running Experiment 3
193     =====================================
194    
195     This is a test of periodic boundary conditions for LSR
196     and ADI solvers. The domain has a flat bottom and
197     is periodic both in the x and the y directions.
198 dimitri 1.1.2.2 All forcing files are null or constant (u10m = v10m = 5 m/s).
199 heimbach 1.1.2.1
200 dimitri 1.1.2.2 To run Experiment 3:
201     cd ../../../verification/lab_sea/input
202 dimitri 1.1.2.3 ln -sf DATA.1hour data
203     ln -sf DATA.SEAICE.testadi data.seaice
204 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
205 heimbach 1.1.2.1 mkdir exp3a
206     mv *tave.0000000001.data exp3a
207 dimitri 1.1.2.3 ln -sf DATA.SEAICE.testlsr data.seaice
208 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
209 heimbach 1.1.2.1 mkdir exp3b
210     mv *tave.0000000001.data exp3b
211    
212 dimitri 1.1.2.8 Use matlab script lookat_exp3.m to look at
213     results from exp3a and exp3b:
214 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
215 heimbach 1.1.2.1 matlab
216     lookat_exp3
217    
218 dimitri 1.1.2.10 Both solvers should and do converge to solutions
219     that are constant at each latitude. But note that
220     the two solutions are not exactly the same because
221     the two solvers represent slightly different
222     approximations of the viscous/plastic equations.
223 heimbach 1.1.2.1
224 dimitri 1.1.2.2
225 heimbach 1.1.2.1 Instructions for running Experiment 4
226     =====================================
227    
228     This is a 2-cpu, 10-hour integration used to test
229     tile edges for sea-ice dynamic solvers.
230    
231 dimitri 1.1.2.2 To run Experiment 4:
232     cd ../../../verification/lab_sea/input
233 dimitri 1.1.2.3 ln -sf DATA.10hours data
234 dimitri 1.1.2.10 ln -sf DATA.SEAICE.lsr data.seaice
235 heimbach 1.1.2.1 mpirun -np 2 mitgcmuv_2x1
236     mkdir exp4
237     mv *tave.0000000010.data exp4
238    
239     Use the matlab script lookat_exp4.m to compare
240     the 2-cpu output to that of exp1:
241 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
242 heimbach 1.1.2.1 matlab
243     lookat_exp4
244    
245 dimitri 1.1.2.10 The accuracy of the dynamic solvers is increased by
246     reducing parameter LSR_ERROR for the LSR solver and
247     by increasing parameter NPSEUDO for the ADI solver.
248     The computational cost/accuracy trade-off is quite
249     high for the ADI solver but relatively small for
250     the LSR solver, which is the default solver.
251 heimbach 1.1.2.1
252    
253     Instructions for running Experiment 5
254     =====================================
255    
256     This is a 2-cpu, 2-year, test integration. It illustrates
257 dimitri 1.1.2.2 convention used by seaice_get_forcing.F for multi-year forcing.
258 heimbach 1.1.2.1
259 dimitri 1.1.2.2 To run Experiment 5:
260     cd ../../../verification/lab_sea/input
261 dimitri 1.1.2.3 ln -sf DATA.2years data
262 dimitri 1.1.2.10 ln -sf DATA.SEAICE.lsr data.seaice
263 dimitri 1.1.2.2 ln -sf evap.labsea1979 evap.labsea1980
264     ln -sf flo.labsea1979 flo.labsea1980
265     ln -sf fsh.labsea1979 fsh.labsea1980
266 heimbach 1.1.2.1 ln -sf prate.labsea1979 prate.labsea1980
267 dimitri 1.1.2.2 ln -sf qa.labsea1979 qa.labsea1980
268     ln -sf tair.labsea1979 tair.labsea1980
269     ln -sf u10m.labsea79 u10m.labsea80
270     ln -sf v10m.labsea79 v10m.labsea80
271 heimbach 1.1.2.1 mpirun -np 2 mitgcmuv_2x1
272    
273 dimitri 1.1.2.2 Use the matlab script lookat_exp5.m to compare
274 heimbach 1.1.2.1 the 2-cpu output to SMMR-SSM/I data:
275 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
276 heimbach 1.1.2.1 matlab
277     lookat_exp5
278    
279 dimitri 1.1.2.10 The comparison here is just for fun.
280     The configuration is too coarse and artificial
281     to reproduce realistic sea-ice conditions.
282    
283 heimbach 1.1.2.1
284     Instructions for running Experiment 6
285     =====================================
286    
287     This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
288     The solution is compared to that of experiment 1.
289    
290 dimitri 1.1.2.2 To run Experiment 6:
291     cd ../../../verification/lab_sea/input
292 dimitri 1.1.2.3 ln -sf DATA.10hours data
293     ln -sf DATA.SEAICE.nodynamics data.seaice
294 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
295 heimbach 1.1.2.1 mkdir exp6
296     mv *tave.0000000010.data exp6
297    
298     Use the matlab script lookat_exp6.m to compare
299 dimitri 1.1.2.2 the output of exp6 to that of exp1:
300 heimbach 1.1.2.1 cd ../verification/lab_sea/matlab
301     matlab
302     lookat_exp6
303 dimitri 1.1.2.2
304 dimitri 1.1.2.10
305 dimitri 1.1.2.2 Instructions for running Experiment 7
306     =====================================
307    
308     This is a 2-cpu, 10-hour integration used to test
309     tile edges for sea-ice thermodynamics (no dynamics).
310     2-CPU executable from experiment 4 is required.
311    
312     To run Experiment 7:
313     cd ../../../verification/lab_sea/input
314 dimitri 1.1.2.3 ln -sf DATA.10hours data
315     ln -sf DATA.SEAICE.nodynamics data.seaice
316 dimitri 1.1.2.2 mpirun -np 2 mitgcmuv_2x1
317     mkdir exp7
318     mv *tave.0000000010.data exp7
319    
320     Use the matlab script lookat_exp7.m to compare
321     the output of exp7 to that of exp6:
322     cd ../verification/lab_sea/matlab
323     matlab
324     lookat_exp7
325 dimitri 1.1.2.3
326    
327     Instructions for running Experiment 8
328     =====================================
329    
330     This is the default experiment which is executed by
331     verification/testscript. It is a 1-cpu, 10-hour integration
332     used to test CPP option SEAICE_EXTERNAL_FORCING. Atmospheric
333     state is read-in using pkg/exf, rather than pkg/seaice routines.
334     This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
335    
336     To run Experiment 8:
337     cd ../../../verification/lab_sea/input
338     ln -sf DATA.10hours_exf data
339 dimitri 1.1.2.10 ln -sf DATA.SEAICE.exf data.seaice
340 dimitri 1.1.2.3 mitgcmuv_exf_forcing >&! output.txt
341     mkdir exp8
342     mv *tave.0000000010.data exp8
343    
344     Use matlab script lookat_exp8.m to compare
345     the output of exp8 to that of exp1:
346     cd ../../../verification/lab_sea/matlab
347     matlab
348     lookat_exp8
349    
350    
351     Instructions for running Experiment 9
352     =====================================
353    
354     This is a 1-cpu, 10-hour integration used to test CPP option
355 dimitri 1.1.2.4 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
356     open-water surface fluxes are provided by pkg/exf.
357 dimitri 1.1.2.3
358     To run Experiment 9:
359     cd ../../../verification/lab_sea/input
360     ln -sf DATA.10hours_exf data
361 dimitri 1.1.2.10 ln -sf DATA.SEAICE.exf data.seaice
362 dimitri 1.1.2.3 mitgcmuv_exf_fluxes >&! output.txt
363     mkdir exp9
364     mv *tave.0000000010.data exp9
365    
366     Use matlab script lookat_exp9.m to compare
367     the output of exp9 to that of exp8:
368     cd ../../../verification/lab_sea/matlab
369     matlab
370     lookat_exp9
371 dimitri 1.1.2.7
372    
373     Instructions for running Experiment 10
374     ======================================
375    
376     This is a 1-cpu, 10-hour integration similar to exp8, but
377     with bulk formula computation of evaporation fields.
378    
379     To run Experiment 10:
380     cd ../../../verification/lab_sea/input
381     ln -sf DATA.10hours_exf data
382 dimitri 1.1.2.10 ln -sf DATA.SEAICE.exf data.seaice
383 dimitri 1.1.2.7 mitgcmuv_compute_evap >&! output.txt
384     mkdir exp10
385     mv *tave.0000000010.data exp10
386    
387     Use matlab script lookat_exp10.m to compare
388     the output of exp10 to that of exp8:
389     cd ../../../verification/lab_sea/matlab
390     matlab
391     lookat_exp10
392 dimitri 1.1.2.11
393    
394     Instructions for running Experiment 11
395     ======================================
396    
397     This is a 1-cpu, 10-hour integration similar to exp1, but
398     with multi-level sea-ice thermodynamics.
399    
400     To run Experiment 10:
401     cd ../../../verification/lab_sea/input
402     ln -sf DATA.10hours data
403     ln -sf DATA.SEAICE.lsr data.seaice
404     mitgcmuv_multilevel >&! output.txt
405     mkdir exp11
406     mv *tave.0000000010.data exp11
407    
408     Use matlab script lookat_exp11.m to compare
409     the output of exp11 to that of exp1:
410     cd ../../../verification/lab_sea/matlab
411     matlab
412     lookat_exp11

  ViewVC Help
Powered by ViewVC 1.1.22