ecmwf / ecpoint-calibrate

Interactive GUI (developed in Python) for calibration and conditional verification of numerical weather prediction model outputs.
GNU General Public License v3.0
21 stars 8 forks source link

Error uploading old ascii PDTs in the new relase 0.11.2 #120

Closed FatimaPillosu closed 3 years ago

FatimaPillosu commented 3 years ago

The following error message appears in the console when I try to upload a PDT generated with an old version of the software (<0.9.0).

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. Exception on /get-fields-from-ascii-table [POST] Traceback (most recent call last): File "/app/.venv/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "/app/.venv/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "/app/.venv/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function return cors_after_request(app.make_response(f(*args, kwargs))) File "/app/.venv/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "/app/.venv/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise raise value File "/app/.venv/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "/app/.venv/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request return self.view_functions[rule.endpoint](req.view_args) File "/app/core/api.py", line 63, in get_fields_from_ascii_table columns = loader.columns AttributeError: 'NoneType' object has no attribute 'columns' 172.17.0.1 - - [04/Nov/2020 22:26:36] "POST /get-fields-from-ascii-table HTTP/1.1" 500 - Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

onyb commented 3 years ago

For now, you can rename your file from filename.csv to filename.ascii (simply change the extension). I have already fixed this issue on the master branch, and will release it in v0.12.0.

FatimaPillosu commented 3 years ago

Hi, the trick worked. The PDT table was uploaded, but now I need to have the directory containing all the files with a permission of 777. I would prefer to not have that. Would it be possible to change this. I would be happy with a 775 permission.

onyb commented 3 years ago

The level of permissions required depends a lot on how Docker was installed on the machine. The recommended way is to:

  1. create a UNIX group called docker.
  2. add your user to the docker group.
  3. add docker to the sudoer's list.

If I recall correctly, this is not the case with the ECMWF machine (for security reasons?), which is why you need additional permissions.

You can still retry the chmod -R 775 <dir> command, in case it works.

FatimaPillosu commented 3 years ago

Hi Anirudha, we cannot create groups at ECMWF. So I will need to leave with this, unfortunately. We might just create a directory docker with the 777 permissions, and we don't save anything else there. Cheers,, Fatima