You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
I am working on a remote cluster with multiple nodes created by future::plan(cluster). Running LakeEnsemblR 1.0.5 in this environment crashes when calling the model executables.
I figured this is due to the way do.call() is used in the function run_ensemble_ler(). According to the documentation of the future package its advised to specify the function as the object itself and not by name when using do:call().
So instead of the current code used in run_ensemble.R...
model_out<- setNames(
lapply(model, function(mod_name) do.call(paste0(".run_", mod_name),
run_model_args)),
model
)
... this problem can be solved by doing something like:
Probably this if() cascade is not the most elegant solution and something like e.g. a switch() statement would be better.
Anyway, I am happy to submit a pull request if you provide some thoughts on how you would like to deal with it!
The text was updated successfully, but these errors were encountered:
Hey, that is a good catch as we have not yet ran LakeEnsemblR in a cluster environment and that looks like a relatively straightforward adjustment, we would be happy to have a PR with a fix on that. Apologies for the delay in response.
I realized meanwhile that some additional issues have to be solved to run LER on the cluster (at least in my case). I had to deactivate some parts of the code and I can only use the csv output mode because there seems to be a problem with the upstream NetCDF library.
But I am successfully using LER on the cluster now...
I'll try to figure it out more systematically and then open respective issues/PRs
Hi,
I am working on a remote cluster with multiple nodes created by
future::plan(cluster)
. Running LakeEnsemblR 1.0.5 in this environment crashes when calling the model executables.I figured this is due to the way
do.call()
is used in the functionrun_ensemble_ler()
. According to the documentation of thefuture
package its advised to specify the function as the object itself and not by name when usingdo:call()
.So instead of the current code used in
run_ensemble.R
...... this problem can be solved by doing something like:
Probably this
if()
cascade is not the most elegant solution and something like e.g. aswitch()
statement would be better.Anyway, I am happy to submit a pull request if you provide some thoughts on how you would like to deal with it!
The text was updated successfully, but these errors were encountered: