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

Annotation of /MITgcm/verification/lab_sea/README

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


Revision 1.1.2.5 - (hide annotations) (download)
Wed Jan 8 21:12:32 2003 UTC (21 years, 3 months ago) by dimitri
Branch: release1
Changes since 1.1.2.4: +2 -2 lines
Modified File verification/lab_sea/README

1 heimbach 1.1.2.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 dimitri 1.1.2.2 A brief description of the sea-ice model is in "seaice.ps".
7 heimbach 1.1.2.1
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 dimitri 1.1.2.4 uwindFile = 'u10m.labsea79' # 10-m zonal wind
24     vwindFile = 'v10m.labsea79' # 10-m meridional wind
25     atempFile = 'tair.labsea1979' # 2-m air temperature
26     aqhFile = 'qa.labsea1979' # 2-m specific humidity
27 dimitri 1.1.2.5 lwfluxFile = 'flo.labsea1979' # downward longwave radiation
28     swfluxFile = 'fsh.labsea1979' # downward shortwave radiation
29 dimitri 1.1.2.4 precipFile = 'prate.labsea1979' # precipitation
30 heimbach 1.1.2.1 evapFile = 'evap.labsea1979' # evaporation
31    
32    
33 dimitri 1.1.2.2 Using testscript to test sea-ice code
34 heimbach 1.1.2.1 =====================================
35    
36 dimitri 1.1.2.2 Running the testscript experiment:
37     cd verification
38     ./testscript -force lab_sea
39 dimitri 1.1.2.4 The default experiment is Experiment 8, below.
40     It uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
41 dimitri 1.1.2.2
42     Note that fairly large differences in accuracy occur across different
43     platforms. For example, testscript comparisons between g77 (Linux)
44     and f77 (SGI) generated output gives:
45    
46 dimitri 1.1.2.3 T S U V
47     C D M c m s m s m s m s
48     n p a R g m m e . m m e . m m e . m m e .
49     f n k u 2 i a a d i a a d i a a d i a a d
50     g d e n d n x n . n x n . n x n . n x n .
51 dimitri 1.1.2.2
52 dimitri 1.1.2.3 Y Y Y Y 8 10 9 11 10 9 11 13 10 9 8 8 9 8 9 8 9 FAIL lab_sea
53 dimitri 1.1.2.2
54    
55     Instructions for generating 1-CPU and 2-CPU executables
56     =======================================================
57    
58     Generating 1-CPU executable:
59 dimitri 1.1.2.3 cd verification/lab_sea/input
60 dimitri 1.1.2.2 ln -sf ../code/SIZE.h .
61     ln -sf ../code/CPP_EEOPTIONS.h .
62 dimitri 1.1.2.3 ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
63     rm -f SEAICE_OPTIONS.h
64 dimitri 1.1.2.2 ../../../tools/genmake -makefile
65     ==> on alhena use:
66     ../../../tools/genmake -platform=o2k_noopt -makefile
67     make clean
68     make depend
69     make
70     mv mitgcmuv mitgcmuv_1
71 dimitri 1.1.2.3
72     Generating 1-CPU executable with SEAICE_EXTERNAL_FORCING:
73     cd ../../../verification/lab_sea/input
74     ln -sf ../code/SIZE.h .
75     ln -sf ../code/CPP_EEOPTIONS.h .
76     ln -sf ../code/CPP_OPTIONS.h .
77     ln -sf ../code/ECCO_CPPOPTIONS.h .
78     ln -sf ../code/SEAICE_OPTIONS.h .
79     ../../../tools/genmake -makefile
80     ==> on alhena use:
81     ../../../tools/genmake -platform=o2k_noopt -makefile
82     make clean
83     make depend
84     make
85     mv mitgcmuv mitgcmuv_exf_forcing
86    
87     Generating 1-CPU executable with SEAICE_EXTERNAL_FLUXES:
88     cd ../../../verification/lab_sea/input
89     ln -sf ../code/SIZE.h .
90     ln -sf ../code/CPP_EEOPTIONS.h .
91     ln -sf ../code/CPP_OPTIONS.h .
92     ln -sf ../code/ECCO_CPPOPTIONS.BULK.h ECCO_CPPOPTIONS.h
93     ln -sf ../code/SEAICE_OPTIONS.EXF_FLUXES.h SEAICE_OPTIONS.h
94     ../../../tools/genmake -makefile
95     ==> on alhena use:
96     ../../../tools/genmake -platform=o2k_noopt -makefile
97     make clean
98     make depend
99     make
100     mv mitgcmuv mitgcmuv_exf_fluxes
101 dimitri 1.1.2.2
102     Generating 2-CPU executable:
103     cd ../../../verification/lab_sea/input
104 dimitri 1.1.2.3 ln -sf ../code/SIZE.2x1.h SIZE.h
105     ln -sf ../code/CPP_EEOPTIONS.MPI.h CPP_EEOPTIONS.h
106     ln -sf ../code/CPP_OPTIONS.NOEXF.h CPP_OPTIONS.h
107     rm -f SEAICE_OPTIONS.h
108 dimitri 1.1.2.2 ../../../tools/genmake -mpi -makefile
109     ==> on alhena for comparison purposes use:
110     ../../../tools/genmake -mpi -platform=o2k_noopt -makefile
111     ==> on alhena for fast execution use:
112     ../../../tools/genmake -mpi -platform=o2k -makefile
113     make clean
114 heimbach 1.1.2.1 make depend
115     make
116 dimitri 1.1.2.2 mv mitgcmuv mitgcmuv_2x1
117    
118    
119     Instructions for running Experiment 1
120     =====================================
121 heimbach 1.1.2.1
122 dimitri 1.1.2.4 This is a 1-cpu, 10-hour integration used to make sure that all
123     the files are available and that the sea-ice model compiles and
124     runs. The reading of atmospheric forcing files and the computation
125     of open-water bulk fluxes are carried out within pkg/seaice.
126 dimitri 1.1.2.2
127     To run Experiment 1:
128     cd ../../../verification/lab_sea/input
129 dimitri 1.1.2.3 ln -sf DATA.10hours data
130     ln -sf DATA.SEAICE.adi data.seaice
131 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
132 heimbach 1.1.2.1 mkdir exp1
133     mv *tave.0000000010.data exp1
134    
135 dimitri 1.1.2.2 Use matlab script lookat_exp1.m to compare the output
136 dimitri 1.1.2.3 of exp1 with that from release1_p10 sea-ice code:
137 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
138 heimbach 1.1.2.1 matlab
139     lookat_exp1
140    
141 dimitri 1.1.2.2
142 heimbach 1.1.2.1 Instructions for running Experiment 2
143     =====================================
144    
145     This is a 1-cpu test of the LSR solver. The solution is
146     compared to that of experiment 1, which used the ADI solver.
147    
148 dimitri 1.1.2.2 To run Experiment 2:
149     cd ../../../verification/lab_sea/input
150 dimitri 1.1.2.3 ln -sf DATA.10hours data
151     ln -sf DATA.SEAICE.lsr data.seaice
152 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
153 heimbach 1.1.2.1 mkdir exp2
154     mv *tave.0000000010.data exp2
155    
156 dimitri 1.1.2.2 Use matlab script lookat_exp2.m to compare
157 heimbach 1.1.2.1 the output of exp2 to that of exp1:
158 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
159 heimbach 1.1.2.1 matlab
160     lookat_exp2
161    
162 dimitri 1.1.2.2
163 heimbach 1.1.2.1 Instructions for running Experiment 3
164     =====================================
165    
166     This is a test of periodic boundary conditions for LSR
167     and ADI solvers. The domain has a flat bottom and
168     is periodic both in the x and the y directions.
169 dimitri 1.1.2.2 All forcing files are null or constant (u10m = v10m = 5 m/s).
170 heimbach 1.1.2.1
171 dimitri 1.1.2.2 To run Experiment 3:
172     cd ../../../verification/lab_sea/input
173 dimitri 1.1.2.3 ln -sf DATA.1hour data
174     ln -sf DATA.SEAICE.testadi data.seaice
175 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
176 heimbach 1.1.2.1 mkdir exp3a
177     mv *tave.0000000001.data exp3a
178 dimitri 1.1.2.3 ln -sf DATA.SEAICE.testlsr data.seaice
179 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
180 heimbach 1.1.2.1 mkdir exp3b
181     mv *tave.0000000001.data exp3b
182    
183 dimitri 1.1.2.2 Use matlab script lookat_exp3.m to compare
184 heimbach 1.1.2.1 the output of exp2 to that of exp1:
185 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
186 heimbach 1.1.2.1 matlab
187     lookat_exp3
188    
189     If the dynamic ice solvers are correct, they should converge to a
190     constant solution. The tests above show that both the ADI and the LSR
191     solver are unable to handle periodic domains and therefore that they
192     cannot be "correctly" parallelized.
193    
194 dimitri 1.1.2.2
195 heimbach 1.1.2.1 Instructions for running Experiment 4
196     =====================================
197    
198     This is a 2-cpu, 10-hour integration used to test
199     tile edges for sea-ice dynamic solvers.
200    
201 dimitri 1.1.2.2 To run Experiment 4:
202     cd ../../../verification/lab_sea/input
203 dimitri 1.1.2.3 ln -sf DATA.10hours data
204     ln -sf DATA.SEAICE.adi data.seaice
205 heimbach 1.1.2.1 mpirun -np 2 mitgcmuv_2x1
206     mkdir exp4
207     mv *tave.0000000010.data exp4
208    
209     Use the matlab script lookat_exp4.m to compare
210     the 2-cpu output to that of exp1:
211 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
212 heimbach 1.1.2.1 matlab
213     lookat_exp4
214    
215     The inaccuracy at the tile boundary can be decreased by increasing
216     NPSEUDO in data.seaice at the expense of computation time.
217     Also as sea-ice ages (thickens) the difference at the tiles becomes
218     increasingly small. For solver pkg/seaice/adi.F a value of NPSEUDO=10
219     appears adequate for forward integrations but cannot be used for sea-ice
220     adjoint model. Work is underway to fix this problem.
221    
222    
223     Instructions for running Experiment 5
224     =====================================
225    
226     This is a 2-cpu, 2-year, test integration. It illustrates
227 dimitri 1.1.2.2 convention used by seaice_get_forcing.F for multi-year forcing.
228 heimbach 1.1.2.1
229 dimitri 1.1.2.2 To run Experiment 5:
230     cd ../../../verification/lab_sea/input
231 dimitri 1.1.2.3 ln -sf DATA.2years data
232     ln -sf DATA.SEAICE.adi data.seaice
233 dimitri 1.1.2.2 ln -sf evap.labsea1979 evap.labsea1980
234     ln -sf flo.labsea1979 flo.labsea1980
235     ln -sf fsh.labsea1979 fsh.labsea1980
236 heimbach 1.1.2.1 ln -sf prate.labsea1979 prate.labsea1980
237 dimitri 1.1.2.2 ln -sf qa.labsea1979 qa.labsea1980
238     ln -sf tair.labsea1979 tair.labsea1980
239     ln -sf u10m.labsea79 u10m.labsea80
240     ln -sf v10m.labsea79 v10m.labsea80
241 heimbach 1.1.2.1 mpirun -np 2 mitgcmuv_2x1
242    
243 dimitri 1.1.2.2 Use the matlab script lookat_exp5.m to compare
244 heimbach 1.1.2.1 the 2-cpu output to SMMR-SSM/I data:
245 dimitri 1.1.2.2 cd ../../../verification/lab_sea/matlab
246 heimbach 1.1.2.1 matlab
247     lookat_exp5
248    
249     Disclaimer:
250     The comparison here is just for fun, not really supposed
251     to look anything like the data.
252     Otherwise it would put a lot of people out of business :-)
253    
254     Instructions for running Experiment 6
255     =====================================
256    
257     This is a 1-cpu test of sea-ice thermodynamics (no dynamics).
258     The solution is compared to that of experiment 1.
259    
260 dimitri 1.1.2.2 To run Experiment 6:
261     cd ../../../verification/lab_sea/input
262 dimitri 1.1.2.3 ln -sf DATA.10hours data
263     ln -sf DATA.SEAICE.nodynamics data.seaice
264 dimitri 1.1.2.2 mitgcmuv_1 >&! output.txt
265 heimbach 1.1.2.1 mkdir exp6
266     mv *tave.0000000010.data exp6
267    
268     Use the matlab script lookat_exp6.m to compare
269 dimitri 1.1.2.2 the output of exp6 to that of exp1:
270 heimbach 1.1.2.1 cd ../verification/lab_sea/matlab
271     matlab
272     lookat_exp6
273 dimitri 1.1.2.2
274     Instructions for running Experiment 7
275     =====================================
276    
277     This is a 2-cpu, 10-hour integration used to test
278     tile edges for sea-ice thermodynamics (no dynamics).
279     2-CPU executable from experiment 4 is required.
280    
281     To run Experiment 7:
282     cd ../../../verification/lab_sea/input
283 dimitri 1.1.2.3 ln -sf DATA.10hours data
284     ln -sf DATA.SEAICE.nodynamics data.seaice
285 dimitri 1.1.2.2 mpirun -np 2 mitgcmuv_2x1
286     mkdir exp7
287     mv *tave.0000000010.data exp7
288    
289     Use the matlab script lookat_exp7.m to compare
290     the output of exp7 to that of exp6:
291     cd ../verification/lab_sea/matlab
292     matlab
293     lookat_exp7
294 dimitri 1.1.2.3
295    
296     Instructions for running Experiment 8
297     =====================================
298    
299     This is the default experiment which is executed by
300     verification/testscript. It is a 1-cpu, 10-hour integration
301     used to test CPP option SEAICE_EXTERNAL_FORCING. Atmospheric
302     state is read-in using pkg/exf, rather than pkg/seaice routines.
303     This experiment uses pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf.
304    
305     To run Experiment 8:
306     cd ../../../verification/lab_sea/input
307     ln -sf DATA.10hours_exf data
308     ln -sf DATA.SEAICE.adi_exf data.seaice
309     mitgcmuv_exf_forcing >&! output.txt
310     mkdir exp8
311     mv *tave.0000000010.data exp8
312    
313     Use matlab script lookat_exp8.m to compare
314     the output of exp8 to that of exp1:
315     cd ../../../verification/lab_sea/matlab
316     matlab
317     lookat_exp8
318    
319    
320     Instructions for running Experiment 9
321     =====================================
322    
323     This is a 1-cpu, 10-hour integration used to test CPP option
324 dimitri 1.1.2.4 SEAICE_EXTERNAL_FLUXES. Both the atmospheric state and the
325     open-water surface fluxes are provided by pkg/exf.
326 dimitri 1.1.2.3
327     To run Experiment 9:
328     cd ../../../verification/lab_sea/input
329     ln -sf DATA.10hours_exf data
330     ln -sf DATA.SEAICE.adi_exf data.seaice
331     mitgcmuv_exf_fluxes >&! output.txt
332     mkdir exp9
333     mv *tave.0000000010.data exp9
334    
335     Use matlab script lookat_exp9.m to compare
336     the output of exp9 to that of exp8:
337     cd ../../../verification/lab_sea/matlab
338     matlab
339     lookat_exp9

  ViewVC Help
Powered by ViewVC 1.1.22