MCPcopy
hub / github.com/pydata/xarray / make_datatree

Method make_datatree

asv_bench/benchmarks/dataset_io.py:481–557  ·  view source on GitHub ↗
(self, nchildren=10)

Source from the content-addressed store, hash-verified

479 number = 5
480
481 def make_datatree(self, nchildren=10):
482 # multiple Dataset
483 self.ds = xr.Dataset()
484 self.nt = 1000
485 self.nx = 90
486 self.ny = 45
487 self.nchildren = nchildren
488
489 self.block_chunks = {
490 "time": self.nt / 4,
491 "lon": self.nx / 3,
492 "lat": self.ny / 3,
493 }
494
495 self.time_chunks = {"time": int(self.nt / 36)}
496
497 times = pd.date_range("1970-01-01", periods=self.nt, freq="D")
498 lons = xr.DataArray(
499 np.linspace(0, 360, self.nx),
500 dims=("lon",),
501 attrs={"units": "degrees east", "long_name": "longitude"},
502 )
503 lats = xr.DataArray(
504 np.linspace(-90, 90, self.ny),
505 dims=("lat",),
506 attrs={"units": "degrees north", "long_name": "latitude"},
507 )
508 self.ds["foo"] = xr.DataArray(
509 randn((self.nt, self.nx, self.ny), frac_nan=0.2),
510 coords={"lon": lons, "lat": lats, "time": times},
511 dims=("time", "lon", "lat"),
512 name="foo",
513 attrs={"units": "foo units", "description": "a description"},
514 )
515 self.ds["bar"] = xr.DataArray(
516 randn((self.nt, self.nx, self.ny), frac_nan=0.2),
517 coords={"lon": lons, "lat": lats, "time": times},
518 dims=("time", "lon", "lat"),
519 name="bar",
520 attrs={"units": "bar units", "description": "a description"},
521 )
522 self.ds["baz"] = xr.DataArray(
523 randn((self.nx, self.ny), frac_nan=0.2).astype(np.float32),
524 coords={"lon": lons, "lat": lats},
525 dims=("lon", "lat"),
526 name="baz",
527 attrs={"units": "baz units", "description": "a description"},
528 )
529
530 self.ds.attrs = {"history": "created for xarray benchmarking"}
531
532 self.oinds = {
533 "time": randint(0, self.nt, 120),
534 "lon": randint(0, self.nx, 20),
535 "lat": randint(0, self.ny, 10),
536 }
537 self.vinds = {
538 "time": xr.DataArray(randint(0, self.nt, 120), dims="x"),

Callers 1

setupMethod · 0.80

Calls 7

randnFunction · 0.85
randintFunction · 0.85
linspaceMethod · 0.80
arangeMethod · 0.80
astypeMethod · 0.45
to_datasetMethod · 0.45
from_dictMethod · 0.45

Tested by

no test coverage detected