Skip to content
Snippets Groups Projects
Commit 9884d2a8 authored by Nils-Arne Dreier's avatar Nils-Arne Dreier
Browse files

fix: fixes for loco

parent a63a5974
No related branches found
No related tags found
1 merge request!19feat: provide next-timestep endpoint in loco
Pipeline #91071 passed
......@@ -31,7 +31,8 @@ class DataHandler:
logging.info(f"writing {self.var.name} for timesteps {self.t_flushed}:{self.t}")
fro = self.t_flushed % self.time_chunk_size
to = ((self.t - 1) % self.time_chunk_size) + 1
to = fro + (self.t - self.t_flushed)
assert to <= self.time_chunk_size
self.var[self.t_flushed : self.t, ..., self.cell_slice] = self.buf[fro:to, ...]
self.t_flushed = self.t
if self.loco_server is not None:
......
......@@ -61,7 +61,7 @@ class LocoServer:
with open("backend_map.conf", "w") as f:
f.write("map $request_uri $backend {\n")
for r, data_vars in enumerate(distributed_data_vars):
for group, _vgroup, chunk_slice, dvars in data_vars:
for _group, _vgroup, chunk_slice, dvars in data_vars:
for v in dvars:
if chunk_slice == slice(None):
cell_regex = r"\d+"
......@@ -71,19 +71,20 @@ class LocoServer:
]
chunk_range = (
chunk_slice.start // cell_chunk_size,
chunk_slice.stop // cell_chunk_size,
(chunk_slice.stop - 1) // cell_chunk_size,
)
cell_regex = generator().numerical_range(*chunk_range)[1:-1]
if chunk_range == (0, 0): # workaround for a bug in regex_engine
cell_regex = "(0)"
else:
cell_regex = generator().numerical_range(*chunk_range)[1:-1]
f.write(
f' "~^/{group}/{v.name}/\\d+\\.\\d+\\.{cell_regex}"'
f"loco_backend{r};\n"
f' "~^{v.name}/\\d+\\.\\d+\\.{cell_regex}$" ' f"loco_backend{r};\n"
)
# use last rank for timestep assumption: this rank has
# the healpix order 0 grid where the information
# arrives last
f.write(f' "/current-timestep" loco_backend{r};\n')
f.write(f' "/next-timestep" loco_backend{r};\n')
f.write(f" default loco_backend{r};\n")
f.write("}\n\n")
for i in range(len(distributed_data_vars)):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment