重點是好難啊…沒有一次上手,希望這次能成…
這裏記錄一些指令…免得每次玩都要查半天
請確定你有裝 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。
沒有留言:
張貼留言