Skip to content

Commit

Permalink
Merge pull request #273 from gafusion/jmcclena_nstx_chers2
Browse files Browse the repository at this point in the history
add times to nstx chers machine mapping
  • Loading branch information
jmcclena authored Sep 12, 2023
2 parents e719614 + 6aab3d1 commit 1d5695d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 10 deletions.
17 changes: 16 additions & 1 deletion omas/machine_mappings/nstxu.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,40 @@
"charge_exchange.channel.:.ion.:.t_i.data": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.ion.:.t_i.time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.ion.:.t_i.data_error_upper": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.ion.:.velocity_tor.data": {
"COCOSIO": 11,
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.ion.:.velocity_tor.time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.name": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.position.r.data": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.position.r.time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.position.z.data": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.position.z.time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.zeff.data": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.channel.:.zeff.time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
"charge_exchange.ids_properties.homogeneous_time": {
"PYTHON": "charge_exchange_data(ods, {pulse}, {edition!r})"
},
Expand Down Expand Up @@ -362,4 +377,4 @@
],
"treename": "{EFIT_tree}"
}
}
}
24 changes: 15 additions & 9 deletions omas/machine_mappings/nstxu.py
Original file line number Diff line number Diff line change
Expand Up @@ -542,16 +542,16 @@ def charge_exchange_hardware(ods, pulse):


@machine_mapping_function(__regression_arguments__, pulse=140001)
def charge_exchange_data(ods, pulse, edition = 'CT1'):
def charge_exchange_data(ods, pulse, edition='CT1'):
"""
Loads DIII-D charge exchange measurement data
:param pulse: int
"""

tree = 'ACTIVESPEC'
signals = ['ZEFF', 'VT', 'TI', 'RADIUS', 'TIME', 'DVT','DTI']
signals_norm = {'ZEFF':1.0, 'VT':1e3, 'TI':1e3, 'RADIUS':1e-2, 'TIME':1.0, 'DVT':1e3, 'DTI':1e3}
signals = ['ZEFF', 'VT', 'TI', 'RADIUS', 'TIME', 'DVT', 'DTI']
signals_norm = {'ZEFF': 1.0, 'VT': 1e3, 'TI': 1e3, 'RADIUS': 1e-2, 'TIME': 1.0, 'DVT': 1e3, 'DTI': 1e3}

data = {}
TDIs = {}
Expand All @@ -562,21 +562,27 @@ def charge_exchange_data(ods, pulse, edition = 'CT1'):
res = mdsvalue('nstxu', pulse=pulse, treename='NSTX', TDI=TDIs).raw()

ods['charge_exchange.ids_properties.homogeneous_time'] = 1
ods['charge_exchange.time'] = res['TIME'] * signals_norm['TIME']
ods['charge_exchange.time'] = time = res['TIME'] * signals_norm['TIME']
ntimes = len(ods['charge_exchange.time'])
for i, R in enumerate(res['RADIUS']):
ch = ods['charge_exchange']['channel'][i]

ch['name'] = f'TOP.CHERS.ANALYSIS.{edition}' + str(i)
ch['position.r.time'] = time
ch['position.z.time'] = time
ch['ion[0].t_i.time'] = time
ch['ion[0].velocity_tor.time'] = time
ch['zeff.time'] = time

ch['position.r.data'] = R * signals_norm['RADIUS'] * np.ones(ntimes)
ch['position.z.data'] = np.zeros(ntimes)

ch['ion[0].t_i.data'] = res['TI'][:,i] * signals_norm['TI']
ch['ion[0].t_i.data_error_upper'] = res['DTI'][:,i] * signals_norm['DTI']
ch['ion[0].velocity_tor.data'] = res['VT'][:,i] * signals_norm['VT']
ch['ion[0].velocity_tor.data'] = res['DVT'][:,i] * signals_norm['DVT']
ch['ion[0].t_i.data'] = res['TI'][:, i] * signals_norm['TI']
ch['ion[0].t_i.data_error_upper'] = res['DTI'][:, i] * signals_norm['DTI']
ch['ion[0].velocity_tor.data'] = res['VT'][:, i] * signals_norm['VT']
ch['ion[0].velocity_tor.data'] = res['DVT'][:, i] * signals_norm['DVT']

ch['zeff.data'] = res['ZEFF'][:,i] * signals_norm['ZEFF']
ch['zeff.data'] = res['ZEFF'][:, i] * signals_norm['ZEFF']

# =====================
if __name__ == '__main__':
Expand Down

0 comments on commit 1d5695d

Please sign in to comment.