-
Notifications
You must be signed in to change notification settings - Fork 64
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
Need tools to convert to and parse new metadata headers #171
Comments
Thanks, I saw the pull request that contains a superset of what we need to get this job done. Let's see together what the minimum code is that I need to pull out from the PR to perform the conversion and read the basics of the new metadata (i.e. what we read today) into the old ccpp_prebuild.py system. |
This topic was discussed and several changes were proposed or agreed on during the CCPP framework meeting on January 31, 2019. The meeting minutes are here: https://github.com/NCAR/ccpp-framework/wiki/CCPP-Framework-Meeting-Minutes-2019%E2%80%9001%E2%80%9031 |
One of the potential changes discussed during the meeting was conversion of metadata tables to be pure config file format (including removing the no-longer-needed Fortran comment characters). Note that it will not be possible to read a Thoughts? |
Thanks for sharing these ideas. The option to read the files using a Python config parser came out of the blue and is by no means something we need now (or anytime soon if at all). It definitely shouldn't be in the way of implementing the best possible option for our purposes. |
So are you a fan of removing the exclamation marks?
|
Can we think of any good arguments for keeping or removing the '!!'? Pro removing:
Pro keeping:
If we were to go without the '!!', I like idea 1 better, because it is easier to see the hierarchy. Maybe @ligiabernardet and @grantfirl have some input, too. |
I vote for pro-removing. I would also like to pitch a third idea for the beginning of a metadata header:
where the hash marks are optional (any line beginning with a hash mark is a comment line in keeping with the config format even though the files will not meet strict format compliance). Another item which could be included in this section is |
I'm definitely in the pro-removing camp for the reasons that Dom mentioned. Given the length of the .md file, I can't see the need to ever dump this back into the source, and even if the need arose, it would be easy to prepend the appropriate comment characters with scripting. If we're really divorcing the metadata from the source, I just don't see the point in going "half way" and keeping the formatting in there. For the header, I don't have a strong preference, although I second Dom's suggestion that the "hierarchy" needs to be clear. So, I would be on board with ideas 2 or 3 as long as there is white space or some other delineation between the header and the start of the variable metadata. |
Another potential item for the
(default False) would allow me to capture the current distinction between metadata headers that begin new doxygen sections and those that do not. |
After looking at the doxygen rules for Fortran, it looks like '!>' is valid to start a section OR to continue a section, whereas '!!' is continue only. Given this, I would say that it isn't necessary for the |
It looks like Dom's proposed solution captured in the January 31, 2019 meeting notes (https://github.com/NCAR/ccpp-framework/wiki/CCPP-Framework-Meeting-Minutes-2019%E2%80%9001%E2%80%9031) will work just fine. That is, when the metadata is removed from the source files into *.md, the converter will need to leave the following lines in order for the Doxygen parser to pick up the table
As part of the I've tested this on Man's documentation branch with a test HTML file and everything works just dandy. |
Great, thank you so much for looking into this @grantfirl ! |
So what should the top of a metadata section look like in the new system? I need a way to know for sure that I am starting a new header and also need to know the name and type (e.g., scheme, ddt, module). Thoughts? Votes? Ruling? |
In order to proceed, shall we go with option 3?
As Grant said, we won't need the I am not sure we need |
@grantfirl, any objection to selection from @climbfuji? |
No objection. I agree with Dom's choice. |
The removal of !! and choice below also sound good to me.
#######################################
[ccpp-arg-table]
name = <scheme_name>
type = scheme
…On Tue, Feb 5, 2019 at 3:47 PM grantfirl ***@***.***> wrote:
No objection. I agree with Dom's choice.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#171 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AT9oAjzNm2gPhXafV4wCFX9ahKsrYQmqks5vKgocgaJpZM4abNJy>
.
|
Version 2 contains config-file-like format in a separate file. Dimensions are taken from the Fortran code and converted to standard names while possible. The conversion process generates warnings where it was unable to do a complete conversion. Fixes #171
In order to convert CCPP physics to the new metadata standard, we need a conversion tool plus code that parses files with the new metadata headers. Some issues regarding the conversion are:
The text was updated successfully, but these errors were encountered: