Giter VIP home page Giter VIP logo

climaearth.jl's People

Contributors

glwagner avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

climaearth.jl's Issues

O5.1.1 SingleColumnModel interfaces required for ClimaEarth prototype

The Climate Modeling Alliance

Software Design Issue ๐Ÿ“œ

Implement SingleColumnModel interfaces required for ClimaEarth prototype (1 dt), use BOMEX and ClimaOcean SCM as examples. Goal: completes sim.

Purpose

We need to demonstrate the simplest case for coupling the Clima component models, namely ClimaAtmos and ClimaOcean. This issue focuses on interfaces only (few timesteps using the Single column models suffices).

More details to follow.

Cost/Benefits/Risks

People and Personnel

Components

  1. Illustrate how to set up the atmos and ocean columns (height, number of grid points, variable grid spacing).
  2. Illustrate how to change shared parameters via ClimaParams.
  3. Illustrate how to configure the physics of the single column models (configure turbulence parameterizations, Coriolis forces, etc).
  4. Take a few time steps, showing that fluxes are computed and exchanged correctly, and illustrating how to inspect the solution (probably using callbacks).

Inputs

Results and Deliverables

  • Documentation detailing functions and showing how to run simulation
  • Driver that runs coupled atmos/ocean simulation and produces animation

Task Breakdown And Schedule

SDI Revision Log

CC

@tapios @simonbyrne @cmbengue

Oceananigans-ClimaCore Rectangular Domain Prototype

(WIP)

The Climate Modeling Alliance

Software Design Issue ๐Ÿ“œ

Purpose

Showcase a new design for coupling ClimaOcean and ClimaCore-based models. The current ClimaCoupler assumes ClimaCore-based underlying objects, whereas ClimaOcean assumes Oceananigans-based objects, making the two difficult to communicate with each other. With this effort we aim to

  • unify the interfaces required to couple a component model to ClimaEarth, where the simulation will be setup
  • present a prototype as the basis for CMIP (on which we can iterate based on feedback)

Cost/Benefits/Risks

  • b: implements minimal features for ocean/atmosphere coupling
  • r: reasonable time investment

People and Personnel

Components

  • ClimaEarth.jl
    • Abstract Simulations from Oceananigans and generalize for use by other models
    • Coupler functionality (for prototyping, keep here, and later will likely be moved to out)
      • regridding
        • stagerring (use Oceananigans)
        • FV-FE (Cartesian available in ClimaCore)
      • masking and area fractions (perhaps not needed here?)
      • prescribed data readers (perhaps not needed here?)
      • flux calculation (NB: flux calculation outside of Atmos only really makes sense for one-timestep coupling)
      • flux accumulation
      • global checks
        • conservation checks: energy, water, mass, momentum
      • performance metrics
      • I/O readers/writers (checkpoints, restarts, diagnostics)
  • Atmosphere: a simple dry HeldSuarez that mimics the role of ClimaAmtos
  • Ocean: ClimaOcean model setup using ClimaEarth Simulations

Inputs

Results and Deliverables

  • Simulations in ClimaEarth.jl (QA: oceananigans runs as before)
  • ClimaHeldSuarez with tracers and Simulations interface (QA: same output as the example in ClimaCore)
  • Coupling prototype of the in a rectangular domain (QA: conservation and visual checks match)
  • Detailed CMIP Roadmap (QA: approved by higher management)

Task Breakdown And Schedule

  • ClimaHeldSuarez.jl

    • migrate ClimaCore example to ClimaHeldSuarez.jl and ensure it runs
    • implement ClimaHeldSuarezModel compatible with Simulations
    • write a CoupedModelComponent method dispatched AtmosModel
  • Oceananigans.jl / ClimaOcean.jl

  • ClimaEarth.jl

    • Setup CoupedModel, CoupedModelComponent, ... interface
    • Setup regridding (staggering in Oceananigans, FV-SE in ClimaCore)
    • Develop EarthSystemModel coupling ClimaOcean.jl and ClimaHeldSuarez.jl
    • conservation checks
    • Migrate Simulations from Oceananigans
    • I/O + simple diagnostics

SDI Revision Log

CC

@tapios @simonbyrne @cmbengue

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.