Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion seissolxdmfwriter/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "seissolxdmfwriter"
version = "0.4.5"
version = "0.4.6"
authors = [
{name = "SeisSol Group"},
]
Expand Down
5 changes: 3 additions & 2 deletions seissolxdmfwriter/seissolxdmfwriter/__init__.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from .seissolxdmfwriter import *

try:
from importlib.metadata import version, PackageNotFoundError
from importlib.metadata import PackageNotFoundError, version
except ImportError:
from importlib_metadata import version, PackageNotFoundError
from importlib_metadata import PackageNotFoundError, version

try:
__version__ = version("seissolxdmfwriter")
Expand Down
12 changes: 8 additions & 4 deletions seissolxdmfwriter/seissolxdmfwriter/seissol_output_extractor.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
#!/usr/bin/env python3
import argparse
import os
import os.path
from warnings import warn

import numpy as np
import seissolxdmf

import seissolxdmfwriter as sxw
import numpy as np
import argparse
from warnings import warn


def generate_new_prefix(prefix, append2prefix):
Expand Down Expand Up @@ -163,9 +165,11 @@ def GetFilteredCells(self, regionFilter, xRange, yRange, zRange):
region_varname = "fault-tag"
elif "locationFlag" in available:
region_varname = "locationFlag"
elif "group" in available:
region_varname = "group"
else:
raise ValueError(
f"fault-tag or locationFlag not in available variables {available}"
f"fault-tag, locationFlag or group not in available variables {available}"
)
tags = self.Read1dData(region_varname, self.nElements, isInt=True)
regions = regionFilter[0].split(",")
Expand Down
40 changes: 28 additions & 12 deletions seissolxdmfwriter/seissolxdmfwriter/seissolxdmfwriter.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import numpy as np
import os
from tqdm import tqdm
import sys

import numpy as np
from tqdm import tqdm

known_1d_arrays = [
"locationFlag",
"fault-tag",
Expand Down Expand Up @@ -517,13 +518,28 @@ def write_from_seissol_output(
)

nel = infer_n_elements(sx, filtered_cells)
write_timeseries_xdmf(
prefix,
sx.ReadNNodes(),
nel,
sx.ReadNodesPerElement(),
dictDataTypes,
[sx.ReadTimes()[k] for k in time_indices],
reduce_precision,
backend,
)
nNodes = sx.ReadNNodes()
node_per_element = sx.ReadNodesPerElement()
dictTime = [sx.ReadTimes()[k] for k in time_indices]

if not dictTime:
write_mesh_xdmf(
prefix,
nNodes,
nel,
node_per_element,
dictDataTypes,
reduce_precision,
backend,
)
else:
write_timeseries_xdmf(
prefix,
nNodes,
nel,
node_per_element,
dictDataTypes,
dictTime,
reduce_precision,
backend,
)