星期五, 4月 29, 2011

ROMS再試

ROMS... n個年前就想玩了,實際上也每隔一段時間就玩一下…
重點是好難啊…沒有一次上手,希望這次能成…
這裏記錄一些指令…免得每次玩都要查半天
請確定你有裝 ifort 以及 intel math kernel liberary
而且這二個的初始路徑設置也都正確執行了…
mkdir roms
cd roms
svn co --username CMD https://www.myroms.org/svn/src/trunk <---這是roms主程式
svn co --username CMD https://www.myroms.org/svn/src/test  <---測試範例
找一個範例來試,DAMEE_4,它在 test/DAMEE_4目錄下 DAMEE_4包含三個子資料夾Data scoord11 scoord22, 再到scoord11中 修改 build.bash
cd test/DAMEE_4/scoord11
vi build.bash
export        MY_ROOT_DIR=${HOME}/roms <--主要是看你的trunk是放哪
# 以下的平行設定只有用到openmp…因為只有一台多核心電腦,沒有cluster
# export           USE_MPI=on            # distributed-memory parallelism
# export        USE_MPIF90=on            # compile with mpif90 script
##export         which_MPI=mpich         # compile with MPICH library
##export         which_MPI=mpich2        # compile with MPICH2 library
# export         which_MPI=openmpi       # compile with OpenMPI library
export        USE_OpenMP=off            # shared-memory parallelism
# 說過了,慣用ifort
export              FORT=ifort
#export              FORT=gfortran
# export              FORT=pgi
# 關掉debug,注意!!!netcdf 4以後版本一定要設USE_NETCDF4=on
# 注意2!! netcdf4以後版本理論上會在netcdf/bin資料夾中有一個nc-config 確定一下它的位置在path中
#        也就是你可以直接 nc-config 即可成功執行,不需打路徑。如果沒辦法的話,就想辦法讓它能被執行吧。
# 
#export         USE_DEBUG=on            # use Fortran debugging flags
 export         USE_LARGE=on            # activate 64-bit compilation
 export       USE_NETCDF4=on            # compile with NetCDF-4 library
#export   USE_PARALLEL_IO=on            # Parallel I/O with Netcdf-4/HDF5
# 下面這一行不打開,就沒有什麼要設定的啦…
#export       USE_MY_LIBS=on            # use my library paths below
改完之後執行 ./build.bash 會產生一個OceanO 可執行檔(如果沒有用open_mp的話,就是oceanS) 執行方法如下:
ln -s ../Data/netcdf4/* ./
export OMP_NUM_THREAD=4   <---看你要用幾個核心
./oceanO < oecea_damee_4.in > log &
注意:不知道為什麼,一定要把輸出結果轉到一個檔案…不然會segment fault。

沒有留言: