/[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.1 by heimbach, Mon Nov 11 22:03:47 2002 UTC revision 1.17 by dimitri, Tue Jan 29 11:25:54 2008 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    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
   evapFile       = 'evap.labsea1979'  # evaporation  
30    
31    The experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
32    The test is a 1-cpu, 10-hour integration.   Both the atmospheric
33    state and the open-water surface fluxes are provided by pkg/exf.
34    
35  Instructions for running Experiment 1  More pkg/seaice test experiments, configured for low and
36  =====================================  high-resolution global cube-sphere domains are described
37    in MITgcm_contrib/high_res_cube/README_ice.
 This is a 1-cpu, 10-hour integration used to make sure that all the  
 files are available and that the model compiles and integrates.  
   
 To configure and compile the code:  
   cd MITgcmUV  
   mkdir bin exe  
   cd bin  
   ln -sf ../verification/lab_sea/code/SIZE.h .  
   ln -sf ../verification/lab_sea/code/CPP_OPTIONS.h .  
   ln -sf ../verification/lab_sea/code/CPP_EEOPTIONS.h .  
   ../tools/genmake -makefile  
   make depend  
   make  
38    
 To run:  
   cd ../exe  
   cp ../verification/lab_sea/input/* .  
   ln -sf data.10hours data  
   ln -sf data.seaice.adi data.seaice  
   mv mitgcmuv mitgcmuv1  
   mitgcmuv1 >&! output.txt  
   mkdir exp1  
   mv *tave.0000000010.data exp1  
   
 There is comparison output in:  
   diff output.txt ../verification/lab_sea/results/output.txt | more  
   
 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  
   matlab  
   lookat_exp1  
39    
40  Instructions for running Experiment 2  Using testscript to test sea-ice code
41  =====================================  =====================================
42    
43  This is a 1-cpu test of the LSR solver.  The solution is  Running the testscript experiment:
44  compared to that of experiment 1, which used the ADI solver.    cd MITgcm/verification
45  1-CPU executable from experiment 1 is required.    ./testreport -t lab_sea
   
 To run:  
   cd ../exe  
   cp ../verification/lab_sea/input/* .  
   ln -sf data.10hours data  
   ln -sf data.seaice.lsr data.seaice  
   mitgcmuv1 >&! output.txt  
   mkdir exp2  
   mv *tave.0000000010.data exp2  
   
 Use the matlab script lookat_exp2.m to compare  
 the output of exp2 to that of exp1:  
   cd ../verification/lab_sea/matlab  
   matlab  
   lookat_exp2  
46    
47  Instructions for running Experiment 3  Note that fairly large differences in accuracy occur across different
48  =====================================  platforms.  For example, testscript comparisons between g77 (Linux)
49    and f77 (SGI) generated output gives:
50    
51  This is a test of periodic boundary conditions for LSR                  T           S           U           V
52  and ADI solvers.  The domain has a flat bottom and  C D M    c        m  s        m  s        m  s        m  s
53  is periodic both in the x and the y directions.  n p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .
54  All forcing files are null or constant  f n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d
55  (u10m = v10m = 5 m/s).  g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .
   
 1-CPU executable from experiment 1 is required.  
   
 To run:  
   cd ../exe  
   cp ../verification/lab_sea/input/* .  
   ln -sf data.1hour data  
   ln -sf data.seaice.testadi data.seaice  
   mitgcmuv1 >&! output.txt  
   mkdir exp3a  
   mv *tave.0000000001.data exp3a  
   ln -sf data.seaice.testlsr data.seaice  
   mitgcmuv1 >&! output.txt  
   mkdir exp3b  
   mv *tave.0000000001.data exp3b  
   
 Use the matlab script lookat_exp3.m to compare  
 the output of exp2 to that of exp1:  
   cd ../verification/lab_sea/matlab  
   matlab  
   lookat_exp3  
56    
57  If the dynamic ice solvers are correct, they should converge to a  Y Y Y Y  8 10  9 11 10  9 11 13 10  9  8  8  9  8  9  8  9 FAIL  lab_sea
 constant solution.  The tests above show that both the ADI and the LSR  
 solver are unable to handle periodic domains and therefore that they  
 cannot be "correctly" parallelized.  
58    
 Instructions for running Experiment 4  
 =====================================  
59    
60  This is a 2-cpu, 10-hour integration used to test  Instructions for generating and running a 1-CPU experiment
61  tile edges for sea-ice dynamic solvers.  ==========================================================
62    
63  To configure and compile the code:    cd MITgcm/verification/lab_sea
64    cd ../bin    mkdir build
65    rm -rf *.f    cd build
66    rm -rf *.o    cp ../code/*.h ../code/packages.conf .
67    ln -sf ../verification/lab_sea/code/SIZE_2x1.h SIZE.h    ../../../tools/genmake2
   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 )  
68    make depend    make depend
69    make    make
70      cd ../input
71      ../build/mitgcmuv > output.txt
72    
73  To run:  Use matlab script lookat_exp1.m to compare the output
74    cd ../exe  of exp1 with that from checkpoint51f sea-ice code:
75    cp ../verification/lab_sea/input/* .    cd ../../../verification/lab_sea/matlab
   ln -sf data.10hours data  
   ln -sf data.seaice.adi data.seaice  
   mv mitgcmuv mitgcmuv_2x1  
   mpirun -np 2 mitgcmuv_2x1  
   mkdir exp4  
   mv *tave.0000000010.data exp4  
   
 Use the matlab script lookat_exp4.m to compare  
 the 2-cpu output to that of exp1:  
   cd ../verification/lab_sea/matlab  
76    matlab    matlab
77    lookat_exp4    lookat_ice
78    
 The inaccuracy at the tile boundary can be decreased by increasing  
 NPSEUDO in data.seaice at the expense of computation time.  
 Also as sea-ice ages (thickens) the difference at the tiles becomes  
 increasingly small.  For solver pkg/seaice/adi.F a value of NPSEUDO=10  
 appears adequate for forward integrations but cannot be used for sea-ice  
 adjoint model.  Work is underway to fix this problem.  
79    
80    Instructions for generating and running a 2-CPU experiment on kalpana
81    =====================================================================
82    
83  Instructions for running Experiment 5    cd MITgcm/verification/lab_sea
84  =====================================    mkdir build
85      cd build
86  This is a 2-cpu, 2-year, test integration.  It illustrates    \cp ../code/*.h ../code/packages.conf .
87  convention used for forcing data files by seaice_get_forcing.F.    \cp ../code/SIZE.h_mpi SIZE.h
88      ../../../tools/genmake2 -of ../../../tools/build_options/linux_ia64_efc+mpi_altix
89  To run:    make depend
90    cd ../exe    make
91    cp ../verification/lab_sea/input/* .    cd ../input
92    cp eedata_mpi eedata    mpirun -np 2 ../build/mitgcmuv
   ln -sf data.2years data  
   ln -sf data.seaice.adi data.seaice  
   ln -sf evap.labsea1979  evap.labsea1980    
   ln -sf flo.labsea1979   flo.labsea1980    
   ln -sf fsh.labsea1979   fsh.labsea1980    
   ln -sf prate.labsea1979 prate.labsea1980  
   ln -sf qa.labsea1979    qa.labsea1980      
   ln -sf tair.labsea1979  tair.labsea1980    
   ln -sf u10m.labsea79    u10m.labsea80      
   ln -sf v10m.labsea79    v10m.labsea80      
   mpirun -np 2 mitgcmuv_2x1  
   
 Use the matlab script lookat_exp3.m to compare  
 the 2-cpu output to SMMR-SSM/I data:  
   cd ../verification/lab_sea/matlab  
   matlab  
   lookat_exp5  
93    
 Disclaimer:  
 The comparison here is just for fun, not really supposed  
 to look anything like the data.  
 Otherwise it would put a lot of people out of business :-)  
94    
95  Instructions for running Experiment 6  Instructions for testing useExfYearlyFields
96  =====================================  ===========================================
97    
98  This is a 1-cpu test of sea-ice thermodynamics (no dynamics).    cd MITgcm/verification/lab_sea/build
99  The solution is compared to that of experiment 1.    \rm *
100  1-CPU executable from experiment 1 is required.    \cp ../code/* .
101      sed 's/undef EXF_V/define EXF_V/' \
102  To run:        ../../../pkg/exf/EXF_OPTIONS.h > EXF_OPTIONS.h
103    cd ../exe    ../../../tools/genmake2
104    cp ../verification/lab_sea/input/* .    make depend
105    ln -sf data.10hours data    make -j
106    ln -sf data.seaice.nodynamics data.seaice    cd ../run
107    mitgcmuv1 >&! output.txt    \rm *
108    mkdir exp6    \cp ../input/* .
109    mv *tave.0000000010.data exp6    \mv v10m.labsea1979 v10m.labsea_1979
110      \mv u10m.labsea1979 u10m.labsea_1979
111  Use the matlab script lookat_exp6.m to compare    \mv flo.labsea1979 flo.labsea_1979
112  the output of exp2 to that of exp1:    \mv prate.labsea1979 prate.labsea_1979
113    cd ../verification/lab_sea/matlab    \mv tair.labsea1979 tair.labsea_1979
114    matlab    \mv fsh.labsea1979 fsh.labsea_1979
115    lookat_exp6    \mv qa.labsea1979 qa.labsea_1979
116      \mv SSS_monthly.labsea1979 SSS_monthly.labsea_1979
117      \ln -sf v10m.labsea_1979 v10m.labsea_1978
118      \ln -sf u10m.labsea_1979 u10m.labsea_1978
119      \ln -sf flo.labsea_1979 flo.labsea_1978
120      \ln -sf prate.labsea_1979 prate.labsea_1978
121      \ln -sf tair.labsea_1979 tair.labsea_1978
122      \ln -sf fsh.labsea_1979 fsh.labsea_1978
123      \ln -sf qa.labsea_1979 qa.labsea_1978
124      \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1978
125      \ln -sf v10m.labsea_1979 v10m.labsea_1980
126      \ln -sf u10m.labsea_1979 u10m.labsea_1980
127      \ln -sf flo.labsea_1979 flo.labsea_1980
128      \ln -sf prate.labsea_1979 prate.labsea_1980
129      \ln -sf tair.labsea_1979 tair.labsea_1980
130      \ln -sf fsh.labsea_1979 fsh.labsea_1980
131      \ln -sf qa.labsea_1979 qa.labsea_1980
132      \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1980
133      \mv data.exf_YearlyFields data.exf
134      \mv data_YearlyFields data
135      sed 's/tics = .TRUE./tics = .FALSE./' ../input/data.pkg > data.pkg
136      ../build/mitgcmuv >& output.txt &

Legend:
Removed from v.1.1.2.1  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.22