LASG-GAMIL / GMCORE

A dynamical core for solving geophysical fluid equations on the sphere with conservative finite difference methods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

Grid-point Multiple-Conservation dynamical cORE

Check barotropic test results here.

Status

  • Parallelization using MPI:
    • 1D latitudional decomposition (done)
    • 2D decomposition (partially done)
    • Optimize for X86 (~2021.04)
  • Nesting at middle and low latitudes (~2021.11).
  • Acceleration using GPU (~?).
  • Baroclinic version (~2021.02).
    • Hydrostatic baroclinic version (done)
      • Rossby-Haurwitz wave test
      • Mountain induced wave test
      • Steady state test
      • Baroclinic wave test
      • Held-Suarez test
    • Nonhydrostatic baroclinic version (~2021.02)
      • X-Z version (done)
      • Quasi-2D mountain wave on reduced sphere (done)
      • Circular mountain wave on reduced sphere (done)
      • Internal gravity wave (done)
  • Advection module (done)
  • Incorporation with physics parameterisation (2022.07-2022.12).
  • Data assimilation (~?).

Usage

First make sure you have installed netCDF library, and set NETCDF_ROOT environment variable to it. Then clone the repository:

$ git clone https://gitee.com/dongli85/GMCORE gmcore
$ cd gmcore
$ git submodule update --init

You could build the model by following:

$ cd build
$ FC=mpiifort cmake ..
$ make -j8

There is a Python script run_tests.py, which will clone the testbed repository, and run several tests, but it assumes MPI to be installed or SLURM job manager is available:

$ ./run_tests.py -w <work_directory> --slurm -q <job_queue> -n <process_number> --ntasks-per-node <n>

It will take some time to run the tests. When the tests are finished, cd to <work_directory>, and use some visualization tools, such as Panoply, to view the results.

Authors

You are welcome to join our team to develop a robust global model!

About

A dynamical core for solving geophysical fluid equations on the sphere with conservative finite difference methods

License:MIT License


Languages

Language:Fortran 98.3%Language:Python 1.1%Language:CMake 0.6%