Replies: 5 comments 1 reply
-
I agree that not all examples are the same and you want to let users know about their purpose/history by putting them in different folders. That being said, I am not sure
geodynamics/citcom doesnt really distinguish, and has 10 documented cookbooks, and a few undocumented input files as examples. geodynamics/pylith separates into:
geodynamics/aspect separates into:
I like the distinction into |
Beta Was this translation helpful? Give feedback.
-
Thanks, @gassmoeller, this is great. The use of benchmarks, cookbooks, and tests sounds great to me. @danielpeter, do you know the examples well enough to assign them to these three (or guess)? The sensitivity_kernels_liutromp2006 would be benchmark. Presumably also BENCHMARK_CLAERBOUT_ADJOINT. For the rest, someone could guess the subfolder assignment. Not sure if we have many tests or if they are mostly cookbooks. Also, some renaming of folders is probably also needed. These changes would set us up better for future examples. |
Beta Was this translation helpful? Give feedback.
-
Hi @carltape , @gassmoeller, We had a discussion today about next steps for the Training section of the website. It has been raised that in addition to the raw documentation for each code in the SPECFEM family, we need the website to link to a large suite of examples and tutorials that help new users. Splitting into benchmarks and cookbooks sounds like a good idea for this. Can we compile a list of desired cookbooks each with an aim for what they teach the user? We can then designate/ask the community to contribute a cookbook/example. If we do this, what do you think about creating a broad outline/template that each cookbook should follow? I think there needs to be some consistency across examples...for example what is the minimum expected details included in the cookbook, and what is the format of the tutorial (individual files with a README / a Jupyter notebook / a notebook with an accompanying recorded video of the author talking through the notebook etc)? Any suggestions/thoughts would be great! |
Beta Was this translation helpful? Give feedback.
-
yes, that's a good idea to clean up the EXAMPLES/ folder! - but it's a bit complicated at the moment... I think it would be good to define first what the different types and purposes of the examples are and how we want to bundle it together. in principle, we would distinguish between software testing and user examples & tutorials. unfortunately, software testing is a vast field with many different approaches and terminology. software testing is typically separated into different levels. relevant for us would be:
then, more specific test types and techniques for us would be:
so, regarding software testing, we do unit tests in the and here, we don't separate between software testing purpose or user example & tutorial. those examples are also provided to help new users learn how to run a (simple) simulation. at the moment, we don't separate the examples in that leaves us with the question on how we want to deal with more specific user examples & tutorials. The rest of the examples in the I have the impression, that we still want to have The main missing part to me is to have even simpler cookbooks. from my side, these would ideally be jupyter notebooks, as they integrate text explanations with command-line code. also, they can be displayed on a website. so these tutorials could be all shown on the specfem.org website in our Training/ page - we just need to decide where we want them to be stored, and figure out how users can contribute new ones in a simple way. given that these cookbooks are specific to a certain version, SPECFEM2D, SPECFEM3D, etc., they probably belong into those repos with a new folder. or we create a completely new github repo in the SPECFEM/ organization to hold all tutorials, slide material etc., and then need to figure out a way how to display it nicely - any suggestions are welcome! |
Beta Was this translation helpful? Give feedback.
-
Exciting to see the latest updates with this pull request. Thank you! |
Beta Was this translation helpful? Give feedback.
-
At the Toronto meeting, we discussed the multiple uses for examples in specfem. Most examples attempt to demonstrate one more more capabilities, and they do it in a minimal way (small mesh, few time steps), so that the example can be automatically tested. There is also a need for a second set of examples that reproduce findings that are published in papers. A recent inclusion was the Liu and Tromp (2006) kernels, which @aakash10gupta added. This is NOT the kind of example you'd want to test every time a change is made to the code. Nevertheless, we want to encourage examples along these lines, especially if there are minimal-sized input files needed for the examples.
To address this, I was thinking we should make a subdirectory in EXAMPLES called something like PUBLISHED (or the like) that would include sensitivity_kernels_liutromp2006, for starters. (Are there others to move there? What about some of the original specfem benchmarks?)
How does this all sound? And is there any other category of examples that should be established at this time?
A bigger topic is whether each of the examples serves a useful purpose, or whether we need others or could cut others. Let's deal with that separately.
Beta Was this translation helpful? Give feedback.
All reactions