1 |
heimbach |
1.1 |
|
2 |
|
|
25-Sep-2008 |
3 |
|
|
heimbach@mit.edu, gforget@mit.edu, dmenemenlis@gmail.com, hzhang@caltech.edu |
4 |
|
|
|
5 |
|
|
# The following is a description of the CS510 |
6 |
|
|
# adjoint-based state estimation setup. |
7 |
|
|
# It is based on checkpoint61d. |
8 |
|
|
# A prototype setup ran successfully in a 360-proc. config. |
9 |
|
|
# on beagle.darwinproject.mit.edu |
10 |
|
|
# Stable run for 10-days. sensitivity growth for 1 month |
11 |
|
|
# (but not much tweaking with viscosity etc.) |
12 |
|
|
# |
13 |
|
|
# Default setup for columbia set up to use 450 processors of tile size 34x34. |
14 |
|
|
|
15 |
|
|
# 0. Set some variables |
16 |
|
|
set mitgcm_basedir = [ for example ~/MITgcm_c61d ] |
17 |
|
|
|
18 |
|
|
# 1. Check out clean MITgcm checkpoint from CVS |
19 |
|
|
cvs co -d MITgcm_c61d -r checkpoint61d MITgcm |
20 |
zhc |
1.6 |
#or latest code |
21 |
|
|
#cvs co MITgcm_code |
22 |
heimbach |
1.1 |
|
23 |
|
|
# 2. Check out config. files for this setup: |
24 |
|
|
cvs co MITgcm_contrib/high_res_cube/cs510_adjoint |
25 |
|
|
|
26 |
|
|
# 3. (I prefer it that way, but a matter of taste), |
27 |
|
|
\cp -r MITgcm_contrib/high_res_cube/cs510_adjoint $mitgcm_basedir/verification/. |
28 |
|
|
|
29 |
zhc |
1.6 |
# 4. Prepare build; we now need cyrus-makedepend |
30 |
heimbach |
1.1 |
cd $mitgcm_basedir/tools/cyrus-imapd-makedepend |
31 |
|
|
./configure |
32 |
|
|
make |
33 |
|
|
|
34 |
zhc |
1.6 |
# 5. Make sure to use default topology (or use different one) |
35 |
heimbach |
1.1 |
cd $mitgcm_basedir/verification/cs510_adjoint/code_ad/ |
36 |
zhc |
1.6 |
#no more topo needed |
37 |
|
|
#\cp -f topol_360_85x51/* . |
38 |
zhc |
1.5 |
#level options: 50 levels |
39 |
|
|
\cp -f SIZE.h_lev50 SIZE.h |
40 |
zhc |
1.4 |
#DIVA options: no_diva |
41 |
|
|
\cp -f ECCO_CPPOPTIONS.h_nodiva ECCO_CPPOPTIONS.h |
42 |
zhc |
1.6 |
#Or DIVA |
43 |
|
|
\cp -f ECCO_CPPOPTIONS.h_diva ECCO_CPPOPTIONS.h |
44 |
heimbach |
1.1 |
|
45 |
zhc |
1.6 |
|
46 |
|
|
# 6. Build model |
47 |
heimbach |
1.1 |
cd $mitgcm_basedir/verification/cs510_adjoint/build_ad/ |
48 |
zhc |
1.6 |
#DIVA options: no_diva |
49 |
|
|
../../../tools/genmake2 "-of" "linux_ia64_ifort+mpi_altix_nas" \ |
50 |
heimbach |
1.1 |
"-makedepend" "../../../tools/cyrus-imapd-makedepend/makedepend" \ |
51 |
|
|
"-mods" "../code_ad" |
52 |
zhc |
1.6 |
#Or DIVA |
53 |
|
|
#../../../tools/genmake2 -of linux_ia64_ifort+mpi_altix_nas \ |
54 |
zhc |
1.4 |
# -adof ../../../tools/adjoint_options/adjoint_diva_mpi \ |
55 |
|
|
# -makedepend ../../../tools/cyrus-imapd-makedepend/makedepend -mods ../code_ad |
56 |
|
|
|
57 |
heimbach |
1.1 |
make depend |
58 |
|
|
make adtaf |
59 |
|
|
make -j adall |
60 |
|
|
|
61 |
|
|
|
62 |
zhc |
1.6 |
# 7. Run model |
63 |
zhc |
1.2 |
cd .. |
64 |
|
|
mkdir run |
65 |
|
|
cd run |
66 |
|
|
ln -sf ../build_ad/mitgcmuv_ad . |
67 |
zhc |
1.6 |
cp -pf ../input_ad/* . |
68 |
|
|
#On Columbia |
69 |
zhc |
1.4 |
ln -sf /nobackup2a/menemenl/cs510_ad_test/MITgcm/verification/cs510_adjoint/input_fields/* . |
70 |
|
|
ln -sf /nobackup2a/menemenl/forcing/cube78_forcing . |
71 |
zhc |
1.6 |
#Or on Pleiades |
72 |
|
|
#ln -sf /nobackupp10/zhangh/cs510_ad_test/MITgcm/verification/cs510_adjoint/input_fields/* . |
73 |
|
|
#ln -sf /nobackupp10/zhangh/forcing/cube78_forcing . |
74 |
zhc |
1.4 |
#change data*... |
75 |
zhc |
1.5 |
#level 50 |
76 |
|
|
\cp -f data.err_lev50 data.err |
77 |
|
|
\cp -f data.ecco_lev50 data.ecco |
78 |
|
|
\cp -f data_lev50 data |
79 |
zhc |
1.4 |
|
80 |
zhc |
1.2 |
|
81 |
|
|
#change jobfile: cs510_adj_run |
82 |
zhc |
1.6 |
#On Columbia |
83 |
|
|
qsub cs510_adj_run_Columbia |
84 |
|
|
#Or on Pleiades |
85 |
|
|
#qsub cs510_adj_run_Pleiades |