COAWST V3.8初学记录
我是一个完完全全的海洋数值模式初学者,此前没有接触过任何海洋数值模式,在学习COAWST模式的过程中非常难受(起码从安装到算例的运行,是完完全全一个人独立学习完成,此前有求助过一些师兄和老师,但是他们也是爱莫能助,主要是距离太远,我这边的情况他们也不甚了解,在此也要对他也表示感谢,对我提出的疑问都会及时的回复,知无不言,这也让我可以找到一些新的方向方法去解决遇到的难题)。安装模式过程中遇到的一些有关机器或者服务器的问题要自己去解决,模式的一些问题也需要自己去找答案,索性就把这一过程记录以下并发出来,寄希望可以帮助到一些和我一样的人。我想,会了基本的安装和成功运行其提供的算例,应该就算是摸到门槛了吧!祝大家一切顺利!生活学习都一切顺利!
如果觉得这个记录有帮助,还希望可以关注B站账号:https://space.bilibili.com/389618452?spm_id_from=333.1007.0.0。
该文档的PDF可以向我索要,关注B站账号,私信就好!
本记录分为以下两个部分:
第一部分:COAWST在服务器上的安装
第二部分:模式算例的运行
后续继续补充!!!
第一部分:COAWST在服务器上的安装
这是我结合不同的安装教程来选择的,细致之处没有去深究,可能有一些用不到
1. https://blog.csdn.net/One_Nation_Lee/article/details/127182780
2. https://blog.csdn.net/islandowner2017/article/details/120419569
3. https://www.bilibili.com/video/BV1Gx4y1v72B/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=f15157f27e4bbdce5455d9be9ed9cd02
步骤基本和虚拟机是一样的,你可以先去虚拟机试一试!!!
准备(本次安装时间发生在2024-08-12)
COAWST-v3.8所依赖相关软件、库:
Curl v8.8.0
Hdf5 v1.14.3
Jasper v1.900.13
Libpng v1.6.37
Mpich v3.2.1
Netcdf-c v4.9.2
Netcdf-fortran v4.6.0
Zlib v1.2.13
文件放置:/data/home/wangling/COAWSTLIBS
COAWST代码: 模式代码所在目录为COAWST
目录COAWST用于存放COAWST源代码;
目录COAWST里面建立目录CoawstLibs用于本次安装依赖库;
安装、存放依赖软件、库的路径
目录CoawstLibs/ZJPlib用于安装安装zlib、libpng和jasper
COAWST_LIBS:
用于存放依赖软件、库的gz压缩包
配置文件内容:
(前面3或者两行行可能用不到,是用来告诉intel编译器在哪里,有些服务器可能已经配置好了)
!!!环境变量的配置可以慢慢配置,和虚拟机的先后差不,安装一个配置一个,这里就不展开配置过程。!!!
source /opt/intel/compilers_and_libraries_2019/linux/bin/compilervars.sh intel64 # intel 编译器
source /opt/intel/mkl/bin/mklvars.sh intel64 # intel 数学库
source /opt/intel/impi/2019.3.199/intel64/bin/mpivars.sh # intel mpi环境变量
export SRC=/data/home/wangling/COAWSTLIBS
export DIR=/data/home/wangling/COAWST/CoawstLibs
export CC=icc
export CXX=icpc
export FC=ifort
export F90=ifort
export F77=ifort
#---------- zlib jasper libpng
export LDFLAGS=-L
D
I
R
/
Z
J
P
l
i
b
s
/
l
i
b
e
x
p
o
r
t
C
P
P
F
L
A
G
S
=
−
I
DIR/ZJPlibs/lib export CPPFLAGS=-I
DIR/ZJPlibs/libexportCPPFLAGS=−IDIR/ZJPlibs/incldue
export JASPERLIB=
D
I
R
/
Z
J
P
l
i
b
s
/
l
i
b
e
x
p
o
r
t
J
A
S
P
E
R
I
N
C
=
DIR/ZJPlibs/lib export JASPERINC=
DIR/ZJPlibs/libexportJASPERINC=DIR/ZJPlibs/include
#---------- mpich
export PATH=
D
I
R
/
m
p
i
c
h
/
b
i
n
:
DIR/mpich/bin:
DIR/mpich/bin:PATH
export LD_LIBRARY_PATH=
D
I
R
/
m
p
i
c
h
/
L
I
B
S
:
DIR/mpich/LIBS:
DIR/mpich/LIBS:LD_LIBRARY_PATH
#---------- hdf5
export PATH=
D
I
R
/
h
d
f
5
/
b
i
n
:
DIR/hdf5/bin:
DIR/hdf5/bin:PATH
export LD_LIBRARY_PATH=
D
I
R
/
h
d
f
5
/
l
i
b
:
DIR/hdf5/lib:
DIR/hdf5/lib:LD_LIBRARY_PATH
export HDF5=
D
I
R
/
h
d
f
5
e
x
p
o
r
t
H
D
F
5
I
N
C
D
I
R
=
DIR/hdf5 export HDF5_INCDIR=
DIR/hdf5exportHDF5INCDIR=HDF5/include
#---------- MCT
export MCT_LIBDIR=
D
I
R
/
M
C
T
/
l
i
b
e
x
p
o
r
t
M
C
T
I
N
C
D
I
R
=
DIR/MCT/lib export MCT_INCDIR=
DIR/MCT/libexportMCTINCDIR=DIR/MCT/include
(如果没有或是cmake版本不对,安装好了在此处进行配置就可以,后文有提及)
服务器上选择用intel编译器是因为gfortran安装失败,管理员赋予了我一些权限,但是也没有解决好这个问题(个人能力不足,有会的可以分享下,不胜感激)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
实际操作和本记录之间可能会有差异,具体情况还是要以实际情况为主,该记录仅可作为参考,文中的安装路径根据自己的习惯自行规划即可。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
安 装
首先,配置基本的安装环境:(#---------- zlib jasper libpng之前的内容就可以 source一下)
键入:echo
D
I
R
出现:
[
w
a
n
g
l
i
n
g
@
l
n
01
]
DIR 出现: [wangling@ln01 ~]
DIR出现:[wangling@ln01 ] echo $DIR
/data/home/wangling/COAWST/CoawstLibs
表明配置成功。
安装zlib:(安装软件以及库之前都先进入软件、库压缩包gz所在路径)
具体细节不展开
进入库压缩包所在目录:cd $SRC
tar -xzvf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure --prefix=$DIR/ZJPlibs
make
make install
至此,zlib安装完成,后续的Jasper、Libpng安装与此类似,不在赘述。
安装libpng
cd $SRC
tar -xzvf libpng-1.6.37.tar.gz
cd libpng-1.6.37
./configure --prefix=$DIR/ZJPlibs
make
make install
至此,libpng安装完成,返回上一层目录,进入下一个库、软件的安装
安装jasper
cd $SRC
tar xzvf jasper-1.900.13.tar.gz
cd jasper-1.900.13
./configure --prefix=$DIR/ZJPlibs
make
make install
至此,jasper安装完成,返回上一层目录,进入下一个库、软件的安装
完成上述三个软件的安装之后,需要对环境变量做以下更新:
配置环境:
export LD_LIBRARY_PATH=
D
I
R
/
L
I
B
S
:
DIR/LIBS:
DIR/LIBS:LD_LIBRARY_PATH
键入:ls $DIR/ZJPlibs/* | wc -l
我所在的机器返回为42,和虚拟机有出入,鄙人不是计算机的,也不懂为什么,可能是编译器不一样???
但是我想没有报错应该没有问题!!!
安装curl
cd $SRC
tar xvf curl-7.8.0.tar.gz(8.8.0没装成功T_T)
cd curl-7.8.0.tar.gz
./configure --prefix=$DIR/curl (此处可以根据配置提示给予相应修改,如–with-wolfssl)
make
make install
键入:ls $DIR/curl/* | wc -l
若返回为18,则上述curl安装成功!
至此,curl安装完成,返回上一层目录,进入下一个库、软件的安装
安装mpich
cd $SRCS
tar xvf mpich-3.2.1.tar.gz
cd mpich-3.2.1
./configure --prefix=$DIR/mpich
make
make install
键入:ls
D
I
R
/
m
p
i
c
h
/
∗
∣
w
c
−
l
若返回为
60
,则上述
m
p
i
c
h
安装成功!配置环境:
e
x
p
o
r
t
P
A
T
H
=
DIR/mpich/* | wc -l 若返回为60,则上述mpich安装成功! 配置环境: export PATH=
DIR/mpich/∗∣wc−l若返回为60,则上述mpich安装成功!配置环境:exportPATH=DIR/mpich/bin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
PATH export LD_LIBRARY_PATH=
PATHexportLDLIBRARYPATH=DIR/mpich/LIBS:$LD_LIBRARY_PATH
至此,mpic安装完成,返回上一层目录,进入下一个库、软件的安装
!!!
如果报错:
configure: error: F90 and F90FLAGS are replaced by FC and FCFLAGS respectively in this configure, please unset F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure again.
则先:
[wangling@ln01 mpich-3.2.1]$ unset F90
[wangling@ln01 mpich-3.2.1]$ unset F90FLAGS
再进行
./configure --prefix=$DIR/mpich
https://bbs.06climate.com/forum.php?mod=viewthread&tid=3411(链接1)
或者(此法没试过)
[root@glnode05 mpich2-1.4.1p1]# unset F90
[root@glnode05 mpich2-1.4.1p1]# export FCFLAGS=ifort
[root@glnode05 mpich2-1.4.1p1]# export FC=ifort
[root@glnode05 mpich2-1.4.1p1]# export F77=ifort
https://blog.csdn.net/zklth/article/details/7558205(链接2)
!!!
安装hdf5
cd $SRC
tar xzvf hdf5-1.14.4-3.tar.gz
cd hdf5-1.14.4-3
./configure --prefix=
D
I
R
/
h
d
f
5
−
−
e
n
a
b
l
e
−
f
o
r
t
r
a
n
−
−
w
i
t
h
−
z
l
i
b
=
DIR/hdf5 --enable-fortran --with-zlib=
DIR/hdf5−−enable−fortran−−with−zlib=DIR
make
make install
配置环境:
export PATH=
D
I
R
/
h
d
f
5
/
b
i
n
:
DIR/hdf5/bin:
DIR/hdf5/bin:PATH
export LD_LIBRARY_PATH=
D
I
R
/
h
d
f
5
/
l
i
b
:
DIR/hdf5/lib:
DIR/hdf5/lib:LD_LIBRARY_PATH
export HDF5=
D
I
R
/
h
d
f
5
e
x
p
o
r
t
H
D
F
5
I
N
C
D
I
R
=
DIR/hdf5 export HDF5_INCDIR=
DIR/hdf5exportHDF5INCDIR=HDF5/include
export HDF5_LIBDIR=$HDF5/lib
键入:ls $DIR/hdf5/* | wc -l
若返回为133,则上述hdf5安装成功!我所在的机器返回为148,和虚拟机有出入
输入h5dump有反应
至此hdf5安装完成,返回上一层目录,进入下一个库、软件的安装。
安装netcdf-c
cd $SRC
tar xzvf netcdf-c-4.9.2.tar.gz
cd netcdf-c-4.9.2
键入:
export CPPFLAGS=“-I
D
I
R
/
c
u
r
l
/
i
n
c
l
u
d
e
−
I
DIR/curl/include -I
DIR/curl/include−IDIR/ZJPlibs/include -I
D
I
R
/
h
d
f
5
/
i
n
c
l
u
d
e
−
I
DIR/hdf5/include -I
DIR/hdf5/include−IDIR/mpich/include”
export LDFLAGS=“-L
D
I
R
/
c
u
r
l
/
l
i
b
−
L
DIR/curl/lib -L
DIR/curl/lib−LDIR/ZJPlibs/lib -L
D
I
R
/
h
d
f
5
/
l
i
b
−
L
DIR/hdf5/lib -L
DIR/hdf5/lib−LDIR/mpich/lib”
./configure --prefix=$DIR/netcdf --enable-netcdf-4 --enable-shared --enable-largefile FC=ifort F77=ifort F90=ifortCXX=icpc CC=icc
make
make install
配置环境:
export PATH=
D
I
R
/
n
e
t
c
d
f
/
b
i
n
:
DIR/netcdf/bin:
DIR/netcdf/bin:PATH
export LD_LIBRARY_PATH=
D
I
R
/
n
e
t
c
d
f
/
l
i
b
:
DIR/netcdf/lib:
DIR/netcdf/lib:LD_LIBRARY_PATH
export NETCDF=
D
I
R
/
n
e
t
c
d
f
e
x
p
o
r
t
N
F
C
O
N
F
I
G
=
DIR/netcdf export NF_CONFIG=
DIR/netcdfexportNFCONFIG=DIR/netcdf/bin/nf-config
export NETCDF_INCDIR=
N
E
T
C
D
F
/
i
n
c
l
u
d
e
e
x
p
o
r
t
N
E
T
C
D
F
L
I
B
D
I
R
=
NETCDF/include export NETCDF_LIBDIR=
NETCDF/includeexportNETCDFLIBDIR=NETCDF/lib
紧接着安装netcdf-frotran
安装netcdf-frotran
cd $SRC
tar xzvf netcdf-frotran-4.6.0.tar.gz
cd netcdf-frotran-4.6.0
键入:
export PATH=
D
I
R
/
Z
J
P
l
i
b
s
/
b
i
n
:
DIR/ZJPlibs/bin:
DIR/ZJPlibs/bin:DIR/curl/bin:
D
I
R
/
m
p
i
c
h
/
b
i
n
:
DIR/mpich/bin:
DIR/mpich/bin:DIR/hdf5/bin:
D
I
R
/
n
e
t
c
d
f
/
b
i
n
:
DIR/netcdf/bin:
DIR/netcdf/bin:PATH
export LD_LIBRARY_PATH=
D
I
R
/
Z
J
P
l
i
b
s
/
l
i
b
:
DIR/ZJPlibs/lib:
DIR/ZJPlibs/lib:DIR/curl/lib:
D
I
R
/
m
p
i
c
h
/
l
i
b
:
DIR/mpich/lib:
DIR/mpich/lib:DIR/hdf5/lib:
D
I
R
/
n
e
t
c
d
f
/
l
i
b
:
DIR/netcdf/lib:
DIR/netcdf/lib:LD_LIBRARY_PATH
export CPPFLAGS=“-I
D
I
R
/
c
u
r
l
/
i
n
c
l
u
d
e
−
I
DIR/curl/include -I
DIR/curl/include−IDIR/ZJPlibs/include -I
D
I
R
/
h
d
f
5
/
i
n
c
l
u
d
e
−
I
DIR/hdf5/include -I
DIR/hdf5/include−IDIR/mpich/include -I
D
I
R
/
n
e
t
c
d
f
/
i
n
c
l
u
d
e
"
e
x
p
o
r
t
L
D
F
L
A
G
S
=
"
−
L
DIR/netcdf/include" export LDFLAGS="-L
DIR/netcdf/include"exportLDFLAGS="−LDIR/curl/lib -L
D
I
R
/
Z
J
P
l
i
b
s
/
l
i
b
−
L
DIR/ZJPlibs/lib -L
DIR/ZJPlibs/lib−LDIR/hdf5/lib -L
D
I
R
/
m
p
i
c
h
/
l
i
b
−
L
DIR/mpich/lib -L
DIR/mpich/lib−LDIR/netcdf/lib”
./configure --prefix=$DIR/netcdf
make
make install
键入:ls $DIR/netcdf/* | wc -l
若返回为45,则上述netcdf安装成功!我的机器为50!
输入ncdump有反应
安装MCT
进入下载的COAWST代码里的Lib/MCT
键入:MPIHEADER=-I
D
I
R
/
m
p
i
c
h
/
i
n
c
l
u
d
e
.
/
c
o
n
f
i
g
u
r
e
−
−
p
r
e
f
i
x
=
DIR/mpich/include\ ./configure --prefix=
DIR/mpich/include ./configure−−prefix=DIR/MCT
make
make install
配置环境:
export MCT_INCDIR=
D
I
R
/
M
C
T
/
i
n
c
l
u
d
e
e
x
p
o
r
t
M
C
T
L
I
B
D
I
R
=
DIR/MCT/include export MCT_LIBDIR=
DIR/MCT/includeexportMCTLIBDIR=DIR/MCT/lib
注意参考开发者给的makefile
检查/安装cmake(对版本有要求)
sudo wget https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.sh
sudo chmod +x cmake-3.18.0-Linux-x86_64.sh
sudo ./cmake-3.18.0-Linux-x86_64.sh
一直回车,直到出现是否接受协议,输入y,回车;
询问是否安装cmake,输入y,回车,生成cmake的项目文件;
配置cmake
export PATH=/home/liuqiang/cmake-3.18.0-Linux-x86_64/bin:$PATH
测试
cmake –version 会出现版本号
SCRIP_COAWST编译(耦合要用到,跟着手册来就好)
将SCRIP_COAWST拷贝至安装hdf5,MCT的目录之下(也可以不用拷贝)
编辑makefile,就是按照手册上的来,确定编译器和是否使用MPI,保存退出
然后命令窗口输入make执行即可(回生成可执行程序scrip_coawst可执行文件)
运行制作网格权重最好mpirun -nX ./scrip_coawst scrip_coawst.in
直接./scrip_coawst scrip_coawst.in可能报错
至此,COAWST安装完成,可使用自带Projects测试是否安装成功!我自己的测试后续发出!!!
祝一切顺利!!!
因为第一次写博客,还不太会编辑,还请见谅!!!
标签:lib,hdf5,V3.8,001,export,mpich,COAWST,安装,DIR From: https://blog.csdn.net/LJikigai/article/details/141362679