Releases: TITAN2D/titan2d
Titan2D 4.2.0
Change Log v4.2.0
- Notable bug fixes:
- Incorrect volume calculation on parabolic pyles
Installation instruction from binaries
Download and unpack:
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.2.0/titan2d-v4.2.0-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.2.0-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.2.0/share/titan2d_examples/colimafinemini/Coulomb
#execute with 2 threads
../../../../bin/titan -nt 2 input.py
Compiling with help of titan2d_dep, package containing all non-standard dependencies
Provided compiled dependencies package, titan2d_dep.tar.gz, works with CentOS 6/7 and titan2d_dep-Ubuntu18.tar.gz with Ubuntu 18/20.
# download dependencies package
wget https://github.com/TITAN2D/titan2d/releases/download/v4.2.0/titan2d_dep.tar.gz
# in case of Ubuntu (18 or 20)
# wget https://github.com/TITAN2D/titan2d/releases/download/v4.2.0/titan2d_dep-Ubuntu18.tar.gz
tar xvzf titan2d_dep.tar.gz
#download source code package
wget https://github.com/TITAN2D/titan2d/releases/download/v4.2.0/titan2d-v4.2.0-src.tar.gz
tar xvzf titan2d-v4.2.0-src.tar.gz
#compile titan
mkdir titan2d-v4.2.0-bld
cd titan2d-v4.2.0-bld
../titan2d-v4.2.0/configure --prefix=/full/path/to/install --enable-openmp --with-titan2d-dep=/full/path/to/titan2d_dep
#--enable-portable will copy titan2d_dep to installation folder and thus original titan2d_dep can be removed
make -j 4
make install
Titan2D 4.0.0
Mac OS X binaries are on the way
Installation instruction from binaries
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0/titan2d-v4.0.0-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.0.0-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.0.0/share/titan2d_examples/colimafinemini/Coulomb
#execute with 2 threads
../../../../bin/titan -nt 2 input.py
Compiling with help of titan2d_dep, package containing all non-standard dependencies
#download dependencies package
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0/titan2d_dep-v4.0.0.tar.gz
tar xvzf titan2d_dep.tar.gz
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0/titan2d-v4.0.0-src.tar.gz
tar xvzf titan2d-v4.0.0-src.tar.gz
#compile titan
mkdir titan2d-v4.0.0-bld
cd titan2d-v4.0.0-bld
../titan2d-v4.0.0/configure --prefix=/full/path/to/install --enable-openmp --with-titan2d-dep=/full/path/to/titan2d_dep
#--enable-portable will copy titan2d_dep to installation folder and thus original titan2d_dep can be removed
make -j 4
make install
v4.0.0-alpha6
New alpha with both command line and GUI
Installation instruction from binaries
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha6/titan2d-v4.0.0-alpha6-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.0.0-alpha6-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.0.0-alpha6/share/titan2d_examples/colimafinemini/Coulomb
#execute with 2 threads
../../../../bin/titan -nt 2 input.py
Compiling with help of titan2d_dep, package containing all non-standard dependencies
#download dependencies package
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha6/titan2d_dep-v4.0.0.tar.gz
tar xvzf titan2d_dep.tar.gz
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha6/titan2d-v4.0.0-alpha6-src.tar.gz
tar xvzf titan2d-v4.0.0-alpha6-src.tar.gz
#compile titan
mkdir titan2d-v4.0.0-alpha6-bld
cd titan2d-v4.0.0-alpha6-bld
../titan2d-v4.0.0-alpha6/configure --prefix=/full/path/to/install --enable-openmp --with-titan2d-dep=/full/path/to/titan2d_dep
#--enable-portable will copy titan2d_dep to installation folder and thus original titan2d_dep can be removed
make -j 4
make install
v4.0.0-alpha5
This release is without GUI.
Installation instruction:
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha5/titan2d-v4.0.0-alpha5-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.0.0-alpha5-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.0.0-alpha5/examples/colimafine/Coulomb
#execute with 2 threads
../../../bin/titan -nt 2 input_all_param_set.py
#or
../../../bin/titan -nt 2 input.py
v4.0.0-alpha4
Installation instruction:
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha4/titan2d-v4.0.0-alpha4-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.0.0-alpha4-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.0.0-alpha4/examples/colimafine/Coulomb
#execute with 2 threads
../../../bin/titan -nt 2 input_all_param_set.py
#or
../../../bin/titan -nt 2 input.py
v4.0.0-alpha3
Installation instruction:
#download
wget https://github.com/TITAN2D/titan2d/releases/download/v4.0.0-alpha3/titan2d-v4.0.0-alpha3-Linux-64bit.tar.gz
#untar
tar xvzf titan2d-v4.0.0-alpha3-Linux-64bit.tar.gz
To test:
#get to example directory
cd titan2d-v4.0.0-alpha2/examples/colimafine/Coulomb
#execute with 2 threads
../../../bin/titan -nt 2 input_all_param_set.py
#or
../../../bin/titan -nt 2 input.py
v4.0.0-alpha2
new input format
v4.0.0-alpha
Testing the release workflow
Python API and Merged Single Phase and Two Phases Code
See INSTALL file in root TITAN2D directory for installation details, now you also need Python and SWIG in order to compile TITAN2D.
The titan now is executed as (TITAN_HOME should point to TITAN2D root installation directory):
#load environment
source $(TITAN_HOME)/bin/titanvars.sh
#parallel execution
mpirun -np 4 $(TITAN_HOME)/bin/titan simulation_script.py
Here is example of simulation script for single phase:
sim=TitanSinglePhase(
length_scale=4000.0,
gravity_scale=9.8,
height_scale=None,
max_iter=1000,
max_time=2400.0,
time_save=2400.0,
adapt=True,
order='First',
short_speed=True,
vizoutput="XDMF/Paraview",
time_output=120,
edge_height=None,
test_height=None,
test_location=None
)
sim.setGIS(
gis_format='GIS_GRASS',
gis_main='/home/mikola/titan_wsp/',
gis_sub='dems',
gis_mapset='colimafine',
gis_map='colima',
gis_vector=None,
min_location_x=None,
min_location_y=None,
max_location_x=None,
max_location_y=None,
)
sim.setMatMap(
number_of_cells_across_axis=48,
use_gis_matmap=False,
int_frict=37.0,
bed_frict=27.0
)
sim.addPile(
height=30.0,
center=[644956.0, 2157970.0],
radii=[55.0, 55.0],
orientation=0.0,
Vmagnitude=0.0,
Vdirection=0.0
)
sim.addFluxSource(
influx=10.0,
start_time=0.0,
end_time=10000.0,
center=[644956.0, 2157970.0],
radii=[55.0, 55.0],
orientation=0.0,
Vmagnitude=0.0,
Vdirection=0.0
)
sim.addDischargePlane(637380.0, 2145800.0, 664380.0, 2169800.0)
sim.run()
Note that in this script all possible variables are set for illustration what can be set, many of them has default values and don't really need to be specified.
Here is example of two phases simulations
sim=TitanTwoPhases(
length_scale=4000.0,
gravity_scale=9.8,
height_scale=30.0,
max_iter=200,
max_time=2400.0,
time_save=10.0,
adapt=True,
order='First',
short_speed=False,
time_output=1,
vizoutput="XDMF/Paraview",
edge_height=None,
test_height=None,
test_location=None
)
sim.setGIS(
gis_format='GIS_GRASS',
gis_main='/home/mikola/titan_wsp/',
gis_sub='dems',
gis_mapset='colimafine',
gis_map='colima',
gis_vector=None,
min_location_x=None,
min_location_y=None,
max_location_x=None,
max_location_y=None,
)
sim.setMatMap(
number_of_cells_across_axis=48,
use_gis_matmap=False,
int_frict=37.0,
bed_frict=27.0
)
sim.addPile(
height=30.0,
center=[644956.0, 2157970.0],
radii=[55.0, 55.0],
orientation=0.0,
Vmagnitude=0.0,
Vdirection=0.0,
vol_fract=0.7,
pile_type='PARABALOID'
)
sim.run()
Note that single phase and two phases has different short_speed and pile_type settings.
This release have passed binary identity test to v3.0.1 for both short_speed and pile_type settings in case if both versions are compiled without any optimizations, i.e. -g -O0
v3.0.1.1
GitHub TITAN2D/titan2d -b default-grid-resolution-mods repository release v3.0.1.1
Modifications to set the default grid resolutions for titan2d output, to the e-w and n-s resol values specified in the GIS raster map.
Used the IntelliJ IDEA program and verified v3.0.1 release of the GitHub TITAN2D/titan2d repository is identical to the gmfg titan-3.0.0 release except for formatting, minor modifications to configuration.ac, INSTALL updated with additional instructions for when installing titan from the github repository, a new file titan2d.h added, the use of -I$(srcdir) in Makefile.am files, and the removal of the Makefile.in files.
Created a branch of the v3.0.1 release and named this branch default-grid-resolution-mods. Tagged default-grid-resolution-mods modifications to release v3.0.1.1. Performed tests for release v3.0.1.1 on a laptop running the Fedora 20 operating system and on UB's ccr general compute cluster.
Tested release v3.0.1.1 with GIS formats GIS_GRASS and GDAL. As tested, the GDAL format requires the GDAL-GRASS plugin. Please see the GDAL-GRASS plugin section below for notes on how to compile and install the GDAL-GRASS plugin.
Test Environment (07/03/2015):
Fedora 20 operating system
grass-6.4.4
gdal-1.11.0
gdal-grass-1.11.2
proj 4.8.0
hdf5-1.8.11
Tested gmfg titan 3.0.0 with default grid resolution modifications and GitHub TITAN2D/titan2d -b default-grid-resolution-mods release v3.0.1.1.
Downloaded titan2d-3.0.1.1.tar.gz from https://github.com/TITAN2D/titan2d/releases; entered: tar -zxf titan2d-3.0.1.1.tar.gz to extract.
Set export LD_LIBRARY_PATH="/usr/local/lib:/usr/local/src/hdf5-1.8.11/hdf5/lib".
GIS Format: GIS
titan2d build:
./configure --with-mpi-includes=/usr/local/include --with-mpi-libs=/usr/local/lib --with-hdf5=/usr/local/src/hdf5-1.8.11/hdf5 --with-grass=/usr/local/grass-6.4.4 --without-gdal CC=gcc F77=gfortran, make and make install.
Tested with 1 processor; simulation.data configured for GIS and using the following GIS raster map:
/home/Renette/grass.data/grass5 Colima ColimaR ColimaR:
proj: 1
zone: 13
north: 2210030
south: 2109950
east: 700050
west: 599970
cols: 1667
rows: 1667
e-w resol: 60.0359928
n-s resol: 60.0359928
format: -1
compressed: 1
Result from titan_preprocess:
The GIS region is: x = 5.999700e+05 to 7.000500e+05 y = 2.109950e+06 to 2.210030e+06.
The simulation region is: x = 5.999700e+05 to 7.000500e+05 y = 2.109950e+06 to 2.210030e+06.
The simulation region excluding the margin is: x = 6.097778e+05 to 6.902422e+05 y = 2.119758e+06 to 2.200222e+06.
Ran titan for 1000 time steps.
Result:
elevation.grid header:
Nx=1340: X={ 609777.83999976, 690242.15999784}
Ny=1340: Y={ 2119757.8399998, 2200222.1599978}
pileheightrecord header:
Nx=1340: X={ 609777.83999976, 690242.15999784}
Ny=1340: Y={ 2119757.8399998, 2200222.1599978}
GDAL Format: GDAL
titan2d build:
./configure --with-mpi-includes=/usr/local/include --with-mpi-libs=/usr/local/lib --with-hdf5=/usr/local/src/hdf5-1.8.11/hdf5 -with-grass=/usr/local/grass-6.4.4 --with-gdal-config=gdal-config CC=gcc F77=gfortran, make and make install.
Verified gdal-grass installation:
/usr/local/bin/gdalinfo /home/Renette/grass.data/grass5/Colima/ColimaR/cellhd/ColimaR.
Result:
Driver: GRASS/GRASS Database Rasters (5.7+)
Files: /home/Renette/grass.data/grass5/Colima/ColimaR/cellhd/ColimaR
Size is 1667, 1667
Coordinate System is:
PROJCS["UTM Zone 13, Northern Hemisphere",
GEOGCS["clark66",
DATUM["unknown",
SPHEROID["Clarke_1866",6378206.4,294.9786982]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-105],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["Meter",1]]
Origin = (599970.000000000000000,2210030.000000000000000)
Pixel Size = (60.035992801439711,-60.035992801439711)
Corner Coordinates:
Upper Left ( 599970.000, 2210030.000) (104d 2'40.01"W, 19d59' 7.79"N)
Lower Left ( 599970.000, 2109950.000) (104d 2'59.11"W, 19d 4'52.10"N)
Upper Right ( 700050.000, 2210030.000) (103d 5'17.31"W, 19d58'39.95"N)
Lower Right ( 700050.000, 2109950.000) (103d 5'55.50"W, 19d 4'25.62"N)
Center ( 650010.000, 2159990.000) (103d34'12.98"W, 19d31'48.67"N)
Band 1 Block=1667x1 Type=Float32, ColorInterp=Gray
Min=140.000 Max=4219.000
NoData Value=nan
Metadata:
COLOR_TABLE_RULES_COUNT=0
Tested with 1 processor; simulation.data configured for GDAL and the same GIS raster map used for the GIS test:
/home/Renette/grass.data/grass5/Colima/ColimaR/cellhd/ColimaR.
Ran titan for 1000 time steps.
Result:
elevation.grid header:
Nx=1340: X={ 609777.84, 690242.16}
Ny=1340: Y={ 2119757.84, 2200222.16}
pileheightrecord header:
Nx=1340: X={ 609777.84, 690242.16}
Ny=1340: Y={ 2119757.84, 2200222.16}
Test Environment (07/03/2015):
ccr x86_64 GNU/Linux (per uname -a) operating system
grass-6.4.4
gdal-1.11.2
gdal-grass-1.11.2
proj.4-4.9.1
hdf5-1.8.15
Tested TITAN2D/titan2d -b default-grid-resolution-mods release v3.0.1.1.
Downloaded titan2d-3.0.1.1.tar.gz from https://github.com/TITAN2D/titan2d/releases; entered: tar -zxf titan2d-3.0.1.1.tar.gz to extract.
Set export LD_LIBRARY_PATH="/util/academic/intel/impi/5.0.2.044/intel64/lib:/gpfs/user/renettej/TITAN2D/hdf5-1.8.11/hdf5/lib:/projects/gmfg/renettej/grass-6.4.4/local/grass-6.4.4/lib:/util/academic/grass/proj.4-4.9.1/lib:/projects/gmfg/renettej/gdal-1.11.2/local/lib".
GIS Format: GIS
titan2d build:
./configure --with-mpi-includes=/util/academic/intel/impi/5.0.2.044/intel64/include --with-mpi-libs=/util/academic/intel/impi/5.0.2.044/intel64/lib --with-hdf5=/util/academic/grass/hdf5-1.8.15/hdf5 --with-grass=/projects/gmfg/renettej/grass-6.4.4/local/grass-6.4.4 --without-gdal CC=mpicc CXX=mpicxx F77=mpif90, make and make install.
Tested with 1 and 6 processors; simulation.data configured for GIS and using the following GIS raster map:
/gpfs/user/renettej/TITAN2D/grass.data/grass5 Colima ColimaR ColimaR:
proj: 1
zone: 13
north: 2210030
south: 2109950
east: 700050
west: 599970
cols: 1667
rows: 1667
e-w resol: 60.0359928
n-s resol: 60.0359928
format: -1
compressed: 1
Result from titan_preprocess same as laptop result.
Ran titan for 1000 time steps.
Result:
elevation.grid header:
Nx=1340: X={ 609777.83999976, 690242.15999784}
Ny=1340: Y={ 2119757.8399998, 2200222.1599978}
pileheightrecord header:
Nx=1340: X={ 609777.83999976, 690242.15999784}
Ny=1340: Y={ 2119757.8399998, 2200222.1599978}
Display of titan2d output for 6 processor run:
GDAL Format: GDAL
titan2d build:
./configure --with-mpi-includes=/util/academic/intel/impi/5.0.2.044/intel64/include --with-mpi-libs=/util/academic/intel/impi/5.0.2.044/intel64/lib --with-hdf5=/util/academic/grass/hdf5-1.8.15/hdf5 --with-grass=/projects/gmfg/renettej/grass-6.4.4/local/grass-6.4.4 --with-gdal-config=/projects/gmfg/renettej/gdal-1.11.2/local/bin/gdal-config CC=mpicc CXX=mpicxx F77=mpif90, make and make install.
Verified gdal-grass installation:
/projects/gmfg/renettej/gdal-1.11.2/local/bin/gdalinfo /gpfs/user/renettej/TITAN2D/grass.data/grass5/Colima/ColimaR/cellhd/ColimaR.
Result same as laptop result.
Tested with 1 and 6 processors; simulation.data configured for GDAL and the same GIS raster map used for the GIS test:
/gpfs/user/renettej/TITAN2D/grass.data/grass5/Colima/ColimaR/cellhd/ColimaR.
Ran titan for 1000 time steps.
Result:
elevation.grid header:
Nx=1340: X={ 609777.84, 690242.16}
Ny=1340: Y={ 2119757.84, 2200222.16}
pileheightrecord header:
Nx=1340: X={ 609777.84, 690242.16}
Ny=1340: Y={ 2119757.84, 2200222.16}
Display of titan2d output for 6 processor run:
GDAL-GRASS plugin
The GDAL-GRASS plugin allows direct access to GRASS raster map data from titan2d GDAL enabled software.
References:
http://grasswiki.osgeo.org/wiki/Compile_and_install_GDAL-GRASS_plugin
https://trac.osgeo.org/gdal/wiki/GRASS
Test Environment (07/01/2015):
Fedora 20 operating system
grass-6.4.4
gdal-1.11.0
gdal-grass-1.11.2
proj 4.8.0
hdf5-1.8.11
Tested gmfg titan 3.0.0 with default grid resolution modifications and GitHub TITAN2D/titan2d -b default-grid-resolution-mods release v3.0.1.1.
Note: The following steps were performed as su. Packages were installed to standard directories.
- Built grass:
In the grass-6.4.4 subdirectory entered: ./configure, make and make install.
- Built gdal without grass support:
In the gdal-1.11.0 subdirectory entered: ./configure -without-grass, make and make install. Grass support is provided via the plugin.
- Built gdal-grass:
Created /etc/ld.so.conf.d/grass6.conf containing the line /usr/local/grass-6.4.4/lib. Entered: ldconfig.
In the gdal-grass-1.11.2 subdirectory, entered: ./configure --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-6.4.4, make and make install.
Test Environment (07/01/2015):
ccr x86_64 GNU/Linux (per uname -a) operating system
grass-6.4.4
gdal-1.11.2
gdal-grass-1.11.2
proj.4-4.9.1
hdf5-1.8.15
Tested GitHub TITAN2D/titan2d -b default-grid-resolution-mods release v3.0.1.1.
Note: on ccr cannot perform steps as su. PROJ.4 not installed to standard directories. Needed to add required paths to the LD_LIBRARY_PATH environment variable in...