Exemplo n.º 1
0
    def set_up_iteration(self, name: str, events=[]):
        """
        Create a new iteration in the lasif project

        :param name: Name of iteration
        :type name: str
        :param events: list of events used in iteration, defaults to []
        :type events: list, optional
        """
        iterations = lapi.list_iterations(self.lasif_comm,
                                          output=True,
                                          verbose=False)
        if isinstance(iterations, list):
            if name in iterations:
                warnings.warn(f"Iteration {name} already exists",
                              InversionsonWarning)
        event_specific = False
        if self.comm.project.meshes == "multi-mesh":
            event_specific = True
        lapi.set_up_iteration(
            self.lasif_root,
            iteration=name,
            events=events,
            event_specific=event_specific,
        )
Exemplo n.º 2
0
 def get_list_of_iterations(self,
                            include_validation=False,
                            only_validation=False) -> list:
     """
     Filter the list of iterations
     
     :return: List of validation iterations
     :rtype: list
     """
     iterations = lapi.list_iterations(self.lasif_comm, output=True)
     if only_validation:
         return [x for x in iterations if "validation" in x]
     if not include_validation:
         return [x for x in iterations if "validation" not in x]
     return iterations
Exemplo n.º 3
0
    def has_iteration(self, it_name: str) -> bool:
        """
        See if lasif project has the iteration already

        :param it_name: name of iteration
        :type name: str
        :return: True if lasif has the iteration
        """
        iterations = lapi.list_iterations(self.lasif_comm, output=True)
        if it_name.startswith("ITERATION_"):
            it_name = it_name.replace("ITERATION_", "")
        if isinstance(iterations, list):
            if it_name in iterations:
                return True
        else:
            return False
Exemplo n.º 4
0
def lasif_list_iterations(parser, args):
    """
    Creates directory structure for a new iteration.
    """
    args = parser.parse_args(args)
    api.list_iterations(lasif_root=".", output=False)