{"id":29262642,"url":"https://github.com/iuryt/gaussian_bump","last_synced_at":"2025-07-04T10:12:49.914Z","repository":{"id":82375514,"uuid":"332742312","full_name":"iuryt/gaussian_bump","owner":"iuryt","description":"MITgcm simulation of a flow over a gaussian bump.","archived":false,"fork":false,"pushed_at":"2021-01-26T02:24:33.000Z","size":3718,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-11T16:40:32.976Z","etag":null,"topics":["cfd","fluid-dynamics","mitgcm","oceanography"],"latest_commit_sha":null,"homepage":"","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/iuryt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-25T12:37:36.000Z","updated_at":"2023-07-26T01:47:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ec16c12-df7c-45f6-9d28-c312d975e9d7","html_url":"https://github.com/iuryt/gaussian_bump","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.25,"last_synced_commit":"ce573527d80ad466da3edf8ee656c571c13afc22"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iuryt/gaussian_bump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuryt%2Fgaussian_bump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuryt%2Fgaussian_bump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuryt%2Fgaussian_bump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuryt%2Fgaussian_bump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iuryt","download_url":"https://codeload.github.com/iuryt/gaussian_bump/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iuryt%2Fgaussian_bump/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263489697,"owners_count":23474529,"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":["cfd","fluid-dynamics","mitgcm","oceanography"],"created_at":"2025-07-04T10:12:48.234Z","updated_at":"2025-07-04T10:12:49.904Z","avatar_url":"https://github.com/iuryt.png","language":"Jupyter Notebook","readme":"# Flow Over Gaussian Bump\n\nThis is the MITgcm simulation of a flow over a gaussian bump based on [exp2](https://github.com/MITgcm/MITgcm/tree/master/verification/exp2) from MITgcm documentation. \n\n\n\u003cimg src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_BAT.png\" data-canonical-src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_BAT.png\" width=\"600\" height=\"auto\" /\u003e\n\n## Context\n\nThis is part of a mentoring that I am giving to the BSME student Alan Andonian from prof. Amit Tandon's [laboratory](https://tandonlab.sites.umassd.edu/people/) (UMassD). I created this repository to organize the numerical experiments I am running for him to analyze. \n\nThe main idea is to familiarize him to basic Geophysical Fluid Dynamics problems and Python programming. And, of course, give him an opportunity to learn more about control version on GitHub. One of the first problems is the [Taylor-Proudman Theorem](https://en.wikipedia.org/wiki/Taylor%E2%80%93Proudman_theorem). This experiment is perfect to understand this theorem, as even being 400m above the top of the gaussian bump, the flow cannot \"jump it\", which results into a [Taylor column](https://en.wikipedia.org/wiki/Taylor_column) above the bump. \n\n\u003cimg src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/quiver_zeta_13m_N0.png\" data-canonical-src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/quiver_zeta_13m_N0.png\" width=\"600\" height=\"auto\" /\u003e\n\nThe same does not happen to an stratified fluid, in which thermal-wind balance allows vertical shear.\n\n\n\u003cimg src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/quiver_zeta_13m_NC.png\" data-canonical-src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/quiver_zeta_13m_NC.png\" width=\"600\" height=\"auto\" /\u003e\n\nI also believe that this repository can help other students that are beginning to setup and run their own numerical simulations using MITgcm. \n\n\n## How to run an experiment\n\n1. Follow the [Getting Started](https://mitgcm.readthedocs.io/en/latest/getting_started/getting_started.html) section on MITgcm documentation to set up the model;\n2. Clone this experiment to the `MITgcm/exp` folder (you can also download the repository and extract it to MITgcm folder.);\n3. Configure [`compile.sh`](https://github.com/iuryt/gaussian_bump/blob/main/compile.sh) for the designated `optfile`;\n4. Run [`compile.sh`](https://github.com/iuryt/gaussian_bump/blob/main/compile.sh). If everything is correctly configured, you will have the `mitgcmuv` executable inside `run_\u003cexperiment\u003e` folders; \n5. Create a symbolic link for the files in `input` and `input_\u003cexperiment\u003e` to `run_\u003cexperiment\u003e` folder.\n6. Run the executable `mitgcmuv` inside `run_\u003cexperiment\u003e` folder (You can base your submit file on [`submit.lsf`](https://github.com/iuryt/gaussian_bump/blob/main/input/submit.lsf)).\n\nThe current configuration on [`code/SIZE.h`](https://github.com/iuryt/gaussian_bump/blob/main/code/SIZE.h) works in parallel using 4 cores (see [Documentation](https://mitgcm.readthedocs.io/en/latest/) to learn how to set up for a different number of cores).\nIf the experiment is already configured you just have to run `mpirun -np 4 ./mitgcmuv` in `run_\u003cexperiment\u003e` folder.\nIf you are using a supercomputer, check with support how to setup a batch script for your experiment.\n\n## How to generate the initial conditions\n\nIn `notebooks` there is a file called [`00-Init.ipynb`](https://github.com/iuryt/gaussian_bump/blob/main/notebooks/00-Init.ipynb) that creates the initial conditions\nThe data will be saved to `input` folder. You may have to change the grid spacing in `input_\u003cexperiment\u003e/data` or number of points in [`code/SIZE.h`](https://github.com/iuryt/gaussian_bump/blob/main/code/SIZE.h) if you change the code in the notebooks.\n\nWe define the Barotropic velocity from the free surface using the geostrophic balance \u003cimg src=\"https://render.githubusercontent.com/render/math?math=u = -\\dfrac{g}{f}\\dfrac{d\\eta}{dy}\"\u003e:\n\n\u003cimg src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_ETA.png\" data-canonical-src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_BAT.png\" width=\"auto\" height=\"200\" /\u003e\n\nWe defined three options for the initial mass field: homogeneous (N0), constant stratification (NC) and with a thermocline defined by a `tanh` (NZ).\n\n\u003cimg src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_Temp.png\" data-canonical-src=\"https://github.com/iuryt/gaussian_bump/blob/main/notebooks/img/Init_BAT.png\" width=\"auto\" height=\"300\" /\u003e\n\n\n## How to read the data from the output\n\nThe notebook [`notebooks/01-Analysis.ipynb`](https://github.com/iuryt/gaussian_bump/blob/main/notebooks/01-Analysis.ipynb) its a tutorial that explains how to read and plot the output from this experiment.\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuryt%2Fgaussian_bump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiuryt%2Fgaussian_bump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiuryt%2Fgaussian_bump/lists"}