File size: 12,467 Bytes
ec6a24f 46fa079 ec6a24f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | {
"_comment": "Definitive signal-to-MDSplus mapping for edensfit89 history features.",
"_source_of_truth": "docs/history_feature_order.txt + per-bundle model_config.json input_contract",
"_created": "2026-04-04",
"_notes": [
"Each entry: model_name -> {pointname, tree, method, notes}",
"method: ptdata = ptdata('POINTNAME', shot), tree = openTree(tree,shot) then get(node)",
"Signals not in the export plan table are inferred from DIII-D conventions (UPPERCASE = pointname).",
"ADVISOR VALIDATION NEEDED for: edensfit89, pedestal (edensfit100), prad_tot/divl/divu, rmaxis, zmaxis, rvsin, rvsout, zvsin, zvsout, e567up/dn, e89up/dn, pinj_*/tinj_* individual beamlines."
],
"history_block1_base_signals": {
"_doc": "67 signals x 4 stats = indices 0-267. Order matches history_feature_order.txt.",
"kappa": {"pointname": "KAPPA", "tree": "EFIT01", "method": "tree"},
"betap": {"pointname": "BETAP", "tree": "EFIT01", "method": "tree"},
"tribot": {"pointname": "TRIBOT", "tree": "EFIT01", "method": "tree"},
"tritop": {"pointname": "TRITOP", "tree": "EFIT01", "method": "tree"},
"rmaxis": {"pointname": "RMAXIS", "tree": "EFIT01", "method": "tree"},
"zmaxis": {"pointname": "ZMAXIS", "tree": "EFIT01", "method": "tree"},
"li": {"pointname": "LI", "tree": "EFIT01", "method": "tree"},
"rvsin": {"pointname": "RVSIN", "tree": "EFIT01", "method": "tree"},
"rvsout": {"pointname": "RVSOUT", "tree": "EFIT01", "method": "tree"},
"zvsin": {"pointname": "ZVSIN", "tree": "EFIT01", "method": "tree"},
"zvsout": {"pointname": "ZVSOUT", "tree": "EFIT01", "method": "tree"},
"pohm": {"pointname": "POHM", "tree": null, "method": "ptdata"},
"pinj": {"pointname": "PINJ", "tree": null, "method": "ptdata"},
"tinj": {"pointname": "TINJ", "tree": null, "method": "ptdata"},
"ech_total": {"pointname": "ECHPWRC", "tree": null, "method": "ptdata", "notes": "export plan maps ech_total -> ECHPWRC"},
"pinj_15l": {"pointname": "PINJ_15L", "tree": null, "method": "ptdata"},
"pinj_15r": {"pointname": "PINJ_15R", "tree": null, "method": "ptdata"},
"pinj_21l": {"pointname": "PINJ_21L", "tree": null, "method": "ptdata"},
"pinj_21r": {"pointname": "PINJ_21R", "tree": null, "method": "ptdata"},
"pinj_30l": {"pointname": "PINJ_30L", "tree": null, "method": "ptdata"},
"pinj_30r": {"pointname": "PINJ_30R", "tree": null, "method": "ptdata"},
"pinj_33l": {"pointname": "PINJ_33L", "tree": null, "method": "ptdata"},
"pinj_33r": {"pointname": "PINJ_33R", "tree": null, "method": "ptdata"},
"tinj_15l": {"pointname": "TINJ_15L", "tree": null, "method": "ptdata"},
"tinj_15r": {"pointname": "TINJ_15R", "tree": null, "method": "ptdata"},
"tinj_21l": {"pointname": "TINJ_21L", "tree": null, "method": "ptdata"},
"tinj_21r": {"pointname": "TINJ_21R", "tree": null, "method": "ptdata"},
"tinj_30l": {"pointname": "TINJ_30L", "tree": null, "method": "ptdata"},
"tinj_30r": {"pointname": "TINJ_30R", "tree": null, "method": "ptdata"},
"tinj_33l": {"pointname": "TINJ_33L", "tree": null, "method": "ptdata"},
"tinj_33r": {"pointname": "TINJ_33R", "tree": null, "method": "ptdata"},
"f1a": {"pointname": "F1A", "tree": null, "method": "ptdata"},
"f2a": {"pointname": "F2A", "tree": null, "method": "ptdata"},
"f3a": {"pointname": "F3A", "tree": null, "method": "ptdata"},
"f4a": {"pointname": "F4A", "tree": null, "method": "ptdata"},
"f5a": {"pointname": "F5A", "tree": null, "method": "ptdata"},
"f6a": {"pointname": "F6A", "tree": null, "method": "ptdata"},
"f7a": {"pointname": "F7A", "tree": null, "method": "ptdata"},
"f8a": {"pointname": "F8A", "tree": null, "method": "ptdata"},
"f9a": {"pointname": "F9A", "tree": null, "method": "ptdata"},
"f1b": {"pointname": "F1B", "tree": null, "method": "ptdata"},
"f2b": {"pointname": "F2B", "tree": null, "method": "ptdata"},
"f3b": {"pointname": "F3B", "tree": null, "method": "ptdata"},
"f4b": {"pointname": "F4B", "tree": null, "method": "ptdata"},
"f5b": {"pointname": "F5B", "tree": null, "method": "ptdata"},
"f6b": {"pointname": "F6B", "tree": null, "method": "ptdata"},
"f7b": {"pointname": "F7B", "tree": null, "method": "ptdata"},
"f8b": {"pointname": "F8B", "tree": null, "method": "ptdata"},
"f9b": {"pointname": "F9B", "tree": null, "method": "ptdata"},
"ecoila": {"pointname": "ECOILA", "tree": null, "method": "ptdata"},
"ecoilb": {"pointname": "ECOILB", "tree": null, "method": "ptdata"},
"e567up": {"pointname": "E567UP", "tree": null, "method": "ptdata", "notes": "inferred; needs advisor confirmation"},
"e567dn": {"pointname": "E567DN", "tree": null, "method": "ptdata", "notes": "inferred; needs advisor confirmation"},
"e89up": {"pointname": "E89UP", "tree": null, "method": "ptdata", "notes": "inferred; needs advisor confirmation"},
"e89dn": {"pointname": "E89DN", "tree": null, "method": "ptdata", "notes": "inferred; needs advisor confirmation"},
"gasa_cal": {"pointname": "GASA_CAL", "tree": null, "method": "ptdata"},
"gasb_cal": {"pointname": "GASB_CAL", "tree": null, "method": "ptdata"},
"gasc_cal": {"pointname": "GASC_CAL", "tree": null, "method": "ptdata"},
"gasd_cal": {"pointname": "GASD_CAL", "tree": null, "method": "ptdata"},
"gase_cal": {"pointname": "GASE_CAL", "tree": null, "method": "ptdata"},
"ip": {"pointname": "IP", "tree": null, "method": "ptdata"},
"ipspr15v": {"pointname": "IPSPR15V", "tree": null, "method": "ptdata"},
"bt": {"pointname": "BT", "tree": null, "method": "ptdata"},
"density": {"pointname": "DENSITY", "tree": "ELECTRONS", "method": "tree"},
"n1rms": {"pointname": "N1RMS", "tree": null, "method": "ptdata"},
"n2rms": {"pointname": "N2RMS", "tree": null, "method": "ptdata"},
"prad": {"pointname": "PRAD", "tree": null, "method": "ptdata", "notes": "may need bolometer tree; needs advisor confirmation"}
},
"history_block2_pedestal_target": {
"_doc": "2 features at indices 268-269. Only mean and std (not min/max).",
"pedestal": {"pointname": "EDENSFIT100", "tree": null, "method": "ptdata", "notes": "edensfit index 100; exact pointname needs advisor confirmation"}
},
"history_block3_ece_channels": {
"_doc": "40 ECE channels x 4 stats = indices 270-429.",
"ece1": {"pointname": "ECE01", "tree": "ECE", "method": "tree"},
"ece2": {"pointname": "ECE02", "tree": "ECE", "method": "tree"},
"ece3": {"pointname": "ECE03", "tree": "ECE", "method": "tree"},
"ece4": {"pointname": "ECE04", "tree": "ECE", "method": "tree"},
"ece5": {"pointname": "ECE05", "tree": "ECE", "method": "tree"},
"ece6": {"pointname": "ECE06", "tree": "ECE", "method": "tree"},
"ece7": {"pointname": "ECE07", "tree": "ECE", "method": "tree"},
"ece8": {"pointname": "ECE08", "tree": "ECE", "method": "tree"},
"ece9": {"pointname": "ECE09", "tree": "ECE", "method": "tree"},
"ece10": {"pointname": "ECE10", "tree": "ECE", "method": "tree"},
"ece11": {"pointname": "ECE11", "tree": "ECE", "method": "tree"},
"ece12": {"pointname": "ECE12", "tree": "ECE", "method": "tree"},
"ece13": {"pointname": "ECE13", "tree": "ECE", "method": "tree"},
"ece14": {"pointname": "ECE14", "tree": "ECE", "method": "tree"},
"ece15": {"pointname": "ECE15", "tree": "ECE", "method": "tree"},
"ece16": {"pointname": "ECE16", "tree": "ECE", "method": "tree"},
"ece17": {"pointname": "ECE17", "tree": "ECE", "method": "tree"},
"ece18": {"pointname": "ECE18", "tree": "ECE", "method": "tree"},
"ece19": {"pointname": "ECE19", "tree": "ECE", "method": "tree"},
"ece20": {"pointname": "ECE20", "tree": "ECE", "method": "tree"},
"ece21": {"pointname": "ECE21", "tree": "ECE", "method": "tree"},
"ece22": {"pointname": "ECE22", "tree": "ECE", "method": "tree"},
"ece23": {"pointname": "ECE23", "tree": "ECE", "method": "tree"},
"ece24": {"pointname": "ECE24", "tree": "ECE", "method": "tree"},
"ece25": {"pointname": "ECE25", "tree": "ECE", "method": "tree"},
"ece26": {"pointname": "ECE26", "tree": "ECE", "method": "tree"},
"ece27": {"pointname": "ECE27", "tree": "ECE", "method": "tree"},
"ece28": {"pointname": "ECE28", "tree": "ECE", "method": "tree"},
"ece29": {"pointname": "ECE29", "tree": "ECE", "method": "tree"},
"ece30": {"pointname": "ECE30", "tree": "ECE", "method": "tree"},
"ece31": {"pointname": "ECE31", "tree": "ECE", "method": "tree"},
"ece32": {"pointname": "ECE32", "tree": "ECE", "method": "tree"},
"ece33": {"pointname": "ECE33", "tree": "ECE", "method": "tree"},
"ece34": {"pointname": "ECE34", "tree": "ECE", "method": "tree"},
"ece35": {"pointname": "ECE35", "tree": "ECE", "method": "tree"},
"ece36": {"pointname": "ECE36", "tree": "ECE", "method": "tree"},
"ece37": {"pointname": "ECE37", "tree": "ECE", "method": "tree"},
"ece38": {"pointname": "ECE38", "tree": "ECE", "method": "tree"},
"ece39": {"pointname": "ECE39", "tree": "ECE", "method": "tree"},
"ece40": {"pointname": "ECE40", "tree": "ECE", "method": "tree"}
},
"history_block4_radiation": {
"_doc": "3 radiation signals x 4 stats = indices 430-441.",
"prad_tot": {"pointname": "PRAD_TOT", "tree": null, "method": "ptdata", "notes": "bolometer total; exact source needs advisor confirmation"},
"prad_divl": {"pointname": "PRAD_DIVL", "tree": null, "method": "ptdata", "notes": "divertor lower; exact source needs advisor confirmation"},
"prad_divu": {"pointname": "PRAD_DIVU", "tree": null, "method": "ptdata", "notes": "divertor upper; exact source needs advisor confirmation"}
},
"history_block5_edensfit89_target": {
"_doc": "1 signal x 4 stats = indices 442-445.",
"edensfit89": {"pointname": "EDENSFIT89", "tree": null, "method": "ptdata", "notes": "fitted density at index 89; exact pointname needs advisor confirmation"}
},
"fpe_signals": {
"_doc": "32 FPE actuator channels (real-time input to FPE encoder). Order matches normalization_params.json.",
"_order": [
"pohm", "pinj", "tinj", "ech_total",
"f1a", "f2a", "f3a", "f4a", "f5a", "f6a", "f7a", "f8a", "f9a",
"f1b", "f2b", "f3b", "f4b", "f5b", "f6b", "f7b", "f8b", "f9b",
"ecoila", "ecoilb",
"gasa_cal", "gasb_cal", "gasc_cal", "gasd_cal", "gase_cal",
"ip", "ipspr15v", "bt"
],
"_note": "These are a subset of block1 signals; use the same pointname/tree/method entries from block1."
},
"history_signal_order": {
"_doc": "Ordered list of signal names matching history_feature_order.txt. Used by _compute_shot_stats().",
"block1_67_signals": [
"kappa", "betap", "tribot", "tritop", "rmaxis", "zmaxis", "li",
"rvsin", "rvsout", "zvsin", "zvsout",
"pohm", "pinj", "tinj", "ech_total",
"pinj_15l", "pinj_15r", "pinj_21l", "pinj_21r",
"pinj_30l", "pinj_30r", "pinj_33l", "pinj_33r",
"tinj_15l", "tinj_15r", "tinj_21l", "tinj_21r",
"tinj_30l", "tinj_30r", "tinj_33l", "tinj_33r",
"f1a", "f2a", "f3a", "f4a", "f5a", "f6a", "f7a", "f8a", "f9a",
"f1b", "f2b", "f3b", "f4b", "f5b", "f6b", "f7b", "f8b", "f9b",
"ecoila", "ecoilb",
"e567up", "e567dn", "e89up", "e89dn",
"gasa_cal", "gasb_cal", "gasc_cal", "gasd_cal", "gase_cal",
"ip", "ipspr15v", "bt",
"density", "n1rms", "n2rms", "prad"
],
"block2_pedestal": ["pedestal"],
"block3_40_ece": [
"ece1", "ece2", "ece3", "ece4", "ece5", "ece6", "ece7", "ece8", "ece9", "ece10",
"ece11", "ece12", "ece13", "ece14", "ece15", "ece16", "ece17", "ece18", "ece19", "ece20",
"ece21", "ece22", "ece23", "ece24", "ece25", "ece26", "ece27", "ece28", "ece29", "ece30",
"ece31", "ece32", "ece33", "ece34", "ece35", "ece36", "ece37", "ece38", "ece39", "ece40"
],
"block4_3_radiation": ["prad_tot", "prad_divl", "prad_divu"],
"block5_edensfit89": ["edensfit89"]
}
}
|