Skip to content

mbatch incompatible with mnms #25

@iabrilcabezas

Description

@iabrilcabezas

it's related to this problem:
Captura de pantalla 2024-10-07 a las 9 28 35

You can reproduce this error with a small script test_mbatch.py like this one:

from mnms import noise_models as nm
import argparse

parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)

parser.add_argument("--output-dir", dest="output_dir", type=str, default=None)

parser.add_argument('--config-name', dest='config_name', type=str, required=True,
                    help='Name of model config file from which to load parameters')

parser.add_argument('--noise-model-name', dest='noise_model_name', type=str, required=True,
                    help='Name of model within config file from which to load parameters')

parser.add_argument('--qid', dest='qid', nargs='+', type=str, required=True,
                    help='list of soapack array "qids"')

args = parser.parse_args()
print(args.qid)
# args.qid = [item for sublist in args.qid for item in sublist.split()]

model = nm.BaseNoiseModel.from_config(args.config_name, args.noise_model_name,
                                      *args.qid)
print('success')

To run it, we use a test mbatch config file looks like this

root_dir: /home/ia404/gitreps/mnms/scripts/

stages:

  stage_test:
    exec: python
    options:
      config-name: 'act_dr6v4_day'
      noise-model-name: 'tile_cmbmask_daywide'
      qid:
       - 'pa5a_dw'
       - 'pa5b_dw'

    script: scripts/test_mbatch.py

This generates
python scripts/test_mbatch.py --config-name=act_dr6v4_day --noise-model-name=tile_cmbmask_daywide --qid="['pa5a_dw', 'pa5b_dw']" --output-dir /home/ia404/gitreps/mnms/scripts/test/stage_test, which doesn't work because qid ends up being ["['pa5a_dw', 'pa5b_dw']"], pa5a and pa6a all together.

Another alternative:

root_dir: /home/ia404/gitreps/mnms/scripts/

stages:

  stage_test:
    exec: python
    options:
      config-name: 'act_dr6v4_day'
      noise-model-name: 'tile_cmbmask_daywide'
      qid: 'pa5a_dw pa5b_dw'

    script: scripts/test_mbatch.py

But in this case we have
python scripts/test_mbatch.py --config-name=act_dr6v4_day --noise-model-name=tile_cmbmask_daywide --qid='pa5a_dw pa5b_dw' --output-dir /home/ia404/gitreps/mnms/scripts/test/stage_test

which also doesn't work, ['pa5a_dw pa5b_dw'] not separated again.

Adding
args.qid = [item for sublist in args.qid for item in sublist.split()] is the best solution I could find for it to be able to run with mbatch, while also being compatible with older scripts.

Originally posted by @iabrilcabezas in simonsobs/mnms#8 (comment)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions