Giter VIP home page Giter VIP logo

shake16's People

Contributors

ocrickard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

shake16's Issues

Allow input/output files to be specified via command-line input

As written SHAKE doesn't accept command-line arguments to specify input/output files. We should update it to take input/output file flags. This will make writing scripts and batch jobs for testing much easier. It also will make interop with other programs much simpler.

Consider updating the file formats to JSON

Most programs nowadays have settled on JSON as an intermediate form for most data. Data for SHAKE is not enormous, and would be much easier to parse/prepare for other programs if it were in JSON. This comes at the price of being a little harder to read by a human, but not that much worse.

There are now several good JSON implementations in FORTRAN. We should use one. A starting

The hard part will probably be all of the assumptions in the program about data format in the subroutines. I'm honestly not sure where problems will crop up.

Create a `make test` target

Start with a single integration test that compares the known input/output that was shipped with SHAKE91 to ensure we don't break it in the future.

Support more layers

Hello, thanks for the efforts! Do you think it possible to modify the code to support larger number of sublayers, e.g. >75 layers?

Fix compiler warnings

The modernized gfortran compiler has some warnings that it's concerned with:

gfortran -c A1.f
A1.f:939:8:
       A(2)=A(NTOT2+4)
        1
Warning: Array reference at (1) is out of bounds (2 > 1) in dimension 1
A1.f:222:16:
       call RFSN(X,MX,INV,S,IFERR,-2)
                1
Warning: Type mismatch in argument 'a' at (1); passed COMPLEX(4) to REAL(4)
A1.f:236:53:
         call  DRCTSP(NN,MMA, DT, GGT, ID, ZLD(L),NNM,X)
                                                     1
Warning: Type mismatch in argument 'a' at (1); passed COMPLEX(4) to REAL(4)
A1.f:819:19:
       A(NTOT2+4)=A(2)
                   1
Warning: Array reference at (1) is out of bounds (2 > 1) in dimension 1
A1.f:154:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons
gfortran -c B1.f
B1.f:126:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons
B1.f:235:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons
B1.f:290:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons
B1.f:343:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons

B1.f:471:17:
       common /EQ/ MFOLD,MA2,TITLE(5),DT, MA , MMA, DF,MX
                 1
Warning: Padding of 2 bytes required before 'dt' in COMMON 'eq' at (1); reorder elements or use -fno-align-commons
gfortran A1.o B1.o C1.o Main.o -o SHAKE91

Let's get these fixed.

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.