dessn / Pippin

Pipeline for photometric SN analysis
MIT License
9 stars 10 forks source link

pippin.sh not working on Permulter #159

Closed bastiencarreres closed 8 months ago

bastiencarreres commented 8 months ago

Hi,

I tried to use pippin.sh on Permulter. I'm setting the TD env: source /global/cfs/cdirs/lsst/groups/TD/setup_td.sh. When I try pippin.sh -vc on my yaml file /global/cfs/cdirs/lsst/groups/TD/SN/SNANA/SURVEYS/LSST/USERS/bastienc/LSST_SNANA/LSST_Uchuu_BC.yml I always got this error:

(lsst-scipipe-4.1.0-exact) bastienc@perlmutter:login24:/global/cfs/cdirs/lsst/groups/TD/SN/SNANA/SURVEYS/LSST/USERS/bastienc/LSST_SNANA> pippin.sh LSST_Uchuu_BC.yml -f 1 -vc
Loaded in cfg from /global/cfs/cdirs/desc-td/SOFTWARE/Pippin/cfg.yml
ERROR:pippin:Chown error: /pscratch/sd/d/desctd/PIPPIN_OUTPUT/LSST_UCHUU_BC
Traceback (most recent call last):
  File "/global/cfs/cdirs/desc-td/SOFTWARE/Pippin/pippin/config.py", line 212, in chown_dir
    groupinfo = grp.getgrnam(global_config["SNANA"]["group"])
KeyError: "getgrnam(): name not found: 'pi-rkessler'"
[    INFO |               run.py: 72]   Logging streaming out, also saving to /pscratch/sd/d/desctd/PIPPIN_OUTPUT/LSST_UCHUU_BC/LSST_UCHUU_BC.log
[   DEBUG |               run.py:160]   Data directory 1 set as /global/cfs/cdirs/desc-td/SOFTWARE/Pippin/data_files
[    INFO |               run.py:163]   Running on: login24 login node.
[   DEBUG |           manager.py: 41]   dict_keys(['QUEUE', 'DATA_DIRS', 'SNANA', 'SuperNNova', 'SNIRF', 'DataSkimmer', 'SCONE', 'CosmoMC', 'OUTPUT', 'SBATCH', 'SETUP'])
[   ERROR |            config.py:118]   Unable to resolve the variable in $PRODUCTS/pippin/pippin/tasks/cosmomc, please check to see if it is set in your environment
Traceback (most recent call last):
  File "/global/cfs/cdirs/lsst/groups/TD/SOFTWARE/Pippin/run.py", line 261, in <module>
    manager = run(args)
  File "/global/cfs/cdirs/lsst/groups/TD/SOFTWARE/Pippin/run.py", line 165, in run
    manager = Manager(config_filename, yaml_path, config_raw, config, message_store)
  File "/global/cfs/cdirs/desc-td/SOFTWARE/Pippin/pippin/manager.py", line 52, in __init__
    self.load_task_setup()
  File "/global/cfs/cdirs/desc-td/SOFTWARE/Pippin/pippin/manager.py", line 74, in load_task_setup
    with open(get_data_loc(f"{self.setup_task_location}/{task}"), 'r') as f:
TypeError: expected str, bytes or os.PathLike object, not NoneType

It seems to come from the function get_data_loc that check for existence of some path (here the CosmoMC one, however my yml file only contains simulation config).

OmegaLambda1998 commented 8 months ago

Please add:

GLOBAL:
    CFG_PATH: $SNANA_LSST_ROOT/starterKits/pippin/cfg_lsst_perlmutter.yml

To your .yml file. The default cfg file used by Pippin is built for Midway, so a new cfg file was created for perlmutter, pointing Pippin to the perlmutter install path of all the software packages used by Pippin.

OmegaLambda1998 commented 8 months ago

I've added perlmutter specific instructions to the README to hopefully avoid this confusion in the future. Pippin 2.0 should bypass this issue a bit more elegantly, but for the moment this will have to do