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
1 stars 3 forks source link

Doxygen documentation of `MESH` Fortran modules #25

Open kasra-keshavarz opened 9 months ago

kasra-keshavarz commented 9 months ago

As a newcomer to MESH's source code, I find it sometimes difficult to navigate all the modules and understand which variables are used in each source file. So, I was thinking having a Doxygen generated documentation of all modules could greatly accelerate the learning process. An example is in the following (for the SMHI HYPE model): https://hype.sourceforge.net/doxy-html/namespaces.html

This is definitely a long process to generate all the docs, but I thought it would be helpful to share.

dprincz commented 9 months ago

Also review CLASSIC: https://gitlab.com/cccma/classic

mee067 commented 9 months ago

I think that's a good idea - especially if it includes mapping which variables are passed to which routines as they often change names going through and could be parts of data structures or get copied to local variables back and forth. Aligning the calls with routine definitions would also help. Some calls span several lines, say 10 and the routine definition will have 12 - variables passed on line 4 can be on lines 5 & 6 of the routine definition and vice versa.