Code Monkey home page Code Monkey logo

access-om3-doc's Introduction

ACCESS-OM3 Documentation

Experimenting with ways to document COSIMA's ACCESS-OM3 global ocean - sea ice - wave model.

There's almost nothing here yet! Watch this space.

Quick start

Do this to download the sources for this document:

git clone --recursive https://github.com/COSIMA/access-om3-doc.git  # NB: need --recursive due to submodules
cd access-om3-doc
./setup.sh 

You should then be able to generate access-om3-doc.pdf using latex. You'll also need to run bibtex to get the references and makeindex to make the index.

Pulling updates

To update a previous clone of this repository to the latest version, you will need to do

git pull
git submodule update --init  # update all the submodules

File/directory layout

configs contains submodules which have namelists of interest. See .gitmodules for their origin. See below for how to add and update configurations.

tables contains tabulated namelists in various formats including markdown and CSV. Those with _diff in the name only include differences.

make_tables.py updates the tables of namelists in the tables directory. Requires nmltab.

update_configs.sh updates submodules in configs.

access-om3-doc.tex is draft documentation in Latex.

Changing configurations

Updating configurations

The submodules in the configs directory are pinned to particular commits. If you want to update them to the latest commits on the specified branches, run update_configs.sh. Then run make_tables.py if you want to update the tables.

Altering configurations

If you edit .gitmodules to change the submodule's url or branch, you'll need to run git submodule sync and then update_configs.sh.

Adding new configurations

Configurations in the configs directory are all submodules.

To add a new configuration, do this:

git submodule add -b <branch> <repo-url> configs/<config-name>

where <config-name> uniquely identifies the repository and branch, and does not already exist in configs, e.g.

git submodule add -b 1deg_jra55do_iaf https://github.com/COSIMA/MOM6-CICE6.git configs/MOM6-CICE6_1deg_jra55do_iaf

(Note: you need to explicitly specify the branch (even if it's the default branch), because update_configs.sh needs it. If you forgot to do this, you can define a branch for an existing submodule with git submodule set-branch -b <branch> configs/<config-name>; then run update_configs.sh.)

You might then want to edit and run make_tables.py to make new tables using your added configurations.

Removing configurations

git rm configs/<config-name>

then edit make_tables.py to remove references to the removed configuration.

NB: tables with the removed configurations will still exist in tables. To remove these, do rm -r tables and run make_tables.py. Also remove references to the removed tables from access-om3-doc.tex.

access-om3-doc's People

Contributors

aekiss avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

access-om3-doc's Issues

Use Overleaf?

Overleaf is an online Latex editor that facilitates online collaborative editing of latex documents. I've been using it for a while and it's excellent.

Overleaf also has GitHub integration/synchronisation. It's a paid feature, but it could work pretty effectively here. I could investigate the possibility of ACCESS-NRI paying for a license?

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.