Git Product home page Git Product logo

mistra's Introduction

            _     _             
           (_)   | |            
  _ __ ___  _ ___| |_ _ __ __ _ 
 | '_ ` _ \| / __| __| '__/ _` |
 | | | | | | \__ \ |_| | | (_| |
 |_| |_| |_|_|___/\__|_|  \__,_|
                                
                                

!
! Copyright 1996-2017 the Authors
!
! Licensed under the EUPL, Version 1.1 only (the "Licence");
!
! You may not use this work except in compliance with the Licence.
! You may obtain a copy of the Licence at:
!   https://joinup.ec.europa.eu/software/page/eupl
!
! Unless required by applicable law or agreed to in writing,
! software distributed under the Licence is distributed on an
! "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
! either express or implied.
!
! See the Licence for the specific language governing permissions
! and limitations under the Licence.


Unless specifically specified in each file and/or routine, the principal Authors are:
  ** Andreas Bott ** ([email protected])
  ** Roland von Glasow **

Additional work to make mistra code available, and significant technical changes in the code
have been made by:
  ** Josue Bock ** ([email protected])



HOW TO RUN MISTRA -- in a nutshell:
-----------------------------------

1) Install KPP from https://github.com/Mistra-UEA/KPP-Mistra. Please refer to the README file in this KPP depository for instructions

2) Install a Fortran compiler (preferably ifort, alternatively gfortran) and the netcdf libraries

---

3) Check that C shell (csh) is installed on your system, then generate the mechanism files: in ./src/mech, run make

4) Check that netcdf libraries are installed on your system (locate netcdf.inc). If not, install the package libnetcdff-dev
Edit the Makefile (in ./src directory), set the correct path to the netcdf libraries and include file. Depending on netcdf distribution, use "-lnetcdf" or "-lnetcdf -lnetcdff".

5) Compile the code using "make".

6) In the param/param_... file, set the appropriate path to Mistra input files. It is advised to use a directory that will not be duplicated for each version the user will run, but choose a generic directory instead.
Set the appropriate path to parent output directory, to the executable, and set the namelist to be used.
Run the param_... file to run the model.

For more detailed information see the manual in the ./doc directory

mistra's People

Contributors

josuebock avatar rs028 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

mistra's Issues

Licence change

We should consider whether EUPL is the most appropriate licence for Mistra.

As I understand it, the EUPL was developed by the EU to cover the work of the commission and potentially of other EU funded projects. While nothing prevents its adoption by other projects, it seems an odd choice for Mistra for the following reasons:

  1. Mistra is scientific software and, by definition, science is international. Therefore it is irrelevant whether the licence is fully compatible with EU law or translated into all the EU languages.

  2. Most of the development of Mistra was not EU funded. Only a fraction of the work by @JosueBock that created the current version was funded by the EU, before they pulled the plug. The rest was done on a voluntary basis.

  3. Most of the users and developers - past and present - of Mistra are, or soon will be, outside the EU. This is not particularly important per se, it just means an EU centered licence is not relevant.

I think Mistra should be under a licence with global applicability and widely known/understood all over the world, especially within the scientific community. Personally, I think that it would be more appropriate to use either the GPL licence or, if we want to be more permissive, the MIT or BSD licence (see this website https://tldrlegal.com/ for more info).

There has never really been a discussion about this. I think we need to discuss it now and decide before the paper is ready to be published. Any thoughts/opinions @pb866, @JosueBock, @cereevesUEA?

KPP version

The directory kpp/ appears to contain a modified version of KPP for use with Mistra. Having a custom version means we need to keep the mistra branch of KPP in sync with the master branch which may prove tricky to do. @JosueBock can you provide information on this, please?

Complete documentation

  • Add LaTeX files (including figures) of the manual to the doc/ folder, so that it can be updated.
  • Add a CHANGELOG file to the main directory summarizing the changes since version 7.4.1 (I think this was the starting version of @JosueBock development work)
  • Add a CREDITS file to the main directory with the names of everybody who has contributed code over the years (this may require some digging, so let's start with the current list of names).
  • Any outstanding issues and things to do/check/fix/improve (and other things that need to be kept in mind for future development) should be listed as open issue on the github issues page.
  • There needs to be a little more explanation on how to use the model than the few lines in the README file.

Compilation fail

I am using the version of KPP provided with Mistra.
I tried to compile the model but it fails:

cd src/mech
make

KPP is parsing the equation file
Fatal error : atoms : can't read file

It seems atoms is required by src/mech/master.spc but there is no file with that name in the directory. Is there a file missing?

@pb866 did you manage to compile without errors?

Fortran 90 code

Conversion of the entire codebase to Fortran 90 (as mentioned in issue #6). This is partially done, but not completely. @JosueBock what is the current status?

Convert bash scripts

Need to make sure that all scripts are csh scripts, for consistency.
At the moment the following scripts are bash scripts:

  • src/plots/newfold.sh
  • param/param_jjb1
  • src/plots/make_ps.sc

Use `program`/`end program` for main programme in Mistra

In str.f, we should include a program str / end program str statement to make it clearer, where the main programme starts/end. Also, it is not quite clear, why the file is called str and we should consider to rename the file main routine to mistra.

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.