/[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.2 by heimbach, Tue Nov 12 20:54:28 2002 UTC revision 1.4 by dimitri, Sat Dec 28 10:11:11 2002 UTC
# Line 3  Example: Labrador Sea Region with Sea-Ic Line 3  Example: Labrador Sea Region with Sea-Ic
3    
4  This example sets up a small (20x16x23) Labrador Sea experiment  This example sets up a small (20x16x23) Labrador Sea experiment
5  coupled to a dynamic thermodynamic sea-ice model.  coupled to a dynamic thermodynamic sea-ice model.
6  A brief description of the sea-ice model is in "doc/seaice.ps".  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.  The domain of integration spans 280E to 320E and 46N to 78N.
9  Horizontal grid spacing is 2 degrees.  Horizontal grid spacing is 2 degrees.
# 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    lwfluxFile     = 'flo.labsea1979'   # longwave radiation
28    fshFile        = 'fsh.labsea1979'   # shortwave radiation    swfluxFile     = 'fsh.labsea1979'   # shortwave radiation
29    rainFile       = 'prate.labsea1979' # precipitation    precipFile     = 'prate.labsea1979' # precipitation
30    evapFile       = 'evap.labsea1979'  # evaporation    evapFile       = 'evap.labsea1979'  # evaporation
31    
32    
33  Instructions for running Experiment 1  Using testscript to test sea-ice code
34  =====================================  =====================================
35    
36  This is a 1-cpu, 10-hour integration used to make sure that all the  Running the testscript experiment:
37  files are available and that the model compiles and integrates.    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  To configure and compile the code:  Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:
88    cd MITgcmUV    cd ../../../verification/lab_sea/input
89    mkdir bin exe    ln -sf ../code/SIZE.h .
90    cd bin    ln -sf ../code/CPP_EEOPTIONS.h .
91    ln -sf ../verification/lab_sea/code/SIZE.h .    ln -sf ../code/CPP_OPTIONS.h .
92    ln -sf ../verification/lab_sea/code/CPP_OPTIONS.h .    ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
93    ln -sf ../verification/lab_sea/code/CPP_EEOPTIONS.h .    ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h
94    ../tools/genmake -makefile    ../../../tools/genmake -makefile
95        ==> on alhena use:
96        ../../../tools/genmake -platform=o2k_noopt -makefile
97      make clean
98    make depend    make depend
99    make    make
100      mv mitgcmuv mitgcmuv_exf_fluxes
101      
102    Generating 2-CPU executable:
103      cd ../../../verification/lab_sea/input
104      ln -sf ../code/SIZE.2x1.h SIZE.h
105      ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h
106      ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
107      rm -f SEAICE_OPTIONS.h
108      ../../../tools/genmake -mpi -makefile
109        ==> on alhena for comparison purposes use:
110          ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
111        ==> on alhena for fast execution use:
112          ../../../tools/genmake -mpi -platform=o2k -makefile
113      make clean
114      make depend
115      make
116      mv mitgcmuv mitgcmuv_2x1
117    
118    
119    Instructions for running Experiment 1
120    =====================================
121    
122  To run:  This is a 1-cpu, 10-hour integration used to make sure that all
123    cd ../exe  the files are available and that the sea-ice model compiles and
124    cp ../verification/lab_sea/input/* .  runs.  The reading of atmospheric forcing files and the computation
125    ln -sf data.10hours data  of open-water bulk fluxes are carried out within pkg/seaice.
126    ln -sf data.seaice.adi data.seaice  
127    mv mitgcmuv mitgcmuv1  To run Experiment 1:
128    mitgcmuv1 >&! output.txt    cd ../../../verification/lab_sea/input
129      ln -sf DATA.10hours data
130      ln -sf DATA.SEAICE.adi data.seaice
131      mitgcmuv_1 >&! output.txt
132    mkdir exp1    mkdir exp1
133    mv *tave.0000000010.data exp1    mv *tave.0000000010.data exp1
134    
135  There is comparison output in:  Use matlab script lookat_exp1.m to compare the output
136    diff output.txt ../verification/lab_sea/results/output.txt | more  of exp1 with that from release1_p10 sea-ice code:
137      cd ../../../verification/lab_sea/matlab
 Use the matlab script lookat_exp1.m to compare the output  
 of exp1 with that from release1_beta1 sea-ice code:  
   cd ../verification/lab_sea/matlab  
138    matlab    matlab
139    lookat_exp1    lookat_exp1
140    
141    
142  Instructions for running Experiment 2  Instructions for running Experiment 2
143  =====================================  =====================================
144    
145  This is a 1-cpu test of the LSR solver.  The solution is  This is a 1-cpu test of the LSR solver.  The solution is
146  compared to that of experiment 1, which used the ADI solver.  compared to that of experiment 1, which used the ADI solver.
 1-CPU executable from experiment 1 is required.  
147    
148  To run:  To run Experiment 2:
149    cd ../exe    cd ../../../verification/lab_sea/input
150    cp ../verification/lab_sea/input/* .    ln -sf DATA.10hours data
151    ln -sf data.10hours data    ln -sf DATA.SEAICE.lsr data.seaice
152    ln -sf data.seaice.lsr data.seaice    mitgcmuv_1 >&! output.txt
   mitgcmuv1 >&! output.txt  
153    mkdir exp2    mkdir exp2
154    mv *tave.0000000010.data exp2    mv *tave.0000000010.data exp2
155    
156  Use the matlab script lookat_exp2.m to compare  Use matlab script lookat_exp2.m to compare
157  the output of exp2 to that of exp1:  the output of exp2 to that of exp1:
158    cd ../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
159    matlab    matlab
160    lookat_exp2    lookat_exp2
161    
162    
163  Instructions for running Experiment 3  Instructions for running Experiment 3
164  =====================================  =====================================
165    
166  This is a test of periodic boundary conditions for LSR  This is a test of periodic boundary conditions for LSR
167  and ADI solvers.  The domain has a flat bottom and  and ADI solvers.  The domain has a flat bottom and
168  is periodic both in the x and the y directions.  is periodic both in the x and the y directions.
169  All forcing files are null or constant  All forcing files are null or constant (u10m = v10m = 5 m/s).
 (u10m = v10m = 5 m/s).  
170    
171  1-CPU executable from experiment 1 is required.  To run Experiment 3:
172      cd ../../../verification/lab_sea/input
173  To run:    ln -sf DATA.1hour data
174    cd ../exe    ln -sf DATA.SEAICE.testadi data.seaice
175    cp ../verification/lab_sea/input/* .    mitgcmuv_1 >&! output.txt
   ln -sf data.1hour data  
   ln -sf data.seaice.testadi data.seaice  
   mitgcmuv1 >&! output.txt  
176    mkdir exp3a    mkdir exp3a
177    mv *tave.0000000001.data exp3a    mv *tave.0000000001.data exp3a
178    ln -sf data.seaice.testlsr data.seaice    ln -sf DATA.SEAICE.testlsr data.seaice
179    mitgcmuv1 >&! output.txt    mitgcmuv_1 >&! output.txt
180    mkdir exp3b    mkdir exp3b
181    mv *tave.0000000001.data exp3b    mv *tave.0000000001.data exp3b
182    
183  Use the matlab script lookat_exp3.m to compare  Use matlab script lookat_exp3.m to compare
184  the output of exp2 to that of exp1:  the output of exp2 to that of exp1:
185    cd ../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
186    matlab    matlab
187    lookat_exp3    lookat_exp3
188    
# Line 123  constant solution.  The tests above show Line 191  constant solution.  The tests above show
191  solver are unable to handle periodic domains and therefore that they  solver are unable to handle periodic domains and therefore that they
192  cannot be "correctly" parallelized.  cannot be "correctly" parallelized.
193    
194    
195  Instructions for running Experiment 4  Instructions for running Experiment 4
196  =====================================  =====================================
197    
198  This is a 2-cpu, 10-hour integration used to test  This is a 2-cpu, 10-hour integration used to test
199  tile edges for sea-ice dynamic solvers.  tile edges for sea-ice dynamic solvers.
200    
201  To configure and compile the code:  To run Experiment 4:
202    cd ../bin    cd ../../../verification/lab_sea/input
203    rm -rf *.f    ln -sf DATA.10hours data
204    rm -rf *.o    ln -sf DATA.SEAICE.adi data.seaice
   ln -sf ../verification/lab_sea/code/SIZE_2x1.h SIZE.h  
   ln -sf ../verification/lab_sea/code/CPP_OPTIONS.h .  
   ln -sf ../verification/lab_sea/code/CPP_EEOPTIONS_MPI.h CPP_EEOPTIONS.h  
   ../tools/genmake -mpi -makefile  
      ( on alhena use: ../tools/genmake -mpi -platform=o2k -makefile )  
   make depend  
   make  
   
 To run:  
   cd ../exe  
   cp ../verification/lab_sea/input/* .  
   ln -sf data.10hours data  
   ln -sf data.seaice.adi data.seaice  
   mv mitgcmuv mitgcmuv_2x1  
205    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
206    mkdir exp4    mkdir exp4
207    mv *tave.0000000010.data exp4    mv *tave.0000000010.data exp4
208    
209  Use the matlab script lookat_exp4.m to compare  Use the matlab script lookat_exp4.m to compare
210  the 2-cpu output to that of exp1:  the 2-cpu output to that of exp1:
211    cd ../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
212    matlab    matlab
213    lookat_exp4    lookat_exp4
214    
# Line 169  Instructions for running Experiment 5 Line 224  Instructions for running Experiment 5
224  =====================================  =====================================
225    
226  This is a 2-cpu, 2-year, test integration.  It illustrates  This is a 2-cpu, 2-year, test integration.  It illustrates
227  convention used for forcing data files by seaice_get_forcing.F.  convention used by seaice_get_forcing.F for multi-year forcing.
228    
229  To run:  To run Experiment 5:
230    cd ../exe    cd ../../../verification/lab_sea/input
231    cp ../verification/lab_sea/input/* .    ln -sf      DATA.2years             data
232    cp eedata_mpi eedata    ln -sf  DATA.SEAICE.adi      data.seaice
233    ln -sf data.2years data    ln -sf  evap.labsea1979  evap.labsea1980  
234    ln -sf data.seaice.adi data.seaice    ln -sf   flo.labsea1979   flo.labsea1980  
235    ln -sf evap.labsea1979  evap.labsea1980      ln -sf   fsh.labsea1979   fsh.labsea1980  
   ln -sf flo.labsea1979   flo.labsea1980    
   ln -sf fsh.labsea1979   fsh.labsea1980    
236    ln -sf prate.labsea1979 prate.labsea1980    ln -sf prate.labsea1979 prate.labsea1980
237    ln -sf qa.labsea1979    qa.labsea1980        ln -sf    qa.labsea1979    qa.labsea1980    
238    ln -sf tair.labsea1979  tair.labsea1980      ln -sf  tair.labsea1979  tair.labsea1980  
239    ln -sf u10m.labsea79    u10m.labsea80        ln -sf    u10m.labsea79    u10m.labsea80    
240    ln -sf v10m.labsea79    v10m.labsea80        ln -sf    v10m.labsea79    v10m.labsea80    
241    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
242    
243  Use the matlab script lookat_exp3.m to compare  Use the matlab script lookat_exp5.m to compare
244  the 2-cpu output to SMMR-SSM/I data:  the 2-cpu output to SMMR-SSM/I data:
245    cd ../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
246    matlab    matlab
247    lookat_exp5    lookat_exp5
248    
# Line 203  Instructions for running Experiment 6 Line 256  Instructions for running Experiment 6
256    
257  This is a 1-cpu test of sea-ice thermodynamics (no dynamics).  This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
258  The solution is compared to that of experiment 1.  The solution is compared to that of experiment 1.
 1-CPU executable from experiment 1 is required.  
259    
260  To run:  To run Experiment 6:
261    cd ../exe    cd ../../../verification/lab_sea/input
262    cp ../verification/lab_sea/input/* .    ln -sf DATA.10hours data
263    ln -sf data.10hours data    ln -sf DATA.SEAICE.nodynamics data.seaice
264    ln -sf data.seaice.nodynamics data.seaice    mitgcmuv_1 >&! output.txt
   mitgcmuv1 >&! output.txt  
265    mkdir exp6    mkdir exp6
266    mv *tave.0000000010.data exp6    mv *tave.0000000010.data exp6
267    
268  Use the matlab script lookat_exp6.m to compare  Use the matlab script lookat_exp6.m to compare
269  the output of exp2 to that of exp1:  the output of exp6 to that of exp1:
270    cd ../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
271    matlab    matlab
272    lookat_exp6    lookat_exp6
273    
274    Instructions for running Experiment 7
275    =====================================
276    
277    This is a 2-cpu, 10-hour integration used to test
278    tile edges for sea-ice thermodynamics (no dynamics).
279    2-CPU executable from experiment 4 is required.
280    
281    To run Experiment 7:
282      cd ../../../verification/lab_sea/input
283      ln -sf DATA.10hours data
284      ln -sf DATA.SEAICE.nodynamics data.seaice
285      mpirun -np 2 mitgcmuv_2x1
286      mkdir exp7
287      mv *tave.0000000010.data exp7
288    
289    Use the matlab script lookat_exp7.m to compare
290    the output of exp7 to that of exp6:
291      cd ../verification/lab_sea/matlab
292      matlab
293      lookat_exp7
294    
295    
296    Instructions for running Experiment 8
297    =====================================
298    
299    This is the default experiment which is executed by
300    verification/testscript.  It is a 1-cpu, 10-hour integration
301    used to test CPP option SEAICE_EXTERNAL_FORCING.  Atmospheric
302    state is read-in using pkg/exf, rather than pkg/seaice routines.
303    This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
304    
305    To run Experiment 8:
306      cd ../../../verification/lab_sea/input
307      ln -sf DATA.10hours_exf data
308      ln -sf DATA.SEAICE.adi_exf data.seaice
309      mitgcmuv_exf_forcing >&! output.txt
310      mkdir exp8
311      mv *tave.0000000010.data exp8
312    
313    Use matlab script lookat_exp8.m to compare
314    the output of exp8 to that of exp1:
315      cd ../../../verification/lab_sea/matlab
316      matlab
317      lookat_exp8
318    
319    
320    Instructions for running Experiment 9
321    =====================================
322    
323    This is a 1-cpu, 10-hour integration used to test CPP option
324    SEAICE_EXTERNAL_FLUXES.  Both the atmospheric state and the
325    open-water surface fluxes are provided by pkg/exf.
326    
327    To run Experiment 9:
328      cd ../../../verification/lab_sea/input
329      ln -sf DATA.10hours_exf data
330      ln -sf DATA.SEAICE.adi_exf data.seaice
331      mitgcmuv_exf_fluxes >&! output.txt
332      mkdir exp9
333      mv *tave.0000000010.data exp9
334    
335    Use matlab script lookat_exp9.m to compare
336    the output of exp9 to that of exp8:
337      cd ../../../verification/lab_sea/matlab
338      matlab
339      lookat_exp9

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22