Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/intro/concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The CSEP experiments consist in the prospective evaluation of probabilistic eart
A Floating Testing Experiment encapsulates each experiment into its own runnable environment, taking advantage of version control (i.e. ``git``), open-data repositories (e.g. `Zenodo <https://zenodo.org>`_) and Infrastructure as Code (e.g. `Docker <https://docker.com>`_) technologies, making it reproducible, re-usable and shareable during the time scale of the
evaluations.

``feCSEP`` goals
``floatCSEP`` goals
----------------

This is an application to deploy reproducible and prospective experiments of earthquake forecasting, namely a Floating Eperiment, that can operate independent of a particular testing server. With this application, researchers, institutions and users can
Expand Down
167 changes: 131 additions & 36 deletions docs/reference/api_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Commands
The commands and entry-points with which to call `floatcsep` from the terminal
are:

.. :currentmodule:: floatcsep.cmd.main
.. :currentmodule:: floatcsep.commands.main

.. automodule:: floatcsep.cmd.main
.. automodule:: floatcsep.commands.main

.. autosummary::
:toctree: generated
Expand Down Expand Up @@ -104,46 +104,25 @@ A test is defined using the :class:`Evaluation` class.
Accessors
---------

.. :currentmodule:: floatcsep.accessors
.. :currentmodule:: floatcsep.utils.accessors

.. automodule:: floatcsep.accessors
.. automodule:: floatcsep.utils.accessors

.. autosummary::
:toctree: generated

from_zenodo
from_git
download_file
check_hash


Environments
------------
Helper Functions
----------------

.. :currentmodule:: floatcsep.environments
.. :currentmodule:: floatcsep.utils.helpers

.. automodule:: floatcsep.environments

.. autosummary::
:toctree: generated

CondaManager
CondaManager.create_environment
CondaManager.env_exists
CondaManager.install_dependencies
CondaManager.run_command

VenvManager
CondaManager.create_environment
CondaManager.env_exists
CondaManager.install_dependencies
CondaManager.run_command


Utilities
---------

.. :currentmodule:: floatcsep.utils

.. automodule:: floatcsep.utils
.. automodule:: floatcsep.utils.helpers

.. autosummary::
:toctree: generated
Expand All @@ -154,9 +133,6 @@ Utilities
read_region_config
timewindows_ti
timewindows_td
Task
Task.run
Task.check_exist
timewindow2str
plot_sequential_likelihood
magnitude_vs_time
Expand All @@ -168,9 +144,9 @@ Utilities
Readers
-------

.. :currentmodule:: floatcsep.readers
.. :currentmodule:: floatcsep.utils.readers

.. automodule:: floatcsep.readers
.. automodule:: floatcsep.utils.readers

.. autosummary::
:toctree: generated
Expand All @@ -184,3 +160,122 @@ Readers
serialize


Environments
------------

.. :currentmodule:: floatcsep.infrastructure.environments

.. automodule:: floatcsep.infrastructure.environments

.. autosummary::
:toctree: generated

CondaManager
CondaManager.create_environment
CondaManager.env_exists
CondaManager.install_dependencies
CondaManager.run_command

VenvManager
CondaManager.create_environment
CondaManager.env_exists
CondaManager.install_dependencies
CondaManager.run_command


Registries
----------

.. :currentmodule:: floatcsep.infrastructure.registries

.. automodule:: floatcsep.infrastructure.registries

.. autosummary::
:toctree: generated

FileRegistry
FileRegistry.abs
FileRegistry.absdir
FileRegistry.rel
FileRegistry.rel_dir
FileRegistry.file_exists

ForecastRegistry
ForecastRegistry.get
ForecastRegistry.get_forecast
ForecastRegistry.dir
ForecastRegistry.fmt
ForecastRegistry.as_dict
ForecastRegistry.forecast_exist
ForecastRegistry.build_tree
ForecastRegistry.log_tree

ExperimentRegistry
ExperimentRegistry.add_forecast_registry
ExperimentRegistry.get_forecast_registry
ExperimentRegistry.log_forecast_trees
ExperimentRegistry.get
ExperimentRegistry.get_result
ExperimentRegistry.get_test_catalog
ExperimentRegistry.get_figure
ExperimentRegistry.result_exist
ExperimentRegistry.as_dict
ExperimentRegistry.build_tree
ExperimentRegistry.log_results_tree


Repositories
------------

.. :currentmodule:: floatcsep.infrastructure.repositories

.. automodule:: floatcsep.infrastructure.repositories

.. autosummary::
:toctree: generated

ForecastRepository
ForecastRepository.factory

CatalogForecastRepository
CatalogForecastRepository.load_forecast
CatalogForecastRepository._load_single_forecast

GriddedForecastRepository.load_forecast
GriddedForecastRepository._get_or_load_forecast
GriddedForecastRepository._load_single_forecast

ResultsRepository
ResultsRepository._load_result
ResultsRepository.load_results
ResultsRepository.write_result

CatalogRepository
CatalogRepository.set_main_catalog
CatalogRepository.catalog
CatalogRepository.get_test_cat
CatalogRepository.set_test_cat
CatalogRepository.set_input_cat


Engine
------

.. :currentmodule:: floatcsep.infrastructure.engine

.. automodule:: floatcsep.infrastructure.engine

.. autosummary::
:toctree: generated

Task
Task.sign_match
Task.run
Task.check_exist

TaskGraph
TaskGraph.ntasks
TaskGraph.add
TaskGraph.add_dependency
TaskGraph.run
TaskGraph.check_exist
4 changes: 2 additions & 2 deletions examples/case_h/custom_report.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from floatcsep.report import MarkdownReport
from floatcsep.utils import timewindow2str
from floatcsep.postprocess.reporting import MarkdownReport
from floatcsep.utils.helpers import timewindow2str


def main(experiment):
Expand Down
7 changes: 3 additions & 4 deletions floatcsep/__init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from floatcsep import logger
from floatcsep import registry
from floatcsep import accessors
from floatcsep import evaluation
from floatcsep import experiment
from floatcsep import model
from floatcsep import readers
from floatcsep.infrastructure import engine, environments, registries, repositories, logger
from floatcsep.utils import readers, accessors, helpers
from floatcsep.postprocess import reporting, plot_handler

__version__ = "0.1.4"
Empty file added floatcsep/commands/__init__.py
Empty file.
11 changes: 8 additions & 3 deletions floatcsep/cmd/main.py → floatcsep/commands/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@

from floatcsep import __version__
from floatcsep.experiment import Experiment, ExperimentComparison
from floatcsep.logger import setup_logger, set_console_log_level
from floatcsep.postprocess import plot_results, plot_forecasts, plot_catalogs, plot_custom
from floatcsep.report import generate_report, reproducibility_report
from floatcsep.infrastructure.logger import setup_logger, set_console_log_level
from floatcsep.postprocess.plot_handler import (
plot_results,
plot_forecasts,
plot_catalogs,
plot_custom,
)
from floatcsep.postprocess.reporting import generate_report, reproducibility_report

setup_logger()
log = logging.getLogger("floatLogger")
Expand Down
4 changes: 2 additions & 2 deletions floatcsep/evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from matplotlib import pyplot

from floatcsep.model import Model
from floatcsep.registry import ExperimentRegistry
from floatcsep.utils import parse_csep_func
from floatcsep.infrastructure.registries import ExperimentRegistry
from floatcsep.utils.helpers import parse_csep_func


class Evaluation:
Expand Down
14 changes: 6 additions & 8 deletions floatcsep/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,18 @@


from floatcsep.evaluation import Evaluation
from floatcsep.logger import add_fhandler
from floatcsep.infrastructure.logger import add_fhandler
from floatcsep.model import Model, TimeDependentModel
from floatcsep.registry import ExperimentRegistry
from floatcsep.repository import ResultsRepository, CatalogRepository
from floatcsep.utils import (
from floatcsep.infrastructure.registries import ExperimentRegistry
from floatcsep.infrastructure.repositories import ResultsRepository, CatalogRepository
from floatcsep.utils.helpers import (
NoAliasLoader,
read_time_cfg,
read_region_cfg,
Task,
TaskGraph,
timewindow2str,
parse_nested_dicts,
)

from floatcsep.infrastructure.engine import Task, TaskGraph

log = logging.getLogger("floatLogger")

Expand Down Expand Up @@ -150,7 +148,7 @@ def __init__(
self.model_config = models if isinstance(models, str) else None
self.test_config = tests if isinstance(tests, str) else None

logger = kwargs.get("logging", True)
logger = kwargs.get("logging", False)
if logger:
filename = "experiment.log" if logger is True else logger
self.registry.logger = os.path.join(workdir, rundir, filename)
Expand Down
Empty file.
Loading
Loading