MESH-Model / MESH-Dev

This repository contains the official MESH development code, which is the basis for the 'tags' listed under the MESH-Releases repository. The same tags are listed under this repository. Legacy branches and utilities have also been ported from the former SVN (Subversion) repository. Future developments must create 'forks' from this repository.
Other
2 stars 3 forks source link

`MESH` NetCDF outputs to include additional variables #39

Open kasra-keshavarz opened 4 months ago

kasra-keshavarz commented 4 months ago

It would be fantastic if MESH NetCDF outputs can include more variables, including subbasin values in vector-based setups. This would facilitate further analysis and adjustment. It could be beneficial for feeding it for common routing programs, such as mizuRoute.

This has been suggested by @ShervanGharari, @roalva82, and myself.

mee067 commented 4 months ago

What outputs? can you be more specific?

Does mizuRoute need more than total runoff? @AlaBahrami used MESH runoff for routing using mizuRoute before.

kasra-keshavarz commented 4 months ago

Current state of MESH outputs needs further post-processing and that is a limitation. Outputs of MESH are solely based on RANK values, rather than the actual sub-basin IDs (or whatever to be added later).

mee067 commented 4 months ago

so this is not a matter of new output variables but ordering the output fields differently. Sub-basin IDs are as arbitrary as Ranks. When you merge small subs to handle the small basin issue, you arbitrarily select the new ID (typically we keep the ID of the larger one) an eliminate some IDs from the original MERIT basins set. I do not think we could eliminate post-processing but maybe reduce it. The real issue with vector-based outputs is visualization. Easymore can do it but it is not as straightforward/efficient as using packages like Panoply or so which handle the grid-based output seamlessly.

kasra-keshavarz commented 4 months ago

It is a bit difficult for me to follow, sorry.

I did not ask for re-ordering of output fields in the NetCDF files (NetCDF dimensions to be more specific). I have asked to include more variables (could be those included in the "Drainage Database") in the output NetCDF files. This will ease using the outputs of the models elsewhere (not necessarily mizuRoute). I hope I was able to clarify my intentions.

mee067 commented 4 months ago

You first said new output variables but when I asked you to be specific (i.e. name some of them), you said that the output is currently based on Rank. What I gather is that you want some fields from the ddb like sub-basin ID to be added in the output too. Fine, but it has to be optional as: it will increase the output size as they will be included in each file, and they do not apply to grid-based setups.

Hope we are on the same page now.

dprincz commented 1 month ago

Models within MESH will be able to register other variables as available outputs at the discretion of the model developer/maintainer. This is demonstrated in a protected/research code related to a student's Ph.D work. I'm not sure when an ability to include accessory variables (i.e., variables not recognized or used by active sub-models or modules within MESH, but ones that would simply pass from an input to an output), as available outputs, would become available. However, if the MERITHydro subbasin IDs is a component of mizuRoute, it could likewise be registered as an available output by a MESH-connector specific for that model.