MOOSE technically allows blocks to have a subdomain ID of 0, but Aurora will throw this error:
if(blk < 1 || blk > maxBlockID){
std::string errmsg="Block ID "+std::to_string(blk)+" for material "+mat
+" is inconsistent with mesh (max subdomains = "
+std::to_string(maxBlockID)+")";
mooseError(errmsg);
}