Comments (11)
I don't think, there will be a lot of changes to kpp and we will probably not need updates of future kpp versions, so I don't see as much of a problem here. But, again, I am not a big fan of man binary and compressed files in a git repository. We should keep the Mistra repo as clean and the file size as small as possible.
A better and more elegant solution would be to have a separate repository for kpp, where changes can be documented compared to the original version and work is performed independently of Mistra. In Mistra, we can then include kpp as a git submodule. This way, kpp is fixed to a certain version, which ensures kpp works with the respective mistra version and it is readily available from github. We could also adjust the makefile to install kpp on first use. We have done this for the box model DSMACC and it works really well.
from mistra.
I agree that KPP needs to be separate from Mistra. It is possibile to have two repos under the same organization so that seems the obvious solution.
I would like to know more about what is the need of a custom version of KPP. From what I understand this is a fork of the KPP fork for GEOS-Chem.
from mistra.
I agree with Peter that it is unlikely that KPP will evolve much in the future. You know, until I updated the version used in Mistra in 2016, it was still the first version of KPP which was used, and it was working.
The main reason to update it in Mistra was to use the latest (major) version, which is available online while the original (v1.0) version was no longer available.
Regarding the changes that I made in KPP, they are summarised in the CHANGELOG file of the KPP distribution provided with Mistra. You can also have a look to the various commits that I did on the f77 and mistra branches of the KPP bitbucket repository : https://bitbucket.org/gcst/kpp/commits/all
from mistra.
The last official version of kpp is 2.2.3. An update to that version was certainly due,
What I am asking is the reason behind the additional modifications, especially since it is not clear what are the different purpose of the various branches and their reltion to each other.
In particular:
- What is the f77 branch and is the mistra branch related to it or not?
- Why is the mistra branch on bitbucket different from that on github?
I understand the changes are listed in the changelog but it wpuld be good to have a less technical and more infornative summary in the kpp/README
file.
from mistra.
Most KPP users use the Fortran90 output, so they were not aware of specific issues related to the Fortran77 output. For that reason, the bugfix that I did and which are generic (i.e. not specific to Mistra) are located in the f77 branch.
Conversely, a few changes were directly related to Mistra, and for that reason I uploaded them in a specific Mistra branch.
I will have a look to the differences between the current Mistra branch on bitbucket, and the distribution provided with Mistra, and see if something is missing somewhere.
from mistra.
I just thought that if any user of Mistra already use the generic version of KPP for other projects, it would be convenient to keep both version (the generic KPP version plus the specific KPP_for_Mistra version) in parallel.
The implementation would be quite straightforward, so please let me know if this situation arise.
from mistra.
So if I understand KPP4GC was a fork of KPP v2.2.3. Your forked two branches from KPP4GC (one called mistra and one called f77) and eventually merged them into the mistra branch. Then you applied a few more changes and that's how we end up with kpp version 2.2.4_GC which is currently in the kpp/
folder. Is this correct?
from mistra.
Adrian Sandu released the latest version of KPP (v2.2.3) in November 2012 (see his webpage: http://people.cs.vt.edu/~asandu/Software/Kpp/ tab Download). As far as I know, he is no longer committed in the developpement of KPP, probably because the version 2.2.3 has been brought to completion, and does not require further developments for most current users.
Nevertheless, I diagnosed some bugs in this version, and corrected them. In order to discuss and release these bugfixes, I contacted Rolf Sander, who told me about the GEOS-Chem Support Team, which is apparently the only group to maintain KPP with either bugfixes or developments.
This is, historically, the reason why the first bugfixes that I did were uploaded by Rolf Sander, as a F77 branch of KPPv2.2.3_GC, which was itself a branch of the official release by Adrian Sandu.
See the following commit:
https://bitbucket.org/gcst/kpp/commits/095f8617f47b35178f00de9cf1acb2b13febf872
The further changes that I implemented in KPP were then uploaded in the same F77 branch, or in the mistra branch, which should be identical to the F77 branch except for some KPP tuning specific to mistra.
Regarding the name of the KPP distribution currently included with Mistra, to be honest I can't remember why the "_GC" is there, it would be better to label it "KPPv2.2.3_mistra". I will first double check that the whole distribution is identical to the mistra branch, then correct the archive name (and/or its content if needed). However, I am fairly confident that I dit it right, and maybe just messed up the archive name.
from mistra.
All right. It is good to have all this explained clearly, for the record.
The name of the version does not really matter, but yes it makes more sense to add "mistra" as a suffix.
from mistra.
Closed this by mistake. From what I can see the final version of the mistra branch on bitbucket has these differences with the version of KPP shipped with Mistra:
- minor differences in
int/rosenbrock.f
and inMakefile.defs
- deleted files
rosenbrock_split.def
androsenbrock_split.f90
inint/
- deleted a number of files in
util/
- deleted directory
int.modified_WCOPY/
- added
CHANGELOG
and a diff file
from mistra.
History of changes for KPP now fully documented, from v2.2.3 to the current version, in a separate repository : https://github.com/Mistra-UEA/KPP-Mistra
from mistra.
Related Issues (7)
- Complete documentation HOT 3
- Licence change HOT 3
- Use `program`/`end program` for main programme in Mistra HOT 3
- Compilation fail HOT 8
- Convert bash scripts HOT 1
- Fortran 90 code HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mistra.