Skip to content
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

more documentation, including for all modv files #124

Merged
merged 2 commits into from
Mar 24, 2021
Merged

Conversation

jbathegit
Copy link
Collaborator

I know this is a lot of files, but it's all documentation enhancements, and more than half of the changed files are modv files which only define a single global parameter and thus are very short in length.

What's particularly neat about this commit is that I figured out how to implement the Doxygen @var tag, which creates a global reference to a particular variable name and also generates very nicely-formatted tables for modules. For examples of what this looks like in Doxygen, see my sample web site at https://emc.ncep.noaa.gov/emc/pages/infrastructure/bufrlib_jeff/html/index.html, then click on the "Files" tab, then click on some of the changed files such as cfe.h, moda_bitmaps.F, moda_tababd.F, or any of the modv_*.F files. All variables defined by these @var tags also end up getting added to a master global catalog, which you can see if you go to the "Main Page" tab, then click on "Data Types List", then click on "Data Fields", then click either "All" or "Variables".

Let me know if any questions - thanks!

@jbathegit
Copy link
Collaborator Author

BTW, in all of the modv_*.F files, I also swapped the order of the STATIC and DYNAMIC allocation declarations. I did this because Doxygen only displays the last one, and I wanted the DYNAMIC declarations to be the ones that get displayed on the web site. But there are no actual changes to functionality.

@edwardhartnett
Copy link
Contributor

Neat! You are becoming quite the doxygen expert! At some point I would like to have you take a look at what we are doing in UFS_UTILS so we can sync up our newfound doxygen knowledge. (This is the first time I've ever used it so extensively with Fortran code.)

I will review. Thanks for isolating the doxygen changes, because primarily what I look for in the review are accidentally changed lines of code.

What you say about static vs. dynamic is interesting. I will take a look...

@edwardhartnett
Copy link
Contributor

OK, for static vs. dynamic, what is happening is that whatever macro is applied in the build that is running doxygen is used.

However it's also clear that we need to eliminate what you are calling the static build. It's archaic and adds needless complexity.

@jbathegit
Copy link
Collaborator Author

Yes, we've had this discussion before, and we still have an open issue for this in #77. As noted there, I do agree that we should be able to eliminate the static memory builds as part of a future release of the library. My plan is to do this not in the next 11.4.0 release, but rather in the next one after that.

@jbathegit
Copy link
Collaborator Author

@edwardhartnett do you have any other questions/concerns about this PR? If not, could you please approve it for merging? (Thanks! ;-)

@jbathegit jbathegit merged commit d9bab23 into develop Mar 24, 2021
@jbathegit jbathegit deleted the jba_dox branch March 24, 2021 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants