-
Notifications
You must be signed in to change notification settings - Fork 19
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
Tutorial Proposal #1586
Merged
Merged
Tutorial Proposal #1586
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bena-nasa
added
🎁 New Feature
This is a new feature
0 Diff
The changes in this pull request have verified to be zero-diff with the target branch.
labels
Jun 28, 2022
bena-nasa
added
the
🚫 Contingent - DNA
Do Not Approve (DNA). These changes are contingent on other PRs
label
Jun 28, 2022
bena-nasa
removed
the
🚫 Contingent - DNA
Do Not Approve (DNA). These changes are contingent on other PRs
label
Jun 28, 2022
atrayano
previously approved these changes
Jun 28, 2022
mathomp4
approved these changes
Jul 11, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cmake good.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
0 Diff
The changes in this pull request have verified to be zero-diff with the target branch.
🎁 New Feature
This is a new feature
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've made the start of a tutorial here for MAPL from a code exercise sense and put this here for feedback. As far as the PP that gives an overall view of MAPL that's something else.
Here's the idea. I introduced a tutorial directory. I have some GridComps, that increase in "complexity", from doing nothing from creating a grid to creating a grid, an export, and adding two children and connecting.
I then have a single driver executable that I get away with by adding a one more MAPL_AddChild overload to add a child from a dso. I then added a new command argument to that when you create a cap object passing a setservices is optional. If you don't you can specify a dso library on the command line to use as root. I guess another way would have been to specify the name of the library in the CAP.rc.
In any case CapGridComp calls the right interface to MAPL_AddChild to add the root depending whether it was delivered a procedure pointer or a dso library name.
I then have a series of "tutorial" cases that use these (and are driven through cap like the regular model) as well as a simple bash driver where you can pass the installation path and path to the tutorial directory you want to run.
So far are 4 + 5th-ish
They are
Create a single gridcomp, all it does it print hello world in run
Create a single gridcomp, adds an export, writes out in history
Create parent+child (child has export)
Create parent+2 siblings one exports other imports field
Create parent+ (child has import via Extdata, but to do this I need to commit a netcdf file..., that's not text or source code ...)
So questions,
If people are generally ok with what I've done here. We need documentation to go with this. Some top level about how to run teach and for each tutorial.
Should it live in each tutorial, each one could have a README.md describing it. This could be elsewhere such as on the wiki as well.
I assume whatever the documentation for each tutorial would describe what is going on, what is is trying to demonstration, as well as maybe propose something further the user could try.
After these synthetic demonstrations, the next assignment could be like, ok now try such and such in the real model.
Also, I do not "install" the actual tutorial RC files as I'm not sure where we should put this under the installation. Should this be under etc for example?
Description
Related Issue
Motivation and Context
How Has This Been Tested?
Types of changes
Checklist: