diff --git a/Load.py b/Load.py index 2d90c02c1bcbc127f07a641660b5a08dced5252c..705f3f46041d3fd54959e249ee5df71c782c2ca9 100644 --- a/Load.py +++ b/Load.py @@ -330,8 +330,8 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False, or dictionnaries defining a custom mnemonic such as {"extra": {'SCS_CDIFFT_MAG/SUPPLY/CURRENT', 'actual_current.value', None}} runNB: run number as integer - proposalNB: string of the proposal number - semesterNB: string of the semester number where the proposal data are saved + proposalNB: string or int of the proposal number e.g. 'p002252' or 2252 + semesterNB: string or int of the semester number where the proposal data are saved topic: string of the topic display: boolean, whether to show the run.info or not validate: boolean, whether to run karabo-data-validate or not @@ -348,6 +348,8 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False, res: an xarray DataSet with aligned trainIds """ + if type(proposalNB)==int: + proposalNB = 'p{:06d}'.format(proposalNB) runFolder = runpath.format(topic, semesterNB, proposalNB, runNB) run = RunDirectory(runFolder).select_trains(subset) @@ -403,4 +405,5 @@ def load(fields, runNB, proposalNB, semesterNB, topic='SCS', display=False, result = dict(zip(keys, aligned_vals)) result = xr.Dataset(result) result.attrs['run'] = run + result.attrs['runFolder'] = runFolder return result diff --git a/xgm.py b/xgm.py index 19977ef17f74685b2aba237f6e1fc7c57261777b..37587213b984e88a34a1dfdbb387336df7e7b206 100644 --- a/xgm.py +++ b/xgm.py @@ -177,7 +177,8 @@ def cleanXGMdata(data, npulses=None, sase3First=True): mergeList.append(res) mergeList.append(data.drop(dropList)) subset = xr.merge(mergeList, join='inner') - subset.attrs['run'] = data.attrs['run'] + for k in data.attrs.keys(): + subset.attrs[k] = data.attrs[k] return subset @@ -937,7 +938,8 @@ def matchXgmTimPulseId(data, use_apd=True, intstart=None, intstop=None, dropList.append('MCP{}apd'.format(mcp)) mergeList.append(ndata.drop(dropList)) subset = xr.merge(mergeList, join='inner') - subset.attrs['run'] = ndata.attrs['run'] + for k in ndata.attrs.keys(): + subset.attrs[k] = ndata.attrs[k] return subset @@ -1024,7 +1026,8 @@ def mergeFastAdcPeaks(data, channel, intstart, intstop, bkgstart, bkgstop, s = data peaks = peaks.rename(key).rename({'peakId':dim}) subset = xr.merge([s, peaks], join='inner') - subset.attrs['run'] = data.attrs['run'] + for k in data.attrs.keys(): + subset.attrs[k] = data.attrs[k] return subset