{"id":22371720,"url":"https://github.com/upc-ghs/modpath-omp","last_synced_at":"2026-03-19T22:36:11.054Z","repository":{"id":158248667,"uuid":"579912772","full_name":"upc-ghs/modpath-omp","owner":"upc-ghs","description":"MODPATH-v7 plus parallel particles processing with OpenMP","archived":false,"fork":false,"pushed_at":"2022-12-19T08:55:42.000Z","size":14012,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-01-31T22:07:19.745Z","etag":null,"topics":["fortran","hydrogeology","modflow","modpath","particle-tracking"],"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-19T08:53:44.000Z","updated_at":"2024-07-15T16:24:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"33ef6800-aeb4-4a73-ba3c-77c25981a1a0","html_url":"https://github.com/upc-ghs/modpath-omp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fmodpath-omp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fmodpath-omp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fmodpath-omp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upc-ghs%2Fmodpath-omp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upc-ghs","download_url":"https://codeload.github.com/upc-ghs/modpath-omp/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245699263,"owners_count":20657987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["fortran","hydrogeology","modflow","modpath","particle-tracking"],"created_at":"2024-12-04T20:29:06.494Z","updated_at":"2026-01-06T00:50:28.754Z","avatar_url":"https://github.com/upc-ghs.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# modpath-omp\nMODPATH version 7 with parallel processing of particles implemented with the OpenMP library. \n\nConfiguration input files are the same that for a normal ``modpath-v7`` simulation, so integration of the parallel version is straightforward.\n\n## Compilation\nDownload source code and access the `make` folder. Here execute one of the makefiles with\n\n```\nmake -f makefile-gfortran-pc\n```\n\nThis will compile source files and will output a binary, by default with name `mpath7omp.exe`. \nCompilation has been verified with ``gfortran@9.2.1`` and with ``ifort`` from Intel ``oneAPI@2021.3.0``.\n\n### Note\nCompiled binaries in the folder `msvs/bin_PROVISIONAL` are the ones provided by the upstream `modpath-v7` repository, not the parallel version from this repository.\n\n## Running parallel simulations\n``modpath`` interface has been extended to simplify execution of parallel runs via the command line. \nSome alternatives are:\n\n- Use the ``-np`` argument to specify the number of processes:\n```\nmpath7omp example.mpsim -np 4 \n```\n\n- Use the ``-parallel`` argument to run in parallel employing the maximum number of available processors:\n\n```\nmpath7omp example.mpsim -parallel \n```\n\n- Specify the ``OMP_NUM_THREADS`` environment variable:\n```\nOMP_NUM_THREADS=4 mpath7omp example.mpsim\n```\nIn this last case, if the variable is defined at a system level, it will be employed when submitting a normal run instruction ``mpath7omp example.mpsim``\n\n\n## Parallel output for timeseries\nThree different output protocols for timeseries running in parallel have been implemented. The protocol can be selected via the command line argument ``-tsoutput``:\n\n- ``-tsoutput 1``: is the default format, output is performed into a single output unit with OpenMP thread exclusive clause (critical). Only difference versus a serial run is that the output file contains non-sorted particle indexes.\n- ``-tsoutput 2``: timeseries records are written into thread specific binary units and then consolidated into a single file after each timeseries output time. Timeseries file generated with this format does not contains a file header.\n- ``-tsoutput 3``: timeseries records are written into thread specific output units. Timeseries file header is only written to output unit related to the first thread ``1_example.timeseries``. Initial particle positions are also written to the file of the first thread.\n\n## License\nMIT License\n\n## Resources\n\n* [MODPATH](https://www.usgs.gov/software/modpath-particle-tracking-model-modflow)\n* [Central modpath-v7 repository](https://github.com/MODFLOW-USGS/modpath-v7)\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\n## References\n[Pérez-Illanes R., Fernàndez-Garcia, D., 2022, Multiprocessing for the Particle Tracking Model MODPATH, Groundwater, doi:10.1111/gwat.13279](https://doi.org/10.1111/gwat.13279)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupc-ghs%2Fmodpath-omp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupc-ghs%2Fmodpath-omp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupc-ghs%2Fmodpath-omp/lists"}