clawpack / classic Goto Github PK
View Code? Open in Web Editor NEWClassic single-grid Fortran routines
Home Page: http://www.clawpack.org
License: BSD 3-Clause "New" or "Revised" License
Classic single-grid Fortran routines
Home Page: http://www.clawpack.org
License: BSD 3-Clause "New" or "Revised" License
This repository will host the classic single-grid Clawpack code.
I think the _module
in all modules name is redundant. I propose to rename:
solution_module
-> solution
solver_module
-> solver
precision_module
-> precision
controller_module
-> controller
geometry_module
-> geometry
It's easier to type and consistent with other module names. Just like in Python, you also don't append _module
to Python module names.
If you agree, I'll send a PR.
In classic you currently need to set
clawdata.dt_variable = 1
whereas in the amr codes it is
clawdata.dt_variable = True
Perhaps fix clawutil/data.py so it accepts either and prints out 1 in the claw.data file?
Currently most the tests just build and run the code to completion instead of also checking the output.
Do something similar to
clawpack/pyclaw#467
in the Fortran codes.
From clawpack-4.x/apps, see http://depts.washington.edu/clawpack/users-4.6/apps.html:
We (meaning I) may as well implement the new run-time parameter asking for one-time output of aux in the new clawutil/data.py (the boolean parameter output_aux_onlyonce). I'd like to hear from @mandli or @ketch about the intended behavior when this parameter is set, so I can implement it in a way consistent with the other Clawpack variants.
Most of the examples/*/setrun.py files are very terse.
Rewrite using the template from amrclaw/examples or apps/fvmbook setrun files to include comments and other options.
Travis-CI is running (and failing) on this repository as we have added tests for the new version of the classic code. Should have at least a base .travis.yml
file so that it does not report failure all the time.
checkpoint and restart capabilities should eventually be added.
The 1D Classic output routine (out1.f) only puts out 8 digits after the decimal, while the 2D and 3D routines (out2.f and out3.f) output 16 digits. This was the case in Clawpack 4.6, so it's not clear to me whether it should be changed; in any case, this issue documents this unexpected behavior.
The 2D Classic code needs some integration tests. I'm planning to do that myself, but I'm adding the issue to remind myself.
This is an issue in classic, amrclaw, and geoclaw where the output routines use a format to print only 4 values (or sometimes 5 or 10) to a line in fort.q and fort.a files.
These should all be cleaned up to a uniform format such as
format(50e26.16)
so there is never danger of lines of output being broken.
See the discussion at clawpack/pyclaw#363, and much follow up on the claw-dev mailing list,
https://groups.google.com/forum/?fromgroups#!searchin/claw-dev/363/claw-dev/arv_a220obI/9cidhzs-3tgJ
where we decided this was a good idea but to put it off to 6.0.
But now I don't see any reason to put it off and we just ran into this issue again.
gauge output should be added to classic codes.
Can be copied from amrclaw/examples/acoustics_2d_radial/1drad
once PR clawpack/amrclaw#65 is merged.
Then test that scatter plot also shows 1d solution.
Until we have a Python set of 3D plotting routines, we need to include some way of plotting the results. This can probably be taken from @donnaaboise's 3D example.
There should be exactly one implicit none
in each module at the top. No function in that module should have it, as it is redundant (the module one applies to all functions in the module). I'll send a PR once #9 is in, to avoid merge conflicts.
As with 2D, Classic needs Travis CI tests for 1D, now that 1D is present.
The Makefiles
need to be modified a bit so that they have the correct options and defaults. See the swirl example for a template.
With the disappearance of the maxmx/maxmy/maxmz parameters and the reordering of the array indices, a lot of comments documenting subroutine arguments in the Classic code are out of date, especially in claw2 and claw3. These should be updated to reflect the new code. I'm registering this as an issue for the sake of documenting it, but I'm volunteering to do the work myself.
The one-dimensional code from 4.6 needs to be reordered and brought in to 5.0 (with replacements of 4.6 routines by PyClaw routines where applicable).
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.