| { |
| "bundle_format_version": 1, |
| "config_schema_version": 1, |
| "extras": { |
| "evaluation_scaled_log10_wavelength": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/evaluation_scaled_log10_wavelength.safetensors" |
| } |
| }, |
| "fixed_parameter_values": { |
| "[C/Fe]": 0.0, |
| "[N/Fe]": 0.0, |
| "[O/Fe]": 0.0, |
| "[a/Fe]": 0.0, |
| "[r/Fe]": 0.0, |
| "[s/Fe]": 0.0 |
| }, |
| "normalised_intensity_observed_range": null, |
| "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.", |
| "output_parameterization": "scaled_log10_flux_and_continuum", |
| "parameter_source_units": { |
| "[Fe/H]": "dex", |
| "logg": "dex", |
| "mu": "dimensionless", |
| "teff": "K", |
| "vmicro": "km/s" |
| }, |
| "preprocessing_recipe": { |
| "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.", |
| "parameters": "Scale raw parameter vector with (x - parameter_min) / (parameter_max - parameter_min).", |
| "wavelengths": "Apply log10 to physical wavelength first, then min-max scale with the log10_wavelength bounds." |
| }, |
| "source_log10_wavelength": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_log10_wavelength.safetensors" |
| } |
| }, |
| "source_log10_wavelength_by_channel": { |
| "continuum": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_log10_wavelength_by_channel/continuum.safetensors" |
| } |
| }, |
| "lines": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_log10_wavelength_by_channel/lines.safetensors" |
| } |
| } |
| }, |
| "source_parameter_max": [ |
| 8500.0, |
| 5.0, |
| 0.5, |
| 4.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 1.0 |
| ], |
| "source_parameter_min": [ |
| 3500.0, |
| 0.5, |
| -4.5, |
| 1.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.0, |
| 0.01001800037920475 |
| ], |
| "source_parameter_names": [ |
| "teff", |
| "logg", |
| "[Fe/H]", |
| "vmicro", |
| "[a/Fe]", |
| "[C/Fe]", |
| "[N/Fe]", |
| "[O/Fe]", |
| "[r/Fe]", |
| "[s/Fe]", |
| "mu" |
| ], |
| "source_scaled_log10_wavelength": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_scaled_log10_wavelength.safetensors" |
| } |
| }, |
| "source_scaled_log10_wavelength_by_channel": { |
| "continuum": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_scaled_log10_wavelength_by_channel/continuum.safetensors" |
| } |
| }, |
| "lines": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_scaled_log10_wavelength_by_channel/lines.safetensors" |
| } |
| } |
| }, |
| "source_store": "/g/data/y89/mj8805/new_fe_grid.zarr", |
| "source_stores": [ |
| "/g/data/y89/mj8805/new_fe_grid.zarr" |
| ], |
| "source_wavelength": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_wavelength.safetensors" |
| } |
| }, |
| "source_wavelength_by_channel": { |
| "continuum": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_wavelength_by_channel/continuum.safetensors" |
| } |
| }, |
| "lines": { |
| "__aet_sidecar__": { |
| "format": "safetensors_v1", |
| "layout": "single_array_v1", |
| "path": "extras/source_wavelength_by_channel/lines.safetensors" |
| } |
| } |
| }, |
| "training": { |
| "continuum_stride": 1, |
| "dataset_output_keys": [ |
| "lines", |
| "continuum" |
| ], |
| "model_output_channel_names": [ |
| "log_flux_lines", |
| "log_flux_continuum" |
| ], |
| "n_training_samples": 135000, |
| "n_validation_samples": 15000, |
| "n_wavelength_per_step": 2048, |
| "source_wavelength_samples_by_channel": { |
| "continuum": 2001, |
| "lines": 2001 |
| }, |
| "validation_policy": "first 10.0% of spectra by concatenated source index" |
| } |
| }, |
| "fingerprint_evaluation": { |
| "atol": 1e-07, |
| "inputs": { |
| "filename": "fingerprint_evaluation/inputs.safetensors", |
| "format": "safetensors_v1", |
| "layout": "numeric_dict_tree_v1", |
| "space": "canonical_input_dict_trees_v1" |
| }, |
| "kind": "canonical_inputs_outputs_v1", |
| "outputs": { |
| "filename": "fingerprint_evaluation/outputs.safetensors", |
| "format": "safetensors_v1", |
| "layout": "numeric_dict_tree_v1", |
| "space": "canonical_output_dict_trees_v1" |
| }, |
| "rtol": 1e-05, |
| "selection_strategy": "midpoint_from_input_domain_then_reference_scaling_inputs_v1" |
| }, |
| "fit_method": "gradient", |
| "model_family_id": "transformer_payne_v1", |
| "model_init": { |
| "hints": { |
| "parameter_dim": 5 |
| }, |
| "representation": "model-local init hints only" |
| }, |
| "provenance": { |
| "created_at": "2026-05-15T02:55:23.587126+00:00", |
| "dependencies": { |
| "flax": "0.12.7", |
| "jax": "0.10.0", |
| "numpy": "2.4.4", |
| "optax": "0.2.8" |
| }, |
| "git_commit": null, |
| "platform": "Linux-4.18.0-553.117.1.el8.nci.x86_64-x86_64-with-glibc2.28", |
| "python_version": "3.12.13", |
| "toolkit": "astro_emulators_toolkit", |
| "toolkit_version": "0.1.0" |
| }, |
| "release": { |
| "name": "maja-new-fe-intensity-tpayne-small-hpc", |
| "status": "released", |
| "version": "0.1.0" |
| }, |
| "resolved": { |
| "model": { |
| "name": "transformer_payne", |
| "params": { |
| "activation": "gelu", |
| "alpha_att": 1.0, |
| "alpha_emb": 1.0, |
| "bias_attention": false, |
| "bias_dense": false, |
| "bias_feed_forward": null, |
| "bias_output_head": null, |
| "bias_parameter_embedding": null, |
| "channels": 2, |
| "dim": 48, |
| "dim_ff_multiplier": 2, |
| "dim_head": 16, |
| "dtype": "float32", |
| "emb_init": "si", |
| "ff_init": "si", |
| "head_init": "si", |
| "init_att_o": "si", |
| "init_att_q": "si", |
| "max_period": 1.0, |
| "min_period": 0.0001, |
| "no_layers": 3, |
| "no_tokens": 8, |
| "output_activation": "linear", |
| "reference_depth": null, |
| "reference_width": null, |
| "sigma": 1.0 |
| } |
| }, |
| "solver": { |
| "name": "gradient", |
| "params": {} |
| }, |
| "task": { |
| "name": "regression", |
| "params": { |
| "loss": "mse", |
| "loss_weights": null, |
| "metric_axes": { |
| "channel": [ |
| 0 |
| ], |
| "global": "all" |
| }, |
| "metrics": [ |
| "mse", |
| "mae" |
| ] |
| } |
| } |
| }, |
| "runtime_contract": { |
| "affine_leaf_specs": { |
| "inputs/parameters": { |
| "last_axis": 5, |
| "mode": "scalar_or_last_axis" |
| }, |
| "inputs/wavelengths": { |
| "mode": "scalar_only" |
| }, |
| "outputs/flux": { |
| "last_axis": 2, |
| "mode": "scalar_or_last_axis" |
| } |
| }, |
| "role_paths": { |
| "output_leaf": "outputs/flux", |
| "parameter_leaf": "inputs/parameters", |
| "wavelength_leaf": "inputs/wavelengths" |
| }, |
| "surface": "canonical_dict_trees_v1", |
| "transformer_payne_channels": [ |
| { |
| "dataset_key": "lines", |
| "name": "log_flux_lines" |
| }, |
| { |
| "dataset_key": "continuum", |
| "name": "log_flux_continuum" |
| } |
| ] |
| }, |
| "spec": { |
| "input_domain": { |
| "kind": "box_v1", |
| "max_tree": { |
| "parameters": [ |
| 8500.0, |
| 5.0, |
| 0.5, |
| 4.0, |
| 1.0 |
| ], |
| "wavelengths": 3.7007037171450192 |
| }, |
| "min_tree": { |
| "parameters": [ |
| 3500.0, |
| 0.5, |
| -4.5, |
| 1.0, |
| 0.01001800037920475 |
| ], |
| "wavelengths": 3.6989700043360187 |
| }, |
| "storage": { |
| "filename": "input_domain.safetensors", |
| "format": "safetensors_v1", |
| "layout": "split_minmax_tree_v1" |
| }, |
| "value_space": "physical_input_dict_tree_v1" |
| }, |
| "inputs": { |
| "channel_meanings_tree": { |
| "parameters": [ |
| "effective temperature", |
| "surface gravity", |
| "metallicity [Fe/H]", |
| "microturbulence velocity", |
| "cosine of viewing angle" |
| ], |
| "wavelengths": null |
| }, |
| "channel_names_tree": { |
| "parameters": [ |
| "teff", |
| "logg", |
| "[Fe/H]", |
| "vmicro", |
| "mu" |
| ], |
| "wavelengths": null |
| }, |
| "channel_units_tree": { |
| "parameters": [ |
| "dimensionless", |
| "dimensionless", |
| "dimensionless", |
| "dimensionless", |
| "dimensionless" |
| ], |
| "wavelengths": null |
| }, |
| "leaf_meanings_tree": { |
| "parameters": "min-max scaled model input parameters; see reference_scaling_inputs for raw parameter bounds and bundle_extras.fixed_parameter_values for any source-grid parameters held fixed outside the model input", |
| "wavelengths": "min-max scaled log10 wavelength; the user applies log10 before reference_scaling_inputs" |
| }, |
| "leaf_units_tree": { |
| "parameters": null, |
| "wavelengths": "dimensionless" |
| }, |
| "structure_tree": { |
| "parameters": null, |
| "wavelengths": null |
| } |
| }, |
| "outputs": { |
| "channel_meanings_tree": { |
| "flux": [ |
| "min-max scaled log10 line intensity from source array flux", |
| "min-max scaled log10 continuum intensity from source array continuum" |
| ] |
| }, |
| "channel_names_tree": { |
| "flux": [ |
| "log_flux_lines", |
| "log_flux_continuum" |
| ] |
| }, |
| "channel_units_tree": { |
| "flux": [ |
| "dimensionless", |
| "dimensionless" |
| ] |
| }, |
| "leaf_meanings_tree": { |
| "flux": "two min-max scaled log10 intensity channels from the Maja archive arrays flux and continuum" |
| }, |
| "leaf_units_tree": { |
| "flux": "dimensionless" |
| }, |
| "structure_tree": { |
| "flux": null |
| } |
| }, |
| "reference_scaling_inputs": { |
| "applies_to": "inputs", |
| "kind": "affine_minmax_v1", |
| "max_tree": { |
| "parameters": [ |
| 8500.0, |
| 5.0, |
| 0.5, |
| 4.0, |
| 1.0 |
| ], |
| "wavelengths": 3.7007037171450192 |
| }, |
| "min_tree": { |
| "parameters": [ |
| 3500.0, |
| 0.5, |
| -4.5, |
| 1.0, |
| 0.01001800037920475 |
| ], |
| "wavelengths": 3.6989700043360187 |
| }, |
| "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" |
| }, |
| "reference_scaling_outputs": { |
| "applies_to": "outputs", |
| "kind": "affine_minmax_v1", |
| "max_tree": { |
| "flux": [ |
| 7.281722068786621, |
| 7.281800746917725 |
| ] |
| }, |
| "min_tree": { |
| "flux": [ |
| 2.2898988723754883, |
| 4.439985275268555 |
| ] |
| }, |
| "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" |
| }, |
| "spec_version": 1 |
| }, |
| "weights_layout": "params_plus_model_state_v1" |
| } |