从多个处理器在NetCDF文件中写入数据

时间:2017-01-04 10:48:19

标签: parallel-processing fortran mpi netcdf

我对气象场进行了模拟,我的总域数(nx * ny * nz)被分为处理器数量(在我的情况下为100)。我必须将本地机器创建的作业文件发送到集群以供执行。

我想编写Fortran例程,将每个处理器的输出数据写入NetCDF文件。

以下是我的代码段,位于user_init.f90

stat = NF90_CREATE('/home/sachin/e_output.nc', NF90_NETCDF4, ncid_user, comm = comm2d,info = MPI_INFO_NULL)

stat = NF90_DEF_DIM( ncid_user, i, NF90_UNLIMITED, i_id )
stat = NF90_DEF_DIM( ncid_user, j, NF90_UNLIMITED, j_id )
stat = NF90_DEF_DIM( ncid_user, k, NF90_UNLIMITED, k_id )

e_id=i_id(/i_id,j_id,k_id/)

stat = NF90_DEF_VAR( ncid_user, ene, NF90_INT, e_id, ev_id )

从其他文件我将输出数据写入NetCDF文件

stat1 = nf90_put_var(ncid_user, ev_id, pt, start = (/ 1 + myid*INT(procs1), 1 + myid*INT(procs1), 1 /),count = (/ 152,120,120 /))

0 个答案:

没有答案