def render_id(self, state, layer_id):
     print(f"{self.__class__.__name__}.render({layer_id})")
     lons, lats = geo.plate_carree(state.position.x, state.position.y)
     lon_0 = lons[0]
     lat_0 = lats[0]
     self.source.data = self.loader.profile(
         state.pattern, state.layers.index[layer_id]["variable"],
         state.initial_time, state.valid_time, state.pressure, lon_0, lat_0)
Example #2
0
 def render(self, initial_time, variable, x, y, pressure=None):
     """Update data for a particular application setting"""
     assert isinstance(initial_time, dt.datetime), "only support datetime"
     self.figure.title.text = variable
     for name, source in self.sources.items():
         loader = self.loaders[name]
         lon, lat = geo.plate_carree(x, y)
         lon, lat = lon[0], lat[0]  # Map to scalar
         source.data = loader.series(initial_time, variable, lon, lat,
                                     pressure)
Example #3
0
 def render(self):
     for attr in ["x", "y", "variable", "initial_time"]:
         if attr not in self.state:
             return
     x = self.state["x"]
     y = self.state["y"]
     variable = self.state["variable"]
     initial_time = dt.datetime.strptime(self.state["initial_time"],
                                         "%Y-%m-%d %H:%M:%S")
     pressure = self.state.get("pressure", None)
     self.figure.title.text = variable
     for name, source in self.sources.items():
         loader = self.loaders[name]
         lon, lat = geo.plate_carree(x, y)
         lon, lat = lon[0], lat[0]  # Map to scalar
         source.data = loader.series(initial_time, variable, lon, lat,
                                     pressure)