-
Notifications
You must be signed in to change notification settings - Fork 42
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
Math processes on the top-level / multiple save_results in process #609
Comments
And if I try to add more save_result nodes: chlorophyll_a = 4.26 * power(B3 / B1, 3.94)
cyanobacteria.save_result(
format = "GTIFF",
options = {
"name": "chlorophyll_a",
"metadata": {
"bands": [ { "statistics": { "minimum": 0, "maximum": 200 } } ]
},
"epsgCode": EPSG
}
)
# Turbidity
turbidity = 8.93 * (B3 / B1) - 6.39
result = cyanobacteria.save_result(
format = "GTIFF",
options = {
"name": "turbidity",
"metadata": {
"bands": [ { "statistics": { "minimum": 0, "maximum": 30 } } ]
},
"epsgCode": EPSG
}
)
job = connection.create_job(title = "OSPD Algal Bloom usecase (Python)", process_graph=result) So that it gets closer to: It seems to not pick up the additional nodes. Seems I'm pushing some boundaries ;-) |
yeah it's a bit hard to explain what is going on here
Simply put: the divide is a method call (disguised in syntactic sugar) so it's aware about working on a data cube and translates it to an workaround is to do the power something as follows: cyanobacteria = 115530 * ((B3 * B4) / B2).apply(lambda x: x.power(2.38)) But I understand this is indeed not obvious. I'm not sure yet how to improve the situation here, e.g. make processes like |
Thanks, yes, this works. Indeed it would be more obvious if the power function somehow would react if one of the inputs is a datacube or so. I'm not sure how to create the process graph with 4 save_results, but for now I'll just create 3 jobs I guess... |
Indeed, that is indeed roadblocked by some old outdated assumptions, but we're looking into improving that:
(note that we're also working on backend-side support for that) |
Hi,
I have Python client code:
Unfortunately, I get the following error once I run
result1 = connection.execute(save1)
:Looking at the generated JSON, this is not overly surprising anymore:
Why does the client put power and multiply on the top-level? It works flawlessly with the divide by 10000 in apply.
The text was updated successfully, but these errors were encountered: