/[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.9 by dimitri, Wed Apr 30 04:55:13 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 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

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

  ViewVC Help
Powered by ViewVC 1.1.22