I have came through a segmentation error when running the u-al752 suite which works perfectly until I add the wl(l) = MIN(wcarb(l),wlite(l)). So I am guessing that it might be an array boundary issue. I have attached the error log. I have also seen a similar qsat_mod error on CMS, but their solution is not clear and I am not sure if we are having a same problem.
Hi Wenyao:
Yes, sometimes there are failures in the qsat routine, for various reasons. Usually, it’s because there is something wrong with the setup or the code or the input files. It might not be caused by the array boundary issue that you suspect.
You might try looking at the lines indicated for the various files (i.e., 109 for qsat_mod). These line numbers are for the preprocessed code files that are extracted by fcm_make in your cylc-run directory.
You might also try using JULES_BUILD=DEBUG instead of JULES_BUILD=NORMAL in your suite.
This will slow things down, but the error messages might make a bit more sense.
Patrick
Hi Wenyao
The line numbers don’t refer to the line numbers in the code that exists in your directory of your jules branch. Instead, the line numbers refer to the line numbers of the corresponding files in the preprocessed subdirectory of the fcm_make subdirectory of the ~/cylc-run directory for your u-al752 suite.
The code in your jules branch gets preprocessed by fcm_make so the line numbers change.
Furthermore, “turning the debug switch on” exposes division by zero bugs, which are new bugs that are (safely?) ignored when running with the debug switch turned off. You still need to find the cause of the original bug. The original bug might be caused by the division by zero bug, but not necessarily.
Hi Wenyao:
If t_growth_gb is miscalculated, I would guess that yes, it is possible that it is causing the segmentation fault. But it is also possible that it is not the cause of the problem. You might try setting t_growth_gb to a constant value, to see if the segmentation fault persists.
Patrick