/[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.11 by dimitri, Fri May 23 08:07:09 2003 UTC revision 1.18 by jmc, Mon Mar 10 01:35:17 2014 UTC
# Line 27  NCEP reanalysis (see pkg/seaice/SEAICE_F Line 27  NCEP reanalysis (see pkg/seaice/SEAICE_F
27    lwdownFile     = 'flo.labsea1979'   # downward longwave radiation    lwdownFile     = 'flo.labsea1979'   # downward longwave radiation
28    swdownFile     = 'fsh.labsea1979'   # downward shortwave radiation    swdownFile     = 'fsh.labsea1979'   # downward shortwave radiation
29    precipFile     = '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    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.
38    
39  Using testscript to test sea-ice code  Using testscript to test sea-ice code
40  =====================================  =====================================
41    
42  Running the testscript experiment:  Running the testscript experiment:
43    cd verification    cd MITgcm/verification
44    ./testscript -force lab_sea    ./testreport -t lab_sea [-of my_platform_optionFile]
 The default experiment is Experiment 8, below.  
 It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.  
45    
46  Note that fairly large differences in accuracy occur across different  Note that fairly large differences in accuracy occur across different
47  platforms.  For example, testscript comparisons between g77 (Linux)  platforms.  For example, testscript comparisons between g77 (Linux)
# Line 51  g d e n  d  n  x  n  .  n  x  n  .  n  x Line 55  g d e n  d  n  x  n  .  n  x  n  .  n  x
55    
56  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  8 10  9 11 10  9 11 13 10  9  8  8  9  8  9  8  9 FAIL  lab_sea
57    
58    Instructions for generating and running a 1-CPU experiment
59    ==========================================================
60    
61  Instructions for generating 1-CPU and 2-CPU executables    cd MITgcm/verification/lab_sea
 =======================================================  
62    
63  Generating 1-CPU executable:  Configure and compile the code:
64    cd verification/lab_sea/input    cd build
65    ln -sf ../code/SIZE.h .    ../../../tools/genmake2 -mods ../code [-of my_platform_optionFile]
66    ln -sf ../code/CPP_EEOPTIONS.h .    make depend
67    ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h    make
68    rm -f SEAICE_OPTIONS.h    cd ..
69    ../../../tools/genmake -makefile  
70      ==> on alhena use:  To run:
71      ../../../tools/genmake -platform=o2k_noopt -makefile    cd run
72    make clean    ln -s ../input/* .
73    make depend    ln -s ../build/mitgcmuv .
74    make    ./mitgcmuv > output.txt
75    mv mitgcmuv mitgcmuv_1    cd ..
76    
77  Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING:  There is comparison output in the directory:
78    cd ../../../verification/lab_sea/input    results/output.txt
79    ln -sf ../code/SIZE.h .  
80    ln -sf ../code/CPP_EEOPTIONS.h .  Use matlab script lookat_ice.m to compare the output
81    ln -sf ../code/CPP_OPTIONS.h .   with that from checkpoint51f sea-ice code:
82    ln -sf ../code/ECCO_CPPOPTIONS.h .    cd ../../../verification/lab_sea/matlab
83    ln -sf ../code/SEAICE_OPTIONS.h .    matlab
84    ../../../tools/genmake -makefile    lookat_ice
85      ==> on alhena use:  
86      ../../../tools/genmake -platform=o2k_noopt -makefile  Instructions for generating and running a 2-CPU experiment
87    make clean  ==========================================================
88    make depend  
89    make    cd MITgcm/verification/lab_sea
90    mv mitgcmuv mitgcmuv_exf_forcing  
91    Configure and compile the code:
92  1-CPU executable with SEAICE_EXTERNAL_FORCING, without READ_EVAP    cd build
93    cd ../../../verification/lab_sea/input    ../../../tools/genmake2 -mpi -mods ../code [-of my_platform_optionFile]
94    ln -sf ../code/SIZE.h .    ln -s ../code/SIZE.h_mpi SIZE.h
95    ln -sf ../code/CPP_EEOPTIONS.h .    make depend
96    ln -sf ../code/CPP_OPTIONS.h .    make
97    ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h    cd ..
98    ln -sf ../code/SEAICE_OPTIONS.h .  
99    ../../../tools/genmake -makefile  To run:
100      ==> on alhena use:    cd run
101      ../../../tools/genmake -platform=o2k_noopt -makefile    ln -s ../input/* .
102    make clean    mpirun -np 2 ../build/mitgcmuv
103    make depend    cd ..
104    make  
105    mv mitgcmuv mitgcmuv_compute_evap  Instructions for testing useExfYearlyFields (Note: might not be up-to-date)
106    ===========================================
107  Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:  
108    cd ../../../verification/lab_sea/input    cd MITgcm/verification/lab_sea/build
109    ln -sf ../code/SIZE.h .    \rm *
110    ln -sf ../code/CPP_EEOPTIONS.h .    \cp ../code/* .
111    ln -sf ../code/CPP_OPTIONS.h .    sed 's/undef EXF_V/define EXF_V/' \
112    ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h        ../../../pkg/exf/EXF_OPTIONS.h > EXF_OPTIONS.h
113    ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h    ../../../tools/genmake2
114    ../../../tools/genmake -makefile    make depend
115      ==> on alhena use:    make -j
116      ../../../tools/genmake -platform=o2k_noopt -makefile    cd ../run
117    make clean    \rm *
118    make depend    \cp ../input/* .
119    make    \mv v10m.labsea1979 v10m.labsea_1979
120    mv mitgcmuv mitgcmuv_exf_fluxes    \mv u10m.labsea1979 u10m.labsea_1979
121      \mv flo.labsea1979 flo.labsea_1979
122  Generating 1-CPU executable with SEAICE_MULTILEVEL:    \mv prate.labsea1979 prate.labsea_1979
123    cd ../../../verification/lab_sea/input    \mv tair.labsea1979 tair.labsea_1979
124    ln -sf ../code/SIZE.h .    \mv fsh.labsea1979 fsh.labsea_1979
125    ln -sf ../code/CPP_EEOPTIONS.h .    \mv qa.labsea1979 qa.labsea_1979
126    ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h    \mv SSS_monthly.labsea1979 SSS_monthly.labsea_1979
127    ln -sf ../code/SEAICE_OPTIONS.MULTILEVEL.h SEAICE_OPTIONS.h    \ln -sf v10m.labsea_1979 v10m.labsea_1978
128    ../../../tools/genmake -makefile    \ln -sf u10m.labsea_1979 u10m.labsea_1978
129      ==> on alhena use:    \ln -sf flo.labsea_1979 flo.labsea_1978
130      ../../../tools/genmake -platform=o2k_noopt -makefile    \ln -sf prate.labsea_1979 prate.labsea_1978
131    make clean    \ln -sf tair.labsea_1979 tair.labsea_1978
132    make depend    \ln -sf fsh.labsea_1979 fsh.labsea_1978
133    make    \ln -sf qa.labsea_1979 qa.labsea_1978
134    mv mitgcmuv mitgcmuv_multilevel    \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1978
135      \ln -sf v10m.labsea_1979 v10m.labsea_1980
136  Generating 2-CPU executable:    \ln -sf u10m.labsea_1979 u10m.labsea_1980
137    cd ../../../verification/lab_sea/input    \ln -sf flo.labsea_1979 flo.labsea_1980
138    ln -sf ../code/SIZE.2x1.h SIZE.h    \ln -sf prate.labsea_1979 prate.labsea_1980
139    ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h    \ln -sf tair.labsea_1979 tair.labsea_1980
140    ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h    \ln -sf fsh.labsea_1979 fsh.labsea_1980
141    rm -f SEAICE_OPTIONS.h    \ln -sf qa.labsea_1979 qa.labsea_1980
142    ../../../tools/genmake -mpi -makefile    \ln -sf SSS_monthly.labsea_1979 SSS_monthly.labsea_1980
143      ==> on alhena for comparison purposes use:    \mv data.exf_YearlyFields data.exf
144        ../../../tools/genmake -mpi -platform=o2k_noopt -makefile    \mv data_YearlyFields data
145      ==> on alhena for fast execution use:    sed 's/tics = .TRUE./tics = .FALSE./' ../input/data.pkg > data.pkg
146        ../../../tools/genmake -mpi -platform=o2k -makefile    ../build/mitgcmuv >& output.txt &
   make clean  
   make depend  
   make  
   mv mitgcmuv mitgcmuv_2x1  
   
   
 Instructions for running Experiment 1  
 =====================================  
   
 This is a 1-cpu, 10-hour integration used to make sure that all  
 the files are available and that the sea-ice model compiles and  
 runs.  The reading of atmospheric forcing files and the computation  
 of open-water bulk fluxes are carried out within pkg/seaice.  
   
 To run Experiment 1:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.lsr data.seaice  
   mitgcmuv_1 >&! output.txt  
   mkdir exp1  
   mv *tave.0000000010.data exp1  
   
 Use matlab script lookat_exp1.m to compare the output  
 of exp1 with that from release1_p16 sea-ice code:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp1  
   
   
 Instructions for running Experiment 2  
 =====================================  
   
 This is a 1-cpu test of the ADI solver.  The solution is  
 compared to that of experiment 1, which used the LSR solver.  
   
 To run Experiment 2:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.adi data.seaice  
   mitgcmuv_1 >&! output.txt  
   mkdir exp2  
   mv *tave.0000000010.data exp2  
   
 Use matlab script lookat_exp2.m to compare  
 the output of exp2 to that of exp1:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp2  
   
   
 Instructions for running Experiment 3  
 =====================================  
   
 This is a test of periodic boundary conditions for LSR  
 and ADI solvers.  The domain has a flat bottom and  
 is periodic both in the x and the y directions.  
 All forcing files are null or constant (u10m = v10m = 5 m/s).  
   
 To run Experiment 3:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.1hour data  
   ln -sf DATA.SEAICE.testadi data.seaice  
   mitgcmuv_1 >&! output.txt  
   mkdir exp3a  
   mv *tave.0000000001.data exp3a  
   ln -sf DATA.SEAICE.testlsr data.seaice  
   mitgcmuv_1 >&! output.txt  
   mkdir exp3b  
   mv *tave.0000000001.data exp3b  
   
 Use matlab script lookat_exp3.m to look at  
 results from exp3a and exp3b:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp3  
   
 Both solvers should and do converge to solutions  
 that are constant at each latitude.  But note that  
 the two solutions are not exactly the same because  
 the two solvers represent slightly different  
 approximations of the viscous/plastic equations.  
   
   
 Instructions for running Experiment 4  
 =====================================  
   
 This is a 2-cpu, 10-hour integration used to test  
 tile edges for sea-ice dynamic solvers.  
   
 To run Experiment 4:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.lsr data.seaice  
   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  
   matlab  
   lookat_exp4  
   
 The accuracy of the dynamic solvers is increased by  
 reducing parameter LSR_ERROR for the LSR solver and  
 by increasing parameter NPSEUDO for the ADI solver.  
 The computational cost/accuracy trade-off is quite  
 high for the ADI solver but relatively small for  
 the LSR solver, which is the default solver.  
   
   
 Instructions for running Experiment 5  
 =====================================  
   
 This is a 2-cpu, 2-year, test integration.  It illustrates  
 convention used by seaice_get_forcing.F for multi-year forcing.  
   
 To run Experiment 5:  
   cd ../../../verification/lab_sea/input  
   ln -sf      DATA.2years             data  
   ln -sf  DATA.SEAICE.lsr      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_exp5.m to compare  
 the 2-cpu output to SMMR-SSM/I data:  
   cd ../../../verification/lab_sea/matlab  
   matlab  
   lookat_exp5  
   
 The comparison here is just for fun.  
 The configuration is too coarse and artificial  
 to reproduce realistic sea-ice conditions.  
   
   
 Instructions for running Experiment 6  
 =====================================  
   
 This is a 1-cpu test of sea-ice thermodynamics (no dynamics).  
 The solution is compared to that of experiment 1.  
   
 To run Experiment 6:  
   cd ../../../verification/lab_sea/input  
   ln -sf DATA.10hours data  
   ln -sf DATA.SEAICE.nodynamics data.seaice  
   mitgcmuv_1 >&! output.txt  
   mkdir exp6  
   mv *tave.0000000010.data exp6  
   
 Use the matlab script lookat_exp6.m to compare  
 the output of exp6 to that of exp1:  
   cd ../verification/lab_sea/matlab  
   matlab  
   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.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.11  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22