AnuGA for the simulation of the shallow water equation

Overview
travis ci status appveyor status Latest Version

ANUGA

What is ANUGA?

ANUGA (pronounced "AHnooGAH") is open-source software for the simulation of the shallow water equation, in particular it can be used to model tsunamis and floods.

ANUGA is a python package with some C extensions (and an optional fortran extension). At present ANUGA has not been ported to python 3. We recommend using python 2.7

Developed at Geoscience Australia and Mathematical Sciences Institute at the Australian National University.

Copyright Commonwealth of Australia (Geoscience Australia) and Australian National University 2017

Installation

For installation instructions, see INSTALL.rst

Documentation and Help

ANUGA documentation is available in the doc folder. In particular the user_manual

Also helpful information is available noline at

http://anuga.anu.edu.au

A collection of online jupyter notebooks which can run under google's colab environment can be found at:

https://github.com/stoiver/anuga-clinic-2018

Mailing Lists

You can subscribe to our mailing via:

https://lists.sourceforge.net/lists/listinfo/anuga-user

and send questions using the address

[email protected]

Web sites

The user's site is: http://anuga.anu.edu.au/ The WikiPedia for ANUGA is: https://en.wikipedia.org/wiki/ANUGA_Hydro The GitHub repository for ANUGA is: https://github.com/GeoscienceAustralia/anuga_core

A viewer is available for displaying the ANUGA sww output files. ANUGA viewer repository is: https://github.com/GeoscienceAustralia/anuga-viewer

Latest source code

The latest development version of ANUGA's sources are is available at:

https://github.com/GeoscienceAustralia/anuga_core

They can be downloaded as a zip file or using the Git client as follows

git clone https://github.com/GeoscienceAustralia/anuga_core (for read only) git clone [email protected]:GeoscienceAustralia/anuga_core.git (to contribute)

For the latter option see e.g. https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ for instructions on how to authenticate using ssh keys.

Bug reports

To search for bugs or report them, please use the ANUGA's Bug Tracker at:

https://github.com/GeoscienceAustralia/anuga_core/issues

Developer information

If you would like to take part in ANUGA development, take a look at CONTRIBUTING.rst.

License information

See the file LICENSE.txt for information on the history of this software, terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES.

Contacts

At the Australian National University:

Stephen Roberts Lead Developer <[email protected]>

At Geoscience Australia:

Gareth Davies Developer <[email protected]>

Comments
  • anuga parallel reducing Geospatial data reading timing

    anuga parallel reducing Geospatial data reading timing

    Hello I am using anuga in my project for model simulation and successfully run my data in serial and parallel(4 cores) but when I am comparing result output timings
    using DEM and creating domain by anuga.create_domain_from_regions

    Geospatial_data: Reading block taking 24 mins in serial and 36 mins in parallel(4 cores)

    why that much difference is there and what is the actual process while reading Geospatial data. I checked code in anuga directory geospatial_data.py

    can anyone help how to reduce data reading time in parallel.

    Regards, Tejaswi

    opened by TejaswiRJadhav 13
  • Anuga windows installtion error

    Anuga windows installtion error

    I am trying to install anuga on windows 10 and with puython 2.7.5 python runtests.py gives following error

    running build_py copying anuga\revision.py -> build\lib.win-amd64-2.7\anuga copying build\src.win-amd64-2.7\anuga_config_.py -> build\lib.win-amd64-2.7\anuga running build_clib customize MSVCCompiler customize MSVCCompiler using build_clib running build_ext customize MSVCCompiler customize MSVCCompiler using build_ext building 'anuga.abstract_2d_finite_volumes.neighbour_mesh_ext' extension compiling C sources C:\Users\Admin\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ianuga\utilities -IC:\OSGeo4W64\apps\Python27\lib\site-packages\numpy\core\include -Ianuga\pymetis\metis-4.0 -IC:\OSGeo4W64\apps\Python27\include -IC:\OSGeo4W64\apps\Python27\PC /Tcanuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c /Fobuild\temp.win-amd64-2.7\Release\anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.obj Found executable C:\Users\Admin\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe Running from anuga source directory. neighbour_mesh_ext.c c:\osgeo4w64\apps\python27\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION anuga\utilities\util_ext.h(55) : error C2059: syntax error : 'type' anuga\utilities\util_ext.h(63) : error C2059: syntax error : 'type' anuga\utilities\util_ext.h(320) : error C2065: 'func' : undeclared identifier anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(43) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(44) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(116) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(122) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(123) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(128) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c(134) : warning C4244: '=' : conversion from 'npy_intp' to 'int', possible loss of data error: Command "C:\Users\Admin\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Ianuga\utilities -IC:\OSGeo4W64\apps\Python27\lib\site-packages\numpy\core\include -Ianuga\pymetis\metis-4.0 -IC:\OSGeo4W64\apps\Python27\include -IC:\OSGeo4W64\apps\Python27\PC /Tcanuga\abstract_2d_finite_volumes\neighbour_mesh_ext.c /Fobuild\temp.win-amd64-2.7\Release\anuga\abstract_2d_finite_volumes\neighbour_mesh_ext.obj" failed with exit status 2

    Build failed!

    opened by TejaswiRJadhav 13
  • compile the anuga with python3.6

    compile the anuga with python3.6

    Hi everyone:

    Also @stoiver . Can I compile the anuga with python3.6 under ubuntu18.04? I see the python version of python is 2.7 almostly. If I use python 3.6, is there any problem? I will try and hope to get your experiences.

    Best reagards dongxueyang

    opened by Dongxueyang 12
  • Segmentation fault on tests

    Segmentation fault on tests

    Hi I'm getting a segmentation fault when running the tests. I am running on ubuntu, using a conda environment. My exact installation process was as follows:

    conda create -n anuga python=2
    source activate anuga
    conda install nose numpy scipy matplotlib netcdf4
    conda install -c pingucarsti gdal
    git clone https://github.com/GeoscienceAustralia/anuga_core.git
    cd anuga_core/
    python setup.py build
    python setup.py install
    

    Then running python runtests.py gives the following output:

    $ python runtests.py 
    Building, see build.log...
    Build OK
    Running unit tests for anuga
    NumPy version 1.13.1
    NumPy relaxed strides checking option: True
    NumPy is installed in /home/james/miniconda3/envs/anuga/lib/python2.7/site-packages/numpy
    Python version 2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:09:15) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
    nose version 1.3.7
    ...............................................................................................Segmentation fault (core dumped)
    
    opened by JamesRamm 11
  • using non-uniform mesh

    using non-uniform mesh

    Hi, I am use ANUGA to simulate rainfall over DEM. It works as I used uniform size mesh anuga.rectangular_cross_domain().

    ncols     = 648
    nrows     = 802
    xllcorner = -52.17979305225
    yllcorner = -1283978.9725515
    cellsize  = 290.34756669662
    domain    = anuga.rectangular_cross_domain(ncols, nrows, ncols*cellsize, nrows*cellsize, [xllcorner, yllcorner])
    

    However, it gave warning as I used non-uniform mesh, and produce zero depth in the results, also delta t = 1000, the piece of code:

    bounding_polygon = anuga.read_polygon('extent.csv')  # Extent.
    domain           = anuga.create_domain_from_regions(bounding_polygon,
                                        boundary_tags={'top':    [0],
                                                       'right':  [1],
                                                       'bottom': [2],
                                                       'left':   [3]},
                                        maximum_triangle_area=50000,
                                        #interior_regions=[[bounding_polygon,500000]],
                                        mesh_filename='tx_300m.msh',
                                        use_cache=False,
                                        verbose=True,
                                        fail_if_polygons_outside=True)
    

    The warning is:

    /home/wlai/anaconda3/envs/anuga/lib/python2.7/site-packages/anuga/shallow_water/shallow_water_domain.py:2219: RuntimeWarning: invalid value encountered in less
      negative_ids = num.where( num.logical_and((Stage.centroid_values - Elev.centroid_values) < 0.0 , tff > 0) )[0]
    /home/wlai/anaconda3/envs/anuga/lib/python2.7/site-packages/anuga/file/sww.py:343: RuntimeWarning: invalid value encountered in greater_equal
      storable_indices = num.array(w-z >= self.minimum_storable_height)
    /home/wlai/anaconda3/envs/anuga/lib/python2.7/site-packages/anuga/file_conversion/sww2dem.py:197: RuntimeWarning: invalid value encountered in greater
      q = fid.variables[name][:].flatten()
    

    The whole code is also provided here. Thank you for your help.

    """Test with Tx300 DEM.
    """
    
    #------------------------------------------------------------------------------
    # Import necessary modules
    #------------------------------------------------------------------------------
    # Standard modules
    import os
    import time
    import sys
    import anuga
    import numpy
    from math import sin, pi, exp
    
    time00 = time.time()
    
    #------------------------------------------------------------------------------
    # Setup computational domain
    #------------------------------------------------------------------------------
    anuga.asc2dem('tx_300m.asc')
    anuga.dem2pts('tx_300m.dem')
    
    # FIXME, tx300m Rainfall using non-uniform mesh doesnt work. 
    bounding_polygon = anuga.read_polygon('extent.csv')  # Extent.
    domain           = anuga.create_domain_from_regions(bounding_polygon,
                                        boundary_tags={'top':    [0],
                                                       'right':  [1],
                                                       'bottom': [2],
                                                       'left':   [3]},
                                        maximum_triangle_area=50000,
                                        #interior_regions=[[bounding_polygon,500000]],
                                        mesh_filename='tx_300m.msh',
                                        use_cache=False,
                                        verbose=True,
                                        fail_if_polygons_outside=True)
    
    '''
    # Try uniform mesh. This works.
    ncols     = 648
    nrows     = 802
    xllcorner = -52.17979305225
    yllcorner = -1283978.9725515
    cellsize  = 290.34756669662
    domain    = anuga.rectangular_cross_domain(ncols, nrows, ncols*cellsize, nrows*cellsize, [xllcorner, yllcorner])
    '''
    # Print some stats about mesh and domain
    print 'Number of triangles = ', len(domain)
    print 'The extent is ', domain.get_extent()
    #print domain.statistics()
                      
    #------------------------------------------------------------------------------
    # Setup parameters of computational domain
    #------------------------------------------------------------------------------
    domain.set_name('tx_300m') # Name of sww file
    domain.set_datadir('.')                       # Store sww output here
    domain.set_minimum_storable_height(0.01)      # Store only depth > 1cm
    domain.set_flow_algorithm('DE0')
    
    #------------------------------------------------------------------------------
    # Setup initial conditions
    #------------------------------------------------------------------------------
    domain.set_quantity('friction', 0.03)
    domain.set_quantity('elevation', 
                        filename='tx_300m.pts',
                        use_cache=True,
                        verbose=True,
                        alpha=0.1)
    h = 0.0
    domain.set_quantity('stage', expression='elevation + %f' % h)  ## FIXME, set depth?
    
    #------------------------------------------------------------------------------
    # Setup boundary conditions
    #------------------------------------------------------------------------------
    bc_wall = anuga.Reflective_boundary(domain)      # Solid reflective wall
    bc_out  = anuga.Transmissive_boundary(domain)
    # Associate boundary tags with boundary objects
    domain.set_boundary({'left': bc_out, 'right': bc_out, 'top': bc_out, 'bottom': bc_out})
    
    #---------------------------------------------------------------------------------------
    # Rainfall WL. Note rainfall file is daily accumulated rainfall in inch/day.
    anuga.asc2dem('tx_rainfall.asc')
    anuga.dem2pts('tx_rainfall.dem')
    
    ncols            = 41
    nrows            = 50
    xllcorner        = -4757.5382496486
    yllcorner        = -1288482.8472377
    cellsize         = 4763
    rainfall_domain  = anuga.rectangular_cross_domain(ncols, nrows, ncols*cellsize, nrows*cellsize, [xllcorner, yllcorner])
    
    # Print some stats about mesh and domain
    #print 'Number of triangles = ', len(rainfall_domain)
    #print 'The extent is ', rainfall_domain.get_extent()
    #print rainfall_domain.statistics()
    
    rainfall_domain.set_quantity('stage', 
                        filename='tx_rainfall.pts',
                        use_cache=True,
                        verbose=True,
                        alpha=0.1)
    
    #print 'rainfal domain ', dir(rainfall_domain)
    conv      = 2.9398e-7   # convert inch/day to meter/sec.
    inter_pts = domain.get_vertex_coordinates()
    rf_accu   = rainfall_domain.get_quantity('stage').get_values(interpolation_points=inter_pts)
    rf_accu   = numpy.reshape(rf_accu, (domain.get_number_of_triangles(), 3))
    rf_rate   = conv * rf_accu
    print 'number of inter_pts', len(inter_pts), ',size of inter_pts', sys.getsizeof(inter_pts), ',shape:', inter_pts.shape
    print 'number of rf_rate',   len(rf_rate),   ',size of rf_rate',   sys.getsizeof(rf_rate),   ',shape:', rf_rate.shape
    #print 'domain.eleveation shape : ', len(domain.quantities['elevation']), ', col', len((domain.quantities['elevation'])[0])
    '''
    print domain.get_number_of_nodes()
    print domain.get_number_of_triangles()
    print domain.get_unique_vertices()
    
    print rainfall_domain.get_number_of_nodes()
    print rainfall_domain.get_number_of_triangles()
    '''
    #------------------------------------------------------------------------------
    # Evolve system through time
    #------------------------------------------------------------------------------
    
    dt      = 60  # Timestep in seconds.
    rf_rate = abs(rf_rate * dt)
    for t in domain.evolve(yieldstep=dt, finaltime=1200.0):
        print domain.timestepping_statistics()
        domain.add_quantity('stage', rf_rate)
    
    # Print time.
    print 'That took %.2f seconds' %(time.time()-time00)
    
    # Create inundation map.
    anuga.sww2dem('tx_300m.sww', 'inundation.asc', quantity='stage-elevation', cellsize=300,reduction=max,verbose=True)
    
    opened by wlai2014 8
  • Installation issue: Anuga_parallel with Intel MPI

    Installation issue: Anuga_parallel with Intel MPI

    I tried installing Anuga in parallel with Intel MPI. In the documentation, we have used either openmpi or mpich2. Running tests with Intel MPI fails with signal 9 always. Any plan for supporting Intel MPI?

    with command-

    export ANUGA_PARALLEL="openmpi"

    Shall I use export ANUGA_PARALLEL="intelmpi" ?

    opened by samcom12 6
  • Update neighbour_table_ext to c++

    Update neighbour_table_ext to c++

    C++ version of the neighbour_table_ext.c module using stl's unordered_map and minimalistic hash-function instead of uthash. Also changed integer-types used to long.

    I currently use this and so far it works (tested up to ~1000mio triangles), but as @stoiver mentioned a C module would be preferred. Uploaded this so someone with Windows/MacOS systems can test if it would compile without having to mess with additional compiler. (I used g++ 6.3.0 on debian)

    opened by ninnghazad 6
  • added function test_set_quantity_from_file to test the results of set_quantity and set_values from pts, asc and dem files

    added function test_set_quantity_from_file to test the results of set_quantity and set_values from pts, asc and dem files

    added function test_set_quantity_from_file in test_shallow_water_domain.py to test the results of set_quantity and set_values from pts, asc and dem files. The result of set_quantity and set_values should be the same.

    opened by acer8 6
  • Using ANUGA for Dam Break Studies

    Using ANUGA for Dam Break Studies

    Hi,

    I was wondering if is suitable for dam breach flooding modelling? If so, can you please share a dam breach case study or application using ANUGA?

    Thank you.

    opened by eddpascoal 5
  • MacOS Install Error

    MacOS Install Error

    Dear admin,

    I ve been trying to install Anuga on my MacOS but have not had much success. I have installed on my Ubuntu alright. However, as I have tried the install_conda_macos.sh file, I had no success. I have used python2 command instead of python throughout the command list and the installation seems to go all the way to the end. But as I try to runtests.py, lots of errors pop up. I haven't gone through all of them because I am not sure whether there are incompatibilities related to python scripts and Mac. If there are any specific detail I should care about while attempting an install on MacOS I would much appreciate, as I have not read anything at Github description page.

    Cheers Diogo

    opened by diogoamore 4
  • segfault in neighbour_table_ext.so with large domains

    segfault in neighbour_table_ext.so with large domains

    suspecting int32 overflow and trying to migrate neighbour_table_ext.c towards larger integers. what was the reason to use uthash, and would using a different hasher with a nice license be an ok thing to do? (if actually needed, maybe uthash isn't the problem) how about rewriting the module to use c++? would open up using STL instead of custom hashtable. but one would need a c++ compiler to install ANUGA.

    domain = anuga.shallow_water.shallow_water_domain.Domain(p,v,b)
    
    [neutron:23330] *** Process received signal ***
    [neutron:23330] Signal: Segmentation fault (11)
    [neutron:23330] Signal code: Address not mapped (1)
    [neutron:23330] Failing at address: 0x17
    [neutron:23330] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7ffff7bcd0c0]
    [neutron:23330] [ 1] /usr/local/lib/python2.7/dist-packages/anuga/abstract_2d_finite_volumes/neighbour_table_ext.so(add_edge+0x356)[0x7ff7e7a6f0f6]
    [neutron:23330] [ 2] /usr/local/lib/python2.7/dist-packages/anuga/abstract_2d_finite_volumes/neighbour_table_ext.so(_build_neighbour_structure+0x6b)[0x7ff7e7a6fc8b]
    [neutron:23330] [ 3] /usr/local/lib/python2.7/dist-packages/anuga/abstract_2d_finite_volumes/neighbour_table_ext.so(build_neighbour_structure+0xc8)[0x7ff7e7a6fe98]
    [neutron:23330] [ 4] python(PyEval_EvalFrameEx+0x69a)[0x55555564f3ca]
    [neutron:23330] [ 5] python(PyEval_EvalFrameEx+0x5eef)[0x555555654c1f]
    [neutron:23330] [ 6] python(PyEval_EvalCodeEx+0x255)[0x55555564d535]
    [neutron:23330] [ 7] python(+0x115ea8)[0x555555669ea8]
    [neutron:23330] [ 8] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [ 9] python(+0x12bfee)[0x55555567ffee]
    [neutron:23330] [10] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [11] python(PyEval_CallObjectWithKeywords+0x7d)[0x55555565947d]
    [neutron:23330] [12] python(PyInstance_New+0x7c)[0x55555566ce3c]
    [neutron:23330] [13] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [14] python(PyEval_EvalFrameEx+0x60ff)[0x555555654e2f]
    [neutron:23330] [15] python(PyEval_EvalCodeEx+0x255)[0x55555564d535]
    [neutron:23330] [16] python(+0x115ea8)[0x555555669ea8]
    [neutron:23330] [17] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [18] python(+0x12bfee)[0x55555567ffee]
    [neutron:23330] [19] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [20] python(PyEval_EvalFrameEx+0x60ff)[0x555555654e2f]
    [neutron:23330] [21] python(PyEval_EvalCodeEx+0x255)[0x55555564d535]
    [neutron:23330] [22] python(+0x115cee)[0x555555669cee]
    [neutron:23330] [23] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [24] python(+0x12bfee)[0x55555567ffee]
    [neutron:23330] [25] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [26] python(PyEval_CallObjectWithKeywords+0x30)[0x555555659430]
    [neutron:23330] [27] python(PyInstance_New+0x7c)[0x55555566ce3c]
    [neutron:23330] [28] python(PyObject_Call+0x43)[0x55555563b673]
    [neutron:23330] [29] python(PyEval_EvalFrameEx+0x60ff)[0x555555654e2f]
    [neutron:23330] *** End of error message ***
    
    opened by ninnghazad 4
  • Error running Anuga_py3 branch on large number of nodes

    Error running Anuga_py3 branch on large number of nodes

    Hi .. I have installed Anuga_py3 and it runs well with a smaller number of nodes, but it fails to run on a large number of nodes with the below error.

    Traceback (most recent call last):
      File "test.py", line 79, in <module>
        domain = distribute(domain, verbose=verbose)  # divide domain into no of cores
      File "/home/samir/miniconda3/envs/anuga_py3_mpich/lib/python3.7/site-packages/anuga/parallel/parallel_api.py", line 99, in distribute
      File "/home/samir/miniconda3/envs/anuga_py3_mpich/lib/python3.7/site-packages/anuga/utilities/parallel_abstraction.py", line 241, in send
      File "mpi4py/MPI/Comm.pyx", line 1406, in mpi4py.MPI.Comm.send
      File "mpi4py/MPI/msgpickle.pxi", line 185, in mpi4py.MPI.PyMPI_send
    mpi4py.MPI.Exception: Other MPI error, error stack:
    PMPI_Send(157)...................: MPI_Send(buf=0x564a90cbb350, count=130673, MPI_BYTE, dest=1052, tag=1, MPI_COMM_WORLD) failed
    MPIDI_CH3_EagerContigSend(195)...: failure occurred while attempting to send an eager message
    MPID_nem_tcp_iStartContigMsg(349):
    MPID_nem_tcp_connect(858)........: unable to create a socket, Too many open files (errno 24)
    
    opened by samcom12 5
  • Is the code can be used for the simulation of the solute transportation and  diffusion?

    Is the code can be used for the simulation of the solute transportation and diffusion?

    Hello everyone, I want to simulate the viration of water quality in the river. Is the code can be used for the simulation of the solute transportation and diffusion? Or is there any other codes that can be used for? Thanks a lot! Henry

    opened by xuhenry 0
  • Input files with stl format

    Input files with stl format

    Hi sir: @stoiveroberts Now I can see that the anuga can read a topography with an asc formant file. So is it possible to use other format to generate the mesh, like the stl file?

    Dong

    opened by Dongxueyang 0
  • run the code on multi-node platform

    run the code on multi-node platform

    Hi @stoiver :

    I want to run a large simulation. To improve the efficiency of calculation. I want to run the program on a supercomputing platform, and use multi-nodes. So if the codes support multi-node computing mode?

    opened by Dongxueyang 7
Releases(3.1.3)
A simple computer program made with Python on the brachistochrone curve.

Brachistochrone-curve This is a simple computer program made with Python on the brachistochrone curve. I decided to write it after a physics lesson on

Diego Romeo 1 Dec 16, 2021
A mathematica expression evaluator with PokemonTypes

A simple mathematical expression evaluator that uses Pokemon types to replace symbols.

Arnav Jindal 2 Nov 14, 2021
Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis

Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis. You write a high level configuration file specifying your in

Blue Collar Bioinformatics 915 Dec 29, 2022
Animation engine for explanatory math videos

Manim is an engine for precise programatic animations, designed for creating explanatory math videos. Note, there are two versions of manim. This repo

Grant Sanderson 48.9k Jan 03, 2023
OPEM (Open Source PEM Fuel Cell Simulation Tool)

Table of contents What is PEM? Overview Installation Usage Executable Library Telegram Bot Try OPEM in Your Browser! MATLAB Issues & Bug Reports Contr

ECSIM 133 Jan 04, 2023
A modular single-molecule analysis interface

MOSAIC: A modular single-molecule analysis interface MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data

National Institute of Standards and Technology 35 Dec 13, 2022
Mathics is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica

Mathics is a general-purpose computer algebra system (CAS). It is an open-source alternative to Mathematica. It is free both as in "free beer" and as in "freedom".

Mathics 535 Jan 04, 2023
PennyLane is a cross-platform Python library for differentiable programming of quantum computers.

PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.

PennyLaneAI 1.6k Jan 04, 2023
3D medical imaging reconstruction software

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

443 Jan 01, 2023
🍊 :bar_chart: :bulb: Orange: Interactive data analysis

Orange Data Mining Orange is a data mining and visualization toolbox for novice and expert alike. To explore data with Orange, one requires no program

Bioinformatics Laboratory 3.9k Jan 05, 2023
CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share and use data. It powers catalog.data.gov, open.canada.ca/data, data.humdata.org among many other sites.

CKAN: The Open Source Data Portal Software CKAN is the world’s leading open-source data portal platform. CKAN makes it easy to publish, share and work

ckan 3.6k Dec 27, 2022
ReproZip is a tool that simplifies the process of creating reproducible experiments from command-line executions, a frequently-used common denominator in computational science.

ReproZip ReproZip is a tool aimed at simplifying the process of creating reproducible experiments from command-line executions, a frequently-used comm

267 Jan 01, 2023
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.

Cookiecutter Data Science A logical, reasonably standardized, but flexible project structure for doing and sharing data science work. Project homepage

6.4k Jan 02, 2023
Data intensive science for everyone.

InVesalius InVesalius generates 3D medical imaging reconstructions based on a sequence of 2D DICOM files acquired with CT or MRI equipments. InVesaliu

Galaxy Project 1k Jan 08, 2023
A computer algebra system written in pure Python

SymPy See the AUTHORS file for the list of authors. And many more people helped on the SymPy mailing list, reported bugs, helped organize SymPy's part

SymPy 9.9k Jan 08, 2023
Book on Julia for Data Science

Book on Julia for Data Science

Julia Data Science 349 Dec 25, 2022
artisan: visual scope for coffee roasters

Artisan Visual scope for coffee roasters WARNING: pre-release builds may not work. Use at your own risk. Summary Artisan is a software that helps coff

Artisan – Visual Scope for Coffee Roasters 705 Jan 05, 2023
Read-only mirror of https://gitlab.gnome.org/GNOME/pybliographer

Pybliographer Pybliographer provides a framework for working with bibliographic databases. This software is licensed under the GPLv2. For more informa

GNOME Github Mirror 15 May 07, 2022
Statsmodels: statistical modeling and econometrics in Python

About statsmodels statsmodels is a Python package that provides a complement to scipy for statistical computations including descriptive statistics an

statsmodels 8.1k Dec 30, 2022
SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications.

Scientific Computational Imaging COde (SCICO) SCICO is a Python package for solving the inverse problems that arise in scientific imaging applications

Los Alamos National Laboratory 37 Dec 21, 2022