time_series_plots
Module¶Render figure object produced by the nowcast.figures.research.time_series_plots
module.
Set-up and function call replicates as nearly as possible what is done in the nowcast.workers.make_plots
worker
to help ensure that the module will work in the nowcast production context.
Notebooks like this should be developed in a
Nowcast Figures Development Environment
so that all of the necessary dependency packages are installed.
The development has to be done on a workstation that has the Salish Sea Nowcast system /results/
parition mounted.
# reload lets us pull in changes from modules that we edit
from importlib import reload
# imports from the top of the make_plots worker
from pathlib import Path
from types import SimpleNamespace
import netCDF4 as nc
import xarray as xr
import arrow
from salishsea_tools import places
import nowcast.figures.website_theme
from nowcast.figures.research import time_series_plots
# some extra imports that we need to simulate how the nowcast system works
import io
import yaml
# render figure objects in the notebook
%matplotlib inline
_prep_nowcast_green_research_fig_functions()
¶place = 'S3'
left_variable = 'nitrate'
right_variable = 'diatoms'
xr_dataset = xr.open_dataset('https://salishsea.eos.ubc.ca/erddap/griddap/ubcSSg3DBiologyFields1hV18-06')
The %%timeit
cell magic lets us keep an eye on how log the figure takes to process.
Setting -n1 -r1
prevents it from processing the figure more than once
as it might try to do to generate better statistics.
The reload()
calls reload imported modules so that any edits you have made will take effect here.
The make_figure()
call should be the same as goes in the make_plots
worker module.
%%timeit -n1 -r1
reload(nowcast.figures.website_theme)
reload(time_series_plots)
fig = time_series_plots.make_figure(
xr_dataset, left_variable, right_variable, place
)
1min 12s ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)