/[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.9 - (hide annotations) (download)
Wed Apr 30 04:55:13 2003 UTC (21 years ago) by dimitri
Branch: release1
CVS Tags: release1_p13, release1_p14, release1_p15
Branch point for: release1_50yr
Changes since 1.1.2.8: +3 -4 lines
Modified File verification/lab_sea/README

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.2
117     Generating 2-CPU executable:
118     cd ../../../verification/lab_sea/input
119 dimitri 1.1.2.3 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 dimitri 1.1.2.2 ../../../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 heimbach 1.1.2.1 make depend
130     make
131 dimitri 1.1.2.2 mv mitgcmuv mitgcmuv_2x1
132    
133    
134     Instructions for running Experiment 1
135     =====================================
136 heimbach 1.1.2.1
137 dimitri 1.1.2.4 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 dimitri 1.1.2.2
142     To run Experiment 1:
143     cd ../../../verification/lab_sea/input
144 dimitri 1.1.2.3 ln -sf DATA.10hours data
145     ln -sf DATA.SEAICE.adi data.seaice
146 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
147 heimbach 1.1.2.1 mkdir exp1
148     mv *tave.0000000010.data exp1
149    
150 dimitri 1.1.2.2 Use matlab script lookat_exp1.m to compare the output
151 dimitri 1.1.2.3 of exp1 with that from release1_p10 sea-ice code:
152 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
153 heimbach 1.1.2.1 matlab
154     lookat_exp1
155    
156 dimitri 1.1.2.2
157 heimbach 1.1.2.1 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 dimitri 1.1.2.2 To run Experiment 2:
164     cd ../../../verification/lab_sea/input
165 dimitri 1.1.2.3 ln -sf DATA.10hours data
166     ln -sf DATA.SEAICE.lsr data.seaice
167 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
168 heimbach 1.1.2.1 mkdir exp2
169     mv *tave.0000000010.data exp2
170    
171 dimitri 1.1.2.2 Use matlab script lookat_exp2.m to compare
172 heimbach 1.1.2.1 the output of exp2 to that of exp1:
173 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
174 heimbach 1.1.2.1 matlab
175     lookat_exp2
176    
177 dimitri 1.1.2.2
178 heimbach 1.1.2.1 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 dimitri 1.1.2.2 All forcing files are null or constant (u10m = v10m = 5 m/s).
185 heimbach 1.1.2.1
186 dimitri 1.1.2.2 To run Experiment 3:
187     cd ../../../verification/lab_sea/input
188 dimitri 1.1.2.3 ln -sf DATA.1hour data
189     ln -sf DATA.SEAICE.testadi data.seaice
190 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
191 heimbach 1.1.2.1 mkdir exp3a
192     mv *tave.0000000001.data exp3a
193 dimitri 1.1.2.3 ln -sf DATA.SEAICE.testlsr data.seaice
194 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
195 heimbach 1.1.2.1 mkdir exp3b
196     mv *tave.0000000001.data exp3b
197    
198 dimitri 1.1.2.8 Use matlab script lookat_exp3.m to look at
199     results from exp3a and exp3b:
200 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
201 heimbach 1.1.2.1 matlab
202     lookat_exp3
203    
204     If the dynamic ice solvers are correct, they should converge to a
205 dimitri 1.1.2.9 solution that is constant at each latitude.
206 heimbach 1.1.2.1
207 dimitri 1.1.2.2
208 heimbach 1.1.2.1 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 dimitri 1.1.2.2 To run Experiment 4:
215     cd ../../../verification/lab_sea/input
216 dimitri 1.1.2.3 ln -sf DATA.10hours data
217     ln -sf DATA.SEAICE.adi data.seaice
218 heimbach 1.1.2.1 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 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
225 heimbach 1.1.2.1 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 dimitri 1.1.2.9 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 heimbach 1.1.2.1
236    
237     Instructions for running Experiment 5
238     =====================================
239    
240     This is a 2-cpu, 2-year, test integration. It illustrates
241 dimitri 1.1.2.2 convention used by seaice_get_forcing.F for multi-year forcing.
242 heimbach 1.1.2.1
243 dimitri 1.1.2.2 To run Experiment 5:
244     cd ../../../verification/lab_sea/input
245 dimitri 1.1.2.3 ln -sf DATA.2years data
246     ln -sf DATA.SEAICE.adi data.seaice
247 dimitri 1.1.2.2 ln -sf evap.labsea1979 evap.labsea1980
248     ln -sf flo.labsea1979 flo.labsea1980
249     ln -sf fsh.labsea1979 fsh.labsea1980
250 heimbach 1.1.2.1 ln -sf prate.labsea1979 prate.labsea1980
251 dimitri 1.1.2.2 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 heimbach 1.1.2.1 mpirun -np 2 mitgcmuv_2x1
256    
257 dimitri 1.1.2.2 Use the matlab script lookat_exp5.m to compare
258 heimbach 1.1.2.1 the 2-cpu output to SMMR-SSM/I data:
259 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
260 heimbach 1.1.2.1 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 dimitri 1.1.2.2 To run Experiment 6:
275     cd ../../../verification/lab_sea/input
276 dimitri 1.1.2.3 ln -sf DATA.10hours data
277     ln -sf DATA.SEAICE.nodynamics data.seaice
278 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
279 heimbach 1.1.2.1 mkdir exp6
280     mv *tave.0000000010.data exp6
281    
282     Use the matlab script lookat_exp6.m to compare
283 dimitri 1.1.2.2 the output of exp6 to that of exp1:
284 heimbach 1.1.2.1 cd ../verification/lab_sea/matlab
285     matlab
286     lookat_exp6
287 dimitri 1.1.2.2
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 dimitri 1.1.2.3 ln -sf DATA.10hours data
298     ln -sf DATA.SEAICE.nodynamics data.seaice
299 dimitri 1.1.2.2 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 dimitri 1.1.2.3
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 dimitri 1.1.2.4 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
339     open-water surface fluxes are provided by pkg/exf.
340 dimitri 1.1.2.3
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 dimitri 1.1.2.7
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