/[MITgcm]/MITgcm/verification/lab_sea/README
ViewVC logotype

Contents of /MITgcm/verification/lab_sea/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1.2.2 - (show annotations) (download)
Thu Dec 5 08:06:18 2002 UTC (21 years, 4 months ago) by dimitri
Branch: release1
CVS Tags: release1_p9
Changes since 1.1.2.1: +118 -81 lines
release1_p9
o pkg/seaice
  - removed GOTO's and added taf directives
  - double precision constants to reduce the g77 (Linux)
    to F77 (SGI) differences reported in release1_p8
o tools/genmake
  - added SGI options
o verification/testscript
  - updated to that of checkpoint47a_post
o verification/global_ocean.90x40x15/input/eedata
  - modified for SGI f77 compatibility
o verification/lab_sea
  - added description of sea-ice model
  - added missing matlab routines
  - added test of thermodynamics parallelization
Modified Files:
 Tag: release1
   doc/tag-index pkg/seaice/SEAICE_FFIELDS.h
   pkg/seaice/SEAICE_PARAMS.h pkg/seaice/adi.F
   pkg/seaice/advect.F pkg/seaice/budget.F pkg/seaice/diffus.F
   pkg/seaice/dynsolver.F pkg/seaice/groatb.F pkg/seaice/growth.F
   pkg/seaice/lsr.F pkg/seaice/ostres.F
   pkg/seaice/seaice_do_diags.F pkg/seaice/seaice_get_forcing.F
   pkg/seaice/seaice_init.F pkg/seaice/seaice_model.F
   pkg/seaice/seaice_readparms.F tools/genmake
   verification/testscript
   verification/global_ocean.90x40x15/input/eedata
   verification/lab_sea/README
   verification/lab_sea/code/CPP_EEOPTIONS.h
   verification/lab_sea/code/CPP_EEOPTIONS_MPI.h
   verification/lab_sea/code/CPP_OPTIONS.h
   verification/lab_sea/code/SIZE.h
   verification/lab_sea/code/SIZE_2x1.h
   verification/lab_sea/input/data
   verification/lab_sea/matlab/lookat_exp1.m
   verification/lab_sea/matlab/lookat_exp2.m
   verification/lab_sea/matlab/lookat_exp3.m
   verification/lab_sea/matlab/lookat_exp4.m
   verification/lab_sea/matlab/lookat_exp5.m
   verification/lab_sea/matlab/lookat_exp6.m
   verification/lab_sea/results/AREAtave.0000000010.data
   verification/lab_sea/results/HEFFtave.0000000010.data
   verification/lab_sea/results/UICEtave.0000000010.data
   verification/lab_sea/results/VICEtave.0000000010.data
   verification/lab_sea/results/output.txt
Added Files:
 Tag: release1
   verification/lab_sea/seaice.ps
   verification/lab_sea/matlab/lookat_exp7.m
   verification/lab_sea/matlab/mmax.m
   verification/lab_sea/matlab/mypcolor.m
   verification/lab_sea/matlab/myquiver.m
   verification/lab_sea/matlab/readbin.m
   verification/lab_sea/matlab/wysiwyg.m
Removed Files:
 Tag: release1
   verification/lab_sea/code/KPP_OPTIONS.h

1 Example: Labrador Sea Region with Sea-Ice
2 =========================================
3
4 This example sets up a small (20x16x23) Labrador Sea experiment
5 coupled to a dynamic thermodynamic sea-ice model.
6 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.
9 Horizontal grid spacing is 2 degrees.
10 The 23 vertical levels and the bathymetry file
11 bathyFile = 'bathy.labsea'
12 are obtained from the the 2-degree ECCO configuration.
13
14 Integration is initialized from annual-mean Levitus climatology
15 hydrogThetaFile = 'LevCli_temp.labsea'
16 hydrogSaltFile = 'LevCli_salt.labsea'
17
18 Surface salinity relaxation is to the monthly mean Levitus climatology
19 saltClimFile = 'SSS.labsea'
20
21 Forcing files are a 1979-1999 monthly climatology computed from the
22 NCEP reanalysis (see pkg/seaice/SEAICE_FFIELDS.h for units and signs)
23 gairxFile = 'u10m.labsea79' # 10-m zonal wind
24 gairyFile = 'v10m.labsea79' # 10-m meridional wind
25 tairFile = 'tair.labsea1979' # 2-m air temperature
26 qaFile = 'qa.labsea1979' # 2-m specific humidity
27 floFile = 'flo.labsea1979' # longwave radiation
28 fshFile = 'fsh.labsea1979' # shortwave radiation
29 rainFile = 'prate.labsea1979' # precipitation
30 evapFile = 'evap.labsea1979' # evaporation
31
32
33 Using testscript to test sea-ice code
34 =====================================
35
36 Running the testscript experiment:
37 cd verification
38 ./testscript -force lab_sea
39
40 Note that fairly large differences in accuracy occur across different
41 platforms. For example, testscript comparisons between g77 (Linux)
42 and f77 (SGI) generated output gives:
43
44 T S U V
45 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 .
47 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 .
49
50 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
54 =======================================================
55
56 Generating 1-CPU executable:
57 cd ../verification/lab_sea/input
58 ln -sf ../code/SIZE.h .
59 ln -sf ../code/CPP_OPTIONS.h .
60 ln -sf ../code/CPP_EEOPTIONS.h .
61 ../../../tools/genmake -makefile
62 ==> on alhena use:
63 ../../../tools/genmake -platform=o2k_noopt -makefile
64 make clean
65 make depend
66 make
67 mv mitgcmuv mitgcmuv_1
68
69 Generating 2-CPU executable:
70 cd ../../../verification/lab_sea/input
71 ln -sf ../code/SIZE_2x1.h SIZE.h
72 ln -sf ../code/CPP_OPTIONS.h .
73 ln -sf ../code/CPP_EEOPTIONS_MPI.h CPP_EEOPTIONS.h
74 ../../../tools/genmake -mpi -makefile
75 ==> on alhena for comparison purposes use:
76 ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
77 ==> on alhena for fast execution use:
78 ../../../tools/genmake -mpi -platform=o2k -makefile
79 make clean
80 make depend
81 make
82 mv mitgcmuv mitgcmuv_2x1
83
84
85 Instructions for running Experiment 1
86 =====================================
87
88 This is a 1-cpu, 10-hour integration used to make sure that all the
89 files are available and that the model compiles and integrates. It
90 is the default experiment of "verification/testscript lab_sea".
91
92 To run Experiment 1:
93 cd ../../../verification/lab_sea/input
94 ln -sf data.10hours data
95 ln -sf data.seaice.adi data.seaice
96 mitgcmuv_1 >&! output.txt
97 mkdir exp1
98 mv *tave.0000000010.data exp1
99
100 Use matlab script lookat_exp1.m to compare the output
101 of exp1 with that from release1_patch5 sea-ice code:
102 cd ../../../verification/lab_sea/matlab
103 matlab
104 lookat_exp1
105
106
107 Instructions for running Experiment 2
108 =====================================
109
110 This is a 1-cpu test of the LSR solver. The solution is
111 compared to that of experiment 1, which used the ADI solver.
112
113 To run Experiment 2:
114 cd ../../../verification/lab_sea/input
115 ln -sf data.10hours data
116 ln -sf data.seaice.lsr data.seaice
117 mitgcmuv_1 >&! output.txt
118 mkdir exp2
119 mv *tave.0000000010.data exp2
120
121 Use matlab script lookat_exp2.m to compare
122 the output of exp2 to that of exp1:
123 cd ../../../verification/lab_sea/matlab
124 matlab
125 lookat_exp2
126
127
128 Instructions for running Experiment 3
129 =====================================
130
131 This is a test of periodic boundary conditions for LSR
132 and ADI solvers. The domain has a flat bottom and
133 is periodic both in the x and the y directions.
134 All forcing files are null or constant (u10m = v10m = 5 m/s).
135
136 To run Experiment 3:
137 cd ../../../verification/lab_sea/input
138 ln -sf data.1hour data
139 ln -sf data.seaice.testadi data.seaice
140 mitgcmuv_1 >&! output.txt
141 mkdir exp3a
142 mv *tave.0000000001.data exp3a
143 ln -sf data.seaice.testlsr data.seaice
144 mitgcmuv_1 >&! output.txt
145 mkdir exp3b
146 mv *tave.0000000001.data exp3b
147
148 Use matlab script lookat_exp3.m to compare
149 the output of exp2 to that of exp1:
150 cd ../../../verification/lab_sea/matlab
151 matlab
152 lookat_exp3
153
154 If the dynamic ice solvers are correct, they should converge to a
155 constant solution. The tests above show that both the ADI and the LSR
156 solver are unable to handle periodic domains and therefore that they
157 cannot be "correctly" parallelized.
158
159
160 Instructions for running Experiment 4
161 =====================================
162
163 This is a 2-cpu, 10-hour integration used to test
164 tile edges for sea-ice dynamic solvers.
165
166 To run Experiment 4:
167 cd ../../../verification/lab_sea/input
168 ln -sf data.10hours data
169 ln -sf data.seaice.adi data.seaice
170 mpirun -np 2 mitgcmuv_2x1
171 mkdir exp4
172 mv *tave.0000000010.data exp4
173
174 Use the matlab script lookat_exp4.m to compare
175 the 2-cpu output to that of exp1:
176 cd ../../../verification/lab_sea/matlab
177 matlab
178 lookat_exp4
179
180 The inaccuracy at the tile boundary can be decreased by increasing
181 NPSEUDO in data.seaice at the expense of computation time.
182 Also as sea-ice ages (thickens) the difference at the tiles becomes
183 increasingly small. For solver pkg/seaice/adi.F a value of NPSEUDO=10
184 appears adequate for forward integrations but cannot be used for sea-ice
185 adjoint model. Work is underway to fix this problem.
186
187
188 Instructions for running Experiment 5
189 =====================================
190
191 This is a 2-cpu, 2-year, test integration. It illustrates
192 convention used by seaice_get_forcing.F for multi-year forcing.
193
194 To run Experiment 5:
195 cd ../../../verification/lab_sea/input
196 ln -sf data.2years data
197 ln -sf data.seaice.adi data.seaice
198 ln -sf evap.labsea1979 evap.labsea1980
199 ln -sf flo.labsea1979 flo.labsea1980
200 ln -sf fsh.labsea1979 fsh.labsea1980
201 ln -sf prate.labsea1979 prate.labsea1980
202 ln -sf qa.labsea1979 qa.labsea1980
203 ln -sf tair.labsea1979 tair.labsea1980
204 ln -sf u10m.labsea79 u10m.labsea80
205 ln -sf v10m.labsea79 v10m.labsea80
206 mpirun -np 2 mitgcmuv_2x1
207
208 Use the matlab script lookat_exp5.m to compare
209 the 2-cpu output to SMMR-SSM/I data:
210 cd ../../../verification/lab_sea/matlab
211 matlab
212 lookat_exp5
213
214 Disclaimer:
215 The comparison here is just for fun, not really supposed
216 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
220 =====================================
221
222 This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
223 The solution is compared to that of experiment 1.
224
225 To run Experiment 6:
226 cd ../../../verification/lab_sea/input
227 ln -sf data.10hours data
228 ln -sf data.seaice.nodynamics data.seaice
229 mitgcmuv_1 >&! output.txt
230 mkdir exp6
231 mv *tave.0000000010.data exp6
232
233 Use the matlab script lookat_exp6.m to compare
234 the output of exp6 to that of exp1:
235 cd ../verification/lab_sea/matlab
236 matlab
237 lookat_exp6
238
239 Instructions for running Experiment 7
240 =====================================
241
242 This is a 2-cpu, 10-hour integration used to test
243 tile edges for sea-ice thermodynamics (no dynamics).
244 2-CPU executable from experiment 4 is required.
245
246 To run Experiment 7:
247 cd ../../../verification/lab_sea/input
248 ln -sf data.10hours data
249 ln -sf data.seaice.nodynamics data.seaice
250 mpirun -np 2 mitgcmuv_2x1
251 mkdir exp7
252 mv *tave.0000000010.data exp7
253
254 Use the matlab script lookat_exp7.m to compare
255 the output of exp7 to that of exp6:
256 cd ../verification/lab_sea/matlab
257 matlab
258 lookat_exp7

  ViewVC Help
Powered by ViewVC 1.1.22