google-deepmind / google-deepmind/torax

Loading IMAS geometry from equilibrium ids object is incompatible with saving config to output

Open
#1,744 8 comments 0 reactions 1 assignee Claimed by @Nush395 View on GitHub
Dominant language
Python
Stars
721
Forks
145
Avg merge
2d 14h
Merged PRs (30d)
49

Description

To reproduce:
```python
import copy

from torax._src import path_utils
from torax._src.imas_tools.input import loader
from torax.tests.test_data import test_iterhybrid_predictor_corrector

# Load IDSs
path = (
path_utils.torax_path()
/ "data"
/ "imas_data"
/ "ITERhybrid_COCOS17_IDS_ddv4.nc"
)
equilibrium_ids = loader.load_imas_data(str(path), "equilibrium")

CONFIG = copy.deepcopy(test_iterhybrid_predictor_corrector.CONFIG)

CONFIG["geometry"] = {
"geometry_type": "imas",
"equilibrium_object": equilibrium_ids,
"imas_filepath": None,
"Ip_from_parameters": True,
}
```

```
File ".../torax/torax/_src/orchestration/run_simulation.py", line 147, in run_simulation
state_history.simulation_output_to_xr(),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File .../torax/torax/_src/output_tools/output.py", line 428, in simulation_output_to_xr
attrs={CONFIG: self.torax_config.model_dump_json()},
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File ".../torax/venv/lib/python3.13/site-packages/pydantic/main.py", line 528, in model_dump_json
return self.__pydantic_serializer__.to_json(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self,
^^^^^
...<13 lines>...
serialize_as_any=serialize_as_any,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
).decode()
^
pydantic_core._pydantic_core.PydanticSerializationError: Unable to serialize unknown type:
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.