Skip to content

Commit f68f821

Browse files
committed
optimize slr loading by using pint later in the process
1 parent e8b4d3b commit f68f821

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

pyCIAM/io.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,6 @@ def _load_lslr_for_ciam(
276276
)
277277
).drop(["lat", "lon"], errors="ignore")
278278

279-
# convert to meters
280-
for v in slr.data_vars:
281-
if "units" in slr[v].attrs:
282-
slr[v] = slr[v].pint.quantify().pint.to("meters").pint.dequantify()
283-
284279
# select only the scenarios we wish to model
285280
if len(scen_mc_xr_wcc.scen_mc):
286281
slr_out = (
@@ -313,16 +308,20 @@ def _load_lslr_for_ciam(
313308
slr_ncc = slr_ncc.stack(scen_mc=stack_dims)
314309
else:
315310
slr_ncc = slr_ncc.rename({stack_dims[0]: "scen_mc"})
316-
slr_out = xr.concat((slr_out, slr_ncc), dim="scen_mc").sel(
317-
scen_mc=scen_mc_filter
318-
)
311+
slr_out = xr.concat(
312+
(slr_out, slr_ncc), dim="scen_mc", combine_attrs="no_conflicts"
313+
).sel(scen_mc=scen_mc_filter)
319314

320315
if quantiles is not None and mc_dim != "quantile":
321316
slr_out = slr_out.quantile(quantiles, dim=mc_dim)
322317
slr_out = slr_out.rename(scen_mc="scenario").stack(
323318
scen_mc=["scenario", "quantile"]
324319
)
325320

321+
# convert to meters
322+
if "units" in slr_out.attrs:
323+
slr_out = slr_out.pint.quantify().pint.to("meters").pint.dequantify()
324+
326325
# add on base year where slr is 0
327326
slr_out = slr_out.reindex(
328327
year=np.concatenate(([slr_0_year], slr.year.values)),

0 commit comments

Comments
 (0)