PISM, A Parallel Ice Sheet Model
2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
src
util
io
io_helpers.cc
Go to the documentation of this file.
1
/* Copyright (C) 2015--2026 PISM Authors
2
*
3
* This file is part of PISM.
4
*
5
* PISM is free software; you can redistribute it and/or modify it under the
6
* terms of the GNU General Public License as published by the Free Software
7
* Foundation; either version 3 of the License, or (at your option) any later
8
* version.
9
*
10
* PISM is distributed in the hope that it will be useful, but WITHOUT ANY
11
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
* details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with PISM; if not, write to the Free Software
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
*/
19
20
#include <mpi.h>
21
#include <string>
22
#include <cstdio>
23
24
namespace
pism
{
25
namespace
io {
26
27
bool
file_exists
(MPI_Comm com,
const
std::string &filename) {
28
int
file_exists_flag = 0, rank = 0;
29
MPI_Comm_rank(com, &rank);
30
31
if
(rank == 0) {
32
// Check if the file exists:
33
if
(FILE *f = fopen(filename.c_str(),
"r"
)) {
34
file_exists_flag = 1;
35
fclose(f);
36
}
else
{
37
file_exists_flag = 0;
38
}
39
}
40
MPI_Bcast(&file_exists_flag, 1, MPI_INT, 0, com);
41
42
return
file_exists_flag == 1;
43
}
44
45
}
// end of namespace io
46
}
// end of namespace pism
pism::io::file_exists
bool file_exists(MPI_Comm com, const std::string &filename)
Definition
io_helpers.cc:27
pism
Definition
AgeColumnSystem.cc:23
Generated by
1.9.8