Coder Social home page Coder Social logo

platipodium / mossco-code Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 3.0 111.57 MB

Backup of sf.net mossco/code git repository

Makefile 2.56% Fortran 75.20% Python 13.66% Shell 1.68% C 0.65% Jupyter Notebook 6.20% Cython 0.05%
fabm mossco gotm couplers esmf coupler modular earth-science esm

mossco-code's Introduction

DOI Build Status

This is the main directory of MOSSCO, also called $MOSSCO_DIR

To quickly start, read the file QuickStart.md or QuickStart.pdf

Why MOSSCO?

MOSSCO, the "Modular System for Shelves and Coasts" is a framework for coupling processes or domains that are originally developed in standalone numerical models.

The software MOSSCO implements this infrastructure in the form of a library of components and couplers, and of example coupled applications. The components "wrap" external models used in coastal and shelf sciences, such as the Framework for Aquatic Biogeochemistry (FABM), the General Ocean Turbulence Model (GOTM), or the Delft3D erosion model (EROSED). These wrapped components are then coupled to each other in the Earth System Modeling Framework (ESMF).

MOSSCO is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3+. MOSSCO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Consult the file doc/license/LICENSE.GPL or http://www.gnu.org/licenses/gpl-3.0.txt for the full license terms.

What is here?

This main directory $MOSSCO_DIR contains four subdirectories

  • ./src for the library of drivers, components, and couplers. You should not have to change this unless you want to develop your own components;
  • ./doc for documentation. You really should read this or the online documentation at http://www.mossco.de/doc;
  • ./examples for example applications to be used as templates.

What is not here?

This directory produces only the libraries (from ./src) and some example executables (from ./examples). It does not contain forcing files or parameters to run a scientifically usable simulation. Please git clone the separate repository located at http://git.code.sf.net/p/mossco/setups into a directory of your choice (which you should point to with the environment variable $MOSSCO_SETUPDIR).

The documentation

To create the documentation with full installation instructions, type

	make doc

This generates a pdf file in $MOSSCO_DIR/doc/mossco_reference_manual.pdf and a html version at $MOSSCO_DIR/doc/reference_manual/html/index.html. There is also a pre-built online documentation at http://www.mossco.de/doc with detailed installation instructions, if your system is missing latex/doxygen for building the documentation yourself.

Installation

To make the MOSSCO libraries, i.e. drivers, components, and utilities, you need to have a compiled version of the Earth System Modeling Framework (ESMF), with known location of the esmf.mk Makefile pointed to by the variable $ESMFMKFILE

Then, simply type

	make

To make some examples, type

	make examples

If you want to learn what you can do with MOSSCO examples, read the very short tutorial in the file $MOSSCO_DIR/QuickStart.md

Should you encounter errors or annoyances (such that this just does not work out of the box, please consult the documentation, and visit the bugs database at http://www.mossco.de/bugs.

More components and examples are built when external models, like FABM, GOTM, GETM, or EROSED are installed on your system. Please consult the documentation for information on how to build MOSSCO with any of these external models. Or, simply try

	make external

Running an example

In the folder $MOSSCO_DIR/examples/generic several coupling specifications have been compiled describing different coupled systems, see QuickStart.md to learn quickly about one example.

The example executables should not be executed locally, but instead, you should download/create a set of setups and run the examples within a setup. Again, see QuickStart.md or the full documentation for more information.

mossco-code's People

Contributors

hnaserm avatar hofmeist avatar kaiwirtz avatar knutaros avatar platipodium avatar rokuingh avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.