Giter VIP home page Giter VIP logo

gaussian_bump's Introduction

Flow Over Gaussian Bump

This is the MITgcm simulation of a flow over a gaussian bump based on exp2 from MITgcm documentation.

Context

This is part of a mentoring that I am giving to the BSME student Alan Andonian from prof. Amit Tandon's laboratory (UMassD). I created this repository to organize the numerical experiments I am running for him to analyze.

The 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. 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 above the bump.

The same does not happen to an stratified fluid, in which thermal-wind balance allows vertical shear.

I also believe that this repository can help other students that are beginning to setup and run their own numerical simulations using MITgcm.

How to run an experiment

  1. Follow the Getting Started section on MITgcm documentation to set up the model;
  2. Clone this experiment to the MITgcm/exp folder (you can also download the repository and extract it to MITgcm folder.);
  3. Configure compile.sh for the designated optfile;
  4. Run compile.sh. If everything is correctly configured, you will have the mitgcmuv executable inside run_<experiment> folders;
  5. Create a symbolic link for the files in input and input_<experiment> to run_<experiment> folder.
  6. Run the executable mitgcmuv inside run_<experiment> folder (You can base your submit file on submit.lsf).

The current configuration on code/SIZE.h works in parallel using 4 cores (see Documentation to learn how to set up for a different number of cores). If the experiment is already configured you just have to run mpirun -np 4 ./mitgcmuv in run_<experiment> folder. If you are using a supercomputer, check with support how to setup a batch script for your experiment.

How to generate the initial conditions

In notebooks there is a file called 00-Init.ipynb that creates the initial conditions The data will be saved to input folder. You may have to change the grid spacing in input_<experiment>/data or number of points in code/SIZE.h if you change the code in the notebooks.

We define the Barotropic velocity from the free surface using the geostrophic balance :

We defined three options for the initial mass field: homogeneous (N0), constant stratification (NC) and with a thermocline defined by a tanh (NZ).

How to read the data from the output

The notebook notebooks/01-Analysis.ipynb its a tutorial that explains how to read and plot the output from this experiment.

gaussian_bump's People

Contributors

iuryt avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tianyining

gaussian_bump's Issues

Alan's suggestions

Discussion from Jan 27th meeting

  • Different initial free-surface height;
  • Cylindrical topographic bump;
  • No Coriolis (Solid Works experiment);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.