Debugging parallel codes and doing I/O in parallel codes for that matter can be complicated. Debuggers vary, so it depends on which one you use, if any. Otherwise,
WRITE statements as simple as “write(,)‘GOT HERE 1’” followed by a FLUSH are usually quite useful even though somewhat primitive. Depending on your compiler compiling with debug values (depends, but usually -g and sometimes --traceback) and then doing a ctrl-C might give you a traceback; starting the program with a debugger and interrupting it and doing a “where” is a common debugger command; … debugging (especially parallel code) is a topic all it’s own, especially without knowing which (if any) debugger you are using and which compiler on which platform; which is best covered in your debugger manual.
I know people that essentially develop while continiously using debuggers and others that despise them, but it is a topic that requires a bit of study, not easily discussed here.
Note that some people really like that namelist ignores lines until it encounters the &GROUPNAME line; so some people like to proceed a namelist group in a file with
a description of the case, often using markdown now-adays.