/[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.9.2.1 by dimitri, Fri May 23 16:35:48 2003 UTC revision 1.3 by dimitri, Thu Dec 5 08:43:03 2002 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    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    lwdownFile     = 'flo.labsea1979'   # downward longwave radiation    floFile        = 'flo.labsea1979'   # longwave radiation
28    swdownFile     = 'fsh.labsea1979'   # downward 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    
# 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
 The default experiment is Experiment 8, below.  
 It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.  
39    
40  Note that fairly large differences in accuracy occur across different  Note that fairly large differences in accuracy occur across different
41  platforms.  For example, testscript comparisons between g77 (Linux)  platforms.  For example, testscript comparisons between g77 (Linux)
42  and f77 (SGI) generated output gives:  and f77 (SGI) generated output gives:
43    
44                  T           S           U           V     T           S           U           V
45  C D M    c        m  s        m  s        m  s        m  s    C D M    c        m  s        m  s        m  s        m  s
46  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  .
47  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
48  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  .
49    
50  Y Y Y Y  8 10  9 11 10  9 11 13 10  9  8  8  9  8  9  8  9 FAIL  lab_sea    Y Y Y Y  5  5  7  7  7  8 10  9  6  6  6  6  7  5  7  5  7 FAIL  lab_sea
51    
52    
53  Instructions for generating 1-CPU and 2-CPU executables  Instructions for generating 1-CPU and 2-CPU executables
54  =======================================================  =======================================================
55    
56  Generating 1-CPU executable:  Generating 1-CPU executable:
57    cd verification/lab_sea/input    cd ../verification/lab_sea/input
58    ln -sf ../code/SIZE.h .    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 .  
59    ln -sf ../code/CPP_OPTIONS.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  
   
 1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP  
   cd ../../../verification/lab_sea/input  
   ln -sf ../code/SIZE.h .  
60    ln -sf ../code/CPP_EEOPTIONS.h .    ln -sf ../code/CPP_EEOPTIONS.h .
   ln -sf ../code/CPP_OPTIONS.h .  
   ln -sf ../code/ECCO_CPPOPTIONS.BULK.h 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_compute_evap  
   
 Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:  
   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.BULK.h ECCO_CPPOPTIONS.h  
   ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h  
61    ../../../tools/genmake -makefile    ../../../tools/genmake -makefile
62      ==> on alhena use:      ==> on alhena use:
63      ../../../tools/genmake -platform=o2k_noopt -makefile      ../../../tools/genmake -platform=o2k_noopt -makefile
64    make clean    make clean
65    make depend    make depend
66    make    make
67    mv mitgcmuv mitgcmuv_exf_fluxes    mv mitgcmuv mitgcmuv_1
68      
 Generating 1-CPU executable with SEAICE_MULTILEVEL:  
   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  
   ln -sf ../code/SEAICE_OPTIONS.MULTILEVEL.h SEAICE_OPTIONS.h  
   ../../../tools/genmake -makefile  
     ==> on alhena use:  
     ../../../tools/genmake -platform=o2k_noopt -makefile  
   make clean  
   make depend  
   make  
   mv mitgcmuv mitgcmuv_multilevel  
   
69  Generating 2-CPU executable:  Generating 2-CPU executable:
70    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
71    ln -sf ../code/SIZE.2x1.h SIZE.h    ln -sf ../code/SIZE_2x1.h SIZE.h
72    ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h    ln -sf ../code/CPP_OPTIONS.h .
73    ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h    ln -sf ../code/CPP_EEOPTIONS_MPI.h CPP_EEOPTIONS.h
   rm -f SEAICE_OPTIONS.h  
74    ../../../tools/genmake -mpi -makefile    ../../../tools/genmake -mpi -makefile
75      ==> on alhena for comparison purposes use:      ==> on alhena for comparison purposes use:
76        ../../../tools/genmake -mpi -platform=o2k_noopt -makefile        ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
# Line 148  Generating 2-CPU executable: Line 85  Generating 2-CPU executable:
85  Instructions for running Experiment 1  Instructions for running Experiment 1
86  =====================================  =====================================
87    
88  This is a 1-cpu, 10-hour integration used to make sure that all  This is a 1-cpu, 10-hour integration used to make sure that all the
89  the files are available and that the sea-ice model compiles and  files are available and that the model compiles and integrates.  It
90  runs.  The reading of atmospheric forcing files and the computation  is the default experiment of "verification/testscript lab_sea".
 of open-water bulk fluxes are carried out within pkg/seaice.  
91    
92  To run Experiment 1:  To run Experiment 1:
93    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
94    ln -sf DATA.10hours data    ln -sf data.10hours data
95    ln -sf DATA.SEAICE.lsr data.seaice    ln -sf data.seaice.adi data.seaice
96    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
97    mkdir exp1    mkdir exp1
98    mv *tave.0000000010.data exp1    mv *tave.0000000010.data exp1
99    
100  Use matlab script lookat_exp1.m to compare the output  Use matlab script lookat_exp1.m to compare the output
101  of exp1 with that from release1_p16 sea-ice code:  of exp1 with that from release1_patch5 sea-ice code:
102    cd ../../../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
103    matlab    matlab
104    lookat_exp1    lookat_exp1
# Line 171  of exp1 with that from release1_p16 sea- Line 107  of exp1 with that from release1_p16 sea-
107  Instructions for running Experiment 2  Instructions for running Experiment 2
108  =====================================  =====================================
109    
110  This is a 1-cpu test of the ADI solver.  The solution is  This is a 1-cpu test of the LSR solver.  The solution is
111  compared to that of experiment 1, which used the LSR solver.  compared to that of experiment 1, which used the ADI solver.
112    
113  To run Experiment 2:  To run Experiment 2:
114    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
115    ln -sf DATA.10hours data    ln -sf data.10hours data
116    ln -sf DATA.SEAICE.adi data.seaice    ln -sf data.seaice.lsr data.seaice
117    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
118    mkdir exp2    mkdir exp2
119    mv *tave.0000000010.data exp2    mv *tave.0000000010.data exp2
# Line 199  All forcing files are null or constant ( Line 135  All forcing files are null or constant (
135    
136  To run Experiment 3:  To run Experiment 3:
137    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
138    ln -sf DATA.1hour data    ln -sf data.1hour data
139    ln -sf DATA.SEAICE.testadi data.seaice    ln -sf data.seaice.testadi data.seaice
140    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
141    mkdir exp3a    mkdir exp3a
142    mv *tave.0000000001.data exp3a    mv *tave.0000000001.data exp3a
143    ln -sf DATA.SEAICE.testlsr data.seaice    ln -sf data.seaice.testlsr data.seaice
144    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
145    mkdir exp3b    mkdir exp3b
146    mv *tave.0000000001.data exp3b    mv *tave.0000000001.data exp3b
147    
148  Use matlab script lookat_exp3.m to look at  Use matlab script lookat_exp3.m to compare
149  results from exp3a and exp3b:  the output of exp2 to that of exp1:
150    cd ../../../verification/lab_sea/matlab    cd ../../../verification/lab_sea/matlab
151    matlab    matlab
152    lookat_exp3    lookat_exp3
153    
154  Both solvers should and do converge to solutions  If the dynamic ice solvers are correct, they should converge to a
155  that are constant at each latitude.  But note that  constant solution.  The tests above show that both the ADI and the LSR
156  the two solutions are not exactly the same because  solver are unable to handle periodic domains and therefore that they
157  the two solvers represent slightly different  cannot be "correctly" parallelized.
 approximations of the viscous/plastic equations.  
158    
159    
160  Instructions for running Experiment 4  Instructions for running Experiment 4
# Line 230  tile edges for sea-ice dynamic solvers. Line 165  tile edges for sea-ice dynamic solvers.
165    
166  To run Experiment 4:  To run Experiment 4:
167    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
168    ln -sf DATA.10hours data    ln -sf data.10hours data
169    ln -sf DATA.SEAICE.lsr data.seaice    ln -sf data.seaice.adi data.seaice
170    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
171    mkdir exp4    mkdir exp4
172    mv *tave.0000000010.data exp4    mv *tave.0000000010.data exp4
# Line 242  the 2-cpu output to that of exp1: Line 177  the 2-cpu output to that of exp1:
177    matlab    matlab
178    lookat_exp4    lookat_exp4
179    
180  The accuracy of the dynamic solvers is increased by  The inaccuracy at the tile boundary can be decreased by increasing
181  reducing parameter LSR_ERROR for the LSR solver and  NPSEUDO in data.seaice at the expense of computation time.
182  by increasing parameter NPSEUDO for the ADI solver.  Also as sea-ice ages (thickens) the difference at the tiles becomes
183  The computational cost/accuracy trade-off is quite  increasingly small.  For solver pkg/seaice/adi.F a value of NPSEUDO=10
184  high for the ADI solver but relatively small for  appears adequate for forward integrations but cannot be used for sea-ice
185  the LSR solver, which is the default solver.  adjoint model.  Work is underway to fix this problem.
186    
187    
188  Instructions for running Experiment 5  Instructions for running Experiment 5
# Line 258  convention used by seaice_get_forcing.F Line 193  convention used by seaice_get_forcing.F
193    
194  To run Experiment 5:  To run Experiment 5:
195    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
196    ln -sf      DATA.2years             data    ln -sf      data.2years             data
197    ln -sf  DATA.SEAICE.lsr      data.seaice    ln -sf  data.seaice.adi      data.seaice
198    ln -sf  evap.labsea1979  evap.labsea1980      ln -sf  evap.labsea1979  evap.labsea1980  
199    ln -sf   flo.labsea1979   flo.labsea1980      ln -sf   flo.labsea1979   flo.labsea1980  
200    ln -sf   fsh.labsea1979   fsh.labsea1980      ln -sf   fsh.labsea1979   fsh.labsea1980  
# Line 276  the 2-cpu output to SMMR-SSM/I data: Line 211  the 2-cpu output to SMMR-SSM/I data:
211    matlab    matlab
212    lookat_exp5    lookat_exp5
213    
214  The comparison here is just for fun.  Disclaimer:
215  The configuration is too coarse and artificial  The comparison here is just for fun, not really supposed
216  to reproduce realistic sea-ice conditions.  to look anything like the data.
217    Otherwise it would put a lot of people out of business :-)
218    
219  Instructions for running Experiment 6  Instructions for running Experiment 6
220  =====================================  =====================================
# Line 289  The solution is compared to that of expe Line 224  The solution is compared to that of expe
224    
225  To run Experiment 6:  To run Experiment 6:
226    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
227    ln -sf DATA.10hours data    ln -sf data.10hours data
228    ln -sf DATA.SEAICE.nodynamics data.seaice    ln -sf data.seaice.nodynamics data.seaice
229    mitgcmuv_1 >&! output.txt    mitgcmuv_1 >&! output.txt
230    mkdir exp6    mkdir exp6
231    mv *tave.0000000010.data exp6    mv *tave.0000000010.data exp6
# Line 301  the output of exp6 to that of exp1: Line 236  the output of exp6 to that of exp1:
236    matlab    matlab
237    lookat_exp6    lookat_exp6
238    
   
239  Instructions for running Experiment 7  Instructions for running Experiment 7
240  =====================================  =====================================
241    
# Line 311  tile edges for sea-ice thermodynamics (n Line 245  tile edges for sea-ice thermodynamics (n
245    
246  To run Experiment 7:  To run Experiment 7:
247    cd ../../../verification/lab_sea/input    cd ../../../verification/lab_sea/input
248    ln -sf DATA.10hours data    ln -sf data.10hours data
249    ln -sf DATA.SEAICE.nodynamics data.seaice    ln -sf data.seaice.nodynamics data.seaice
250    mpirun -np 2 mitgcmuv_2x1    mpirun -np 2 mitgcmuv_2x1
251    mkdir exp7    mkdir exp7
252    mv *tave.0000000010.data exp7    mv *tave.0000000010.data exp7
# Line 322  the output of exp7 to that of exp6: Line 256  the output of exp7 to that of exp6:
256    cd ../verification/lab_sea/matlab    cd ../verification/lab_sea/matlab
257    matlab    matlab
258    lookat_exp7    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.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.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  
   
   
 Instructions for running Experiment 10  
 ======================================  
   
 This is a 1-cpu, 10-hour integration similar to exp8, but  
 with bulk formula computation of evaporation fields.  
   
 To run Experiment 10:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours_exf data  
   ln -sf DATA.SEAICE.exf data.seaice  
   mitgcmuv_compute_evap >&! output.txt  
   mkdir exp10  
   mv *tave.0000000010.data exp10  
   
 Use matlab script lookat_exp10.m to compare  
 the output of exp10 to that of exp8:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp10  
   
   
 Instructions for running Experiment 11  
 ======================================  
   
 This is a 1-cpu, 10-hour integration similar to exp1, but  
 with multi-level sea-ice thermodynamics.  
   
 To run Experiment 10:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.lsr data.seaice  
   mitgcmuv_multilevel >&! output.txt  
   mkdir exp11  
   mv *tave.0000000010.data exp11  
   
 Use matlab script lookat_exp11.m to compare  
 the output of exp11 to that of exp1:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp11  

Legend:
Removed from v.1.1.2.9.2.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22