Hi Javiera (and all),
Last year, we added experimental support
<https://github.com/Sbozzolo/kuibit/commit/49c86debf1b6edbf052ba9fbdc409a0c2f7efc8e>
to reading OpenPMD files to kuibit <https://github.com/Sbozzolo/kuibit>.
I haven't tried it for anything more than toy data, but the example we
were working with is precisely the output generated with WaveToyX, as
seen here
<https://github.com/Sbozzolo/kuibit/tree/master/tests/grid_functions/batman.it00000000.bp4>.
You could give it a try. kuibit will read the data and represent it
with its HierarchicalGridData data structure, which can be sampled to
a uniform grid and visualized with matplotlib (or you can slice it a
given dimension to get a 1D/2D cut and visualize those).
Best,
Gabriele
On Tue, Jul 1, 2025 at 8:49 AM Steven Brandt <[email protected]> wrote:
I could add Visit. I included it on etk1 for the workshop. The only
catch is it has to run headless.
--Steve
On 6/30/2025 12:20 PM, Roland Haas wrote:
> Hello all,
>
> There's no VisIt instance installed on the tutorial server (it only
> provides an interface using jupyter notebooks, no X11 server
access).
>
> I believe Steve has written some Python code to visualize
CarpetX data.
>
> Yours,
> Roland
>
>> [CAUTION: Non-UBC Email]
>>
>> Javiera
>>
>> Unfortunately I don't recall what software is installed on the
ETK tutorial server... I'm sure someone else can help us out here?
>>
>> -erik
>>
>>> On Jun 30, 2025, at 12:17, Javiera Hernández Morales
<[email protected]> wrote:
>>>
>>> Hi Erik,
>>>
>>> Thanks for your answer. Maybe for more context I should
mention that I am starting to learn how to use the ETK, and for
that I am using the notebooks provided in the tutorial server
(etk.cct.lsu.edu <http://etk.cct.lsu.edu>
<http://etk.cct.lsu.edu/>), together with some of the ones used
for the last ETK workshop.
>>>
>>> To answer your last question, I am not doing anything specific
with the output, I wanted to get 3D data to see if that could help
me visualise the output of the examples I did with the WaveToyX thorn.
>>>
>>> Unfortunately I am not familiar with SILO, so I tried to use
the 1D .tsv files, but they only provide the values in a slice
(for example the wave as a function of x, for y=z=0), but I wanted
to create a 3D plot similar to the one found in the
CreatingANewThorn-WaveEqn notebook from the tutorial server (I
leave a screenshot attached), that is why I thought of outputting 3D.
>>>
>>> To use SILO files I understand that one has to have VisIt
installed, however when I wanted to install it in the tutorial
server via terminal, I got the error that I am not allowed to
install software, which I suppose makes sense.
>>>
>>> In principle all I want to do is experiment with the WaveToyX
thorn (and the other examples, like SpacetimeWaveToyX or
FluxWaveToyX), changing parameters and see how things behave, but
I am struggling a lot with the visualisation part. Do you have any
recommendations that I could implement in the environment of the
ETK Tutorial server?
>>>
>>> Thanks in advance.
>>>
>>> Best regards,
>>>
>>> Javiera H.M.
>>>
>>> <Screen Shot 2025-06-30 at 17.12.42 p.m..png>
>>>
>>>> El 30.06.2025, a las 16:45, Erik Schnetter
<[email protected]> escribió:
>>>>
>>>> Javiera
>>>>
>>>> I recommend using 3D output in the way others are. CarpetX
supports many parameters, but not all parameter combinations are
well tested, or are intended for production runs.
>>>>
>>>> (1, 2) Yes, there are two ways of 3D ASCII (tsv) output. This
is very slow and is thus only intended for debugging. Therefore it
doesn't have all the features needed for comfortable output in
production runs.
>>>>
>>>> (3) Either OpenPMD or Silo output are the preferred ways for
production runs. These formats are also supported by
post-processing and visualization tools. These are not file
formats, but they only describe how the metadata are arranged
(i.e. what names the attributes have) in the output files. The
actual file formats are ADIOS2 (preferred, faster) or HDF5.
OpenPMD uses ADIOS2 by default, Silo uses HDF5 by default.
>>>>
>>>> I do not know why the OpenPMD/HDF5 output is not working. The
error message doesn't show enough detail.
>>>>
>>>> If you want HDF5 output then I recommend using Silo. This
will produce an HDF5 file. I'm not sure that's what you want
because, whatever you are going to do with the file, you will need
to understand the metadata in the file, and thus that tool or
script will need to understand either the OpenMPD or Silo layout.
Otherwise your HDF5 will look like a bag of 3D arrays, each array
describing a Fortran array, and it will be very difficult to find
out which component of which variable and which time step on which
refinement level is stored in what array: That's what the metadata
describes.
>>>>
>>>> On the other hand, if you want to have an easy way to read
the file, then you could use e.g. the Julia or Python of C++
bindings of the OpenMPD library, and you then wouldn't need to
care whether the low-level file format is ADIOS2 or HDF5.
>>>>
>>>> What do you want to do with the 3D output?
>>>>
>>>> -erik
>>>>
>>>>> On Jun 27, 2025, at 12:54, Javiera Hernández Morales
<[email protected]> wrote:
>>>>>
>>>>> Hi all,
>>>>>
>>>>> I am starting to learn the use of CarpetX and for this I
started using the WaveToyX thorn. I wanted to ask for guidance for
three problems that I have encountered so far, all of them related
to the output data:
>>>>>
>>>>> 1) I wanted to get 3D data, for example in .tsv format. Here
I realised that there is an ambiguous definition in the
documentation for the parameter “out_tsv”, which in section 12.1
it says to control TSV output and have default value “yes”, but in
section 14 it says to control the 3D output in TSV and have
default value “no”. This last behaviour is the one that I
encounter when running the parfiles.
>>>>>
>>>>> 2) When I set up “out_tsv" to “yes” and “out_tsv_every” to a
number, for example = 16, I get 1D output every 16 iterations, but
3D output in every iteration, therefore I suspect that
“out_tsv_every” is only controlling the frequency of the 1D
output, and I cannot find a way to control the frequency of 3D output.
>>>>>
>>>>> 3) I attempted to output data in HDF5 format but I did not
succeed. I first set the parameter “openpmd_format” to “HDF5” and
also set “out_openpmd_vars” to the variables that I wanted, but I
got an error in the first iteration:
>>>>>
>>>>> INFO (CarpetX): OutputGH: iteration 0, time 0.000000, run
time 1 s
>>>>> INFO (CarpetX): OutputOpenPMD...
>>>>> INFO (CarpetX): Creating openPMD object...
>>>>> INFO (CarpetX): options:
>>>>> {
>>>>> "adios2": {
>>>>> "dataset": {
>>>>> "operators": [
>>>>> ]
>>>>> }
>>>>> }
>>>>> }
>>>>>
>>>>> [et-juphub:699479] *** An error occurred in
MPI_Comm_create_keyval
>>>>> [et-juphub:699479] *** reported by process [211877889,2]
>>>>> [et-juphub:699479] *** on communicator MPI_COMM_WORLD
>>>>> [et-juphub:699479] *** MPI_ERR_ARG: invalid argument of some
other kind
>>>>> [et-juphub:699479] *** MPI_ERRORS_ARE_FATAL (processes in
this communicator will now abort,
>>>>> [et-juphub:699479] *** and potentially your MPI job)
>>>>> [et-juphub:699473] PMIX ERROR: UNREACHABLE in file
../../../src/server/pmix_server.c at line 2193
>>>>> [et-juphub:699473] 3 more processes have sent help message
help-mpi-errors.txt / mpi_errors_are_fatal
>>>>> [et-juphub:699473] Set MCA parameter
"orte_base_help_aggregate" to 0 to see all help / error messages
>>>>> Simfactory Done at date: Thu 26 Jun 2025 09:19:08 AM UTC
>>>>> And I did not know how to move on from there.
>>>>> I am working on the ETK Tutorial server, in case that is
important.
>>>>> Thanks in advance to anyone who took the time to read until
here, I will be looking forward to any piece of advice :)
>>>>> Best,
>>>>> Javiera H.M.
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> [email protected]
>>>>> http://lists.einsteintoolkit.org/mailman/listinfo/users
>>>>
>>>
>
> Yours,
> Roland
>
_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users