RozanskiT commited on
Commit
7d8e5e4
·
verified ·
1 Parent(s): aad395d

Replace repo contents

Browse files
README.md DELETED
@@ -1,3 +0,0 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
README.txt ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Astro Emulators Toolkit Bundle
2
+
3
+ Summary:
4
+ model: transformer_payne
5
+ release: maja-harps-intensity-tpayne-2ch-192x6@0.1.0 (released)
6
+ bundle_format_version: 1
7
+ config_schema_version: 1
8
+ spec_version: 1
9
+ weights_layout: params_plus_model_state_v1
10
+ model_family_id: transformer_payne_v1
11
+ fingerprint_evaluation: present
12
+ task: regression
13
+ fit_method: gradient
14
+ solver_params: not provided
15
+ solver_diagnostics: not provided
16
+ solver_design_matrix: not provided
17
+ role_paths: {'output_leaf': 'outputs/flux', 'parameter_leaf': 'inputs/parameters', 'wavelength_leaf': 'inputs/wavelengths'}
18
+
19
+ Domain:
20
+ input_domain: {'kind': 'box_v1', 'max_tree': {'parameters': [7500.0, 5.0, 0.5, 5.0, 0.5, 0.30000001192092896, 0.4000000059604645, 0.4000000059604645, 0.5, 0.5, 1.0], 'wavelengths': 3.838849090737255}, 'min_tree': {'parameters': [3800.0, 0.5, -3.0, 1.0, -0.20000000298023224, -0.30000001192092896, -0.20000000298023224, -0.20000000298023224, -0.20000000298023224, -0.20000000298023224, 0.1246189996600151], 'wavelengths': 3.57978359661681}, 'storage': {'filename': 'input_domain.safetensors', 'format': 'safetensors_v1', 'layout': 'split_minmax_tree_v1'}, 'value_space': 'physical_input_dict_tree_v1'}
21
+ reference_scaling_inputs: {'applies_to': 'inputs', 'kind': 'affine_minmax_v1', 'max_tree': {'parameters': [7500.0, 5.0, 0.5, 5.0, 0.5, 0.30000001192092896, 0.4000000059604645, 0.4000000059604645, 0.5, 0.5, 1.0], 'wavelengths': 3.838849090737255}, 'min_tree': {'parameters': [3800.0, 0.5, -3.0, 1.0, -0.20000000298023224, -0.30000001192092896, -0.20000000298023224, -0.20000000298023224, -0.20000000298023224, -0.20000000298023224, 0.1246189996600151], 'wavelengths': 3.57978359661681}, 'source_space': 'physical_input_dict_tree_v1', 'storage': {'filename': 'reference_scaling_inputs.safetensors', 'format': 'safetensors_v1', 'layout': 'split_minmax_tree_v1'}, 'target_space': 'canonical_input_dict_tree_v1'}
22
+ reference_scaling_outputs: {'applies_to': 'outputs', 'kind': 'affine_minmax_v1', 'max_tree': {'flux': [7.435205936431885, 7.439098834991455]}, 'min_tree': {'flux': [2.4139199256896973, 4.380068778991699]}, 'source_space': 'canonical_output_dict_tree_v1', 'storage': {'filename': 'reference_scaling_outputs.safetensors', 'format': 'safetensors_v1', 'layout': 'split_minmax_tree_v1'}, 'target_space': 'physical_output_dict_tree_v1'}
23
+ extras: ['evaluation_scaled_log10_wavelength', 'notes', 'parameter_source_units', 'preprocessing_recipe', 'source_log10_wavelength', 'source_log10_wavelength_by_channel', 'source_scaled_log10_wavelength', 'source_scaled_log10_wavelength_by_channel', 'source_store', 'source_stores', 'source_wavelength', 'source_wavelength_by_channel', 'training']
24
+
25
+ Provenance:
26
+ toolkit_version: 0.1.0
27
+ created_at: 2026-05-01T13:33:41.693459+00:00
28
+ python_version: 3.12.13
29
+ git_commit: None
30
+
31
+ spec:
32
+ input_domain:
33
+ kind: box_v1
34
+ max_tree:
35
+ parameters:
36
+ array(shape=(11,), dtype=float64)
37
+ wavelengths: 3.838849090737255
38
+ min_tree:
39
+ parameters:
40
+ array(shape=(11,), dtype=float64)
41
+ wavelengths: 3.57978359661681
42
+ storage:
43
+ filename: input_domain.safetensors
44
+ format: safetensors_v1
45
+ layout: split_minmax_tree_v1
46
+ value_space: physical_input_dict_tree_v1
47
+ inputs:
48
+ channel_meanings_tree:
49
+ parameters:
50
+ array(shape=(11,), dtype=<U28)
51
+ wavelengths: None
52
+ channel_names_tree:
53
+ parameters:
54
+ array(shape=(11,), dtype=<U6)
55
+ wavelengths: None
56
+ channel_units_tree:
57
+ parameters:
58
+ array(shape=(11,), dtype=<U13)
59
+ wavelengths: None
60
+ leaf_meanings_tree:
61
+ parameters: min-max scaled source-grid parameters; see reference_scaling_inputs for raw parameter bounds
62
+ wavelengths: min-max scaled log10 wavelength; the user applies log10 before reference_scaling_inputs
63
+ leaf_units_tree:
64
+ parameters: None
65
+ wavelengths: dimensionless
66
+ structure_tree:
67
+ parameters: None
68
+ wavelengths: None
69
+ outputs:
70
+ channel_meanings_tree:
71
+ flux:
72
+ - min-max scaled log10 line intensity from source array flux
73
+ - min-max scaled log10 continuum intensity from source array continuum
74
+ channel_names_tree:
75
+ flux:
76
+ - log_flux_lines
77
+ - log_flux_continuum
78
+ channel_units_tree:
79
+ flux:
80
+ - dimensionless
81
+ - dimensionless
82
+ leaf_meanings_tree:
83
+ flux: two min-max scaled log10 intensity channels from the Maja archive arrays flux and continuum
84
+ leaf_units_tree:
85
+ flux: dimensionless
86
+ structure_tree:
87
+ flux: None
88
+ reference_scaling_inputs:
89
+ applies_to: inputs
90
+ kind: affine_minmax_v1
91
+ max_tree:
92
+ parameters:
93
+ array(shape=(11,), dtype=float64)
94
+ wavelengths: 3.838849090737255
95
+ min_tree:
96
+ parameters:
97
+ array(shape=(11,), dtype=float64)
98
+ wavelengths: 3.57978359661681
99
+ source_space: physical_input_dict_tree_v1
100
+ storage:
101
+ filename: reference_scaling_inputs.safetensors
102
+ format: safetensors_v1
103
+ layout: split_minmax_tree_v1
104
+ target_space: canonical_input_dict_tree_v1
105
+ reference_scaling_outputs:
106
+ applies_to: outputs
107
+ kind: affine_minmax_v1
108
+ max_tree:
109
+ flux:
110
+ - 7.435205936431885
111
+ - 7.439098834991455
112
+ min_tree:
113
+ flux:
114
+ - 2.4139199256896973
115
+ - 4.380068778991699
116
+ source_space: canonical_output_dict_tree_v1
117
+ storage:
118
+ filename: reference_scaling_outputs.safetensors
119
+ format: safetensors_v1
120
+ layout: split_minmax_tree_v1
121
+ target_space: physical_output_dict_tree_v1
122
+ spec_version: 1
123
+
124
+ Note: this bundle is the canonical emulator artifact. Physical-space composition is external.
bundle_integrity.json ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "algorithm": "sha256",
3
+ "bundle_id": "sha256:3ad1fd4fab9f5175095bc1fe27ae00af8362e24ff2f2996e398d85fcc753c7f7",
4
+ "integrity_format_version": 1,
5
+ "tree": [
6
+ {
7
+ "path": "README.txt",
8
+ "sha256": "6bbcdc4102985ed9bfa1e1d0a825c7d881ed6d934c163f5e789248c4fcf8b818"
9
+ },
10
+ {
11
+ "path": "config.json",
12
+ "sha256": "c4768f022a4b54457ca92904daefcc1d55928bb21fe5a744a323f81de751e0c7"
13
+ },
14
+ {
15
+ "path": "extras/evaluation_scaled_log10_wavelength.safetensors",
16
+ "sha256": "b0f2378a297d7cd1db2b50fbac3c79e611155523f4c45eb695bae6c89d2dda2f"
17
+ },
18
+ {
19
+ "path": "extras/source_log10_wavelength.safetensors",
20
+ "sha256": "ddc357db985e77e3ad4809c0c5aabd3f0c31d11690cd2e971428270b57cd93d2"
21
+ },
22
+ {
23
+ "path": "extras/source_log10_wavelength_by_channel/continuum.safetensors",
24
+ "sha256": "ad2ab34dd20887bd9afa699d6d71f5172f45a2dbfd2c1b12b0d61b47a659c921"
25
+ },
26
+ {
27
+ "path": "extras/source_log10_wavelength_by_channel/lines.safetensors",
28
+ "sha256": "ddc357db985e77e3ad4809c0c5aabd3f0c31d11690cd2e971428270b57cd93d2"
29
+ },
30
+ {
31
+ "path": "extras/source_scaled_log10_wavelength.safetensors",
32
+ "sha256": "6dfe5eef935c3ff0e42a5922196d256a7b3a7841858f7a062db9ff7d4261f501"
33
+ },
34
+ {
35
+ "path": "extras/source_scaled_log10_wavelength_by_channel/continuum.safetensors",
36
+ "sha256": "680a00c75b6cd891aa9957f2f65c6e288b7c5c4e4e4ccac27b97aa48f3dcd280"
37
+ },
38
+ {
39
+ "path": "extras/source_scaled_log10_wavelength_by_channel/lines.safetensors",
40
+ "sha256": "6dfe5eef935c3ff0e42a5922196d256a7b3a7841858f7a062db9ff7d4261f501"
41
+ },
42
+ {
43
+ "path": "extras/source_wavelength.safetensors",
44
+ "sha256": "36c6efd17e078ac09102e6c38b7c69bd073ec4996ed503378590fe5a4b7e5a1d"
45
+ },
46
+ {
47
+ "path": "extras/source_wavelength_by_channel/continuum.safetensors",
48
+ "sha256": "763e92f6f3f7bad0112ab67bbc05458fa442c6ef9743fa5a0d07f5c3dbbe0d2d"
49
+ },
50
+ {
51
+ "path": "extras/source_wavelength_by_channel/lines.safetensors",
52
+ "sha256": "36c6efd17e078ac09102e6c38b7c69bd073ec4996ed503378590fe5a4b7e5a1d"
53
+ },
54
+ {
55
+ "path": "fingerprint_evaluation/inputs.safetensors",
56
+ "sha256": "042d91eb9ed80efc7ab2ea06a18f07fa71760dfe6a23a716276b588b12ce1933"
57
+ },
58
+ {
59
+ "path": "fingerprint_evaluation/outputs.safetensors",
60
+ "sha256": "6c1f5288c076d988ee588f89051d5549e49139bc4ceda2e92f35078aabf65f7d"
61
+ },
62
+ {
63
+ "path": "input_domain.safetensors",
64
+ "sha256": "693c587d99028ac6bc7380f370faa2feae562be303343d4fb899cb7e277fcb01"
65
+ },
66
+ {
67
+ "path": "metadata.json",
68
+ "sha256": "a4354673984f7aa3cbe810053c5b7a86275ee5fcb8ea16d3e82bcf4ef4af8a3e"
69
+ },
70
+ {
71
+ "path": "reference_scaling_inputs.safetensors",
72
+ "sha256": "693c587d99028ac6bc7380f370faa2feae562be303343d4fb899cb7e277fcb01"
73
+ },
74
+ {
75
+ "path": "reference_scaling_outputs.safetensors",
76
+ "sha256": "ee95154c49e270d77e7cb13b188e06f2b850be8ef70216440769828caba56adc"
77
+ },
78
+ {
79
+ "path": "weights/weights.safetensors",
80
+ "sha256": "0df11633dd341cbabafd092d0d47628bd7e7435e51002bde49a6868f23687461"
81
+ }
82
+ ]
83
+ }
config.json ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bundle": {
3
+ "bundle_subdir": "bundle"
4
+ },
5
+ "hub": {
6
+ "repo_id": null,
7
+ "revision": null
8
+ },
9
+ "io": {
10
+ "input_domain": null,
11
+ "inputs": {
12
+ "channel_meanings_tree": {
13
+ "parameters": [
14
+ "effective temperature",
15
+ "surface gravity",
16
+ "metallicity [Fe/H]",
17
+ "microturbulence velocity",
18
+ "source-grid parameter [a/Fe]",
19
+ "source-grid parameter [C/Fe]",
20
+ "source-grid parameter [N/Fe]",
21
+ "source-grid parameter [O/Fe]",
22
+ "source-grid parameter [r/Fe]",
23
+ "source-grid parameter [s/Fe]",
24
+ "cosine of viewing angle"
25
+ ],
26
+ "wavelengths": null
27
+ },
28
+ "channel_names_tree": {
29
+ "parameters": [
30
+ "teff",
31
+ "logg",
32
+ "[Fe/H]",
33
+ "vmicro",
34
+ "[a/Fe]",
35
+ "[C/Fe]",
36
+ "[N/Fe]",
37
+ "[O/Fe]",
38
+ "[r/Fe]",
39
+ "[s/Fe]",
40
+ "mu"
41
+ ],
42
+ "wavelengths": null
43
+ },
44
+ "channel_units_tree": {
45
+ "parameters": [
46
+ "dimensionless",
47
+ "dimensionless",
48
+ "dimensionless",
49
+ "dimensionless",
50
+ "dimensionless",
51
+ "dimensionless",
52
+ "dimensionless",
53
+ "dimensionless",
54
+ "dimensionless",
55
+ "dimensionless",
56
+ "dimensionless"
57
+ ],
58
+ "wavelengths": null
59
+ },
60
+ "leaf_meanings_tree": {
61
+ "parameters": "min-max scaled source-grid parameters; see reference_scaling_inputs for raw parameter bounds",
62
+ "wavelengths": "min-max scaled log10 wavelength; the user applies log10 before reference_scaling_inputs"
63
+ },
64
+ "leaf_units_tree": {
65
+ "parameters": null,
66
+ "wavelengths": "dimensionless"
67
+ },
68
+ "structure_tree": {
69
+ "parameters": null,
70
+ "wavelengths": null
71
+ }
72
+ },
73
+ "outputs": {
74
+ "channel_meanings_tree": {
75
+ "flux": [
76
+ "min-max scaled log10 line intensity from source array flux",
77
+ "min-max scaled log10 continuum intensity from source array continuum"
78
+ ]
79
+ },
80
+ "channel_names_tree": {
81
+ "flux": [
82
+ "log_flux_lines",
83
+ "log_flux_continuum"
84
+ ]
85
+ },
86
+ "channel_units_tree": {
87
+ "flux": [
88
+ "dimensionless",
89
+ "dimensionless"
90
+ ]
91
+ },
92
+ "leaf_meanings_tree": {
93
+ "flux": "two min-max scaled log10 intensity channels from the Maja archive arrays flux and continuum"
94
+ },
95
+ "leaf_units_tree": {
96
+ "flux": "dimensionless"
97
+ },
98
+ "structure_tree": {
99
+ "flux": null
100
+ }
101
+ },
102
+ "reference_scaling_inputs": null,
103
+ "reference_scaling_outputs": null
104
+ },
105
+ "model": {
106
+ "init_hints": {
107
+ "parameter_dim": 11
108
+ },
109
+ "name": "transformer_payne",
110
+ "params": {
111
+ "channels": 2,
112
+ "dim": 192,
113
+ "dim_ff_multiplier": 4,
114
+ "dim_head": 32,
115
+ "dtype": "float32",
116
+ "max_period": 1.0,
117
+ "min_period": 1e-06,
118
+ "no_layers": 6,
119
+ "no_tokens": 8
120
+ }
121
+ },
122
+ "optim": {
123
+ "b1": 0.9,
124
+ "b2": 0.999,
125
+ "decay_steps": 0,
126
+ "eps": 1e-08,
127
+ "grad_clip": 0.0,
128
+ "lr": 0.001,
129
+ "lr_scaling": null,
130
+ "name": "soap",
131
+ "precondition_1d": false,
132
+ "precondition_frequency": 10,
133
+ "scale_embedding_lr": 1.0,
134
+ "schedule": "cosine",
135
+ "warmup_steps": 10000,
136
+ "weight_decay": 0.0001
137
+ },
138
+ "schema_version": 1,
139
+ "seed": 0,
140
+ "solver": {
141
+ "name": "auto",
142
+ "params": {}
143
+ },
144
+ "task": {
145
+ "name": "regression",
146
+ "params": {
147
+ "loss": "mse",
148
+ "metric_axes": {
149
+ "channel": [
150
+ 0
151
+ ],
152
+ "global": "all"
153
+ },
154
+ "metrics": [
155
+ "mse",
156
+ "mae"
157
+ ]
158
+ }
159
+ },
160
+ "training": {
161
+ "batch_size": 64,
162
+ "checkpoint_interval_steps": 10000,
163
+ "checkpoint_steps": null,
164
+ "evaluation_interval_steps": 5000,
165
+ "evaluation_steps": null,
166
+ "logging_interval_steps": 1000,
167
+ "logging_steps": null,
168
+ "max_saved_checkpoints": 5,
169
+ "num_steps": 100000,
170
+ "shuffle": true,
171
+ "shuffle_seed": 0,
172
+ "steps_per_epoch": null,
173
+ "val_fraction": 0.0,
174
+ "workdir": "./runs/from_bundle"
175
+ }
176
+ }
extras/evaluation_scaled_log10_wavelength.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b0f2378a297d7cd1db2b50fbac3c79e611155523f4c45eb695bae6c89d2dda2f
3
+ size 16464
extras/source_log10_wavelength.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ddc357db985e77e3ad4809c0c5aabd3f0c31d11690cd2e971428270b57cd93d2
3
+ size 2480088
extras/source_log10_wavelength_by_channel/continuum.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ad2ab34dd20887bd9afa699d6d71f5172f45a2dbfd2c1b12b0d61b47a659c921
3
+ size 248088
extras/source_log10_wavelength_by_channel/lines.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ddc357db985e77e3ad4809c0c5aabd3f0c31d11690cd2e971428270b57cd93d2
3
+ size 2480088
extras/source_scaled_log10_wavelength.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6dfe5eef935c3ff0e42a5922196d256a7b3a7841858f7a062db9ff7d4261f501
3
+ size 2480088
extras/source_scaled_log10_wavelength_by_channel/continuum.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:680a00c75b6cd891aa9957f2f65c6e288b7c5c4e4e4ccac27b97aa48f3dcd280
3
+ size 248088
extras/source_scaled_log10_wavelength_by_channel/lines.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6dfe5eef935c3ff0e42a5922196d256a7b3a7841858f7a062db9ff7d4261f501
3
+ size 2480088
extras/source_wavelength.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36c6efd17e078ac09102e6c38b7c69bd073ec4996ed503378590fe5a4b7e5a1d
3
+ size 2480088
extras/source_wavelength_by_channel/continuum.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:763e92f6f3f7bad0112ab67bbc05458fa442c6ef9743fa5a0d07f5c3dbbe0d2d
3
+ size 248088
extras/source_wavelength_by_channel/lines.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36c6efd17e078ac09102e6c38b7c69bd073ec4996ed503378590fe5a4b7e5a1d
3
+ size 2480088
fingerprint_evaluation/inputs.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:042d91eb9ed80efc7ab2ea06a18f07fa71760dfe6a23a716276b588b12ce1933
3
+ size 240
fingerprint_evaluation/outputs.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c1f5288c076d988ee588f89051d5549e49139bc4ceda2e92f35078aabf65f7d
3
+ size 80
input_domain.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:693c587d99028ac6bc7380f370faa2feae562be303343d4fb899cb7e277fcb01
3
+ size 480
metadata.json ADDED
@@ -0,0 +1,457 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bundle_format_version": 1,
3
+ "config_schema_version": 1,
4
+ "extras": {
5
+ "evaluation_scaled_log10_wavelength": {
6
+ "__aet_sidecar__": {
7
+ "format": "safetensors_v1",
8
+ "layout": "single_array_v1",
9
+ "path": "extras/evaluation_scaled_log10_wavelength.safetensors"
10
+ }
11
+ },
12
+ "notes": "The source array named 'flux' is treated as line intensity. The source array 'continuum' is treated as continuum intensity. The bundle records min-max scaling metadata; log10 transforms for wavelengths and outputs are explicit user-side preprocessing.",
13
+ "parameter_source_units": {
14
+ "[C/Fe]": "",
15
+ "[Fe/H]": "dex",
16
+ "[N/Fe]": "",
17
+ "[O/Fe]": "",
18
+ "[a/Fe]": "",
19
+ "[r/Fe]": "",
20
+ "[s/Fe]": "",
21
+ "logg": "dex",
22
+ "mu": "dimensionless",
23
+ "teff": "K",
24
+ "vmicro": "km/s"
25
+ },
26
+ "preprocessing_recipe": {
27
+ "outputs": "The model predicts min-max scaled log10 flux and min-max scaled log10 continuum. Invert the min-max transform first; apply 10**y outside the bundle if physical intensities are needed.",
28
+ "parameters": "Scale raw parameter vector with (x - parameter_min) / (parameter_max - parameter_min).",
29
+ "wavelengths": "Apply log10 to physical wavelength first, then min-max scale with the log10_wavelength bounds."
30
+ },
31
+ "source_log10_wavelength": {
32
+ "__aet_sidecar__": {
33
+ "format": "safetensors_v1",
34
+ "layout": "single_array_v1",
35
+ "path": "extras/source_log10_wavelength.safetensors"
36
+ }
37
+ },
38
+ "source_log10_wavelength_by_channel": {
39
+ "continuum": {
40
+ "__aet_sidecar__": {
41
+ "format": "safetensors_v1",
42
+ "layout": "single_array_v1",
43
+ "path": "extras/source_log10_wavelength_by_channel/continuum.safetensors"
44
+ }
45
+ },
46
+ "lines": {
47
+ "__aet_sidecar__": {
48
+ "format": "safetensors_v1",
49
+ "layout": "single_array_v1",
50
+ "path": "extras/source_log10_wavelength_by_channel/lines.safetensors"
51
+ }
52
+ }
53
+ },
54
+ "source_scaled_log10_wavelength": {
55
+ "__aet_sidecar__": {
56
+ "format": "safetensors_v1",
57
+ "layout": "single_array_v1",
58
+ "path": "extras/source_scaled_log10_wavelength.safetensors"
59
+ }
60
+ },
61
+ "source_scaled_log10_wavelength_by_channel": {
62
+ "continuum": {
63
+ "__aet_sidecar__": {
64
+ "format": "safetensors_v1",
65
+ "layout": "single_array_v1",
66
+ "path": "extras/source_scaled_log10_wavelength_by_channel/continuum.safetensors"
67
+ }
68
+ },
69
+ "lines": {
70
+ "__aet_sidecar__": {
71
+ "format": "safetensors_v1",
72
+ "layout": "single_array_v1",
73
+ "path": "extras/source_scaled_log10_wavelength_by_channel/lines.safetensors"
74
+ }
75
+ }
76
+ },
77
+ "source_store": "/g/data/y89/mj8805/harps.zarr",
78
+ "source_stores": [
79
+ "/g/data/y89/mj8805/harps.zarr",
80
+ "/g/data/y89/mj8805/harps2.zarr"
81
+ ],
82
+ "source_wavelength": {
83
+ "__aet_sidecar__": {
84
+ "format": "safetensors_v1",
85
+ "layout": "single_array_v1",
86
+ "path": "extras/source_wavelength.safetensors"
87
+ }
88
+ },
89
+ "source_wavelength_by_channel": {
90
+ "continuum": {
91
+ "__aet_sidecar__": {
92
+ "format": "safetensors_v1",
93
+ "layout": "single_array_v1",
94
+ "path": "extras/source_wavelength_by_channel/continuum.safetensors"
95
+ }
96
+ },
97
+ "lines": {
98
+ "__aet_sidecar__": {
99
+ "format": "safetensors_v1",
100
+ "layout": "single_array_v1",
101
+ "path": "extras/source_wavelength_by_channel/lines.safetensors"
102
+ }
103
+ }
104
+ },
105
+ "training": {
106
+ "continuum_stride": 10,
107
+ "dataset_output_keys": [
108
+ "lines",
109
+ "continuum"
110
+ ],
111
+ "model_output_channel_names": [
112
+ "log_flux_lines",
113
+ "log_flux_continuum"
114
+ ],
115
+ "n_training_samples": 54000,
116
+ "n_validation_samples": 6000,
117
+ "n_wavelength_per_step": 2048,
118
+ "source_wavelength_samples_by_channel": {
119
+ "continuum": 31001,
120
+ "lines": 310001
121
+ },
122
+ "validation_policy": "first 10.0% of spectra by concatenated source index"
123
+ }
124
+ },
125
+ "fingerprint_evaluation": {
126
+ "atol": 1e-07,
127
+ "inputs": {
128
+ "filename": "fingerprint_evaluation/inputs.safetensors",
129
+ "format": "safetensors_v1",
130
+ "layout": "numeric_dict_tree_v1",
131
+ "space": "canonical_input_dict_trees_v1"
132
+ },
133
+ "kind": "canonical_inputs_outputs_v1",
134
+ "outputs": {
135
+ "filename": "fingerprint_evaluation/outputs.safetensors",
136
+ "format": "safetensors_v1",
137
+ "layout": "numeric_dict_tree_v1",
138
+ "space": "canonical_output_dict_trees_v1"
139
+ },
140
+ "rtol": 1e-05,
141
+ "selection_strategy": "midpoint_from_input_domain_then_reference_scaling_inputs_v1"
142
+ },
143
+ "fit_method": "gradient",
144
+ "model_family_id": "transformer_payne_v1",
145
+ "model_init": {
146
+ "hints": {
147
+ "parameter_dim": 11
148
+ },
149
+ "representation": "model-local init hints only"
150
+ },
151
+ "provenance": {
152
+ "created_at": "2026-05-01T13:33:41.693459+00:00",
153
+ "dependencies": {
154
+ "flax": "0.12.7",
155
+ "jax": "0.10.0",
156
+ "numpy": "2.4.4",
157
+ "optax": "0.2.8"
158
+ },
159
+ "git_commit": null,
160
+ "platform": "Linux-4.18.0-553.92.1.el8.nci.x86_64-x86_64-with-glibc2.28",
161
+ "python_version": "3.12.13",
162
+ "toolkit": "astro_emulators_toolkit",
163
+ "toolkit_version": "0.1.0"
164
+ },
165
+ "release": {
166
+ "name": "maja-harps-intensity-tpayne-2ch-192x6",
167
+ "status": "released",
168
+ "version": "0.1.0"
169
+ },
170
+ "resolved": {
171
+ "model": {
172
+ "name": "transformer_payne",
173
+ "params": {
174
+ "activation": "gelu",
175
+ "alpha_att": 1.0,
176
+ "alpha_emb": 1.0,
177
+ "bias_attention": false,
178
+ "bias_dense": false,
179
+ "bias_feed_forward": null,
180
+ "bias_output_head": null,
181
+ "bias_parameter_embedding": null,
182
+ "channels": 2,
183
+ "dim": 192,
184
+ "dim_ff_multiplier": 4,
185
+ "dim_head": 32,
186
+ "dtype": "float32",
187
+ "emb_init": "si",
188
+ "ff_init": "si",
189
+ "head_init": "si",
190
+ "init_att_o": "si",
191
+ "init_att_q": "si",
192
+ "max_period": 1.0,
193
+ "min_period": 1e-06,
194
+ "no_layers": 6,
195
+ "no_tokens": 8,
196
+ "output_activation": "linear",
197
+ "reference_depth": null,
198
+ "reference_width": null,
199
+ "sigma": 1.0
200
+ }
201
+ },
202
+ "solver": {
203
+ "name": "gradient",
204
+ "params": {}
205
+ },
206
+ "task": {
207
+ "name": "regression",
208
+ "params": {
209
+ "loss": "mse",
210
+ "loss_weights": null,
211
+ "metric_axes": {
212
+ "channel": [
213
+ 0
214
+ ],
215
+ "global": "all"
216
+ },
217
+ "metrics": [
218
+ "mse",
219
+ "mae"
220
+ ]
221
+ }
222
+ }
223
+ },
224
+ "runtime_contract": {
225
+ "affine_leaf_specs": {
226
+ "inputs/parameters": {
227
+ "last_axis": 11,
228
+ "mode": "scalar_or_last_axis"
229
+ },
230
+ "inputs/wavelengths": {
231
+ "mode": "scalar_only"
232
+ },
233
+ "outputs/flux": {
234
+ "last_axis": 2,
235
+ "mode": "scalar_or_last_axis"
236
+ }
237
+ },
238
+ "role_paths": {
239
+ "output_leaf": "outputs/flux",
240
+ "parameter_leaf": "inputs/parameters",
241
+ "wavelength_leaf": "inputs/wavelengths"
242
+ },
243
+ "surface": "canonical_dict_trees_v1",
244
+ "transformer_payne_channels": [
245
+ {
246
+ "dataset_key": "lines",
247
+ "name": "log_flux_lines"
248
+ },
249
+ {
250
+ "dataset_key": "continuum",
251
+ "name": "log_flux_continuum"
252
+ }
253
+ ]
254
+ },
255
+ "spec": {
256
+ "input_domain": {
257
+ "kind": "box_v1",
258
+ "max_tree": {
259
+ "parameters": [
260
+ 7500.0,
261
+ 5.0,
262
+ 0.5,
263
+ 5.0,
264
+ 0.5,
265
+ 0.30000001192092896,
266
+ 0.4000000059604645,
267
+ 0.4000000059604645,
268
+ 0.5,
269
+ 0.5,
270
+ 1.0
271
+ ],
272
+ "wavelengths": 3.838849090737255
273
+ },
274
+ "min_tree": {
275
+ "parameters": [
276
+ 3800.0,
277
+ 0.5,
278
+ -3.0,
279
+ 1.0,
280
+ -0.20000000298023224,
281
+ -0.30000001192092896,
282
+ -0.20000000298023224,
283
+ -0.20000000298023224,
284
+ -0.20000000298023224,
285
+ -0.20000000298023224,
286
+ 0.1246189996600151
287
+ ],
288
+ "wavelengths": 3.57978359661681
289
+ },
290
+ "storage": {
291
+ "filename": "input_domain.safetensors",
292
+ "format": "safetensors_v1",
293
+ "layout": "split_minmax_tree_v1"
294
+ },
295
+ "value_space": "physical_input_dict_tree_v1"
296
+ },
297
+ "inputs": {
298
+ "channel_meanings_tree": {
299
+ "parameters": [
300
+ "effective temperature",
301
+ "surface gravity",
302
+ "metallicity [Fe/H]",
303
+ "microturbulence velocity",
304
+ "source-grid parameter [a/Fe]",
305
+ "source-grid parameter [C/Fe]",
306
+ "source-grid parameter [N/Fe]",
307
+ "source-grid parameter [O/Fe]",
308
+ "source-grid parameter [r/Fe]",
309
+ "source-grid parameter [s/Fe]",
310
+ "cosine of viewing angle"
311
+ ],
312
+ "wavelengths": null
313
+ },
314
+ "channel_names_tree": {
315
+ "parameters": [
316
+ "teff",
317
+ "logg",
318
+ "[Fe/H]",
319
+ "vmicro",
320
+ "[a/Fe]",
321
+ "[C/Fe]",
322
+ "[N/Fe]",
323
+ "[O/Fe]",
324
+ "[r/Fe]",
325
+ "[s/Fe]",
326
+ "mu"
327
+ ],
328
+ "wavelengths": null
329
+ },
330
+ "channel_units_tree": {
331
+ "parameters": [
332
+ "dimensionless",
333
+ "dimensionless",
334
+ "dimensionless",
335
+ "dimensionless",
336
+ "dimensionless",
337
+ "dimensionless",
338
+ "dimensionless",
339
+ "dimensionless",
340
+ "dimensionless",
341
+ "dimensionless",
342
+ "dimensionless"
343
+ ],
344
+ "wavelengths": null
345
+ },
346
+ "leaf_meanings_tree": {
347
+ "parameters": "min-max scaled source-grid parameters; see reference_scaling_inputs for raw parameter bounds",
348
+ "wavelengths": "min-max scaled log10 wavelength; the user applies log10 before reference_scaling_inputs"
349
+ },
350
+ "leaf_units_tree": {
351
+ "parameters": null,
352
+ "wavelengths": "dimensionless"
353
+ },
354
+ "structure_tree": {
355
+ "parameters": null,
356
+ "wavelengths": null
357
+ }
358
+ },
359
+ "outputs": {
360
+ "channel_meanings_tree": {
361
+ "flux": [
362
+ "min-max scaled log10 line intensity from source array flux",
363
+ "min-max scaled log10 continuum intensity from source array continuum"
364
+ ]
365
+ },
366
+ "channel_names_tree": {
367
+ "flux": [
368
+ "log_flux_lines",
369
+ "log_flux_continuum"
370
+ ]
371
+ },
372
+ "channel_units_tree": {
373
+ "flux": [
374
+ "dimensionless",
375
+ "dimensionless"
376
+ ]
377
+ },
378
+ "leaf_meanings_tree": {
379
+ "flux": "two min-max scaled log10 intensity channels from the Maja archive arrays flux and continuum"
380
+ },
381
+ "leaf_units_tree": {
382
+ "flux": "dimensionless"
383
+ },
384
+ "structure_tree": {
385
+ "flux": null
386
+ }
387
+ },
388
+ "reference_scaling_inputs": {
389
+ "applies_to": "inputs",
390
+ "kind": "affine_minmax_v1",
391
+ "max_tree": {
392
+ "parameters": [
393
+ 7500.0,
394
+ 5.0,
395
+ 0.5,
396
+ 5.0,
397
+ 0.5,
398
+ 0.30000001192092896,
399
+ 0.4000000059604645,
400
+ 0.4000000059604645,
401
+ 0.5,
402
+ 0.5,
403
+ 1.0
404
+ ],
405
+ "wavelengths": 3.838849090737255
406
+ },
407
+ "min_tree": {
408
+ "parameters": [
409
+ 3800.0,
410
+ 0.5,
411
+ -3.0,
412
+ 1.0,
413
+ -0.20000000298023224,
414
+ -0.30000001192092896,
415
+ -0.20000000298023224,
416
+ -0.20000000298023224,
417
+ -0.20000000298023224,
418
+ -0.20000000298023224,
419
+ 0.1246189996600151
420
+ ],
421
+ "wavelengths": 3.57978359661681
422
+ },
423
+ "source_space": "physical_input_dict_tree_v1",
424
+ "storage": {
425
+ "filename": "reference_scaling_inputs.safetensors",
426
+ "format": "safetensors_v1",
427
+ "layout": "split_minmax_tree_v1"
428
+ },
429
+ "target_space": "canonical_input_dict_tree_v1"
430
+ },
431
+ "reference_scaling_outputs": {
432
+ "applies_to": "outputs",
433
+ "kind": "affine_minmax_v1",
434
+ "max_tree": {
435
+ "flux": [
436
+ 7.435205936431885,
437
+ 7.439098834991455
438
+ ]
439
+ },
440
+ "min_tree": {
441
+ "flux": [
442
+ 2.4139199256896973,
443
+ 4.380068778991699
444
+ ]
445
+ },
446
+ "source_space": "canonical_output_dict_tree_v1",
447
+ "storage": {
448
+ "filename": "reference_scaling_outputs.safetensors",
449
+ "format": "safetensors_v1",
450
+ "layout": "split_minmax_tree_v1"
451
+ },
452
+ "target_space": "physical_output_dict_tree_v1"
453
+ },
454
+ "spec_version": 1
455
+ },
456
+ "weights_layout": "params_plus_model_state_v1"
457
+ }
reference_scaling_inputs.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:693c587d99028ac6bc7380f370faa2feae562be303343d4fb899cb7e277fcb01
3
+ size 480
reference_scaling_outputs.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee95154c49e270d77e7cb13b188e06f2b850be8ef70216440769828caba56adc
3
+ size 168
weights/weights.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0df11633dd341cbabafd092d0d47628bd7e7435e51002bde49a6868f23687461
3
+ size 11958520