/[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.3 by dimitri, Thu Dec 5 08:43:03 2002 UTC revision 1.6 by dimitri, Wed Apr 30 07:04:08 2003 UTC
# Line 20  Surface salinity relaxation is to the mo Line 20  Surface salinity relaxation is to the mo
20    
21  Forcing files are a 1979-1999 monthly climatology computed from the  Forcing files are a 1979-1999 monthly climatology computed from the
22  NCEP reanalysis (see pkg/seaice/SEAICE_FFIELDS.h for units and signs)  NCEP reanalysis (see pkg/seaice/SEAICE_FFIELDS.h for units and signs)
23    gairxFile      = 'u10m.labsea79'    # 10-m zonal wind    uwindFile      = 'u10m.labsea79'    # 10-m zonal wind
24    gairyFile      = 'v10m.labsea79'    # 10-m meridional wind    vwindFile      = 'v10m.labsea79'    # 10-m meridional wind
25    tairFile       = 'tair.labsea1979'  # 2-m air temperature    atempFile      = 'tair.labsea1979'  # 2-m air temperature
26    qaFile         = 'qa.labsea1979'    # 2-m specific humidity    aqhFile        = 'qa.labsea1979'    # 2-m specific humidity
27    floFile        = 'flo.labsea1979'   # longwave radiation    lwdownFile     = 'flo.labsea1979'   # downward longwave radiation
28    fshFile        = 'fsh.labsea1979'   # shortwave radiation    swdownFile     = 'fsh.labsea1979'   # downward shortwave radiation
29    rainFile       = 'prate.labsea1979' # precipitation    precipFile     = 'prate.labsea1979' # precipitation
30    evapFile       = 'evap.labsea1979'  # evaporation    evapFile       = 'evap.labsea1979'  # evaporation
31    
32    
# Line 36  Using testscript to test sea-ice code Line 36  Using testscript to test sea-ice code
36  Running the testscript experiment:  Running the testscript experiment:
37    cd verification    cd verification
38    ./testscript -force lab_sea    ./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  Note that fairly large differences in accuracy occur across different
43  platforms.  For example, testscript comparisons between g77 (Linux)  platforms.  For example, testscript comparisons between g77 (Linux)
44  and f77 (SGI) generated output gives:  and f77 (SGI) generated output gives:
45    
46     T           S           U           V                  T           S           U           V
47    C D M    c        m  s        m  s        m  s        m  s  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  .  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  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  .  g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .
51    
52    Y Y Y Y  5  5  7  7  7  8 10  9  6  6  6  6  7  5  7  5  7 FAIL  lab_sea  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  Instructions for generating 1-CPU and 2-CPU executables
56  =======================================================  =======================================================
57    
58  Generating 1-CPU executable:  Generating 1-CPU executable:
59    cd ../verification/lab_sea/input    cd verification/lab_sea/input
60    ln -sf ../code/SIZE.h .    ln -sf ../code/SIZE.h .
   ln -sf ../code/CPP_OPTIONS.h .  
61    ln -sf ../code/CPP_EEOPTIONS.h .    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    ../../../tools/genmake -makefile
65      ==> on alhena use:      ==> on alhena use:
66      ../../../tools/genmake -platform=o2k_noopt -makefile      ../../../tools/genmake -platform=o2k_noopt -makefile
# Line 65  Generating 1-CPU executable: Line 68  Generating 1-CPU executable:
68    make depend    make depend
69    make    make
70    mv mitgcmuv mitgcmuv_1    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:  Generating 2-CPU executable:
118    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
119    ln -sf ../code/SIZE_2x1.h SIZE.h    ln -sf ../code/SIZE.2x1.h SIZE.h
120    ln -sf ../code/CPP_OPTIONS.h .    ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h
121    ln -sf ../code/CPP_EEOPTIONS_MPI.h CPP_EEOPTIONS.h    ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
122      rm -f SEAICE_OPTIONS.h
123    ../../../tools/genmake -mpi -makefile    ../../../tools/genmake -mpi -makefile
124      ==> on alhena for comparison purposes use:      ==> on alhena for comparison purposes use:
125        ../../../tools/genmake -mpi -platform=o2k_noopt -makefile        ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
# Line 85  Generating 2-CPU executable: Line 134  Generating 2-CPU executable:
134  Instructions for running Experiment 1  Instructions for running Experiment 1
135  =====================================  =====================================
136    
137  This is a 1-cpu, 10-hour integration used to make sure that all the  This is a 1-cpu, 10-hour integration used to make sure that all
138  files are available and that the model compiles and integrates.  It  the files are available and that the sea-ice model compiles and
139  is the default experiment of "verification/testscript lab_sea".  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:  To run Experiment 1:
143    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
144    ln -sf data.10hours data    ln -sf DATA.10hours data
145    ln -sf data.seaice.adi data.seaice    ln -sf DATA.SEAICE.adi data.seaice
146    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
147    mkdir exp1    mkdir exp1
148    mv *tave.0000000010.data exp1    mv *tave.0000000010.data exp1
149    
150  Use matlab script lookat_exp1.m to compare the output  Use matlab script lookat_exp1.m to compare the output
151  of exp1 with that from release1_patch5 sea-ice code:  of exp1 with that from release1_p10 sea-ice code:
152    cd ../../../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
153    matlab    matlab
154    lookat_exp1    lookat_exp1
# Line 112  compared to that of experiment 1, which Line 162  compared to that of experiment 1, which
162    
163  To run Experiment 2:  To run Experiment 2:
164    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
165    ln -sf data.10hours data    ln -sf DATA.10hours data
166    ln -sf data.seaice.lsr data.seaice    ln -sf DATA.SEAICE.lsr data.seaice
167    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
168    mkdir exp2    mkdir exp2
169    mv *tave.0000000010.data exp2    mv *tave.0000000010.data exp2
# Line 135  All forcing files are null or constant ( Line 185  All forcing files are null or constant (
185    
186  To run Experiment 3:  To run Experiment 3:
187    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
188    ln -sf data.1hour data    ln -sf DATA.1hour data
189    ln -sf data.seaice.testadi data.seaice    ln -sf DATA.SEAICE.testadi data.seaice
190    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
191    mkdir exp3a    mkdir exp3a
192    mv *tave.0000000001.data exp3a    mv *tave.0000000001.data exp3a
193    ln -sf data.seaice.testlsr data.seaice    ln -sf DATA.SEAICE.testlsr data.seaice
194    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
195    mkdir exp3b    mkdir exp3b
196    mv *tave.0000000001.data exp3b    mv *tave.0000000001.data exp3b
197    
198  Use matlab script lookat_exp3.m to compare  Use matlab script lookat_exp3.m to look at
199  the output of exp2 to that of exp1:  results from exp3a and exp3b:
200    cd ../../../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
201    matlab    matlab
202    lookat_exp3    lookat_exp3
203    
204  If the dynamic ice solvers are correct, they should converge to a  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  solution that is constant at each latitude.
 solver are unable to handle periodic domains and therefore that they  
 cannot be "correctly" parallelized.  
206    
207    
208  Instructions for running Experiment 4  Instructions for running Experiment 4
# Line 165  tile edges for sea-ice dynamic solvers. Line 213  tile edges for sea-ice dynamic solvers.
213    
214  To run Experiment 4:  To run Experiment 4:
215    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
216    ln -sf data.10hours data    ln -sf DATA.10hours data
217    ln -sf data.seaice.adi data.seaice    ln -sf DATA.SEAICE.adi data.seaice
218    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
219    mkdir exp4    mkdir exp4
220    mv *tave.0000000010.data exp4    mv *tave.0000000010.data exp4
# Line 182  NPSEUDO in data.seaice at the expense of Line 230  NPSEUDO in data.seaice at the expense of
230  Also as sea-ice ages (thickens) the difference at the tiles becomes  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  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  appears adequate for forward integrations but cannot be used for sea-ice
233  adjoint model.  Work is underway to fix this problem.  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  Instructions for running Experiment 5
# Line 193  convention used by seaice_get_forcing.F Line 242  convention used by seaice_get_forcing.F
242    
243  To run Experiment 5:  To run Experiment 5:
244    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
245    ln -sf      data.2years             data    ln -sf      DATA.2years             data
246    ln -sf  data.seaice.adi      data.seaice    ln -sf  DATA.SEAICE.adi      data.seaice
247    ln -sf  evap.labsea1979  evap.labsea1980      ln -sf  evap.labsea1979  evap.labsea1980  
248    ln -sf   flo.labsea1979   flo.labsea1980      ln -sf   flo.labsea1979   flo.labsea1980  
249    ln -sf   fsh.labsea1979   fsh.labsea1980      ln -sf   fsh.labsea1979   fsh.labsea1980  
# Line 224  The solution is compared to that of expe Line 273  The solution is compared to that of expe
273    
274  To run Experiment 6:  To run Experiment 6:
275    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
276    ln -sf data.10hours data    ln -sf DATA.10hours data
277    ln -sf data.seaice.nodynamics data.seaice    ln -sf DATA.SEAICE.nodynamics data.seaice
278    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
279    mkdir exp6    mkdir exp6
280    mv *tave.0000000010.data exp6    mv *tave.0000000010.data exp6
# Line 245  tile edges for sea-ice thermodynamics (n Line 294  tile edges for sea-ice thermodynamics (n
294    
295  To run Experiment 7:  To run Experiment 7:
296    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
297    ln -sf data.10hours data    ln -sf DATA.10hours data
298    ln -sf data.seaice.nodynamics data.seaice    ln -sf DATA.SEAICE.nodynamics data.seaice
299    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
300    mkdir exp7    mkdir exp7
301    mv *tave.0000000010.data exp7    mv *tave.0000000010.data exp7
# Line 256  the output of exp7 to that of exp6: Line 305  the output of exp7 to that of exp6:
305    cd ../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
306    matlab    matlab
307    lookat_exp7    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.3  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22