1 |
last changed June 8, 2004 |
2 |
|
3 |
OBSERVATION SYSTEM SIMULATION EXPERIMENT |
4 |
|
5 |
OSSE is an MITgcm configuration to simulate data assimilation with a |
6 |
deterministic ensemble Kalman filter and a model of a rotating tank of |
7 |
water with an ice bucket at the center. |
8 |
|
9 |
INSTALLATION |
10 |
|
11 |
At the time of this writing, the OSSE requires MITgcm checkpoint48 to |
12 |
compile and run. MITgcm can be obtained from |
13 |
<http://mitgcm.org/source_code.html>. If downloading from the CVS |
14 |
server, use the command |
15 |
|
16 |
cvs co -r 'checkpoint48' MITgcm |
17 |
|
18 |
in order to specify the correct version. Read the instructions on the |
19 |
the webpage before trying to use the CVS server. |
20 |
|
21 |
The OSSE directory tree can be obtained from the MITgcm CVS repository |
22 |
with the command |
23 |
|
24 |
cvs co MITgcm_contrib/osse |
25 |
|
26 |
The code and its revision history can be browsed at |
27 |
|
28 |
<http://dev.mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm_contrib/osse/> |
29 |
|
30 |
A good place to put the osse directory tree is in MITgcm/verification, |
31 |
where examples and test examples of MITgcm configurations are kept. |
32 |
|
33 |
CONTENTS |
34 |
|
35 |
EnKF: empty |
36 |
|
37 |
build: handy place to compile MITgcm |
38 |
|
39 |
code: modifications to MITgcm to run in cyclindrical coordinates. At |
40 |
the time of this writing, it requires checkpoint48 to compile and run. |
41 |
|
42 |
codemod: modification to MITgcm to run with checkpoint 54. Not quite |
43 |
ready for prime time. |
44 |
|
45 |
da: location for ensemble members and initialization and input files |
46 |
|
47 |
input: initialization and input files for running MITgcm |
48 |
|
49 |
filter: source and data files to run the data assimilation and Kalman |
50 |
filter. |
51 |
|
52 |
run: empty |
53 |
|
54 |
utils: assorted Matlab m-files |
55 |
|
56 |
|
57 |
COMPILING AND TESTING THE MODEL |
58 |
|
59 |
The following series of commands creates the MITgcm executable. |
60 |
|
61 |
From the MITgcm root: |
62 |
|
63 |
cd verification/osse/build |
64 |
../../../tools/genmake -mods=../code # creates makefile |
65 |
make depend # contructs Fortran code from model codebase |
66 |
make # makes executable mitgcmuv |
67 |
|
68 |
Try a test run, while redirecting the standard output to a file. The |
69 |
input directory contains files that should be present in the working |
70 |
directory when you run mitgcmuv. Assuming that you compiled the |
71 |
MITgcm executable in the build/ directory, you would run |
72 |
``../build/mitgcmuv >& output.txt'' It is recommended that you copy the |
73 |
contents of the directory input/ to a different directory for running |
74 |
-- mitgcmuv does not change them, but they can be lost in the multitudes |
75 |
of output files. |
76 |
|
77 |
The data assimilation code is made by typing ``make'' in the filter |
78 |
directory, which creates an executable named ``osse''. |
79 |
|
80 |
Before running osse, the initial ensemble needs to be set up by |
81 |
running the mkens script in verification/osse/da. mkens creates the |
82 |
directories, symbolically links files necessary to run the model, and |
83 |
copies in the initial ensemble files. osse should be run from the |
84 |
directory verification/osse/da/inits since it expects the ensemble |
85 |
members to be one directory above. It also expects to have in its |
86 |
working directory the file iobsloc-003.txt, which contains the |
87 |
locations of the observations. This file is located in |
88 |
verification/osse/da/inits. |