-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lack of definitive Grid serialisation #226
Comments
The problem is that the To me, this seems like an issue that is best solved on the UCLA-ROMS side. But I know it would be a hard sell. |
A quick and pretty unpleasant solution to
could be to take the right hand side of
and return it when While I totally agree that the ROMS side of this is... unintuitive and we should absolutely push for changes there, I still feel that the inconsistencies I ran into in the above snippets suggest that the circular dependency issue you're describing has been shifted rather than resolved, and this hints at a potential deeper issue in the current implementation |
I'm not sure I understand... If
then |
Yes, right - though I wouldn't suggest implementing things this "quick" way anyway as even if it worked it still wouldn't be addressing the underlying issue (as evidenced by the fact that it doesn't work). I took a closer look this morning and remembered (perhaps incorrectly?) that the only information embedded into Could we not initialise the |
I think it would be really counter-intuitive to having to provide a river dataset if one simply wants to create a grid. I wonder how much work it would be to make a fix to ROMS, so that ROMS will look for the |
Afraid I disagree here, providing the locations of rivers to a grid doesn't feel any more counterintuitive to me than providing the locations of coastlines. The user isn't required to provide any temporally varying data like the actual river flux, just the locations, and most users (who don't have something against Dai & Trenberth) won't have to provide anything at all (perhaps just I'd even go as far as to say we should initialise the We can mention it to CESR on Wednesday, but it will be a huge lift from them and I don't really see a problem with the above suggestion. |
Where does the user have to provide the locations of coastlines?
What if we do that, and then the user creates their
I don't see how it would be a big lift. The code could first look for |
via
This is again an example of an advanced user, who would provide their river locations to the
If you'd be happy to work on that PR to ROMS, that would be amazing - the huge lift isn't so much the amount of work, but convincing somebody to do it. In either case, I believe we should enshrine something that safeguards against what has happened here: the |
The difference is that ETOPO5 is still a valid topography. (If you think we should force the user to specify what topography they want, let's talk about that in a separate issue.) In contrast, if the Amazon suddenly flows out of Africa's west coast, that would result in a very wrong circulation. I am currently pretty slammed with working on multiple [C]Worthy projects, but I will work on the PR to ROMS as soon as I have time.
Making the changes on the ROMS side is the only sensible way to fix this problem IMO. |
Opened CESR-lab/ucla-roms#52 |
@dafyddstephenson This issue can probably be closed because:
Sounds good? |
Sounds good - I think I'd still rather wait to see if any niggles emerge during the upstream ROMS changes and subsequent testing of |
In searching for a solution to CWorthy-ocean/C-Star#201 and CWorthy-ocean/C-Star#223 I've noticed that, in the situations described there,
roms-tools
does not offer a definitive serialization of the final grid object (the existence of which would solve both issues).For example,
We now have three yaml files, but in all three cases,
Grid.from_yaml
produces the same grid, lacking the river flux. I guess(?) the behaviour I would expect is that:Grid.from_yaml("river_forcing.yaml")
would use the fields of both entries to recreate the correctGrid
in the same wayRiverForcing.from_yaml
does.river_forcing.grid.to_yaml("grid_final.yaml")
would produce a yaml file with sufficient information to independently recreate the river-informed gridThe issue goes a bit deeper:
The text was updated successfully, but these errors were encountered: