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

Diff of /MITgcm/verification/lab_sea/README

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

revision 1.1 by heimbach, Mon Nov 11 22:03:47 2002 UTC revision 1.1.2.10 by dimitri, Thu May 22 20:49:14 2003 UTC
# Line 0  Line 1 
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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.2.10

  ViewVC Help
Powered by ViewVC 1.1.22