1 |
dimitri |
1.1 |
Instructions for running the "beaufort" 40x40x50 configuration |
2 |
|
|
face=6; ix=101:300; jx=290:449; kx=1:50; |
3 |
|
|
|
4 |
dimitri |
1.13 |
1. Get code, input, and README files from CVS server |
5 |
|
|
cvs -d :pserver:cvsanon:cvsanon@mitgcm.org:/u/gcmpack \ |
6 |
|
|
co -d beaufort MITgcm_contrib/MPMice/beaufort |
7 |
dimitri |
1.2 |
cd beaufort |
8 |
dimitri |
1.13 |
cvs -d :pserver:cvsanon:cvsanon@mitgcm.org:/u/gcmpack co -P MITgcm_code |
9 |
dimitri |
1.2 |
|
10 |
dimitri |
1.13 |
2. Obtain copies of following directories and put them in beaufort |
11 |
|
|
wget -r -nH --cut-dirs=2 ftp://ecco2.jpl.nasa.gov/data1/beaufort/run_template |
12 |
|
|
wget -r -nH --cut-dirs=4 ftp://ecco2.jpl.nasa.gov/data1/data/atmos/blend_forcing/cube78_forcing |
13 |
dimitri |
1.2 |
(Note the forcing files in cube78_forcing span many years. |
14 |
|
|
To save time, you only need to download the years of interest, |
15 |
|
|
*92 for example below, plus the runoff-360x180x12.bin file) |
16 |
dimitri |
1.1 |
|
17 |
dimitri |
1.13 |
3. Get the ice code, PM2 (this item needs to be updated) |
18 |
dimitri |
1.1 |
Obtain directories PM2/F95 and PM2/config from ...?? |
19 |
|
|
call the directory containting PM2, ICE_DIR, |
20 |
|
|
in my case ICE_DIR=/dm5/bep/sulsky/seaice on pollux |
21 |
dimitri |
1.3 |
ICE_DIR=/workg/bep/sulsky/seaice on gemini |
22 |
|
|
|
23 |
|
|
cp -r /workg/bep/sulsky/seaice ICE_DIR |
24 |
|
|
cd ICE_DIR/PM2 |
25 |
|
|
make |
26 |
|
|
|
27 |
|
|
ONCE ONLY: (only need to redo if geometry changes) |
28 |
|
|
cd MITgcm/ice |
29 |
|
|
mpirun -np 1 ICE_DIR/PM2-Pre |
30 |
dimitri |
1.13 |
|
31 |
dimitri |
1.1 |
The PM2/config/hosts files for gemini and pollux assume petsc is installed in |
32 |
|
|
PETSCDIR = /dm5/bep/sulsky/Packages/petsc-2.3.3-p8 on pollux |
33 |
|
|
PETSCDIR = /workg/bep/sulsky/Packages/petsc-2.3.3-p8 on gemini |
34 |
|
|
If petsc is installed elsewhere, then change the directory specification. |
35 |
|
|
(The configure command to build petsc on gemini or pollux is |
36 |
|
|
./config/configure.py --with-debug=1 --with-fc=/opt/intel/fc/9.1.051/bin/ifort |
37 |
|
|
--with-f90=/opt/intel/fc/9.1.051/bin/ifort --with-mpi-dir=/opt/mpich/ch-p4 |
38 |
|
|
--with-blas-lapack-dir=/opt/intel/mkl/9.1.023/lib/64 for debuggable code and |
39 |
dimitri |
1.13 |
|
40 |
dimitri |
1.1 |
./config/configure.py --with-debug=0 --with-fc=/opt/intel/fc/9.1.051/bin/ifort |
41 |
|
|
--with-f90=/opt/intel/fc/9.1.051/bin/ifort --with-mpi-dir=/opt/mpich/ch-p4 |
42 |
|
|
--with-blas-lapack-dir=/opt/intel/mkl/9.1.023/lib/64 for optimized code.) |
43 |
dimitri |
1.13 |
|
44 |
dimitri |
1.1 |
Input files go in MITgcm/ice (pm2input, pm2geometry) After compile step, run |
45 |
|
|
PM2-Pre once to generate pm2_grid.nc pm2_part.nc with initial geometry. |
46 |
dimitri |
1.13 |
|
47 |
dimitri |
1.1 |
============================================= |
48 |
dimitri |
1.14 |
Running uncoupled, serial code |
49 |
dimitri |
1.1 |
|
50 |
dimitri |
1.13 |
4. Compile code: |
51 |
dimitri |
1.1 |
cd MITgcm |
52 |
|
|
mkdir bin exe |
53 |
|
|
cd bin |
54 |
dimitri |
1.13 |
../tools/genmake2 -mo ../../code |
55 |
dimitri |
1.1 |
make depend |
56 |
dimitri |
1.14 |
make -j |
57 |
dimitri |
1.1 |
|
58 |
dimitri |
1.13 |
5. Model execution: |
59 |
dimitri |
1.1 |
cd ../exe |
60 |
dimitri |
1.13 |
ln -sf ../../run_template/* . |
61 |
dimitri |
1.2 |
cp ../../input/* . |
62 |
dimitri |
1.1 |
cp ../bin/mitgcmuv . |
63 |
|
|
./mitgcmuv >& output.txt & |
64 |
|
|
|
65 |
|
|
============================================= |
66 |
dimitri |
1.14 |
Running uncoupled MPI code |
67 |
dimitri |
1.5 |
|
68 |
dimitri |
1.13 |
4. Compile code: |
69 |
dimitri |
1.5 |
cd MITgcm |
70 |
|
|
mkdir bin exe |
71 |
|
|
cd bin |
72 |
dimitri |
1.13 |
\cp ../../code/SIZE.h_2 SIZE.h |
73 |
|
|
\cp ../../code/CPP_EEOPTIONS.h_UNCOUPLED CPP_EEOPTIONS.h |
74 |
dimitri |
1.14 |
../tools/genmake2 -mpi -mo ../../code |
75 |
dimitri |
1.5 |
make depend |
76 |
|
|
make -j |
77 |
|
|
|
78 |
dimitri |
1.13 |
5. Model execution: |
79 |
dimitri |
1.11 |
cd ../exe |
80 |
dimitri |
1.14 |
ln -sf ../../run_template/* . |
81 |
dimitri |
1.11 |
cp ../../input/* . |
82 |
|
|
cp ../bin/mitgcmuv . |
83 |
dimitri |
1.14 |
mpiexec -np 2 ./mitgcmuv & |
84 |
dimitri |
1.11 |
|
85 |
|
|
============================================= |
86 |
dimitri |
1.14 |
Running MITgcm and MPMice |
87 |
dimitri |
1.7 |
|
88 |
dimitri |
1.14 |
4. Compile code: |
89 |
dimitri |
1.7 |
cd MITgcm |
90 |
|
|
mkdir bin |
91 |
|
|
cd bin |
92 |
|
|
\rm * |
93 |
|
|
\cp ../../code/* . |
94 |
|
|
\mv SIZE.h_2 SIZE.h |
95 |
|
|
\mv CPP_EEOPTIONS.h_CPL CPP_EEOPTIONS.h |
96 |
dimitri |
1.14 |
../tools/genmake2 -of ../../code/linux_gfortran_spiral -mpi |
97 |
dimitri |
1.7 |
make depend |
98 |
|
|
make -j |
99 |
|
|
|
100 |
|
|
cd .. |
101 |
|
|
mkdir ice |
102 |
|
|
cp ../../beaufort_020212/MITgcm/ice/* . |
103 |
|
|
cp /homes/hantran/MPM_Han/PM2/bin/PM2 . |
104 |
|
|
|
105 |
dimitri |
1.14 |
5. Model execution: |
106 |
dimitri |
1.7 |
\rm out err a.out |
107 |
|
|
mkdir ocean |
108 |
|
|
cd ocean |
109 |
|
|
\rm * |
110 |
|
|
\cp ../../run_template/* . |
111 |
|
|
\cp ../../input/* . |
112 |
|
|
cd .. |
113 |
|
|
\cp bin/mitgcmuv . |
114 |
|
|
mpiexec -np 2 mitgcmuv : -np 1 PM2 > a.out & |