centos mpich2(centos7.0)
大家好,centos mpich2相信很多的网友都不是很明白,包括centos7.0也是一样,不过没有关系,接下来就来为大家分享关于centos mpich2和centos7.0的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Centos7安装MPICH出现问题
mpiexec-n<number>./examples/cpi
运行时需要自己修改<number>为自己的值,我指定的是<number>=4
在运行后出现了一下的问题,程序cpi所在的位置不允许运行。
/usr/bin/ld: cannot open output file/home/themingyi/Downloads/mpich-3.3/examples/.libs/14351-lt-cpi: Permission denied
查找资料后发现是程序所在位置权限设置的问题;修改如下:
sudo chown-R"$USER:"/home/themingyi/Downloads/mpich-3.3/examples
chmod-R 777/home/themingyi/Downloads/mpich-3.3/examples
几点解释:
(1)The-R flag stands for recursive, so that directory and all its subfiles and subdirectories will change owner. Remove the-R flag to just change the permissions of the directory itself.
(2)运行时找到examples文件夹,就在自己下载的mpich包的解压文件中
运行结果如下:
cpi.c程序:
/*-*- Mode: C; c-basic-offset:5; indent-tabs-mode:nil;-*-*/↩
/*↩
*(C) 2001 by Argonne National Laboratory.↩
* See COPYRIGHT in top-level directory.↩
*/↩
↩
#include"mpi.h"↩
#include<stdio.h>↩
#include<math.h>↩
↩
double f(double);↩
↩
double f(double a)↩
{↩
return(4.0/(1.0+ a* a));↩
}↩
↩
int main(int argc, char*argv[])↩
{↩
int n, myid, numprocs, i;↩
double PI25DT= 3.141592653589793238462643;↩
double mypi, pi, h, sum, x;↩
double startwtime= 0.0, endwtime;↩
int namelen;↩
char processor_name[MPI_MAX_PROCESSOR_NAME];↩
↩
MPI_Init(&argc,&argv);↩
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);↩
MPI_Comm_rank(MPI_COMM_WORLD,&myid);↩
MPI_Get_processor_name(processor_name,&namelen);↩
↩
fprintf(stdout,"Process%d of%d is on%s\n", myid, numprocs, processor_name);↩
fflush(stdout);↩
↩
n= 10000;/* default# of rectangles*/↩
if(myid== 0)↩
startwtime= MPI_Wtime();↩
↩
MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD);
↩
h= 1.0/(double) n;↩
sum= 0.0;↩
/* A slightly better approach starts from large i and works ba ck*/↩
for(i= myid+ 1; i<= n; i+= numprocs){↩
x= h*((double) i- 0.5);↩
sum+= f(x);↩
}↩
mypi= h* sum;↩
↩
MPI_Reduce(&mypi,&pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WOR LD);↩
↩
if(myid== 0){↩
endwtime= MPI_Wtime();↩
printf("pi is approximately%.16f, Error is%.16f\n", pi, fabs(pi- PI25DT));↩
printf("wall clock time=%f\n", endwtime- startwtime);↩
fflush(stdout);↩
}↩
↩
MPI_Finalize();↩
return 0;↩
}↩
建议看看《Linux就该这么学》
Linux(CentOS)安装mpich
为了在 CentOS系统中安装 MPICH,首先需要在官方网站 mpich.org/下载合适的版本,例如 mpich-3.2.tar.gz。之后,将下载的文件上传至服务器中并进行解压操作。
进入解压目录并配置编译环境。具体步骤为:cd到解压后的目录下,然后运行./configure--prefix=/home/mpich-3.2命令。
接下来,编译并安装 MPICH。可以使用 make&& make install的命令组合完成。如果希望将编译和安装分开进行,也可以分别使用 make和 make install命令。
为了确保 MPICH环境变量可以被其他程序使用,需要设置环境变量。打开~/.bashrc文件并加入如下环境变量设置代码:export PATH="home//mpich-3.2/bin:$PATH"。
更新环境变量:source~/.bashrc。
至此,MPICH已经安装完成。可以通过以下步骤进行测试:进入解压目录下的 examples文件夹;在 examples文件夹中,利用 MPI接口编译 hellow.c文件,命令为:mpicc hellow.c-o hellow;最后运行 hellow文件,并使用 mpirun-np N./hellow命令(N为进程数),检查每个核是否成功输出"Hello world from process 0 of N"。如果出现该输出,则表示 MPICH安装成功。
【教程】CentOS 7安装WRF,SMOKE,CMAQ
本文详细介绍了在CentOS 7环境下安装WRF、SMOKE和CMAQ的全过程。SMOKE作为排放清单数据前处理模型,主要为空气质量模型提供源前处理。WRF是一个集数值天气预报、大气模拟、数据同化于一体的模型系统,广泛应用于大气环境模拟、天气研究、气象预报等领域,同时为CMAQ等空气质量模型提供气象场。CMAQ是一款第三代空气质量模型系统,主要用于环境规划、环境保护标准、环境影响评价、环境监测与预报预警等多个方面的应用。
SMOKE、WRF和CMAQ之间的关系在于:天气条件(如温度、风、云形成和降水率等)是影响大气交通的主要物理驱动力,这些条件通过WRF的输出表示。CMAQ则依赖于开源模型SMOKE来估算污染源的大小和位置,以获取所需的排放物输入数据。FEST-C系统则用于运行EPIC模型,生成CMAQ双向NH3建模所需的农业土地氮和土壤信息。
在安装WRF时,需要确保系统环境满足特定要求,如CentOS Linux、tcsh shell、依赖库(如netCDF、MPICH、Jasper、Libpng、Zlib)以及编译器(如gfortran、gcc、cpp)。安装过程中,需要通过执行一系列命令,包括安装gcc、cpp和gfortran,以及配置环境变量,以确保正确安装和使用所需工具。库的安装和兼容性测试同样重要,以确保WRF和相关组件能够协同工作。
构建WRF包括下载源代码、配置和编译过程。在完成构建后,还需要获取静态地理数据或实时数据,并通过WPS(Weather Research and Forecasting System)进行数据预处理。在实际数据案例中,需要从NCEP服务器获取GFS模型数据,并使用特定命令实时获取所需的数据文件。
CMAQ的安装同样需要满足特定的系统环境要求,包括最新的Fortran和C编译器、Git、MPI(如OpenMPI或MVAPICH2)、以及netCDF-C和netCDF-Fortran(不含netCDF4、HDF5、HDF4、DAP客户端、PnetCDF或zlib支持)。安装过程中可能遇到的一些问题,如空间不足,可以通过查找并应用相应的解决方法来克服。最终,通过配置环境变量、编译和安装CMAQ组件,以及运行测试数据,可以确保CMAQ在系统上正确运行。
本文通过详细的操作步骤和解决方法,为读者提供了在CentOS 7环境下成功安装WRF、SMOKE和CMAQ的完整指南,帮助用户在实际应用中充分利用这些工具进行大气环境模拟和空气质量研究。