I’ve never used the auto mask table feature before, but am adopting it for rOM3 workflows, as this is turned on in the existing working NUOPC regional-mom6 runs I know about, and it seems like a good feature.
However I got this confusing error:
FATAL from PE 0: Couldn’t auto-eliminate any land blocks. Try to increase the number of MOM6 PEs or set AUTO_MASKTABLE to False.
This error suggests to me that the auto mask table feature won’t work in the open ocean!? Is this true? That seems like a huge limitation to automated workflows if you have to turn it off for open-ocean domains!
My test domain does include plenty of land, so this error is wrong anyway. Must be another bug I need to iron out. Perhaps someone has seen this error before when they do indeed have plenty of land and PEs?
Previously we I have had this issue from the FillValue in bathymetry.nc. I found it had difficulties doing the automasking with NaNs but could do fine with 0. Any chance this is the issue? We had tried to fix this here.
Hi @ashjbarnes , there are also some issues when using AUTO_MASKTABLE for global configurations.
FATAL from PE 0: Couldn’t auto-eliminate any land blocks. Try to increase the number of MOM6 PEs or set AUTO_MASKTABLE to False.
The error you encountered happens because the processor count is insufficient to eliminate land blocks. In this case the workaround is to increase the number of cores.
We’ve also created a script to streamline this workflow, although it is currently intended for global configurations only. I havent tested it for rOM3 yet. Let me know if you have any questions
Thanks @minghangli ! So if a domain had no land in it, does this mean that you need to disable the automasktable feature? This would mean that for an automated regional workflow there’d need to be some annoying logic somewhere to check the domain to figure out whether there’s enough land to need any mask in the first place. For the case of a tiny island, there might still not be enough land to make a land PE, except for a crazy high core count.
But building logic to check a domain’s mask would basically defeat the purpose of an “auto” masktable feature - we might as well just construct masks ourselves at that point!
I wonder if this means we should just continue to make fixed mask tables with FREtools for now, so that rOM3 remains as flexible in choice of domain as the base regional-mom6? @helen ?
An alternative fix would be to modify the MOM6 code, to switch the FATAL to a warning. It should be easy enough to tell MOM to continue as though there was no masktable, which is the case for an open ocean regional run. In that case MASK_TABLE=.none. or something like that in the MOM_input file