diff --git a/src/output/xdmf.cpp b/src/output/xdmf.cpp index 7f2baf7d..237f4ca3 100644 --- a/src/output/xdmf.cpp +++ b/src/output/xdmf.cpp @@ -10,6 +10,16 @@ #include #include #include +#if __has_include() + #include + namespace fs = std::filesystem; +#elif __has_include() + #include + namespace fs = std::experimental::filesystem; +#else + #error "Missing the header." +#endif + #include "xdmf.hpp" #include "version.hpp" #include "idefix.hpp" @@ -39,9 +49,9 @@ Xdmf::Xdmf(Input &input, DataBlock *datain) { } if(idfx::prank==0) { - if(!std::filesystem::is_directory(outputDirectory)) { + if(!fs::is_directory(outputDirectory)) { try { - if(!std::filesystem::create_directory(outputDirectory)) { + if(!fs::create_directory(outputDirectory)) { std::stringstream msg; msg << "Cannot create directory " << outputDirectory << std::endl; IDEFIX_ERROR(msg); @@ -165,7 +175,7 @@ Xdmf::Xdmf(Input &input, DataBlock *datain) { cellsubsize[3]); */ // Temporary storage on host for 3D arrays - this->vect3D = new float[nx1loc*nx2loc*nx3loc]; + this->vect3D = new DUMP_DATATYPE[nx1loc*nx2loc*nx3loc]; // fill the node_coord array DUMP_DATATYPE x1 = 0.0; @@ -274,8 +284,8 @@ Xdmf::Xdmf(Input &input, DataBlock *datain) { int Xdmf::Write() { idfx::pushRegion("Xdmf::Write"); - std::filesystem::path filename; - std::filesystem::path filename_xmf; + fs::path filename; + fs::path filename_xmf; hid_t err; idfx::cout << "Xdmf: Write file n " << xdmfFileNumber << "..." << std::flush; timer.reset();