I/O possible check to implement: Make sure no two output streams have the exact same name
I recently helped troubleshoot a case where someone couldn't run their simulation because I/O gave an error about redefining the time dimension when it already existed. It took us awhile to figure out it had nothing to do w/ the time dimension in the file, instead, they had two output streams with the same filename prefix and frequency, etc. So ultimately, two output streams attempting to access the same file.
We could implement a check in the driver that quickly checks all OM that have been setup to ensure no two share a name, if so, throw an error that is human readable and makes it easy to fix.
This check is better suited for buildnml phase.
oh yes, that would be a fantastic place to put it. Quick question on that, would be able to support cases where the filename_prefix was the same but the averaging_type was different? Which in EAMxx would be fine since the filenames would ultimately be different.
xref E3SM-Project/E3SM#6822 and E3SM-Project/scream#2981
Also check E3SM-Project/scream#2986 .
@AaronDonahue I don't get your question. We already support that. The PR i linked is fixing a bug related to restart for that precise case.
huh, strange. Then I'm not sure why Hassan was hitting an error which was resolved when he changed prefixes. I can close this issue and investigate more on Hassan's side.
This issue is valid. Let's keep it open for now. We will triage...