Source code for pycif.plugins.models.template.io.inputs.make_auxiliary

from ......utils import path
from logging import debug


[docs] def make_auxiliary(self, ddi, runsubdir, do_simu=True, mode="fwd", **kwargs): """ Initialize every file or information needed by the model to run, excluding data that are initialized through the function ``native2inputs``. This includes name lists for Fortran, configuration files, etc. Every basic files related to the model should be first initialized in ``self.workdir/model`` at the initialization step in the function ``compile``. Hereafter, files are link/copied to ``runsubdir`` from the reference ones in ``self.workdir/model`` Note: For configuration files, one should follow the following basic rules: - paths expected by the model should always point to the current ``runsubdir``; thus the executable should be linked or copied in ``runsubdir``; in addition, every extra file should be link with a fixed name and the corresponding name should be given in the name-list or configuration file. - as many model parameters should be easily modified through the yaml configuration file; however, for some reasons, it may be preferable to limit the possibilities for pyCIF by keeping some parameters fixed; this question is up to the developer implementing one model Args: self: the model plugin ddi (datetime.datetime): the start data identifying the present simulation period runsubdir (str): path to the current sub-simulation work directory do_simu (bool): if False, the simulation does not need to be run, hence, in principle, no auxiliary data needs to be initialized mode (str): the running mode to compute """ # Do nothing if only_outputs = True if self.only_outputs: debug("Doing nothing in make_auxiliary as only_outputs is True.") return # Otherwise initialize auxiliary info debug(f"Initializing auxiliary information for the model {self.plugin.name}/{self.plugin.version} with parameters: \n self: {self}\n ddi: {ddi}\n runsubdir: {runsubdir}\n do_simu: {do_simu}\n mode: {mode}\n")