jhamman / chains

A Snakemake workflow for the chain of models approach to hydrologic modeling
Apache License 2.0
2 stars 1 forks source link

Metsim error #3

Open gutmann opened 5 years ago

gutmann commented 5 years ago

Error in rule run_metsim_rcp:

RuleException:
CalledProcessError in line 61 of /gpfs/fs1/work/gutmann/storylines/chains/metsim.snakefile:
Command 'set -euo pipefail;  /glade/u/home/jhamman/miniconda3/envs/storylines/bin/ms -s distributed -n 1 /glade/scratch/gutmann/storylines/test_data/CNRM-CM5/rcp85/icar/configs/config.CNRM-CM5.rcp85.icar.metsim.60.cfg > /glade/scratch/gutmann/storylines/test_data/CNRM-CM5/rcp85/icar/logs/disagg.CNRM-CM5.rcp85.icar.metsim.60.20190314-135414.log.txt 2>&1' returned non-zero exit status 1.
  File "/gpfs/fs1/work/gutmann/storylines/chains/metsim.snakefile", line 61, in __rule_run_metsim_rcp
  File "/glade/u/home/gutmann/anaconda3/envs/storylines/lib/python3.6/concurrent/futures/thread.py", line 56, in run
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
An error occurred
Complete log: /gpfs/fs1/work/gutmann/storylines/chains/.snakemake/log/2019-03-14T135411.527609.snakemake.log
gutmann commented 5 years ago

contents of disagg log file :

Traceback (most recent call last):
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/bin/ms", line 11, in <module>
    load_entry_point('metsim', 'console_scripts', 'ms')()
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/lib/python3.6/site-packages/pkg_resources/__init__.py", line 484, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2714, in load_entry_point
    return ep.load()
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2332, in load
    return self.resolve()
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2338, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/gpfs/fs1/work/jhamman/storylines/src/MetSim/metsim/__init__.py", line 5, in <module>
    from .metsim import MetSim
  File "/gpfs/fs1/work/jhamman/storylines/src/MetSim/metsim/metsim.py", line 44, in <module>
    from netCDF4 import Dataset
  File "/glade/u/home/jhamman/miniconda3/envs/storylines/lib/python3.6/site-packages/netCDF4/__init__.py", line 3, in <module>
    from ._netCDF4 import *
ImportError: /gpfs/u/home/jhamman/miniconda3/envs/storylines/bin/../lib/./libcom_err.so.3: symbol k5_os_mutex_destroy, version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
gutmann commented 5 years ago

If it helps :

(storylines) r9i2n25:chains> ldd /gpfs/u/home/jhamman/miniconda3/envs/storylines/bin/../lib/./libcom_err.so.3
ldd: warning: you do not have execution permission for `/gpfs/u/home/jhamman/miniconda3/envs/storylines/bin/../lib/./libcom_err.so.3'
    linux-vdso.so.1 (0x00002aaaaaaab000)
    libkrb5support.so.0 => /glade/u/apps/ch/os/usr/lib64/libkrb5support.so.0 (0x00002aaaaacb2000)
    libcrypto.so.1.0.0 => /glade/u/apps/ch/os/lib64/libcrypto.so.1.0.0 (0x00002aaaaaebf000)
    libresolv.so.2 => /glade/u/apps/ch/os/lib64/libresolv.so.2 (0x00002aaaab2b3000)
    libc.so.6 => /glade/u/apps/ch/os/lib64/libc.so.6 (0x00002aaaab4cb000)
    libselinux.so.1 => /glade/u/apps/ch/os/lib64/libselinux.so.1 (0x00002aaaab873000)
    libdl.so.2 => /glade/u/apps/ch/os/lib64/libdl.so.2 (0x00002aaaaba97000)
    libz.so.1 => /glade/u/apps/ch/os/lib64/libz.so.1 (0x00002aaaabc9c000)
    /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
    libpcre.so.1 => /glade/u/apps/ch/os/usr/lib64/libpcre.so.1 (0x00002aaaabeb2000)
    libpthread.so.0 => /glade/u/apps/ch/os/lib64/libpthread.so.0 (0x00002aaaac119000)
jhamman commented 5 years ago

The solution here is to get you your own copy of metsim. I'll add metsim 2 to the environment file and then change the exe to use the calling environment.