diff --git a/Load.py b/Load.py index c91bd9100b5508ac7aefc8827f16466012268685..9a86856308da2bfc7b5d8933551646ef66a8186c 100644 --- a/Load.py +++ b/Load.py @@ -328,8 +328,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 @@ -346,6 +346,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) @@ -401,4 +403,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 4602cc1b178abf9c9071b4aebbc756db42aef1dc..7a02764910f81dedc4228bc162a76d5048f1417d 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