/[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.2.4 by dimitri, Sat Dec 28 07:07:38 2002 UTC revision 1.2 by heimbach, Tue Nov 12 20:54:28 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 "seaice.ps".  A brief description of the sea-ice model is in "doc/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    uwindFile      = 'u10m.labsea79'    # 10-m zonal wind    gairxFile      = 'u10m.labsea79'    # 10-m zonal wind
24    vwindFile      = 'v10m.labsea79'    # 10-m meridional wind    gairyFile      = 'v10m.labsea79'    # 10-m meridional wind
25    atempFile      = 'tair.labsea1979'  # 2-m air temperature    tairFile       = 'tair.labsea1979'  # 2-m air temperature
26    aqhFile        = 'qa.labsea1979'    # 2-m specific humidity    qaFile         = 'qa.labsea1979'    # 2-m specific humidity
27    lwfluxFile     = 'flo.labsea1979'   # longwave radiation    floFile        = 'flo.labsea1979'   # longwave radiation
28    swfluxFile     = 'fsh.labsea1979'   # shortwave radiation    fshFile        = 'fsh.labsea1979'   # shortwave radiation
29    precipFile     = 'prate.labsea1979' # precipitation    rainFile       = 'prate.labsea1979' # precipitation
30    evapFile       = 'evap.labsea1979'  # evaporation    evapFile       = 'evap.labsea1979'  # evaporation
31    
32    
33  Using testscript to test sea-ice code  Instructions for running Experiment 1
34  =====================================  =====================================
35    
36  Running the testscript experiment:  This is a 1-cpu, 10-hour integration used to make sure that all the
37    cd verification  files are available and that the model compiles and integrates.
   ./testscript -force lab_sea  
 The default experiment is Experiment 8, below.  
 It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.  
   
 Note that fairly large differences in accuracy occur across different  
 platforms.  For example, testscript comparisons between g77 (Linux)  
 and f77 (SGI) generated output gives:  
   
                 T           S           U           V  
 C D M    c        m  s        m  s        m  s        m  s  
 n p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .  
 f n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d  
 g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .  
   
 Y Y Y Y  8 10  9 11 10  9 11 13 10  9  8  8  9  8  9  8  9 FAIL  lab_sea  
   
   
 Instructions for generating 1-CPU and 2-CPU executables  
 =======================================================  
   
 Generating 1-CPU executable:  
   cd verification/lab_sea/input  
   ln -sf ../code/SIZE.h .  
   ln -sf ../code/CPP_EEOPTIONS.h .  
   ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h  
   rm -f SEAICE_OPTIONS.h  
   ../../../tools/genmake -makefile  
     ==> on alhena use:  
     ../../../tools/genmake -platform=o2k_noopt -makefile  
   make clean  
   make depend  
   make  
   mv mitgcmuv mitgcmuv_1  
   
 Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING:  
   cd ../../../verification/lab_sea/input  
   ln -sf ../code/SIZE.h .  
   ln -sf ../code/CPP_EEOPTIONS.h .  
   ln -sf ../code/CPP_OPTIONS.h .  
   ln -sf ../code/ECCO_CPPOPTIONS.h .  
   ln -sf ../code/SEAICE_OPTIONS.h .  
   ../../../tools/genmake -makefile  
     ==> on alhena use:  
     ../../../tools/genmake -platform=o2k_noopt -makefile  
   make clean  
   make depend  
   make  
   mv mitgcmuv mitgcmuv_exf_forcing  
38    
39  Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:  To configure and compile the code:
40    cd ../../../verification/lab_sea/input    cd MITgcmUV
41    ln -sf ../code/SIZE.h .    mkdir bin exe
42    ln -sf ../code/CPP_EEOPTIONS.h .    cd bin
43    ln -sf ../code/CPP_OPTIONS.h .    ln -sf ../verification/lab_sea/code/SIZE.h .
44    ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h    ln -sf ../verification/lab_sea/code/CPP_OPTIONS.h .
45    ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h    ln -sf ../verification/lab_sea/code/CPP_EEOPTIONS.h .
46    ../../../tools/genmake -makefile    ../tools/genmake -makefile
     ==> on alhena use:  
     ../../../tools/genmake -platform=o2k_noopt -makefile  
   make clean  
47    make depend    make depend
48    make    make
   mv mitgcmuv mitgcmuv_exf_fluxes  
     
 Generating 2-CPU executable:  
   cd ../../../verification/lab_sea/input  
   ln -sf ../code/SIZE.2x1.h SIZE.h  
   ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h  
   ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h  
   rm -f SEAICE_OPTIONS.h  
   ../../../tools/genmake -mpi -makefile  
     ==> on alhena for comparison purposes use:  
       ../../../tools/genmake -mpi -platform=o2k_noopt -makefile  
     ==> on alhena for fast execution use:  
       ../../../tools/genmake -mpi -platform=o2k -makefile  
   make clean  
   make depend  
   make  
   mv mitgcmuv mitgcmuv_2x1  
   
   
 Instructions for running Experiment 1  
 =====================================  
49    
50  This is a 1-cpu, 10-hour integration used to make sure that all  To run:
51  the files are available and that the sea-ice model compiles and    cd ../exe
52  runs.  The reading of atmospheric forcing files and the computation    cp ../verification/lab_sea/input/* .
53  of open-water bulk fluxes are carried out within pkg/seaice.    ln -sf data.10hours data
54      ln -sf data.seaice.adi data.seaice
55  To run Experiment 1:    mv mitgcmuv mitgcmuv1
56    cd ../../../verification/lab_sea/input    mitgcmuv1 >&! output.txt
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.adi data.seaice  
   mitgcmuv_1 >&! output.txt  
57    mkdir exp1    mkdir exp1
58    mv *tave.0000000010.data exp1    mv *tave.0000000010.data exp1
59    
60  Use matlab script lookat_exp1.m to compare the output  There is comparison output in:
61  of exp1 with that from release1_p10 sea-ice code:    diff output.txt ../verification/lab_sea/results/output.txt | more
62    cd ../../../verification/lab_sea/matlab  
63    Use the matlab script lookat_exp1.m to compare the output
64    of exp1 with that from release1_beta1 sea-ice code:
65      cd ../verification/lab_sea/matlab
66    matlab    matlab
67    lookat_exp1    lookat_exp1
68    
   
69  Instructions for running Experiment 2  Instructions for running Experiment 2
70  =====================================  =====================================
71    
72  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
73  compared to that of experiment 1, which used the ADI solver.  compared to that of experiment 1, which used the ADI solver.
74    1-CPU executable from experiment 1 is required.
75    
76  To run Experiment 2:  To run:
77    cd ../../../verification/lab_sea/input    cd ../exe
78    ln -sf DATA.10hours data    cp ../verification/lab_sea/input/* .
79    ln -sf DATA.SEAICE.lsr data.seaice    ln -sf data.10hours data
80    mitgcmuv_1 >&! output.txt    ln -sf data.seaice.lsr data.seaice
81      mitgcmuv1 >&! output.txt
82    mkdir exp2    mkdir exp2
83    mv *tave.0000000010.data exp2    mv *tave.0000000010.data exp2
84    
85  Use matlab script lookat_exp2.m to compare  Use the matlab script lookat_exp2.m to compare
86  the output of exp2 to that of exp1:  the output of exp2 to that of exp1:
87    cd ../../../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
88    matlab    matlab
89    lookat_exp2    lookat_exp2
90    
   
91  Instructions for running Experiment 3  Instructions for running Experiment 3
92  =====================================  =====================================
93    
94  This is a test of periodic boundary conditions for LSR  This is a test of periodic boundary conditions for LSR
95  and ADI solvers.  The domain has a flat bottom and  and ADI solvers.  The domain has a flat bottom and
96  is periodic both in the x and the y directions.  is periodic both in the x and the y directions.
97  All forcing files are null or constant (u10m = v10m = 5 m/s).  All forcing files are null or constant
98    (u10m = v10m = 5 m/s).
99    
100  To run Experiment 3:  1-CPU executable from experiment 1 is required.
101    cd ../../../verification/lab_sea/input  
102    ln -sf DATA.1hour data  To run:
103    ln -sf DATA.SEAICE.testadi data.seaice    cd ../exe
104    mitgcmuv_1 >&! output.txt    cp ../verification/lab_sea/input/* .
105      ln -sf data.1hour data
106      ln -sf data.seaice.testadi data.seaice
107      mitgcmuv1 >&! output.txt
108    mkdir exp3a    mkdir exp3a
109    mv *tave.0000000001.data exp3a    mv *tave.0000000001.data exp3a
110    ln -sf DATA.SEAICE.testlsr data.seaice    ln -sf data.seaice.testlsr data.seaice
111    mitgcmuv_1 >&! output.txt    mitgcmuv1 >&! output.txt
112    mkdir exp3b    mkdir exp3b
113    mv *tave.0000000001.data exp3b    mv *tave.0000000001.data exp3b
114    
115  Use matlab script lookat_exp3.m to compare  Use the matlab script lookat_exp3.m to compare
116  the output of exp2 to that of exp1:  the output of exp2 to that of exp1:
117    cd ../../../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
118    matlab    matlab
119    lookat_exp3    lookat_exp3
120    
# Line 191  constant solution.  The tests above show Line 123  constant solution.  The tests above show
123  solver are unable to handle periodic domains and therefore that they  solver are unable to handle periodic domains and therefore that they
124  cannot be "correctly" parallelized.  cannot be "correctly" parallelized.
125    
   
126  Instructions for running Experiment 4  Instructions for running Experiment 4
127  =====================================  =====================================
128    
129  This is a 2-cpu, 10-hour integration used to test  This is a 2-cpu, 10-hour integration used to test
130  tile edges for sea-ice dynamic solvers.  tile edges for sea-ice dynamic solvers.
131    
132  To run Experiment 4:  To configure and compile the code:
133    cd ../../../verification/lab_sea/input    cd ../bin
134    ln -sf DATA.10hours data    rm -rf *.f
135    ln -sf DATA.SEAICE.adi data.seaice    rm -rf *.o
136      ln -sf ../verification/lab_sea/code/SIZE_2x1.h SIZE.h
137      ln -sf ../verification/lab_sea/code/CPP_OPTIONS.h .
138      ln -sf ../verification/lab_sea/code/CPP_EEOPTIONS_MPI.h CPP_EEOPTIONS.h
139      ../tools/genmake -mpi -makefile
140         ( on alhena use: ../tools/genmake -mpi -platform=o2k -makefile )
141      make depend
142      make
143    
144    To run:
145      cd ../exe
146      cp ../verification/lab_sea/input/* .
147      ln -sf data.10hours data
148      ln -sf data.seaice.adi data.seaice
149      mv mitgcmuv mitgcmuv_2x1
150    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
151    mkdir exp4    mkdir exp4
152    mv *tave.0000000010.data exp4    mv *tave.0000000010.data exp4
153    
154  Use the matlab script lookat_exp4.m to compare  Use the matlab script lookat_exp4.m to compare
155  the 2-cpu output to that of exp1:  the 2-cpu output to that of exp1:
156    cd ../../../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
157    matlab    matlab
158    lookat_exp4    lookat_exp4
159    
# Line 224  Instructions for running Experiment 5 Line 169  Instructions for running Experiment 5
169  =====================================  =====================================
170    
171  This is a 2-cpu, 2-year, test integration.  It illustrates  This is a 2-cpu, 2-year, test integration.  It illustrates
172  convention used by seaice_get_forcing.F for multi-year forcing.  convention used for forcing data files by seaice_get_forcing.F.
173    
174  To run Experiment 5:  To run:
175    cd ../../../verification/lab_sea/input    cd ../exe
176    ln -sf      DATA.2years             data    cp ../verification/lab_sea/input/* .
177    ln -sf  DATA.SEAICE.adi      data.seaice    cp eedata_mpi eedata
178    ln -sf  evap.labsea1979  evap.labsea1980      ln -sf data.2years data
179    ln -sf   flo.labsea1979   flo.labsea1980      ln -sf data.seaice.adi data.seaice
180    ln -sf   fsh.labsea1979   fsh.labsea1980      ln -sf evap.labsea1979  evap.labsea1980  
181      ln -sf flo.labsea1979   flo.labsea1980  
182      ln -sf fsh.labsea1979   fsh.labsea1980  
183    ln -sf prate.labsea1979 prate.labsea1980    ln -sf prate.labsea1979 prate.labsea1980
184    ln -sf    qa.labsea1979    qa.labsea1980        ln -sf qa.labsea1979    qa.labsea1980    
185    ln -sf  tair.labsea1979  tair.labsea1980      ln -sf tair.labsea1979  tair.labsea1980  
186    ln -sf    u10m.labsea79    u10m.labsea80        ln -sf u10m.labsea79    u10m.labsea80    
187    ln -sf    v10m.labsea79    v10m.labsea80        ln -sf v10m.labsea79    v10m.labsea80    
188    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
189    
190  Use the matlab script lookat_exp5.m to compare  Use the matlab script lookat_exp3.m to compare
191  the 2-cpu output to SMMR-SSM/I data:  the 2-cpu output to SMMR-SSM/I data:
192    cd ../../../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
193    matlab    matlab
194    lookat_exp5    lookat_exp5
195    
# Line 256  Instructions for running Experiment 6 Line 203  Instructions for running Experiment 6
203    
204  This is a 1-cpu test of sea-ice thermodynamics (no dynamics).  This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
205  The solution is compared to that of experiment 1.  The solution is compared to that of experiment 1.
206    1-CPU executable from experiment 1 is required.
207    
208  To run Experiment 6:  To run:
209    cd ../../../verification/lab_sea/input    cd ../exe
210    ln -sf DATA.10hours data    cp ../verification/lab_sea/input/* .
211    ln -sf DATA.SEAICE.nodynamics data.seaice    ln -sf data.10hours data
212    mitgcmuv_1 >&! output.txt    ln -sf data.seaice.nodynamics data.seaice
213      mitgcmuv1 >&! output.txt
214    mkdir exp6    mkdir exp6
215    mv *tave.0000000010.data exp6    mv *tave.0000000010.data exp6
216    
217  Use the matlab script lookat_exp6.m to compare  Use the matlab script lookat_exp6.m to compare
218  the output of exp6 to that of exp1:  the output of exp2 to that of exp1:
219    cd ../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
220    matlab    matlab
221    lookat_exp6    lookat_exp6
   
 Instructions for running Experiment 7  
 =====================================  
   
 This is a 2-cpu, 10-hour integration used to test  
 tile edges for sea-ice thermodynamics (no dynamics).  
 2-CPU executable from experiment 4 is required.  
   
 To run Experiment 7:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.nodynamics data.seaice  
   mpirun -np 2 mitgcmuv_2x1  
   mkdir exp7  
   mv *tave.0000000010.data exp7  
   
 Use the matlab script lookat_exp7.m to compare  
 the output of exp7 to that of exp6:  
   cd ../verification/lab_sea/matlab  
   matlab  
   lookat_exp7  
   
   
 Instructions for running Experiment 8  
 =====================================  
   
 This is the default experiment which is executed by  
 verification/testscript.  It is a 1-cpu, 10-hour integration  
 used to test CPP option SEAICE_EXTERNAL_FORCING.  Atmospheric  
 state is read-in using pkg/exf, rather than pkg/seaice routines.  
 This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.  
   
 To run Experiment 8:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours_exf data  
   ln -sf DATA.SEAICE.adi_exf data.seaice  
   mitgcmuv_exf_forcing >&! output.txt  
   mkdir exp8  
   mv *tave.0000000010.data exp8  
   
 Use matlab script lookat_exp8.m to compare  
 the output of exp8 to that of exp1:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp8  
   
   
 Instructions for running Experiment 9  
 =====================================  
   
 This is a 1-cpu, 10-hour integration used to test CPP option  
 SEAICE_EXTERNAL_FLUXES.  Both the atmospheric state and the  
 open-water surface fluxes are provided by pkg/exf.  
   
 To run Experiment 9:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours_exf data  
   ln -sf DATA.SEAICE.adi_exf data.seaice  
   mitgcmuv_exf_fluxes >&! output.txt  
   mkdir exp9  
   mv *tave.0000000010.data exp9  
   
 Use matlab script lookat_exp9.m to compare  
 the output of exp9 to that of exp8:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp9  

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

  ViewVC Help
Powered by ViewVC 1.1.22