radhika-ac commited on
Commit
b673a5d
·
verified ·
1 Parent(s): ebbf537

Add files using upload-large-folder tool

Browse files
README.md ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: phase
3
+ license: mit
4
+ pipeline_tag: image-to-image
5
+ tags:
6
+ - magnetohydrodynamics
7
+ - neural-operator
8
+ - diffusion
9
+ - physics-informed-machine-learning
10
+ ---
11
+
12
+ # PHASE Kelvin-Helmholtz MR
13
+
14
+ Multi-regime PHASE model for the 2-D incompressible MHD Kelvin-Helmholtz instability on t=[0,5], with gated Re/Rm adapters and residual diffusion.
15
+
16
+ - **Channels:** [ux, uy, Bx, By]
17
+ - **Reynolds numbers:** Re=Rm in {80, 200, 400, 650, 1000, 1500, 2050, 2750, 3600, 4500}
18
+ - **Conditioner:** `conditioner/model.safetensors`
19
+ - **Diffusion model:** `diffusion/model.safetensors`
20
+ - **Normalization:** `normalization/`
21
+
22
+ ## POSEIDON dependency
23
+
24
+ ```bash
25
+ git clone https://github.com/camlab-ethz/poseidon.git external/poseidon
26
+ git -C external/poseidon checkout b8fa28f59bd7f7673323f28d11a12c6f3a215c61
27
+ pip install --no-deps -e external/poseidon
28
+ ```
29
+
30
+ ## Load
31
+
32
+ ```python
33
+ import torch
34
+ from phase import PHASEPipeline
35
+
36
+ model = PHASEPipeline.from_pretrained(
37
+ "phaseMHD/PHASE-KH-MR",
38
+ device="cuda" if torch.cuda.is_available() else "cpu",
39
+ )
40
+
41
+ # Physical initial condition: [batch, channels, x, y]
42
+ # The KH model was trained on 101 frames from t=0 to t=5.
43
+ times = torch.linspace(0.0, 5.0, 101, device=model.device)
44
+ prediction = model.predict(initial_fields, times, re=1000, seed=0)
45
+ # prediction: [batch, channels, time, x, y]
46
+ ```
47
+
48
+ Install the runtime from [PHASE](https://github.com/PHASE-MHD/PHASE):
49
+
50
+ ```bash
51
+ pip install "phase[hub,dino,scot] @ git+https://github.com/PHASE-MHD/PHASE.git"
52
+ ```
53
+
54
+ The package contains model-only weights, exact inference configs, and training-derived normalization statistics. See `pipeline.yaml` and `provenance.json` for the artifact mapping.
conditioner/config.yaml ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ####################
2
+ ## Canonical four-channel gated-adapter multi-Re KH scOT, t=[0,5].
3
+ ## Train configs/kh/single_re/scot_re1000.yaml first.
4
+
5
+ model_params:
6
+ model_type: "poseidon-mhd-re-finetune"
7
+ poseidon_model: "camlab-ethz/Poseidon-T"
8
+ load_pretrained_poseidon: true
9
+ image_size: 128
10
+ patch_size: 4
11
+ out_channels: 4
12
+ poseidon_input_channel_map: [1, 2]
13
+ poseidon_output_channel_map: [1, 2]
14
+ magnetic_channel_indices: [4, 5]
15
+ fallback_poseidon_num_channels: 6
16
+ fallback_poseidon_num_out_channels: 6
17
+ use_poseidon_fluid_normalization: true
18
+ magnetic_input_init: "mean_velocity"
19
+ magnetic_output_init: "mean_velocity"
20
+ velocity_residual: false
21
+ magnetic_residual: true
22
+ magnetic_residual_scale: 1.0
23
+ helmholtz_projection: true
24
+ project_velocity: true
25
+ project_magnetic: true
26
+ helmholtz_domain_size_x: 1.0
27
+ helmholtz_domain_size_y: 1.0
28
+ re_conditioning:
29
+ enabled: true
30
+ type: "deep_adapter_output_film"
31
+ hidden_dim: 128
32
+ num_layers: 2
33
+ log_re_mean: 2.9756
34
+ log_re_std: 0.5417
35
+ include_rem: true
36
+ residual_scale: 1.0
37
+ reference_re: 1000.0
38
+ deep_adapter:
39
+ target: "all"
40
+ bottleneck_dim: 64
41
+ hidden_dim: 128
42
+ num_layers: 2
43
+ adapter_scale: 1.0
44
+ gate_type: "channel"
45
+
46
+ normalization_params:
47
+ type: "physics"
48
+ input_norm: [1.0, 1.0, 8.06614549e-02, 8.06614549e-02]
49
+ output_norm: [1.0, 1.0, 8.06614549e-02, 8.06614549e-02]
50
+ paired_input_groups: [[0, 1], [2, 3]]
51
+ paired_output_groups: [[0, 1], [2, 3]]
52
+ paired_mode: "rms"
53
+
54
+ dataset_params:
55
+ dataset_type: "multi_re"
56
+ data_root: "${DATA_ROOT}"
57
+ data_file: "mhd_data_4channel.npy"
58
+ n: 1000
59
+ re_values: [80, 200, 400, 650, 1000, 1500, 2050, 2750, 3600, 4500]
60
+ rem_values: [80, 200, 400, 650, 1000, 1500, 2050, 2750, 3600, 4500]
61
+ train_size_per_re: 800
62
+ val_plus_test_size_per_re: 200
63
+ seed: 42
64
+ sub_t: 5
65
+ sub_x: 1
66
+ t_range: [0.0, 5.0]
67
+ x_range: [0.0, 1.0]
68
+ y_range: [0.0, 1.0]
69
+ balanced_re_batches: true
70
+ res_per_batch: 10
71
+
72
+ loss_params:
73
+ type: "physics-informed-bfield"
74
+ nu: 0.001
75
+ eta: 0.001
76
+ rho0: 1.0
77
+ data_weight: 10.0
78
+ ic_weight: 1.0
79
+ pde_weight: 0.001
80
+ constraint_weight: 0.0
81
+ vorticity_weight: 2.0
82
+ current_weight: 5.0
83
+ use_data_loss: true
84
+ use_ic_loss: true
85
+ use_pde_loss: true
86
+ use_constraint_loss: false
87
+ u_weight: 1.0
88
+ v_weight: 1.0
89
+ Bx_weight: 5.0
90
+ By_weight: 5.0
91
+ u_time_loss_mode: "global"
92
+ u_time_loss_eps: 1.0e-6
93
+ v_time_loss_mode: "global"
94
+ v_time_loss_eps: 1.0e-6
95
+ magnetic_time_loss_mode: "global"
96
+ magnetic_time_loss_eps: 1.0e-6
97
+ derived_time_loss_mode: "global"
98
+ derived_time_loss_eps: 1.0e-6
99
+ vorticity_time_loss_mode: "global"
100
+ vorticity_time_loss_eps: 1.0e-6
101
+ current_time_loss_mode: "global"
102
+ current_time_loss_eps: 1.0e-6
103
+ Du_weight: 1.0
104
+ Dv_weight: 1.0
105
+ DBx_weight: 100.0
106
+ DBy_weight: 100.0
107
+ div_vel_weight: 0.0
108
+ div_B_weight: 0.0
109
+ Lx: 1.0
110
+ Ly: 1.0
111
+ tend: 5.0
112
+ use_weighted_mean: false
113
+
114
+ dataloader_params:
115
+ train: {batch_size: 1, num_workers: 4, shuffle: true, pin_memory: true}
116
+ validation: {batch_size: 1, num_workers: 4, shuffle: false, pin_memory: false}
117
+ test: {batch_size: 1, num_workers: 4, shuffle: false, pin_memory: false}
118
+
119
+ optimizer_params:
120
+ optimizer_type: "adamw"
121
+ lr: 1.0e-5
122
+ weight_decay: 1.0e-2
123
+ betas: [0.9, 0.999]
124
+ param_groups:
125
+ enabled: true
126
+ pretrained_lr: 1.0e-7
127
+ new_lr: 1.0e-3
128
+ # Retained for checkpoint/config compatibility. With boundary_group=pretrained,
129
+ # expanded boundary tensors use pretrained_lr and this value is not active.
130
+ magnetic_output_lr: 2.0e-3
131
+ boundary_group: "pretrained"
132
+ freeze_pretrained: false
133
+ pretrained_weight_decay: 1.0e-2
134
+ new_weight_decay: 0.0
135
+ use_scheduler: false
136
+ scheduler_type: "dummy"
137
+
138
+ train_params:
139
+ recipe: "kh_four_channel_multi_re"
140
+ epochs: 100
141
+ checkpoint_path: "${OUTPUT_ROOT}/checkpoints/kh_multi_re_scot_t0_5.pt"
142
+ warm_start_checkpoint: "${OUTPUT_ROOT}/checkpoints/kh_single_re_scot_re1000.pt"
143
+ load_checkpoint: ""
144
+ is_finetune: false
145
+ checkpoint_metric: "denorm_rel_l2"
146
+ validation_interval: 5
147
+ tiny_validation_interval: 1
148
+ tiny_validation_samples_per_re: 5
149
+ tiny_validation_batch_size: 10
150
+ tiny_validation_seed: 42
conditioner/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:577d160d7db5e85f9d23544d4beeecfe32a4cc050743ed9694e6744ce6acdb40
3
+ size 89314216
diffusion/config.yaml ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Canonical ten-regime KH residual diffusion, t=[0,5].
2
+ # Train the single-Re KH residual recipe first; its model weights are the warm start.
3
+ config_type: diffusion
4
+
5
+ model_params:
6
+ model_type: elucidated
7
+ base_dim: 128
8
+ dim_mults: [1, 2, 3, 5, 8, 12]
9
+ channels: 4
10
+ self_condition: true
11
+ learned_variance: false
12
+ learned_sinusoidal_cond: false
13
+ random_fourier_features: false
14
+ sinusoidal_pos_emb_theta: 10000
15
+ learned_sinusoidal_dim: 16
16
+ dropout: 0.0
17
+ attn_heads: 8
18
+ attn_dim_head: 64
19
+ flash_attn: true
20
+ image_size: 128
21
+ num_sample_steps: 32
22
+ sigma_min: 0.002
23
+ sigma_max: 80
24
+ sigma_data: 0.5
25
+ rho: 7
26
+ P_mean: -1.2
27
+ P_std: 1.2
28
+ S_churn: 80
29
+ S_tmin: 0.05
30
+ S_tmax: 50
31
+ S_noise: 1.003
32
+ field_representation: magnetic
33
+ helmholtz_projection: true
34
+ project_velocity: true
35
+ project_B: true
36
+ projection_mode: full_field_residual
37
+ domain_size_x: 1.0
38
+ domain_size_y: 1.0
39
+
40
+ normalization_params:
41
+ type: per_re_paired_minmax
42
+ channel_groups: [[0, 1], [2, 3]]
43
+ feature_range: [-1, 1]
44
+ re_values: [80, 200, 400, 650, 1000, 1500, 2050, 2750, 3600, 4500]
45
+ default_re: 1000.0
46
+ inputs_stats_template: ${MODEL_ROOT}/normalization/Re{re}_inputs_stats.npz
47
+ targets_stats_template: ${MODEL_ROOT}/normalization/Re{re}_residual_targets_stats.npz
48
+
49
+ dataset_params:
50
+ train_path: ${FEATURE_ROOT}/kh/multi_re/phase_t0_5/train
51
+ val_path: ${FEATURE_ROOT}/kh/multi_re/phase_t0_5/val
52
+ test_path: ${FEATURE_ROOT}/kh/multi_re/phase_t0_5/test
53
+ seed: 42
54
+ return_metadata: true
55
+ balanced_re_batches: true
56
+ res_per_batch: 10
57
+ prediction_mode: residual
58
+ residual_target: true
59
+ source_time_range: [0.0, 5.0]
60
+ source_output_dt: 0.02
61
+ source_sub_t: 5
62
+ frames_per_trajectory: 51
63
+
64
+ dataloader_params:
65
+ train: {batch_size: 64, num_workers: 8, shuffle: true, pin_memory: true}
66
+ train_loader_params:
67
+ batch_size: 64
68
+ shuffle: true
69
+ num_workers: 8
70
+ pin_memory: true
71
+
72
+ optimizer_params:
73
+ optimizer_type: adamw
74
+ lr: 5.0e-5
75
+ weight_decay: 1.0e-4
76
+ betas: [0.9, 0.999]
77
+ param_groups: {enabled: false}
78
+ use_scheduler: true
79
+ scheduler_type: cosine
80
+ T_max: 1000
81
+ eta_min: 2.5e-5
82
+
83
+ train_params:
84
+ recipe: kh_phase_residual_multi_re
85
+ epochs: 100
86
+ checkpoint_path: ${OUTPUT_ROOT}/checkpoints/kh_multi_re_phase_t0_5.pt
87
+ warm_start_checkpoint: ${OUTPUT_ROOT}/checkpoints/kh_single_re_phase_re1000.pt
88
+ warm_start_mode: model_weights_only
89
+ validation_interval: 5
90
+ checkpoint_metric: denorm_rel_l2
91
+ clip_grad: true
92
+ clip_grad_max_norm: 1.0
diffusion/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:307c5207f77a2dcdb4fab509e4e02a4ae474ee0c8cc1832e3c74799d8a855e5d
3
+ size 1714554400
normalization/Re1000_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:00a9dd203baab1ca48d779f641a3c8857960958dc73c110018624c60808c826f
3
+ size 1056
normalization/Re1000_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e03c536f6d4d6643379ba1a9111e0c66e5b14ed9ff6a2201096b7c212e6ae906
3
+ size 1056
normalization/Re1500_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:86b55e903b2ad595fd5dfe97817c24657b5cac131ce57351e02750eb065a00de
3
+ size 1056
normalization/Re1500_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b925e0e2e2e4fb6903366d72a214860f7463069e94c8737b83350ca353b21def
3
+ size 1056
normalization/Re200_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:41489636c5f7cbae1c73df999dac94cc9ecd2c9b91b9710e204f13a0fa8270a3
3
+ size 1056
normalization/Re200_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7b0492a260deaf09be944853d5ea90355088d58c2b5a12609273739a334c11a2
3
+ size 1056
normalization/Re2050_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9a37a9c73da1f0b6f9dae1e35246249b0b0eb7c095fa03ab40ee26986593a7c3
3
+ size 1056
normalization/Re2050_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0125ae116265eba42f633fc4c01a6332bae84b87912fa13a6a58714ac1cdec5
3
+ size 1056
normalization/Re2750_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab3ea163500a08f2279385bed4b628f90b8e30d118826ed6738ce01a4442b709
3
+ size 1056
normalization/Re2750_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:17a335d120fcc6958d0028bde9a281d3e1f4e0158947fcc25e29dce374aaf788
3
+ size 1056
normalization/Re3600_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:178fada9ea8b15d1927c2315a63a0963599f838b0dca4861fc19a3511558bec2
3
+ size 1056
normalization/Re3600_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9d1734ef349cd44314b55cd5ddd0b23b2474ecae58766f0ac9b8a3c9cb577e5
3
+ size 1056
normalization/Re400_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e967f42bf874a814b2b76c409aedb7cbd57b033ae926bc5e7285644bd0b79c3
3
+ size 1056
normalization/Re400_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c8f62fe963fa3b40090cfd3e4cfc1d4c96ead202b5a3a2cfe5648a374b8fa07
3
+ size 1056
normalization/Re4500_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:316dac2994b30d490caf33289cc8e54a2ca528f40026ebfe510e858c98c54a19
3
+ size 1056
normalization/Re4500_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98ec93b3b335200829a3f86ccb7dd28c0a384147a7b3ee408103ebd0ab69dcb5
3
+ size 1056
normalization/Re650_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9acb5ca6170491555060f8afa1d72ea2276e9d8785feebff28fb453fe4d039f5
3
+ size 1056
normalization/Re650_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:edf9bab7539cfd645e9751490d898d3113e447d2bd26046fff8a2bf8b1c7b119
3
+ size 1056
normalization/Re80_inputs_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb54f77ebd2f58935405065ecd8ba3a6884846906c5847a87b10205035e0e39a
3
+ size 1056
normalization/Re80_residual_targets_stats.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eda069ba7d5a60db56331af99e915d330e321b1947e3bd685c3eeddc2d014a8a
3
+ size 1056
pipeline.yaml ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ format_version: 1
2
+ model_family: PHASE
3
+ physical_problem: kelvin_helmholtz
4
+ channels: [ux, uy, Bx, By]
5
+ re_values: [80, 200, 400, 650, 1000, 1500, 2050, 2750, 3600, 4500]
6
+ time_range: [0.0, 5.0]
7
+ prediction_mode: residual
8
+ conditioner:
9
+ type: scot_gated_adapter_multi_re
10
+ config: conditioner/config.yaml
11
+ weights: conditioner/model.safetensors
12
+ official_tfno_mapping: false
13
+ diffusion:
14
+ type: edm
15
+ config: diffusion/config.yaml
16
+ weights: diffusion/model.safetensors
provenance.json ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "format_version": 1,
3
+ "packaged_files": {
4
+ "README.md": {
5
+ "bytes": 1608,
6
+ "sha256": "9ac082be9be6d4624421208ab524ceab1f3cf9afeec56c330b1304cdadf9631a"
7
+ },
8
+ "conditioner/config.yaml": {
9
+ "bytes": 4147,
10
+ "sha256": "488b3911974a7721323d3f9f370aeebba8f8be30af3ce6875b4ff75db37a2d7e"
11
+ },
12
+ "conditioner/model.safetensors": {
13
+ "bytes": 89314216,
14
+ "sha256": "577d160d7db5e85f9d23544d4beeecfe32a4cc050743ed9694e6744ce6acdb40"
15
+ },
16
+ "diffusion/config.yaml": {
17
+ "bytes": 2443,
18
+ "sha256": "ece393c139e436994b2230b9bcd63550ab81eb439157dfb19d30d1fa0229626f"
19
+ },
20
+ "diffusion/model.safetensors": {
21
+ "bytes": 1714554400,
22
+ "sha256": "307c5207f77a2dcdb4fab509e4e02a4ae474ee0c8cc1832e3c74799d8a855e5d"
23
+ },
24
+ "normalization/Re1000_inputs_stats.npz": {
25
+ "bytes": 1056,
26
+ "sha256": "00a9dd203baab1ca48d779f641a3c8857960958dc73c110018624c60808c826f"
27
+ },
28
+ "normalization/Re1000_residual_targets_stats.npz": {
29
+ "bytes": 1056,
30
+ "sha256": "e03c536f6d4d6643379ba1a9111e0c66e5b14ed9ff6a2201096b7c212e6ae906"
31
+ },
32
+ "normalization/Re1500_inputs_stats.npz": {
33
+ "bytes": 1056,
34
+ "sha256": "86b55e903b2ad595fd5dfe97817c24657b5cac131ce57351e02750eb065a00de"
35
+ },
36
+ "normalization/Re1500_residual_targets_stats.npz": {
37
+ "bytes": 1056,
38
+ "sha256": "b925e0e2e2e4fb6903366d72a214860f7463069e94c8737b83350ca353b21def"
39
+ },
40
+ "normalization/Re200_inputs_stats.npz": {
41
+ "bytes": 1056,
42
+ "sha256": "41489636c5f7cbae1c73df999dac94cc9ecd2c9b91b9710e204f13a0fa8270a3"
43
+ },
44
+ "normalization/Re200_residual_targets_stats.npz": {
45
+ "bytes": 1056,
46
+ "sha256": "7b0492a260deaf09be944853d5ea90355088d58c2b5a12609273739a334c11a2"
47
+ },
48
+ "normalization/Re2050_inputs_stats.npz": {
49
+ "bytes": 1056,
50
+ "sha256": "9a37a9c73da1f0b6f9dae1e35246249b0b0eb7c095fa03ab40ee26986593a7c3"
51
+ },
52
+ "normalization/Re2050_residual_targets_stats.npz": {
53
+ "bytes": 1056,
54
+ "sha256": "f0125ae116265eba42f633fc4c01a6332bae84b87912fa13a6a58714ac1cdec5"
55
+ },
56
+ "normalization/Re2750_inputs_stats.npz": {
57
+ "bytes": 1056,
58
+ "sha256": "ab3ea163500a08f2279385bed4b628f90b8e30d118826ed6738ce01a4442b709"
59
+ },
60
+ "normalization/Re2750_residual_targets_stats.npz": {
61
+ "bytes": 1056,
62
+ "sha256": "17a335d120fcc6958d0028bde9a281d3e1f4e0158947fcc25e29dce374aaf788"
63
+ },
64
+ "normalization/Re3600_inputs_stats.npz": {
65
+ "bytes": 1056,
66
+ "sha256": "178fada9ea8b15d1927c2315a63a0963599f838b0dca4861fc19a3511558bec2"
67
+ },
68
+ "normalization/Re3600_residual_targets_stats.npz": {
69
+ "bytes": 1056,
70
+ "sha256": "f9d1734ef349cd44314b55cd5ddd0b23b2474ecae58766f0ac9b8a3c9cb577e5"
71
+ },
72
+ "normalization/Re400_inputs_stats.npz": {
73
+ "bytes": 1056,
74
+ "sha256": "2e967f42bf874a814b2b76c409aedb7cbd57b033ae926bc5e7285644bd0b79c3"
75
+ },
76
+ "normalization/Re400_residual_targets_stats.npz": {
77
+ "bytes": 1056,
78
+ "sha256": "3c8f62fe963fa3b40090cfd3e4cfc1d4c96ead202b5a3a2cfe5648a374b8fa07"
79
+ },
80
+ "normalization/Re4500_inputs_stats.npz": {
81
+ "bytes": 1056,
82
+ "sha256": "316dac2994b30d490caf33289cc8e54a2ca528f40026ebfe510e858c98c54a19"
83
+ },
84
+ "normalization/Re4500_residual_targets_stats.npz": {
85
+ "bytes": 1056,
86
+ "sha256": "98ec93b3b335200829a3f86ccb7dd28c0a384147a7b3ee408103ebd0ab69dcb5"
87
+ },
88
+ "normalization/Re650_inputs_stats.npz": {
89
+ "bytes": 1056,
90
+ "sha256": "9acb5ca6170491555060f8afa1d72ea2276e9d8785feebff28fb453fe4d039f5"
91
+ },
92
+ "normalization/Re650_residual_targets_stats.npz": {
93
+ "bytes": 1056,
94
+ "sha256": "edf9bab7539cfd645e9751490d898d3113e447d2bd26046fff8a2bf8b1c7b119"
95
+ },
96
+ "normalization/Re80_inputs_stats.npz": {
97
+ "bytes": 1056,
98
+ "sha256": "fb54f77ebd2f58935405065ecd8ba3a6884846906c5847a87b10205035e0e39a"
99
+ },
100
+ "normalization/Re80_residual_targets_stats.npz": {
101
+ "bytes": 1056,
102
+ "sha256": "eda069ba7d5a60db56331af99e915d330e321b1947e3bd685c3eeddc2d014a8a"
103
+ },
104
+ "pipeline.yaml": {
105
+ "bytes": 465,
106
+ "sha256": "830037d3a40e2d4ee5d3d01e1639b68f1a46ce058193e36e930e4c0b8a5c69b5"
107
+ }
108
+ },
109
+ "source_artifacts": {
110
+ "conditioner": {
111
+ "artifact": "poseidon_mhd_re_finetune_KH_bfield_globalP99_t0_5_resume_epoch45_100ep_48h_denormrel.pt",
112
+ "epoch": 55,
113
+ "sha256": "ef3f02b6aa714d15a1c6577dfcea845ef8a57b9ca38eff48e0dc8de0313ee065"
114
+ },
115
+ "diffusion": {
116
+ "artifact": "Diffusion_KH_multiRe_globalP99_t0_5_epoch55_residual_no_recond_warmstart_Re1000_per_re_norm_workers8_restart_epoch75_48h.pt",
117
+ "epoch": 95,
118
+ "sha256": "204bdebdd99150fbbb6c7e9c2e62e594e5389fd3f6b10d38b0649bae08799d5c"
119
+ }
120
+ }
121
+ }