This repository serves as a test bench specifically designed for evaluating methods related to fdaPDE (Physics-Informed Spatial and Functional Data Analysis). It provides a collection of utilities and scripts to facilitate the testing process, including model evaluation metrics computation, plot generation, and automation of tests with various parameter configurations.
- Model Evaluation Metrics: Utilities are available for computing various model evaluation metrics (
RMSE,IRMSE,...), allowing for comprehensive assessment of fdaPDE methods' performance. - Plot Generation: The repository includes tools for generating plots to visualize the results of the tested methods, aiding in the interpretation and analysis of the experimental outcomes.
- Test Automation: Scripts are provided for automating the execution of tests with different parameter configurations. The
run_tests.shscript facilitates the setup and execution of test suites, streamlining the testing process.
To run tests using the provided utilities, follow these steps::
-
Create a new directory in test containing all the tests scripts (an example test has been created as a reference).
-
Execute the
run_tests.shscript, passing the test suite name and test name as arguments. For example:./run_tests.sh example test1
-
The script initializes the test environment, then iterates over the options files in the specified directory, executing the main test script (main.R) for each file found.
-
After completing the tests, the script performs post-processing tasks, including runtime complexity analysis.
The Makefile provided in this repository includes several targets to automate common tasks related to installation, testing, building, and cleaning up the project environment. Below is a brief description of each target:
install_fdaPDE2: Installs thefdaPDE2package by executing theinstall_fdaPDE2.Rscript located in thesrc/installation/directory.install_femR: Installs thefemRpackage by executing theinstall_femR.Rscript located in thesrc/installation/ directory.install: Combines theinstall_fdaPDE2andinstall_femRtargets to install both thefdaPDE2andfemRpackages.test_example: Runs example tests by executing therun_tests.shscript with the arguments example and test1.tests: Combines thebuild,clean, andtest_exampletargets to perform a complete test run, ensuring that tests are executed on a clean environment after building.build: Creates necessary directories for data, results, and images. This target ensures the directory structure required for the project is in place.clean_options: Cleans temporary files by removing thequeue/directory.clean: Combines theclean_optionstarget with additional cleanup tasks, such as removing auxiliary files, R history, and data files.distclean: Combines thecleantarget with further cleanup actions, including the removal of additional generated files like images and results. It prompts for confirmation before executing to avoid accidental deletion.
These targets can be executed using the make command followed by the target name, for example, to run all tests:
make testsRefer to the Makefile for implementation details and additional customization options.
.
├── LICENSE
├── Makefile
├── README.md
├── run_tests.sh
├── data
│ └── mesh
│ ├── ...
├── src
│ ├── installation
│ │ ├── install_fdaPDE2.R
│ │ └── install_femR.R
│ └── utils
│ ├── cat.R
│ ├── directories.R
│ ├── meshes.R
│ ├── domain_and_locations.R
│ ├── errors.R
│ ├── results_management.R
│ ├── plots.R
│ └── wrappers.R
├── analysis
└── testsFiles:
- LICENSE: GPL v3 License file specifying the terms and conditions for using the repository.
- Makefile: Makefile for automating build tasks or running commands.
- README.md: This documentation file providing an overview of the repository and its usage instructions.
- run_tests.sh: Script for automating the execution of tests with different parameter configurations.
Directories:
- data: Directory storing general data files, including mesh data used in tests.
- src: Source code directory containing installation scripts and utility functions.
- tests: Directory for storing test scripts and related resources.
- analysis: Directory containing analysis-related scripts or resources.
This test bench repository is maintained by Pietro Donelli.
This repository is licensed under the GPL v3 License. See the LICENSE file for details.