One of the most common reasons for this issue is a mismatch between the version of SWASH you are requesting Inductiva to run (e.g., 11.01) and the version for which your configuration file was originally created (e.g., 9.01).
Make sure you explicitly specify the correct version when creating the SWASH object. For example:
# Initialize the Simulator
swash = inductiva.simulators.SWASH(version="10.05")
You can check the list of currently available versions to ensure compatibility.
This issue occurs due to the Fortran runtime’s default output buffering behavior under MPI. SWASH writes error and print information using Fortran I/O. By default, on many systems like macOS and Windows, the environment variable gfortran_unbuffered_all is set to True, which ensures that data is written to disk immediately, even if a task fails.
However, on Inductiva’s cloud machines, the default is False. This causes the output to remain buffered in memory, so if a task fails, the Errfile-* and PRINT-* files can remain empty.
Set the environment variable gfortran_unbuffered_all=True before running SWASH. This forces unbuffered writes, ensuring that error and print files are correctly populated after a failed task. Tests have shown that enabling unbuffered writes generally has no significant impact on performance, although exceptions may occur for simulations that write heavily to disk.
task = swash.run(
input_dir="/Path/to/SimulationFiles",
sim_config_filename="file.sws",
gfortran_unbuffered_all=True,
on=cloud_machine
)
For more details on the environment variable and its effect on Fortran I/O, see the GFortran documentation on gfortran_unbuffered_all.
Still can't find what you're looking for? Contact Us