/[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.7 by dimitri, Thu Jan 30 05:55:54 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.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 compare
199    the output of exp2 to that of exp1:
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

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

  ViewVC Help
Powered by ViewVC 1.1.22