sdfr 1.4.4__py3-none-win_amd64.whl → 1.4.5__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
sdfr/SDF.py CHANGED
@@ -370,8 +370,8 @@ class BlockList:
370
370
  self.Header = get_header(h.contents)
371
371
  mesh_id_map = {}
372
372
  mesh_vars = []
373
- self._block_ids = {}
374
- self._block_names = {}
373
+ self._block_ids = {"Header": self.Header}
374
+ self._block_names = {"Header": self.Header}
375
375
  for n in range(h.contents.nblocks):
376
376
  block = block.contents
377
377
  block._handle = h
@@ -912,8 +912,10 @@ def get_header(h):
912
912
 
913
913
 
914
914
  def get_run_info(block):
915
+ import datetime
915
916
  from datetime import datetime as dtm
916
- from datetime import UTC
917
+
918
+ utc = datetime.timezone.utc
917
919
 
918
920
  h = ct.cast(block.data, ct.POINTER(RunInfo)).contents
919
921
  d = {}
@@ -922,9 +924,9 @@ def get_run_info(block):
922
924
  d["sha1sum"] = h.sha1sum.decode()
923
925
  d["compile_machine"] = h.compile_machine.decode()
924
926
  d["compile_flags"] = h.compile_flags.decode()
925
- d["compile_date"] = dtm.fromtimestamp(h.compile_date, UTC).strftime("%c")
926
- d["run_date"] = dtm.fromtimestamp(h.run_date, UTC).strftime("%c")
927
- d["io_data"] = dtm.fromtimestamp(h.io_date, UTC).strftime("%c")
927
+ d["compile_date"] = dtm.fromtimestamp(h.compile_date, utc).strftime("%c")
928
+ d["run_date"] = dtm.fromtimestamp(h.run_date, utc).strftime("%c")
929
+ d["io_data"] = dtm.fromtimestamp(h.io_date, utc).strftime("%c")
928
930
  return d
929
931
 
930
932
 
sdfr/_commit_info.py CHANGED
@@ -1,2 +1,2 @@
1
- __commit_date__ = "Thu Jun 19 14:32:34 2025 +0100"
2
- __commit_id__ = "1b49a56a9b844067b2d9900ef3cb45824821cefb"
1
+ __commit_date__ = "Fri Jun 20 12:58:42 2025 +0100"
2
+ __commit_id__ = "64516dfe112baa107ced7cda226188b3db02ea7d"
sdfr/sdf_helper.py CHANGED
@@ -1317,8 +1317,11 @@ def plot_rays(var, skip=1, rays=None, **kwargs):
1317
1317
  k1 = "vmax"
1318
1318
  k = "vrange"
1319
1319
  vmin, vmax = 1e99, -1e99
1320
- if k not in kwargs and not (k0 in kwargs and k1 in kwargs) \
1321
- and len(ray_list) > 0:
1320
+ if (
1321
+ k not in kwargs
1322
+ and not (k0 in kwargs and k1 in kwargs)
1323
+ and len(ray_list) > 0
1324
+ ):
1322
1325
  for v in ray_list:
1323
1326
  if len(v.data) > 0:
1324
1327
  vmin = min(vmin, v.data.min())
@@ -2034,14 +2037,8 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2034
2037
  except:
2035
2038
  pass
2036
2039
 
2037
- sdfdict = {}
2038
- for key, value in data.__dict__.items():
2039
- if hasattr(value, "id"):
2040
- sdfdict[value.id] = value
2041
- else:
2042
- sdfdict[key] = value
2040
+ sdfdict = data._block_ids
2043
2041
 
2044
- fdict = {}
2045
2042
  table = {"time": "t"}
2046
2043
  k = "Header"
2047
2044
  if k in sdfdict:
@@ -2052,7 +2049,6 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2052
2049
  var = h[k]
2053
2050
  if verbose:
2054
2051
  print(key + str(np.shape(var)) + " = " + k)
2055
- fdict[key] = var
2056
2052
  globals()[key] = var
2057
2053
  builtins.__dict__[key] = var
2058
2054
 
@@ -2107,39 +2103,10 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2107
2103
  dims = str(tuple(int(i) for i in sdfdict[k].dims))
2108
2104
  if verbose:
2109
2105
  print(key + dims + " = " + k)
2110
- fdict[key] = var
2111
2106
  globals()[key] = var
2112
2107
  builtins.__dict__[key] = var
2113
2108
 
2114
- k = "grid"
2115
- if k in sdfdict:
2116
- vargrid = sdfdict[k]
2117
- grid = vargrid
2118
- keys = "x", "y", "z"
2119
- for n in range(np.size(vargrid.dims)):
2120
- key = keys[n]
2121
- var = vargrid.data[n]
2122
- dims = str(tuple(int(i) for i in sdfdict[k].dims))
2123
- if verbose:
2124
- print(key + dims + " = " + k)
2125
- fdict[key] = var
2126
- globals()[key] = var
2127
- builtins.__dict__[key] = var
2128
-
2129
- k = "grid_mid"
2130
- if k in sdfdict:
2131
- vargrid = sdfdict[k]
2132
- grid_mid = vargrid
2133
- keys = "xc", "yc", "zc"
2134
- for n in range(np.size(vargrid.dims)):
2135
- key = keys[n]
2136
- var = vargrid.data[n]
2137
- dims = str(tuple(int(i) for i in sdfdict[k].dims))
2138
- if verbose:
2139
- print(key + dims + " = " + k)
2140
- fdict[key] = var
2141
- globals()[key] = var
2142
- builtins.__dict__[key] = var
2109
+ _get_grid(data)
2143
2110
 
2144
2111
  # Export particle arrays
2145
2112
  for k, value in data.__dict__.items():
@@ -2156,7 +2123,6 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2156
2123
  if isinstance(value, sdf.BlockPointVariable):
2157
2124
  if verbose:
2158
2125
  print(key + dims + " = " + value.name)
2159
- fdict[key] = var
2160
2126
  globals()[key] = var
2161
2127
  builtins.__dict__[key] = var
2162
2128
  else:
@@ -2169,7 +2135,6 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2169
2135
  dims = str(tuple(int(i) for i in value.dims))
2170
2136
  if verbose:
2171
2137
  print(gkey + dims + " = " + k + " " + keys[n])
2172
- fdict[gkey] = var
2173
2138
  globals()[gkey] = var
2174
2139
  builtins.__dict__[gkey] = var
2175
2140
 
@@ -2177,6 +2142,33 @@ def getdata(fname, wkd=None, verbose=True, squeeze=False):
2177
2142
  return data
2178
2143
 
2179
2144
 
2145
+ def _get_grid(data, verbose=False):
2146
+ sdfdict = {}
2147
+ if hasattr(data, "_block_ids"):
2148
+ sdfdict = data._block_ids
2149
+
2150
+ grids = "grid", "grid_mid"
2151
+ grid_keys = ["x", "y", "z"], ["xc", "yc", "zc"]
2152
+
2153
+ for key, gkeys in zip(grids, grid_keys):
2154
+ vargrid = None
2155
+ if hasattr(data, key):
2156
+ vargrid = data.grid
2157
+ elif key in sdfdict:
2158
+ vargrid = sdfdict[key]
2159
+
2160
+ if vargrid:
2161
+ globals()[key] = vargrid
2162
+ for n in range(np.size(vargrid.dims)):
2163
+ key = gkeys[n]
2164
+ var = vargrid.data[n]
2165
+ dims = str(tuple(int(i) for i in vargrid.dims))
2166
+ if verbose:
2167
+ print(key + dims + " = " + k)
2168
+ globals()[key] = var
2169
+ builtins.__dict__[key] = var
2170
+
2171
+
2180
2172
  def ogrid(skip=None, **kwargs):
2181
2173
  global x, y, mult_x, mult_y
2182
2174
  if np.ndim(x) == 1:
@@ -2198,8 +2190,15 @@ def ogrid(skip=None, **kwargs):
2198
2190
 
2199
2191
 
2200
2192
  def plotgrid(fname=None, iso=None, title=True):
2201
- if isinstance(fname, sdf.BlockList) or isinstance(fname, dict):
2193
+ global grid
2194
+ if (
2195
+ isinstance(fname, sdf.BlockList)
2196
+ or isinstance(fname, dict)
2197
+ or hasattr(fname, "grid")
2198
+ ):
2202
2199
  dat = fname
2200
+ _get_grid(dat)
2201
+ title = False
2203
2202
  elif fname is not None:
2204
2203
  dat = getdata(fname, verbose=verbose)
2205
2204
 
sdfr/sdfc_shared.dll CHANGED
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sdfr
3
- Version: 1.4.4
3
+ Version: 1.4.5
4
4
  Summary: Python module for processing SDF files
5
5
  Author-Email: Keith Bennett <k.bennett@warwick.ac.uk>
6
6
  Requires-Dist: numpy
@@ -0,0 +1,12 @@
1
+ sdfr/__init__.py,sha256=OxcJAJ0ADoE54vgqMQqxhoFWyU2ldb3fb-_LFyeZZfQ,1209
2
+ sdfr/_commit_info.py,sha256=9HQrcuM5QHd6sjf7BoxBdHycFer6VVwNvPkFa5hpc5c,112
3
+ sdfr/loadlib.py,sha256=xxp5MX-u7ZHIc12mcvN-y8L5UEjY-aEgINj2r-1swWk,2358
4
+ sdfr/SDF.py,sha256=Dm1Mf5Sr8Cf-J9H5wdPCAW5ywlqQFi9_nbmBSS86CV0,31638
5
+ sdfr/sdf_helper.py,sha256=EnwHKG0cHHkplE9wKAIdBb-XAhqvVbsG0aDea_6S3zU,63439
6
+ sdfr/sdfc_shared.dll,sha256=n6kW5ebxpk7mX5UCtY7Luah0IBj1KfgZaioUusbsZAo,121344
7
+ sdfr/sdfc_shared.lib,sha256=S1N_78t9KbdIMK70zF5doUSQTPKnINn_MaOo_f1F_9k,3616
8
+ sdfr-1.4.5.dist-info/METADATA,sha256=mL1lsi_LnAljuFXLuP04YNi21rx8kuxnn4zWOKYHOaM,370
9
+ sdfr-1.4.5.dist-info/WHEEL,sha256=M0M8yQSkdzjr-Re7BLxGdurZIJei1aSjIm-hgxnt5-w,103
10
+ sdfr-1.4.5.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
11
+ sdfr-1.4.5.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
12
+ sdfr-1.4.5.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- sdfr/__init__.py,sha256=OxcJAJ0ADoE54vgqMQqxhoFWyU2ldb3fb-_LFyeZZfQ,1209
2
- sdfr/_commit_info.py,sha256=hqXwlOqYzU29y9NaKyuTotIZ84sBacjNh7bvhYqVsaE,112
3
- sdfr/loadlib.py,sha256=xxp5MX-u7ZHIc12mcvN-y8L5UEjY-aEgINj2r-1swWk,2358
4
- sdfr/SDF.py,sha256=fawFbkOiSIzeKOtc6Vic0OQ96q2on213IP4jSxLTbRo,31570
5
- sdfr/sdf_helper.py,sha256=n-2h-MrqQM-5p-lsmLhIealtSnsOeQTd-nNezYp0EgA,63670
6
- sdfr/sdfc_shared.dll,sha256=w22kJKHIxaFeAhdbm1EoElDhIUZoZLlZ8_bL2QwhXbs,121344
7
- sdfr/sdfc_shared.lib,sha256=S1N_78t9KbdIMK70zF5doUSQTPKnINn_MaOo_f1F_9k,3616
8
- sdfr-1.4.4.dist-info/METADATA,sha256=_2w8TOMMbZPmHFAhTMZOQ67AsYJEk7hCQioGlhVOItk,370
9
- sdfr-1.4.4.dist-info/WHEEL,sha256=M0M8yQSkdzjr-Re7BLxGdurZIJei1aSjIm-hgxnt5-w,103
10
- sdfr-1.4.4.dist-info/licenses/LICENSE,sha256=gpLeavs1KxgJFrpL_uVDh0MoDvPfJoZ89A5dSCl4P5U,1652
11
- sdfr-1.4.4.dist-info/licenses/LICENSE_README.txt,sha256=KlBSoHArwoXbiygx3IJTjtgM7hLNO9o8ZMlZV77nrXs,235
12
- sdfr-1.4.4.dist-info/RECORD,,
File without changes