void NRLib::WriteIrapClassicAsciiSurf(const RegularSurface<A> & surf, double angle, const std::string & filename) { std::ofstream file; OpenWrite(file, filename); file << std::fixed << std::setprecision(6) << -996 << " " << surf.GetNJ() << " " << surf.GetDX() << " " << surf.GetDY() << "\n" << std::setprecision(2) << surf.GetXMin() << " " << surf.GetXMax() << " " << surf.GetYMin() << " " << surf.GetYMax() << "\n" << surf.GetNI() << " " << std::setprecision(6) << angle*180/NRLib::Pi << " " << std::setprecision(2) << surf.GetXMin() << " " << surf.GetYMin() << "\n" << " 0 0 0 0 0 0 0\n"; file.precision(6); if (surf.GetMissingValue() == IRAP_MISSING) { for (size_t i = 0; i < surf.GetN(); i++) { file << surf(i) << " "; if((i+1) % 6 == 0) file << "\n"; } } else { for (size_t i = 0; i < surf.GetN(); i++) { if (surf.IsMissing(surf(i))) file << IRAP_MISSING << " "; else file << surf(i) << " "; if((i+1) % 6 == 0) file << "\n"; } } file.close(); }