You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The exact restart test (ERS) fails when MOM6 gets compiled with gnu in CESM. This issue occurs with gnu but not with intel because of a difference in the implementation of inquire intrinsic. Take the following program:
program foo
logical :: fexists
inquire(file='./', exist=fexists)
print *, fexists
end program
When compiled with gnu, the program prints out T, whereas when compiled with intel, the program prints out F. Simply, gnu (correctly) says that ./ exists, whereas intel says that ./ doesn't exist. This behavioral difference manifests itself in MOM_restart::open_restart_units subroutine. If the restart directory is "./" and filename begins with a whitespace, gnu incorrectly concludes that the filepath for the first* restart file is filepath="./", whereas intel is eventually able to get the correct filepath, since it (incorrectly) knows that ./ doesn't exist. I will implement a correction in the logic of the subroutine and submit a PR once all tests pass.
*there may be multiple restart files in the single character string passed to open_restart_units , and the subroutine gets each restart filename in a do while loop by checking if it encounters a whitespace in between filenames.
The text was updated successfully, but these errors were encountered:
The exact restart test (ERS) fails when MOM6 gets compiled with gnu in CESM. This issue occurs with gnu but not with intel because of a difference in the implementation of
inquire
intrinsic. Take the following program:When compiled with gnu, the program prints out
T
, whereas when compiled with intel, the program prints outF
. Simply, gnu (correctly) says that./
exists, whereas intel says that./
doesn't exist. This behavioral difference manifests itself in MOM_restart::open_restart_units subroutine. If the restart directory is"./"
and filename begins with a whitespace, gnu incorrectly concludes that the filepath for the first* restart file isfilepath="./"
, whereas intel is eventually able to get the correct filepath, since it (incorrectly) knows that./
doesn't exist. I will implement a correction in the logic of the subroutine and submit a PR once all tests pass.*there may be multiple restart files in the single character string passed to open_restart_units , and the subroutine gets each restart filename in a do while loop by checking if it encounters a whitespace in between filenames.
The text was updated successfully, but these errors were encountered: