LSST Applications  21.0.0+75b29a8a7f,21.0.0+e70536a077,21.0.0-1-ga51b5d4+62c747d40b,21.0.0-10-gbfb87ad6+3307648ee3,21.0.0-15-gedb9d5423+47cba9fc36,21.0.0-2-g103fe59+fdf0863a2a,21.0.0-2-g1367e85+d38a93257c,21.0.0-2-g45278ab+e70536a077,21.0.0-2-g5242d73+d38a93257c,21.0.0-2-g7f82c8f+e682ffb718,21.0.0-2-g8dde007+d179fbfa6a,21.0.0-2-g8f08a60+9402881886,21.0.0-2-ga326454+e682ffb718,21.0.0-2-ga63a54e+08647d4b1b,21.0.0-2-gde069b7+26c92b3210,21.0.0-2-gecfae73+0445ed2f95,21.0.0-2-gfc62afb+d38a93257c,21.0.0-27-gbbd0d29+ae871e0f33,21.0.0-28-g5fc5e037+feb0e9397b,21.0.0-3-g21c7a62+f4b9c0ff5c,21.0.0-3-g357aad2+57b0bddf0b,21.0.0-3-g4be5c26+d38a93257c,21.0.0-3-g65f322c+3f454acf5d,21.0.0-3-g7d9da8d+75b29a8a7f,21.0.0-3-gaa929c8+9e4ef6332c,21.0.0-3-ge02ed75+4b120a55c4,21.0.0-4-g3300ddd+e70536a077,21.0.0-4-g591bb35+4b120a55c4,21.0.0-4-gc004bbf+4911b9cd27,21.0.0-4-gccdca77+f94adcd104,21.0.0-4-ge8fba5a+2b3a696ff9,21.0.0-5-gb155db7+2c5429117a,21.0.0-5-gdf36809+637e4641ee,21.0.0-6-g00874e7+c9fd7f7160,21.0.0-6-g4e60332+4b120a55c4,21.0.0-7-gc8ca178+40eb9cf840,21.0.0-8-gfbe0b4b+9e4ef6332c,21.0.0-9-g2fd488a+d83b7cd606,w.2021.05
LSST Data Management Base Package
Functions
lsst.obs.base.script.convert Namespace Reference

Functions

def convert (repo, gen2root, skymap_name, skymap_config, calibs, reruns, config_file, transfer, processes=1)
 

Function Documentation

◆ convert()

def lsst.obs.base.script.convert.convert (   repo,
  gen2root,
  skymap_name,
  skymap_config,
  calibs,
  reruns,
  config_file,
  transfer,
  processes = 1 
)
Implements the command line interface `butler convert` subcommand,
should only be called by command line tools and unit test code that tests
this function.

Convert the gen 2 Butler repo at `gen2root` into a gen 3 repo
living at `repo`.

Parameters
----------
repo : `str`
    URI to the gen 3 repository.
gen2root : `str`
    URI to the gen 2 repository.
skymap_name : `str` or None
    Name of the skymap to be converted in the repo.
skymap_config : `str` or None
    Path to the `lsst.skymap.BaseSkyMapConfig` of the gen2 skymap to be
    converted.
calibs : `str` or None
    Path to the gen2 calibration repository to be converted.
    If a relative path, it is assumed to be relative to `gen2root`.
reruns : `list` [`str`] or None
    List of rerun paths to convert.  Output collection names will be
    guessed, which can fail if the Gen2 repository paths do not follow a
    recognized convention.  In this case, the command-line interface cannot
    be used.
config_file : `str` or None
    Path to `lsst.obs.base.ConvertRepoConfig` configuration to load
    after all default/instrument configurations.
transfer : `str` or None
    Mode to use when transferring data into the gen3 repository.
processess : `int`
    Number of processes to use for conversion.

Definition at line 35 of file convert.py.

35 def convert(repo, gen2root, skymap_name, skymap_config, calibs, reruns, config_file, transfer, processes=1):
36  """Implements the command line interface `butler convert` subcommand,
37  should only be called by command line tools and unit test code that tests
38  this function.
39 
40  Convert the gen 2 Butler repo at `gen2root` into a gen 3 repo
41  living at `repo`.
42 
43  Parameters
44  ----------
45  repo : `str`
46  URI to the gen 3 repository.
47  gen2root : `str`
48  URI to the gen 2 repository.
49  skymap_name : `str` or None
50  Name of the skymap to be converted in the repo.
51  skymap_config : `str` or None
52  Path to the `lsst.skymap.BaseSkyMapConfig` of the gen2 skymap to be
53  converted.
54  calibs : `str` or None
55  Path to the gen2 calibration repository to be converted.
56  If a relative path, it is assumed to be relative to `gen2root`.
57  reruns : `list` [`str`] or None
58  List of rerun paths to convert. Output collection names will be
59  guessed, which can fail if the Gen2 repository paths do not follow a
60  recognized convention. In this case, the command-line interface cannot
61  be used.
62  config_file : `str` or None
63  Path to `lsst.obs.base.ConvertRepoConfig` configuration to load
64  after all default/instrument configurations.
65  transfer : `str` or None
66  Mode to use when transferring data into the gen3 repository.
67  processess : `int`
68  Number of processes to use for conversion.
69  """
70  # Allow a gen3 butler to be reused
71  try:
72  butlerConfig = lsst.daf.butler.Butler.makeRepo(repo)
73  except FileExistsError:
74  # Use the existing butler configuration
75  butlerConfig = repo
76 
77  butler = lsst.daf.butler.Butler(butlerConfig)
78 
79  # Derive the gen3 instrument from the gen2root
80  # This requires we instantiate a gen2 butler solely to get its mapper
81  # Hide all logging -- the later call will show them
82  with temporaryLogLevel("", Log.ERROR):
83  butler2 = Butler2(gen2root)
84  gen2mapperClass = butler2.getMapperClass(gen2root)
85  del butler2
86 
87  instrument = gen2mapperClass.getGen3Instrument()()
88 
89  convertRepoConfig = ConvertRepoTask.ConfigClass()
90  instrument.applyConfigOverrides(ConvertRepoTask._DefaultName, convertRepoConfig)
91  convertRepoConfig.raws.transfer = transfer
92  if skymap_name is not None:
93  convertRepoConfig.skyMaps[skymap_name] = ConvertRepoSkyMapConfig()
94  convertRepoConfig.skyMaps[skymap_name].load(skymap_config)
95  convertRepoConfig.rootSkyMapName = skymap_name
96  if config_file is not None:
97  convertRepoConfig.load(config_file)
98 
99  if reruns is None:
100  rerunsArg = []
101  else:
102  rerunsArg = [Rerun(rerun, runName=None, chainName=None, parents=[]) for rerun in reruns]
103 
104  # create a new butler instance for running the convert repo task
105  butler = lsst.daf.butler.Butler(butlerConfig, run=instrument.makeDefaultRawIngestRunName())
106  convertRepoTask = ConvertRepoTask(config=convertRepoConfig, butler3=butler, instrument=instrument)
107  convertRepoTask.run(
108  root=gen2root,
109  reruns=rerunsArg,
110  calibs=None if calibs is None else [CalibRepo(path=calibs)],
111  processes=processes,
112  )
def temporaryLogLevel(name, level)
Definition: utils.py:49
def convert(repo, gen2root, skymap_name, skymap_config, calibs, reruns, config_file, transfer, processes=1)
Definition: convert.py:35