mistra-uea / mistra Goto Github PK
View Code? Open in Web Editor NEWMistra -- Microphysical model of stratus
License: European Union Public License 1.1
Mistra -- Microphysical model of stratus
License: European Union Public License 1.1
_ _ (_) | | _ __ ___ _ ___| |_ _ __ __ _ | '_ ` _ \| / __| __| '__/ _` | | | | | | | \__ \ |_| | | (_| | |_| |_| |_|_|___/\__|_| \__,_| ! ! 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
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:
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.
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.
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?
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?
doc/
folder, so that it can be updated.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)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).README
file.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?
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?
Need to make sure that all scripts are csh
scripts, for consistency.
At the moment the following scripts are bash
scripts:
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
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.