{"id":22371729,"url":"https://github.com/upc-ghs/gpkde","last_synced_at":"2026-02-26T18:02:57.256Z","repository":{"id":171556553,"uuid":"579954749","full_name":"upc-ghs/gpkde","owner":"upc-ghs","description":"Fortran Code for Grid Projected Kernel Density Estimation From Multidimensional Particle Distributions","archived":false,"fork":false,"pushed_at":"2024-08-08T06:50:27.000Z","size":60784,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-26T17:16:57.452Z","etag":null,"topics":["concentration","density-estimation","fortran","kernel","particles","three-dimensional"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upc-ghs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-19T11:06:18.000Z","updated_at":"2024-08-31T23:24:11.000Z","dependencies_parsed_at":"2024-02-26T12:31:45.781Z","dependency_job_id":"e2d9f027-9871-42dd-9e3c-3148dc224b2a","html_url":"https://github.com/upc-ghs/gpkde","commit_stats":{"total_commits":369,"total_committers":2,"mean_commits":184.5,"dds":"0.024390243902439046","last_synced_commit":"593f3b401dff769464e67d8bf7e4a3a84f658e30"},"previous_names":["upc-ghs/gpkde"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/upc-ghs/gpkde","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fgpkde","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fgpkde/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fgpkde/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fgpkde/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upc-ghs","download_url":"https://codeload.github.com/upc-ghs/gpkde/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fgpkde/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29867152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T16:38:37.846Z","status":"ssl_error","status_checked_at":"2026-02-26T16:37:58.932Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concentration","density-estimation","fortran","kernel","particles","three-dimensional"],"created_at":"2024-12-04T20:29:12.680Z","updated_at":"2026-02-26T18:02:57.214Z","avatar_url":"https://github.com/upc-ghs.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gpkde\nFortran Code for Grid Projected Kernel Density Estimation of Discrete Particle Distributions\n[![Continuous Integration](https://github.com/upc-ghs/gpkde/actions/workflows/ci.yml/badge.svg)](https://github.com/upc-ghs/gpkde/actions/workflows/ci.yml?branch=develop\u0026kill_cache=1)\n\n![](img/banner.png)\n\n## Overview\nThe program performs Grid Projected Kernel Density Estimation (GPKDE) of a discrete dataset in one, two or three dimensional domains and is parallelized with the OpenMP library. \n\nIt works as a standalone program by reading an input simulation file, which configures the loading of a source file with data points and additional parameters for defining the reconstruction grid and the optimization for bandwidth selection.\n\n## Build\n\n### Get the code\nClone the repository\n\n```\ngit clone https://github.com/upc-ghs/gpkde.git\n```\n\n### Makefile\nRepository includes two makefiles at the folder `make`:\n\n- `Makefile`: for the `gfortran` compiler, with compilation verified for `gfortran\u003e=8.4.0`.\n- `Makefile-ifort`: for the `ifort` compiler, with compilation verified for `ifort@2021.9.0`.\n\n**Note**: The preprocessor variable ``-DREAL32`` can be added to the compiler flags in order to build with single precision floating point. Compilation via makefiles create the folder `make/objtemp`. It is recommended to remove this folder while developing source code or integrating program changes for a consistent compilation.\n\n### Meson\nThe project can also be built with the [meson](https://mesonbuild.com/) build system:\n\n- Setup the project configuration\n\n```\n    meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin\n``` \n- Compile \n\n```\n    meson install -C builddir\n```\n\n- Basic tests\n\n```\n    meson test --verbose --no-rebuild -C builddir\n```\n\n**Note**: For building with single precision floating point, the option ``--Dreal32=true`` can be given to the setup instruction. \n\n### Visual Studio and Windows\nThe folder `msvs` contains the project and solution files verified for Visual Studio 2019 and 2022 on a Windows system. An executable file and complementary `dll`'s providing the OpenMP library are available at the folder `wbin/`. Users can make easy use of these files at a system level by extending the `PATH` environment variable, adding their specific address to the `wbin/` folder (as [here](https://www.itprotoday.com/windows-server/how-can-i-add-new-folder-my-system-path) or [here](https://windowsloop.com/how-to-add-to-windows-path/)).\n\nThe necessary `dll`'s can also be installed from the Intel and Visual Studio redistributables (`x64`), respectively:\n\n - [Intel Fortran Compiler Runtime for Windows](https://www.intel.com/content/www/us/en/developer/articles/tool/compilers-redistributable-libraries-by-version.html) \n - [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170)\n\n\n**Note**: The windows executable `gpkdesp.exe` is built with single precision floating point (`/DREAL32`) which requires less memory specially for large three dimensional problems. This option is enabled by default in the Visual Studio solution/project files and can be disabled by modifying the project properties, leaving empty the field `Project\u003eProperties\u003eFortran\u003ePreprocessor\u003ePreprocessor Definitions`. The executable `gpkde.exe` is built with double precision floating point.\n\n\n## Command line interface\nSome basic command line arguments have been implemented in order to control program execution. These can be requested as help with the instruction ``gpkde --help`` or ``gpkde -h``, which displays the following message in console:\n \n```\nGPKDE version *.*.*               \nProgram compiled Apr 12 2023 19:44:24 with GFORTRAN compiler (ver. *.*.*)       \n\nFortran code for Grid Projected Kernel Density Estimation of discrete particle distributions\n\nusage:\n\n  gpkde [options] simfile\n\noptions:\n\n  -h         --help                Show this message                             \n  -l  \u003cstr\u003e  --logname    \u003cstr\u003e    Write program logs to \u003cstr\u003e                   \n  -nl        --nolog               Do not write log file                         \n  -np \u003cint\u003e  --nprocs     \u003cint\u003e    Run with \u003cint\u003e processes                      \n  -p         --parallel            Run in parallel                               \n  -v         --version             Show program version                          \n\nFor bug reports and updates, follow:                                             \n  https://github.com/upc-ghs/gpkde    \n```\n\n## Simulation file\nFor details about the configuration of input files please refer to the program [Documentation](doc/gpkde_IO_v100.pdf). \n\n## Examples \nA set of possible use cases of the reconstruction module are included as example files in this repository. The currently available simulations include:\n\n- [1D Gaussian distribution](examples/ex01_1dnormal/)\n- [2D Heterogeneous distribution](examples/ex02_2dhet/)\n- [3D Heterogeneous distribution](examples/ex03_3dhet/)\n\n## License\nMIT License\n\n## References\n[Pérez-Illanes R., Fernàndez-Garcia, D., 2024, A General Purpose Parallel Fortran Code for Grid Projected Concentration Reconstruction from Multidimensional Particle Distributions, Environmental Modelling \u0026 Software, doi: 10.1016/j.envsoft.2024.106008.](https://doi.org/10.1016/j.envsoft.2024.106008)\n\n## Resources\n* [gfortran](https://gcc.gnu.org/wiki/GFortran)\n* [OpenMP](https://www.openmp.org/)\n* [Intel oneApi HPC toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit.html)\n* [MIT License](https://mit-license.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupc-ghs%2Fgpkde","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupc-ghs%2Fgpkde","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupc-ghs%2Fgpkde/lists"}