SWAN4145AB安装

SWAN4151安装带netcdf时,输出结果lon lat数据是bug。

SWAN4145AB安装带netcdf时,输出结果nc是正常的。

(1)编译器设置,一方面启用最新的mpiifort

source compiler_intel-2021.3.0.sh

source mpi_intelmpi-2021.3.0.sh

(2)安装metis 和 GKlib,三角形网格不再依赖Adcirc,而是直接进行网格划分,计算时运行文件夹清爽多了。

(3)编译时,make mpi会有引用变量的小提示,要将macros.inc稍微要修改一下:
################################################################################

# IA32_Intel/x86-64_Intel: Intel Core/Xeon with Linux using Intel compiler.

################################################################################

F90_SER = ifort

F90_OMP = ifort

# for older compiler versions, use mpif90

F90_MPI = mpiifort

FLAGS_OPT = -O2

FLAGS_MSC = -W0 -assume byterecl -traceback -diag-disable 8290 -diag-disable 8291 -diag-disable 8293

FLAGS90_MSC = $(FLAGS_MSC)

FLAGS_DYN = -fPIC

FLAGS_SER =

FLAGS_OMP = -qopenmp

FLAGS_MPI =

METISROOT = /public/home/chenjq93/models/SWAN/bin_forSWAN

ifneq ($(METISROOT),)

  LIBS_SER = -L$(METISROOT)/lib -lmetis -lGKlib

  LIBS_OMP = -L$(METISROOT)/lib -lmetis -lGKlib

  LIBS_MPI = -L$(METISROOT)/lib -lmetis -lGKlib

  PART_OBJS = SwanParallel.o

else

  LIBS_SER =

  LIBS_OMP =

  LIBS_MPI =

  PART_OBJS =

endif

NETCDFROOT = /public/home/chenjq93/models/SWAN/netcdf_forswan/netcdf

ifneq ($(NETCDFROOT),)

  INCS_SER = -I$(NETCDFROOT)/include

  INCS_OMP = -I$(NETCDFROOT)/include

  INCS_MPI = -I$(NETCDFROOT)/include

  LIBS_SER = $(LIBS_SER) -L$(NETCDFROOT)/lib -lnetcdf -lnetcdff

  LIBS_OMP = $(LIBS_OMP) -L$(NETCDFROOT)/lib -lnetcdf -lnetcdff

  LIBS_MPI := $(LIBS_MPI) -L$(NETCDFROOT)/lib -lnetcdf -lnetcdff

  NCF_OBJS = nctablemd.o agioncmd.o swn_outnc.o

else

  INCS_SER =

  INCS_OMP =

  INCS_MPI =

  NCF_OBJS =

endif

OUT = -o

EXTO = o

MAKE = make

RM = rm -f

ifneq ($(METISROOT),)

  swch = -unix -impi -metis

else

  swch = -unix -impi

endif

ifneq ($(NETCDFROOT),)

  swch := $(swch) -netcdf

endif

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容