Main Updates
These updates are related to the new reservoir implementation that accommodates the foundational model training such as:
- ScOT: An All-to-All Architecture with no conditioning other than input time
- PDE-Transformer: An autoregressive Architecture incorporating PDE-type conditioning mechanisms.
Client-side changes
- Ability to send a JSON-string as metadata alongside the data vectors through
melissa_send_with_metadata()in C and overloadingmelissa_sendfor the Python API. ScOT can train several PDEs and thus expects a PDE-type metadata as a label for the data/mesh sent for training.
metadata = {
"pde": pde_type,
"num_channels": num_channels,
"resolution": num_points,
"simulation_dt": dt,
"fields": fields,
"constants": constants,
"velocity x": vel[0],
"velocity y": vel[1],
"seed": seed,
}
metadata_json = json.dumps(metadata)
melissa_send("temperature", data, metadata_json)
Example demonstrates usage of some static values, but preferably send values that change across simulations or its time steps.
Server-side changes
- Inclusion of
SimPairedReservoir - Addition of a new
dataclasscalledPayload. - Now, the
SimulationDatacontains thePayloadinstance and therefore should be accessed as follows:
data: np.ndarray = msg["temperature"].data
metadata: Dict[str, Any] = msg["temperature"].metadata
Minor Updates
- Data type fixes for the socket types in
melissa_data.h - METADATA file
codemeta.jsonintegration for the general Melissa metadata and information access.