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 |
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 |
lwdownFile = 'flo.labsea1979' # downward longwave radiation |
28 |
swdownFile = 'fsh.labsea1979' # downward shortwave radiation |
29 |
precipFile = 'prate.labsea1979' # precipitation |
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 |
|
40 |
Using testscript to test sea-ice code |
41 |
===================================== |
42 |
|
43 |
Running the testscript experiment: |
44 |
cd MITgcm/verification |
45 |
./testreport -t lab_sea |
46 |
|
47 |
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 |
T S U V |
52 |
C D M c m s m s m s m s |
53 |
n p a R g m m e . m m e . m m e . m m e . |
54 |
f n k u 2 i a a d i a a d i a a d i a a d |
55 |
g d e n d n x n . n x n . n x n . n x n . |
56 |
|
57 |
Y Y Y Y 8 10 9 11 10 9 11 13 10 9 8 8 9 8 9 8 9 FAIL lab_sea |
58 |
|
59 |
|
60 |
Instructions for generating and running a 1-CPU experiment |
61 |
========================================================== |
62 |
|
63 |
cd MITgcm/verification/lab_sea |
64 |
mkdir build |
65 |
cd build |
66 |
cp ../code/*.h ../code/packages.conf . |
67 |
../../../tools/genmake2 |
68 |
make depend |
69 |
make |
70 |
cd ../input |
71 |
../build/mitgcmuv > output.txt |
72 |
|
73 |
Use matlab script lookat_exp1.m to compare the output |
74 |
of exp1 with that from checkpoint51f sea-ice code: |
75 |
cd ../../../verification/lab_sea/matlab |
76 |
matlab |
77 |
lookat_ice |
78 |
|
79 |
|
80 |
Instructions for generating and running a 2-CPU experiment on kalpana |
81 |
===================================================================== |
82 |
|
83 |
cd MITgcm/verification/lab_sea |
84 |
mkdir build |
85 |
cd build |
86 |
\cp ../code/*.h ../code/packages.conf . |
87 |
\cp ../code/SIZE.h_mpi SIZE.h |
88 |
../../../tools/genmake2 -of ../../../tools/build_options/linux_ia64_efc+mpi_altix |
89 |
make depend |
90 |
make |
91 |
cd ../input |
92 |
mpirun -np 2 ../build/mitgcmuv |
93 |
|
94 |
|
95 |
Instructions for testing useExfYearlyFields |
96 |
=========================================== |
97 |
|
98 |
cd MITgcm/verification/lab_sea/build |
99 |
\rm * |
100 |
\cp ../code/* . |
101 |
sed 's/undef EXF_V/define EXF_V/' \ |
102 |
../../../pkg/exf/EXF_OPTIONS.h > EXF_OPTIONS.h |
103 |
../../../tools/genmake2 |
104 |
make depend |
105 |
make -j |
106 |
cd ../run |
107 |
\rm * |
108 |
\cp ../input/* . |
109 |
\mv v10m.labsea1979 v10m.labsea_1979 |
110 |
\mv u10m.labsea1979 u10m.labsea_1979 |
111 |
\mv flo.labsea1979 flo.labsea_1979 |
112 |
\mv prate.labsea1979 prate.labsea_1979 |
113 |
\mv tair.labsea1979 tair.labsea_1979 |
114 |
\mv fsh.labsea1979 fsh.labsea_1979 |
115 |
\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 & |