Giter Club home page Giter Club logo

Comments (3)

beddalumia avatar beddalumia commented on July 27, 2024

Is arpack-ng (instead of arpack) used really?

Yes, look at the log of commit 8e1d8cd for some clarification in this regard. I'm not sure about the other libraries though. I mean yes, currently they are built from source together with our modules, but I don't know if they are untouched wrt the original releases and if we could want to unbundle them to rely on external linking. Without exact version management it could easily become a maintenance nightmare. Probably if we ever switch1 to the Fortran Package Manager (which hasn't got the the 1.0 version yet) and those packages move too we could start considering it.

Names and directories structure convention

I don't really know if there's even more rationale, but for sure we are quite a bit constrained by HPC environments (where SciFortran is ran the most, as far as I'm aware). Therein users have no root privileges and so access to those directories can be problematic. That's why everything is under ~/ and we provide an easy interface to Environment Modules.

Release circle: could it be less often, with accumulation of several fixes and features?

Mmm, I'd say not, for similar reasons of the above: we rely a lot on git tags to identify which version we are running on the HPC environment (basically the modules have the form scifor/platform/tag). That's why every single bugfix / feature is tagged. We are DevOps and we need to run / test easily the latest version on master quite often, nevertheless maintaining the possibility to roll-back of one or two commits if something breaks our computations.

Many places of scifor project store version number and it's frozen at 4.7.3

Yes you are right that this has to be avoided. I recently (03228bc) deleted the SET(VERSION X.Y.Z) line in the top-level CMakeLists file, as it is superfluous (again, we rely on git tags). If other spurious version numbers would be found similar action would be taken.

Documentation, examples, tests

You are totally right here. Some testing has been recently set up (d62d0ce) in a tentative workflow. We plan to greatly expand the test suite in the forthcoming months. We plan to set up a continuous delivery workflow too, aimed at automated generation and web deployment of an API documentation. This has already been done for our new library, HoneyTools. Here there is much more work to do, as SciFortran is extensive and source comments are a lot less uniform (given the long-lived development and the great amount of legacy code), but we are working on that. :)

Footnotes

  1. We plan to start supporting it, as an alternative to CMake, but I find quite unlikely a full switch in the foreseeable future.

from scifortran.

beddalumia avatar beddalumia commented on July 27, 2024

About libraries:

Well actually only ARPACK1 seems to be missing from the fpm stack...

Footnotes

  1. Unfortunately ARPACK-NG seems frozen at 2020 and supports CMake builds only.

from scifortran.

beddalumia avatar beddalumia commented on July 27, 2024

Brief update: API docs generation has been introduced in commit b22ff66, you can inspect the output for the latest version on master at https://qcmplab.github.io/SciFortran or build a local version for any later commit/tag by running ford docs.config in the root of the repository.

from scifortran.

Related Issues (19)

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.