update the 5min tutorial - #5715
Conversation
* Switch to RoSi * Add info on using openPMD ci: no-compile
finnolec
left a comment
There was a problem hiding this comment.
I added a suggestion to make parallel compiling the standard workflow. Additionally, I think it would be great, if there were minimal code snippet examples with ~5 lines of code on how to use the different openPMD tools to get data from openPMD files with standard PIConGPU name formatting. These could also be linked in the openPMD plugin documentation. In my opinion, these snippets wouldn't need to be explained at all, for this I would forward to the documentation of the different tools.
Co-authored-by: Finn-Ole Carstens <45068748+finnolec@users.noreply.github.com>
|
|
||
| This guide needs **shell access** (probably via :command:`ssh`) and :command:`git`. | ||
| This guide needs **shell access** (probably via :command:`ssh`) and :command:`git` (preinstalled on most systems including RoSi). | ||
| The RoSi shell can also be used from a browser (currently there is no support for Firefox) at `<https://rosi.hzdr.de/>`_ (accessible from the intranet). |
There was a problem hiding this comment.
I think I used it via Firefox - what does not work?
There was a problem hiding this comment.
the shell does not work, jupyter works
21ce26e
into
ComputationalRadiationPhysics:dev
franzpoeschel
left a comment
There was a problem hiding this comment.
Thank you for writing this, @pordyna! I have some small comments. If you want me to, I can prepare a PR.
| ^^^^^^^ | ||
|
|
||
| The PNG output is great for having a quick look at the example results, but it is a rather inefficient way of generating and storing your simulation results. | ||
| In general, we write simulation data into ADIOS2 (``.bp``, ``.bp5``, ``.bp4`` extensions) or HDF5 (``.h5``) files with parallel I/O that follow the structure defined by the community openPMD standard. |
There was a problem hiding this comment.
I would like to either remove .bp or make it more obvious that it is deprecated in favor of the explicit extensions. Makes it far easier to respond to bug reports when I don't always have to make people figure out which BP version they are using.
Also, should we mention that this is an optional dependency? Users might get confused why this is not available in their installation.
| - `openPMD API docs <https://openpmd-api.readthedocs.io/en/latest/>`_ API for reading and writing openPMD output. | ||
| Powerful tool, its proper use requires some familiarity with the standard itself. | ||
| - `openPMD-viewer <https://github.com/openPMD/openPMD-viewer>`_ Data visualization Python library built on top of the API. | ||
| - `openPMD-scipp <https://github.com/pordyna/openpmd_scipp>`_ Easy visualization of mesh data (fields) using the `plopp <https://scipp.github.io/plopp/>`_ and `scipp <https://github.com/scipp>`_ Python libraries. |
There was a problem hiding this comment.
Btw, has there been any update on this? This is still open: openPMD/openPMD-api#1716
There was a problem hiding this comment.
The codebase diverged slightly again. I will have to just finally spend a day on this and finish it up. Shouldn't be that much work.
| - `openPMD-scipp <https://github.com/pordyna/openpmd_scipp>`_ Easy visualization of mesh data (fields) using the `plopp <https://scipp.github.io/plopp/>`_ and `scipp <https://github.com/scipp>`_ Python libraries. | ||
| - `openPMD pandas support <https://openpmd-api.readthedocs.io/en/latest/analysis/pandas.html>`_ Straightforward solution for working with particle data. | ||
| - `openpmd-ls <https://openpmd-api.readthedocs.io/en/latest/utilities/cli.html#openpmd-ls>`_ Command for getting an overview over the content of an openPMD output via command line. | ||
| - `bpls <https://adios2.readthedocs.io/en/latest/ecosystem/utilities.html#bpls-inspecting-data>`_ Powerful tool for inspecting individual ADIOS2 files via command line. |
There was a problem hiding this comment.
Do we also need some mention of HDF5 tooling? If yes, I would suggest h5ls, h5dump for cmd line, and https://myhdf5.hdfgroup.org/ (also available as a VS Code plugin) for ease of use.
There was a problem hiding this comment.
I don't know if we need to. On some systems hdf5 with openpmd-api can get really slow, like on perlmutter ( in that particular case I think mostly due to noncollective storechunk?) . So hd5 would be probably mostly for people who are already very used to it and this ecosystem anyway. But feel free to add some.
|
|
||
| When directly using the openPMD API make sure you make yourself familiar with when you need to call ``series.flush()``. | ||
| See `Flush Chunk <https://openpmd-api.readthedocs.io/en/latest/usage/firstread.html#flush-chunk>`_ and `Deferred Data API Contract <https://openpmd-api.readthedocs.io/en/latest/usage/workflow.html#deferred-data-api-contract>`_ for more details. | ||
| Forgetting it or modifying the data before flush was performed is a common user mistake that can lead to very confusing results. |
There was a problem hiding this comment.
Btw, WIP for a "give me data immediately" mode
openPMD/openPMD-api#1846
Go for it @franzpoeschel ! Maybe once you are at it, can you also link to it on the openPMD plugin page? |
Now on #5733 |
Update the 5min tutorial
According to @PrometheusPi the PNG plugin doesn't work with our current setup on RoSi. Since it is a part of the tutorial and the used example one should probably make it work on RoSi. Alternatively remove it from the tutorial and the example. (Not a part of this PR)
@chillenzer, I didn't add any mentions of PICMI since there is no coherent documentation on how to use the newest workflows so far. We need to remember to update this file again when we have PICMI docs ready.
@franzpoeschel if you got some time, could you look over the openPMD part?
@phyprashant since you, you were one of the last people that followed the old tutorial on RoSi, could you have a look if we maybe forgot to add sth useful? You can access the rendered docs by clicking the
docs/readthedocs.org:picongpulink in the CI tests below.