首页 > 其他分享 >COAWST V3.8初学记录001(第一部分:安装篇)

COAWST V3.8初学记录001(第一部分:安装篇)

时间:2024-08-21 14:24:40浏览次数:9  
标签:lib hdf5 V3.8 001 export mpich COAWST 安装 DIR

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/hdf5exportHDF5I​NCDIR=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/libexportMCTI​NCDIR=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= PATHexportLDL​IBRARYP​ATH=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/hdf5exportHDF5I​NCDIR=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/netcdfexportNFC​ONFIG=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/includeexportNETCDFL​IBDIR=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/includeexportMCTL​IBDIR=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

相关文章

  • CF2001C Guess The Tree
    欢迎前往我的博客获得也许更好的阅读体验!题意简述这是一个交互式问题。Misuki选择了一棵有\(n\)个节点的秘密树,节点编号为\(1\)到\(n\),并要求你通过以下类型的查询来猜出这棵树:“?ab”—Misuki会告诉你哪个节点\(x\)最小化了\(|d(a,x)-d(b,x)|\),其中\(d(x,......
  • 深度学习-pytorch-basic-001
    importtorchimportnumpyasnptorch.manual_seed(1234)<torch._C.Generatorat0x21c1651e190>defdescribe(x):print("Type:{}".format(x.type()))print("Shape/Size:{}".format(x.shape))print("Values:{}"......
  • 洛谷P1001题解
    洛谷P1001题解友情提示:“题目传送门”被贴在了题目编号上,请自行点击查看!主要知识点C/C++语言框架基本数据类型的定义与使用cin/cout或scanf()/prinf()的使用代码一小步,OI一大步(bushi)AC代码#include<bits/stdc++.h>typedeflonglongll; //“十年OI一场空,不开long......
  • Luogu P10010 Grievous Lady
    很水的一道黑传送门题目大意给出\(n\)个元素,每个元素有两个权值\(a_i\)和\(b_i\),从中选出若干元素,令取出元素的\(a_i\)之和为\(S_a\),其余元素的\(b_i\)之和为\(S_b\),最大化\(S_a*S_b\)分析可以知道\(a_i\),\(b_i\)的值分别在\([1,A]\),\([1,B]\)......
  • 【转】热烈祝贺华企盾科技获得ISO/IEC 27001信息安全管理体系认证证书!
    近日,北京华企盾科技有限责任公司顺利通过权威认证机构的严格审核,获得“ISO/IEC27001信息安全管理体系认证证书”。认证范围涵盖与计算机软硬件销售及软件运维相关的信息安全管理活动等。信息安全管理实用规则ISO/IEC27001是国际上具有代表性的信息安全管理体系标准,已在世界各......
  • P1001 A+B Problem(整活-dijstra堆优化)
    OK啊,这就是普通的\(a+b\)嘛这是一道十分淼的题目,乍一看,这不就是dijstra堆优化的模板题吗?首先,建立三个节点,两条线行,OK开始Code#include<bits/stdc++.h>usingnamespacestd;constlonglongN=99999,M=999999;typedefpair<longlong,longlong>PII;priority_......
  • 【2-sat】P5782 [POI2001] 和平委员会
    P5782[POI2001]和平委员会大意:n个集合每个集合有两个点i,i+1一共2n个点每个集合选一个点到另一个空集S里面有m个约束条件i和j不能在一起求可行的集合S思路:2-sat对ij而言建图(i,j邻居)和(j,i的邻居),邻居就是他们所属的集合的另一个点然后判断同同一个集......
  • 龙哥量化:TB交易开拓者_趋势跟踪策略_多策略对单品种_A00011880206期货量化策略
    如果您需要代写技术指标公式,请联系我。龙哥QQ:591438821龙哥微信:Long622889也可以把您的通达信,文华技术指标改成TB交易开拓者的自动交易量化策略。量化策略介绍投资标的:菜籽油(多策略对单品种)。策略分类:趋势策略。策略周期:3分钟。策略风格:短线波段,连续持......
  • 新坑:信息学奥赛一本通题解(3001~3005)
    前言Hello,大家好我是文宇,开个新坑,是关于信息学奥赛一本通的坑,就是信奥赛题解.(这里指编程启蒙的题库)因为作者的洛谷还在写,只是信奥赛的题写的比较多,所以先做信奥赛的.信奥赛的网址是信息学奥赛一本通-编程启蒙(C++版)在线评测系统(挖坑:作者以后可能还会有信奥赛本体......
  • 英语二【00015】精选单词练习第六天
    英语二【00015】4000+单词精选提炼单词历史学习记录:英语二【00015】精选单词练习历史英语二4500单词表下载第六天练习boring[ˈbɔ:rɪŋ]adj.无聊的,无趣的contribute[kənˈtribjut]vt.&vi.贡献出remove[riˈmu:v]vt.开除;去除manage[ˈmænɪdʒ]vt.......