{"id":22073396,"url":"https://github.com/slimgroup/gcs-cam","last_synced_at":"2025-07-24T11:31:15.929Z","repository":{"id":79356631,"uuid":"543787208","full_name":"slimgroup/GCS-CAM","owner":"slimgroup","description":"Derisking geological carbon storage from high-resolution time-lapse seismic to explainable leakage detection","archived":false,"fork":false,"pushed_at":"2023-10-26T00:10:05.000Z","size":4420,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-15T03:27:20.707Z","etag":null,"topics":["classifier","deep-learning","geological-carbon-storage","seismic-imaging","time-lapse"],"latest_commit_sha":null,"homepage":"https://doi.org/10.1190/tle42010069.1","language":"Jupyter Notebook","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/slimgroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-09-30T20:55:35.000Z","updated_at":"2024-03-27T02:37:19.000Z","dependencies_parsed_at":"2023-03-12T07:48:44.222Z","dependency_job_id":"abeb44ec-4f89-47a2-b7ba-f76452d9cdd3","html_url":"https://github.com/slimgroup/GCS-CAM","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slimgroup%2FGCS-CAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slimgroup%2FGCS-CAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slimgroup%2FGCS-CAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slimgroup%2FGCS-CAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slimgroup","download_url":"https://codeload.github.com/slimgroup/GCS-CAM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227432683,"owners_count":17775970,"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":["classifier","deep-learning","geological-carbon-storage","seismic-imaging","time-lapse"],"created_at":"2024-11-30T21:18:28.150Z","updated_at":"2024-11-30T21:18:28.761Z","avatar_url":"https://github.com/slimgroup.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDerisking geological carbon storage from high-resolution time-lapse seismic to explainable leakage detection\u003c/h1\u003e\n\n[![][license-img]][license-status] [![][zenodo-img]][zenodo-status]\n\nCode to reproduce results in Ziyi Yin, Huseyin Tuna Erdinc, Abhinav Prakash Gahlot, Mathias Louboutin, Felix J. Herrmann, \"[Derisking geological carbon storage from high-resolution time-lapse seismic to explainable leakage detection](https://arxiv.org/abs/2211.03527)\". In The Leading Edge in January 2023. DOI: [10.1190/tle42010069.1](https://doi.org/10.1190/tle42010069.1)\n\n## Installation\n\nFirst, install [Julia](https://julialang.org/), [Python](https://www.python.org/) and [MiniConda](https://docs.conda.io/en/latest/miniconda.html). Next, run the command below to install the required packages.\n\n```bash\njulia -e 'Pkg.add(\"DrWatson.jl\")'\njulia --project -e 'using Pkg; Pkg.instantiate()'\nconda env create -f environment.yml\nsource activate gcs-cam\npython -m ipykernel install --user --name gcs-cam --display-name \"Python (gcs-cam)\"\n```\n\n## Script descriptions\n\nWe use the open-source software [JUDI.jl](https://github.com/slimgroup/JUDI.jl) for seismic modeling and imaging, which calls the highly optimized propagators of [Devito](https://www.devitoproject.org/). We used [FwiFlow.jl](https://github.com/lidongzh/FwiFlow.jl) to solve the two-phase flow equations for both the pressure and concentration. The CO2 plume dataset (consisting of regular plumes and leaking plumes) will be downloaded upon running your first example. We used [PyTorch library for CAM methods](https://github.com/jacobgil/pytorch-grad-cam) to calculate the CAM images. We thank the authors of these packages for their contributions to the open-source software community.\n\n### time-lapse seismic modeling and imaging\n\n`GenLinData.jl`: script to generate time-lapse linearized data via Born modeling operators.\n\n`RTM.jl`: script to run reverse-time migration (RTM) on the linearized data.\n\n`JRM.jl`: script to invert the time-lapse linearized data via joint recovery model (JRM).\n\nThe experimental setup (number of sources, receivers, amount of noise etc) can be adjusted according to [input keywords](src/utils.jl).\n\nTo generate a dataset for training the deep neural classifier, we provide the clusterless version of the above 3 scripts --- where you can simply run the julia scripts locally and experiments can run on multiple instances in parallel on the cloud. This needs 3 files for registry, credential, and parameter information to be stored in `registryinfo.json`, `credentials.json`, `params.json` files. More information can be found in [AzureClusterlessHPC.jl](https://github.com/microsoft/AzureClusterlessHPC.jl) and [JUDI4Cloud.jl](https://github.com/slimgroup/JUDI4Cloud.jl).\n\n### leakage detection with deep neural classifier and class activation mapping\n\nTo train the deep neural classifier for leakage detection, open `main.ipynb` notebook and choose `gcs-cam` environment as the kernel. It internally uses `train.py` and `test.py` modules for training and testing. The notebook contains useful comments for each section.\n\n## LICENSE\n\nThe software used in this repository can be modified and redistributed according to [MIT license](LICENSE).\n\n## Disclosure\n\nSome comments in the scripts are generated by ChatGPT 4.\n\n## Reference\n\nIf you use our software for your research, we appreciate it if you cite us following the bibtex in [CITATION.bib](CITATION.bib).\n\n## Authors\n\nThis repository is written by Ziyi Yin, Huseyin Tuna Erdinc, Abhinav Prakash Gahlot from the [Seismic Laboratory for Imaging and Modeling](https://slim.gatech.edu/) (SLIM) at the Georgia Institute of Technology.\n\nIf you have any question, we welcome your contributions to our software by opening issue or pull request.\n\nSLIM Group @ Georgia Institute of Technology, [https://slim.gatech.edu](https://slim.gatech.edu/).      \nSLIM public GitHub account, [https://github.com/slimgroup](https://github.com/slimgroup).    \n\n[license-status]:LICENSE\n[zenodo-status]:https://doi.org/10.5281/zenodo.7222318\n[license-img]:http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat?style=plastic\n[zenodo-img]:https://zenodo.org/badge/DOI/10.5281/zenodo.7222318.svg?style=plastic\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslimgroup%2Fgcs-cam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslimgroup%2Fgcs-cam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslimgroup%2Fgcs-cam/lists"}