-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtiny.py
More file actions
33 lines (30 loc) · 1.29 KB
/
tiny.py
File metadata and controls
33 lines (30 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import xarray as xr
import numpy as np
def dset():
start_date = np.array([0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334])
start_date = np.append(start_date, start_date + 365)
end_date = np.array([31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365])
end_date = np.append(end_date, end_date + 365)
ds = xr.Dataset(coords={"time": 24, "lat": 2, "lon": 2, "d2": 2})
ds["time"] = xr.DataArray(end_date, dims="time")
ds["lat"] = xr.DataArray([0, 1], dims="lat")
ds["lon"] = xr.DataArray([0, 1], dims="lon")
ds["d2"] = xr.DataArray([0, 1], dims="d2")
ds["time_bound"] = xr.DataArray(
np.array([start_date, end_date]).transpose(), dims=["time", "d2"]
)
ds["variable_1"] = xr.DataArray(
np.append(np.zeros([12, 2, 2], dtype="float32"), np.ones([12, 2, 2], dtype="float32"), axis=0),
dims=["time", "lat", "lon"],
)
ds["variable_2"] = xr.DataArray(
np.append(np.ones([12, 2, 2], dtype="float32"), np.zeros([12, 2, 2], dtype="float32"), axis=0),
dims=["time", "lat", "lon"],
)
ds.time.attrs["units"] = "days since 0001-01-01 00:00:00"
ds.time.attrs["calendar"] = "noleap"
ds.time.attrs["bounds"] = "time_bound"
return ds
if __name__ == "__main__":
ds = dset()
ds.to_netcdf("tiny.nc")