16 from mpi4py
import MPI
23assert yac_instance.size == 4
24yac_instance.def_datetime(
"2020-01-01T00:00:00",
25 "2020-01-02T00:00:00")
27rank = yac_instance.rank
30 comp = yac_instance.def_comp(
"comp_A")
32 np.linspace(0, 2*np.pi, 180, endpoint=
False),
33 np.linspace(-np.pi/2, np.pi/2, 90),
35 points = grid.def_points(yac.Location.CELL,
36 np.pi/180 + np.linspace(0, 2*np.pi, 180, endpoint=
False),
37 np.pi/90 + np.linspace(-np.pi/2, np.pi/2, 89, endpoint=
False))
40 timestep=
"1", timeunit=yac.TimeUnit.MINUTE)
43 while field.action != yac.Action.OUT_OF_BOUND:
44 field.put(t + np.stack([1*np.ones(points.size),
45 2*np.ones(points.size),
46 3*np.ones(points.size)]
51 comp = yac_instance.def_comp(
"comp_B")
55 np.deg2rad([0.0, 1.0, 0.0]),
56 np.deg2rad([0.0, 0.0, 1.0]),
59 points = grid.def_points(yac.Location.CELL,
65 timestep=
"1", timeunit=yac.TimeUnit.HOUR)
68 interp_stack.add_nnn()
70 yac_instance.def_couple(
"comp_A",
"grid_A",
"field_A",
71 "comp_B",
"grid_B",
"field_B",
72 coupling_timestep=
"1", timeunit=yac.TimeUnit.HOUR,
73 time_reduction=yac.Reduction.TIME_NONE,
74 interp_stack=interp_stack,
75 collection_selection=[2,1])
78 while field.action != yac.Action.OUT_OF_BOUND:
79 data, info = field.get()
80 assert np.allclose(data,
81 60*t + np.stack([3*np.ones(points.size),
82 2*np.ones(points.size)]
create(cls, str field_name, Component comp, points, collection_size, str timestep, TimeUnit timeunit, masks=None)
Initializies a YAC instance and provides further functionality.
def_calendar(Calendar calendar)