ocrickard / shake16 Goto Github PK
View Code? Open in Web Editor NEWAn updated version of SHAKE91, Equivalent Linear Seismic Response Analysis of Horizontally Layered Soil Deposits
License: Other
An updated version of SHAKE91, Equivalent Linear Seismic Response Analysis of Horizontally Layered Soil Deposits
License: Other
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.
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.
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.
The LLVM compiler being released later this year is big news for old codes like this. It means that we can hope to target new architectures like ARM without rewriting the computational core or using tools like f2c.
When the code is published later this year, we should ensure compatibility with the source.
Hello, thanks for the efforts! Do you think it possible to modify the code to support larger number of sublayers, e.g. >75 layers?
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.
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.