Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with plotting a virtual mooring #784

Closed
dwayne-hart opened this issue Nov 19, 2020 · 2 comments · Fixed by #824
Closed

Issue with plotting a virtual mooring #784

dwayne-hart opened this issue Nov 19, 2020 · 2 comments · Fixed by #824
Assignees
Labels
Bug Something's wrong. Javascript

Comments

@dwayne-hart
Copy link
Contributor

Describe the bug
When trying to plot a virtual mooring using the GIOPS 3D LL dataset (number 7 on the drop down menu). The browser takes a long time to come back.

To Reproduce
Steps to reproduce the behavior:

[2020-11-19 12:16:17 +0000] [6386] [ERROR] Error handling request /api/v1.0/plot/?query=%7B%22colormap%22%3A%22default%22%2C%22dataset%22%3A%22giops_fc_3dll%22%2C%22depth%22%3A0%2C%22endtime%22%3A2236982400%2C%22names%22%3A%5B%5D%2C%22plotTitle%22%3A%22%22%2C%22quantum%22%3A%22day%22%2C%22scale%22%3A%22-5%2C30%2Cauto%22%2C%22showmap%22%3Afalse%2C%22starttime%22%3A2236982376%2C%22station%22%3A%5B%5B41.60175045897813%2C-56.00952012671368%5D%5D%2C%22type%22%3A%22timeseries%22%2C%22variable%22%3A%22votemper%22%7D&format=json

Expected behavior
A clear and concise description of what you expected to happen.

For the Ocean Navigator to plot a time series for a point.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS] Windows 10 Enterprise
  • Browser [e.g. chrome, safari] chrome
  • Version [e.g. 22] Version 85.0.4183.121 (Official Build) (32-bit)

Additional context
Add any other context about the problem here.

[2020-11-19 12:16:17 +0000] [6386] [ERROR] Error handling request /api/v1.0/plot/?query=%7B%22colormap%22%3A%22default%22%2C%22dataset%22%3A%22giops_fc_3dll%22%2C%22depth%22%3A0%2C%22endtime%22%3A2236982400%2C%22names%22%3A%5B%5D%2C%22plotTitle%22%3A%22%22%2C%22quantum%22%3A%22day%22%2C%22scale%22%3A%22-5%2C30%2Cauto%22%2C%22showmap%22%3Afalse%2C%22starttime%22%3A2236982376%2C%22station%22%3A%5B%5B41.60175045897813%2C-56.00952012671368%5D%5D%2C%22type%22%3A%22timeseries%22%2C%22variable%22%3A%22votemper%22%7D&format=json
Traceback (most recent call last):
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/gunicorn/workers/gthread.py", line 271, in handle
    keepalive = self.handle_request(req, conn)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/gunicorn/workers/gthread.py", line 320, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/sentry_sdk/integrations/flask.py", line 90, in sentry_patched_wsgi_app
    environ, start_response
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/sentry_sdk/integrations/wsgi.py", line 131, in __call__
    reraise(*_capture_exception(hub))
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/sentry_sdk/_compat.py", line 54, in reraise
    raise value
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/sentry_sdk/integrations/wsgi.py", line 127, in __call__
    _sentry_start_response, start_response, transaction
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/sentry_sdk/integrations/flask.py", line 89, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/ubuntu/tools/miniconda/3/amd64/envs/navigator/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/ubuntu/Ocean-Data-Map-Project/routes/api_v1_0.py", line 527, in plot_v1_0
    img, mime, filename = plotter.run()
  File "/home/ubuntu/Ocean-Data-Map-Project/plotting/plotter.py", line 58, in run
    _ = self.prepare_plot()
  File "/home/ubuntu/Ocean-Data-Map-Project/plotting/plotter.py", line 51, in prepare_plot
    self.load_data()
  File "/home/ubuntu/Ocean-Data-Map-Project/plotting/timeseries.py", line 96, in load_data
    return_depth=True
  File "/home/ubuntu/Ocean-Data-Map-Project/data/model.py", line 172, in get_timeseries_point
    return_depth=return_depth,
  File "/home/ubuntu/Ocean-Data-Map-Project/data/mercator.py", line 204, in get_point
    starttime_idx = self.nc_data.timestamp_to_time_index(starttime)
  File "/home/ubuntu/Ocean-Data-Map-Project/data/netcdf_data.py", line 164, in timestamp_to_time_index
    return result if result.shape[0] > 1 else result[0]
IndexError: index 0 is out of bounds for axis 0 with size 0

@dwayne-hart dwayne-hart added the Bug Something's wrong. label Nov 19, 2020
@dwayne-hart
Copy link
Contributor Author

For some reason the "Start Time" is set to NaN undefined NaN. When you click on the calendar option and pick a date the application renders quickly as found by @nsoontie .

Why is it that an "End Time" is able to be determined but not a "Start Time"?

The following images were created by @nsoontie .

virtual-mooring1

virtual-mooring2

@dwayne-hart
Copy link
Contributor Author

The issue can be seen in the file oceannavigator/frontend/src/components/PointWindow.jsx

      <TimePicker
        key='starttime'
        id='starttime'
        state={this.state.starttime}
        def=''
        quantum={this.props.quantum}
        url={"/api/v1.0/timestamps/?dataset=" + this.props.dataset + "&variable=" + this.props.variable}
        title={_("Start Time")}
        onUpdate={this.onLocalUpdate}
        max={this.props.time}
      />
      <TimePicker
        key='time'
        id='time'
        state={this.props.time}
        def=''
        quantum={this.props.quantum}
        url={"/api/v1.0/timestamps/?dataset=" + this.props.dataset + "&variable=" + this.props.variable}
        title={_("End Time")}
        onUpdate={this.props.onUpdate}
        min={this.state.starttime}
      /> </div> : null;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something's wrong. Javascript
Projects
None yet
3 participants