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.sh
script 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.sh
script, 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 thefdaPDE2
package by executing theinstall_fdaPDE2.R
script located in thesrc/installation/
directory.install_femR
: Installs thefemR
package by executing theinstall_femR.R
script located in thesrc/installation/ directory
.install
: Combines theinstall_fdaPDE2
andinstall_femR
targets to install both thefdaPDE2
andfemR
packages.test_example
: Runs example tests by executing therun_tests.sh
script with the arguments example and test1.tests
: Combines thebuild
,clean
, andtest_example
targets 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_options
target with additional cleanup tasks, such as removing auxiliary files, R history, and data files.distclean
: Combines theclean
target 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 tests
Refer 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
└── tests
Files:
- 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.