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
Often times these misconfigurations only cause the model to crash with a segmentation fault when it tries to access some non-existing allocatable array or pointer, which makes it hard to debug.
Ideally the model would be smart enough to e.g. turn on ldiag3d if one of the diagnostics that flag controls is requested in the diag_table or select a field_table appropriate for it's namelist options, but some input data validation with helpful error messages would go a long way.
Are there any established routines for such checks?
The text was updated successfully, but these errors were encountered:
I'm not aware of any established routines for such checks, but it is fairly straightforward to catch these issues before the segmentation faults occur. See #132 and #133 for PRs addressing the two examples given.
These two PRs go the route of adding more helpful error messages. I briefly looked into what it might take do address either automatically, but I think it would require a decent amount of refactoring, which I don't think is necessarily worth doing for this issue.
Certain combinations of input configurations are not compatible. For example,
gfs_physics_nml.ldiag3d = true
Often times these misconfigurations only cause the model to crash with a segmentation fault when it tries to access some non-existing allocatable array or pointer, which makes it hard to debug.
Ideally the model would be smart enough to e.g. turn on ldiag3d if one of the diagnostics that flag controls is requested in the diag_table or select a field_table appropriate for it's namelist options, but some input data validation with helpful error messages would go a long way.
Are there any established routines for such checks?
The text was updated successfully, but these errors were encountered: