Rename interpolator to temporal downscaler#171
Conversation
frazane
left a comment
There was a problem hiding this comment.
LGTM, ready to merge if experiment and showcase both work on the example config!
jonasbhend
left a comment
There was a problem hiding this comment.
I still get an error when running the temporal-downscaler config:
2026-06-09 08:38:33 INFO GRIB template summary:
2026-06-09 08:38:33 INFO - SamplesTemplates: FI, PMSL, PS, QV, T, TD_2M, T_2M, U, U_10M, V, V_10M
2026-06-09 08:38:33 INFO Post processor: ExtractMask(lam_0/cutout_mask, points=1147980/slice(np.int64(1147980), None, None))
2026-06-09 08:38:33 INFO Post processor: AssignMask(mask=global/cutout_mask, points=542080/542080, fill_value=nan)
2026-06-09 08:38:35 INFO GRIB template summary:
2026-06-09 08:38:35 INFO - SamplesTemplates: FI, PMSL, PS, QV, T, TD_2M, T_2M, U, U_10M, V, V_10M
2026-06-09 08:38:36 INFO Temporal downscaling step (2025-03-01 00:00:00): 1 second.
Traceback (most recent call last):
File "/user-environment/bin/anemoi-inference", line 12, in <module>
sys.exit(main())
^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/__main__.py", line 38, in main
cli_main(__version__, __doc__, COMMANDS)
File "/user-environment/lib/python3.12/site-packages/anemoi/utils/cli.py", line 266, in cli_main
cmd.run(args)
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/commands/run.py", line 60, in run
runner.execute()
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/runners/temporal_downscaler.py", line 166, in execute
for state_idx, states in enumerate(
^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/runner.py", line 232, in run
yield from self.prepare_output_state(
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/runner.py", line 276, in prepare_output_state
for state in output:
^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/runners/temporal_downscaler.py", line 290, in forecast
y_pred = self.predict_step(self.model, input_tensors_torch)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/inference/runner.py", line 379, in predict_step
return model.predict_step(input_tensors_torch, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/interface/__init__.py", line 241, in predict_step
return self.model.predict_step(**predict_kwargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/models/base.py", line 332, in predict_step
y_hat = self.forward(x, model_comm_group=model_comm_group, grid_shard_shapes=grid_shard_shapes, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/models/interpolator.py", line 187, in forward
x_data_latent, x_latent = self.encoder[dataset_name](
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/mapper.py", line 593, in forward
x_dst = super().forward(
^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/mapper.py", line 483, in forward
return self.mapper_forward_with_edge_sharding(**kwargs_forward)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/mapper.py", line 384, in mapper_forward_with_edge_sharding
out_dst[dst_chunk] = maybe_checkpoint(
^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/utils.py", line 52, in maybe_checkpoint
return checkpoint(func, *args, **kwargs, use_reentrant=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/_compile.py", line 32, in inner
return disable_fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/_dynamo/eval_frame.py", line 632, in _fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/utils/checkpoint.py", line 496, in checkpoint
ret = function(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/mapper.py", line 321, in run_processor_chunk_edge_sharding
x_src_chunk, x_dst_chunk, _, _ = self.pre_process(
^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/anemoi/models/layers/mapper.py", line 570, in pre_process
x_src = self.emb_nodes_src(x_src)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/user-environment/lib/python3.12/site-packages/torch/nn/modules/linear.py", line 125, in forward
return F.linear(input, self.weight, self.bias)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: mat1 and mat2 shapes cannot be multiplied (41092x81 and 158x1024)
srun: error: nid002828: task 0: Exited with exit code 1
srun: Terminating StepId=226333.0
| mem_mb_per_cpu: 1800 | ||
| runtime: "1h" | ||
| gpus: 0 | ||
| account: s83 |
There was a problem hiding this comment.
Should we add this to all configs?
This issue comes from the checkpoint being trained with a wrong default value from anemoi training. |
|
@jonasbhend @MicheleCattaneo thanks, I reverted back to the previous checkpoint see 039a9da |
In anemoi, the task formerly called "interpolator" has been officially renamed to "temporal downscaler" (see [anemoi training docs](https://anemoi.readthedocs.io/projects/training/en/latest/modules/train.html#available-tasks)). evalml uses the anemoi model type concept throughout its config schema, workflow rules, Python code, and config files. This rename keeps evalml aligned with upstream anemoi terminology.
In anemoi, the task formerly called "interpolator" has been officially renamed to "temporal downscaler" (see anemoi training docs). evalml uses the anemoi model type concept throughout its config schema, workflow rules, Python code, and config files. This rename keeps evalml aligned with upstream anemoi terminology.