-
Notifications
You must be signed in to change notification settings - Fork 12
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
finch crashes when trying to extract ERA5 data #391
Comments
Adding info: It does the same thing when trying to extract data from a climate model, such as : Looking like a timeout problem? |
@aulemahal ou @tlvu vous avez une idée par rapport à ça? |
Salut! @richardarsenault J'ai pas étudié la chose encore, mais qu'est-ce qu'il y a dans |
Salut! C'est très petit, quelques kb. Le input.geojson est en p-j. Le bassin versant en entier fait quelque chose comme 1500km2. J'en ai essayé des plus gros et des plus petits, mais toujours la même finalité. Merci pour le coup de main! |
@richardarsenault Vraiment désolé du délai! |
Salut, merci pour le suivi et pas de problème, je sais que c'est compliqué ces choses là!! C'est vrai que ERA5 est lourd, mais même quand on ne prend qu'une seule année ça plante assez rapidement. J'avais aussi testé avec des données de modèle de climat, même problème: Et ici les données sont pas mal moins lourdes pourtant. Je sais que je n'apporte pas vraiment de solution ici, désolé! Et merci du suivi! |
Si tu réessayes plusieurs fois et que ça plante très rapidement, regarde le message d'erreur, s'il contient "Maximum number of parallel running processes reached", c'est un autre problème. Un vieux bogue de pyWPS/finch qui paralyse finch en entier après un certain nombre de "timeout". De mon bord, avec les données MPI-ESM_LR, une erreur survient parce qu'aucun des points de grille ne tombe dans le polygone (qui est tout de même petit au final!). |
@aulemahal Salut! Merci pour le suivi. Je viens de faire un test avec les données du modèle climatique avec un nouveau fichier de contours d'un bassin versant de 17000km2, et j'ai la même erreur. Le fichier de inputs est dispo ici: https://pavics.ouranos.ca/wpsoutputs/28e87efa-c33d-11eb-a61e-0242ac120003/input.geojson Après environ 15-20 secondes de calcul, j'obtiens l'erreur suivante:
|
Ok après des tests reliés, ma conclusion est la suivante: l'attente est normale parce que les dataset dont on parle ici sont très grands. Le problème réside dans le fait que le "timeout" par défaut de La vraie solution c'est de passer par Entre-temps on pourrait augmenter le timeout à 1 min... |
Je pense qu'on ne devrait tout simplement pas avoir des tests automatisés
qui demandent de jouer avec un timeout parce qu'on est pas certain du temps
que prendra la requête.
…On Thu, Jun 3, 2021 at 4:59 PM Pascal Bourgault ***@***.***> wrote:
Ok après des tests reliés, ma conclusion est la suivante: l'attente est
normale parce que les dataset dont on parle ici sont très grands. Le
problème réside dans le fait que le "timeout" par défaut de gunicorn, ce
qui "sert" finch, est de 30s.
La *vraie* solution c'est de passer par async, mais ce travail est encore
en cours. J'explores présentement d'autres solutions partielles pour
accélérer finch là où je peux.
Entre-temps on pourrait augmenter le timeout à 1 min...
@tlvu <https://github.com/tlvu> @huard <https://github.com/huard>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#391 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADXMIHFLHTHPMJ2UM55AFLTQ7UMNANCNFSM45IFXJMQ>
.
|
@cjauvin D'accord pour les tests, mais ce problème survient en déploiement/prod. |
Pris sur la doc de "gunicorn" (https://docs.gunicorn.org/en/latest/design.html#choosing-a-worker-type)
Il me semble qu'on est dans le premier, non? En tout cas, avec une timeout de 0 (infini), ça fonctionne : le subset de ERA5 prends 2m15s, donc ~2mn dans À noter que de faire ça directement dans PAVICS prends 36s. @richardarsenault si jamais ça peut être une alternative d'ici un fix: import xarray as xr
from clisops.core import subset
ds = xr.open_dataset("https://pavics.ouranos.ca/twitcher/ows/proxy/thredds/dodsC/datasets/reanalyses/era5.ncml")
sub = subset.subset_shape(ds, 'input.geojson') |
Oui, bien joué ! Je suis étonné de la différence de performance entre finch et un call direct à clisops. Dans ma tête ça devrait être presque identique. |
Je me rends compte qu'il y a une différence majeure ici : finch va systématiquement charger les données en dask.. Mon example ici ne le fait pas. On est dans un cas (sans calcul) où dask est un boulet. |
Salut, Le workaround marche parfaitement en utilisant clisops.core.subset! Je me demande donc quel avantage on a à utiliser Finch par rapport à ce package qui ne nécessite pas l'appel à un serveur? J'imagine qu'il doit y en avoir mais je ne connais pas assez la mécanique derrière ni les avantages. Merci! |
En effet, Je ferme cette issue, la discussion technique peut continuer ici : bird-house/finch#190. |
OK super, merci pour l'info, ça a plein de bon sens! |
In a notebook on the pavics.ouranos.ca server, running the following code results in an error:
After about 10-15 seconds, I get the following error:
Any help on how to make this work is appreciated!
The text was updated successfully, but these errors were encountered: