| 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 & |