Code Monkey home page Code Monkey logo

carbocatlite's Introduction

CarboCAT Lite

CarboCATLite is a reduced complexity version of the CarboCAT model of carbonate platform growth developed by Peter Burgess, see Burgess (2013). CarboCATLite uses a cellular automata to model spatial competition between carbonate factories whose accumulation rates are dependent on environmental conditions (e.g., subsidence and sea level driven water depth, wave energy, etc.).

Running Instruction

GUI

  1. In Matlab, run the command
run carboCATGUI

This will open the CarboCATLite GUI

  1. Click the "initialize" button. This will import the model parameters from the params folder
  2. Click the "Run CA model" button to run the model. The model status is shown in the console. The run is finished if you see the message
Model complete after X iterations and ready to plot

in the console.

  1. After the run is finished, all model outputs are in the matlab workspace, and are saved into the file CarboCATLite_outputs.mat.

  2. To plot the results, click "plot run". This will generate the chronostratigraphic diagram and a basin transect in dip direction. Both the initial conditios and the chronostrat diagram/basin transect are automatically saved as .pdf files. WARNING: Generating the plots can take a long time. Saving the plots is finished once the message figure saved is displayed in the console.

CLI

  1. In Matlab, run the command
CarboCAT_cli("params/DbPlatform/paramsInputValues.txt", "params/DbPlatform/paramsProcesses.txt",
"model_run_42", "params/DbPlatform/seaLevelConst3000iterations.txt", true)

Input parameters:

ParamsPath: string, relative path to the file with parameters, e.g. "params/DbPlatform/paramsInputValues.txt"

ProcessPath: string, relative path to the file with the process settings, e.g. "params/DbPlatform/paramsProcesses.txt"

OutputName: string, name to which model outputs are saved, e.g. "model_run_42"

SeaLevelPath: string, relative path to the file with the sea level curve, e.g. "params/DbPlatform/seaLevelConst3000iterations.txt"

makePlot: logical, true or false. Should the chronostratigraphic plot be generated?

  1. After the run is finished, all model outputs are saved into the file given as OutputName. This file can be further analyzed using scripts in the repo MindTheGap-ERC/CarboCAT_utils.

License and copyright

Copyright for the original code (1.0.0) 2013-2023 University of Liverpool and Royal Holloway, University of London Copyright modifications proposed here: 2023-2024 Utrecht University, the Netherlands eScience Center and University of Liverpool

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

References

Burgess, Peter M. "CarboCAT: A cellular automata model of heterogeneous carbonate strata." Computers & geosciences 53 (2013): 129-140.

carbocatlite's People

Contributors

emiliajarochowska avatar niklashohmann avatar xyl96 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

carbocatlite's Issues

Make a version with hard-coded parameters to run from shell? (needed for "the triangle")

Currently CarboCATLite can be launched from the terminal like this:

matlab -nodesktop -nosplash -r "CarboCAT_cli("params/DbPlatform/paramsInputValues.txt", "params/DbPlatform/paramsProcesses.txt", "model_run_42", "params/DbPlatform/seaLevelConst3000iterations.txt", false); exit"

It starts correctly but gives the following matlab error:
Unrecognized function or variable 'params'.
The same command run from inside matlab works fine.

Starting matlab from shell according to https://stackoverflow.com/questions/33187141/how-to-call-matlab-script-from-command-line

What is the solution to this? Substitute the files in their location for each run and hardcode a path so it doesn't have to be passed as a parameter?

Work towards v1.1 release

Some things that need to be done for the v1.1 release. Feel free to add to the list

  • update citation.cff
  • add reference sea level curves (constant, maybe Miller et al. ?) and document choices
  • add reference sea level curves (ramp, platform, detached ramp & platform) and document choices
  • clear out code (e.g. one of the CA routines that does not work)
  • write documentation

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.