Changeset 24919


Ignore:
Timestamp:
05/29/20 15:09:44 (5 years ago)
Author:
jdquinn
Message:

CHG: Support for Linux binaries with solid earth capabilities; support for Gmsh 4; clean up

Location:
issm/trunk-jpl
Files:
18 added
9 deleted
25 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/externalpackages/curl/install-7.67.sh

    r24454 r24919  
    2525./configure \
    2626        --prefix="${ISSM_DIR}/externalpackages/curl/install" \
     27        --disable-static \
     28        --disable-dependency-tracking \
    2729        --disable-manual \
    2830        --disable-verbose
  • issm/trunk-jpl/externalpackages/gmt/configs/6.0/linux/cmake/ConfigUser.cmake

    r24641 r24919  
    136136# Set location of NetCDF (can be root directory, path to header file or path
    137137# to nc-config) [auto]:
    138 set (NETCDF_ROOT "$ENV{ISSM_DIR}/externalpackages/petsc/install")
     138set (NETCDF_ROOT "$ENV{ISSM_DIR}/externalpackages/netcdf/install")
    139139
    140140# Set location of GDAL (can be root directory, path to header file or path to
  • issm/trunk-jpl/externalpackages/gmt/install-6.0-linux.sh

    r24641 r24919  
    33
    44
    5 ## Environment
    6 #
    7 CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
    8 
    95## Constants
    106#
    117VER="6.0.0"
     8
     9CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
     10
     11# Environment
     12#
     13export CC=mpicc
    1214
    1315# Download source
     
    3335cd build
    3436
    35 # NOTE: There is a CMake variable named CURL_ROOT in src/cmake/ConfigUser.cmake
    36 #               that, ostensibly, allows for supplying the path to curl when it is in a
    37 #               a non-standard location. That said, newer versions of CMake will
    38 #               ignore said variable and instead try to find curl itself. Passing in
    39 #               the two options below overrides this behavior.
     37# NOTE:
     38# - There is a CMake variable named CURL_ROOT in src/cmake/ConfigUser.cmake
     39#       that, ostensibly, allows for supplying the path to curl when it is in a
     40#       non-standard location. That said, newer versions of CMake will ignore said
     41#       variable and instead try to find curl itself. Passing in the two options
     42#       below overrides this behavior.
     43#
    4044cmake \
    4145        -DCURL_LIBRARY="${CURL_ROOT}/lib" \
  • issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel-with_tests.sh

    r24454 r24919  
    1111# For most ISSM installations, only hdf5 will be necessary
    1212#
     13# Sources:
     14# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
     15#
    1316
    1417# Constants
    1518#
    1619VER="4.7.2"
    17 HDF5_ROOT="${ISSM_DIR}/externalpackages/hdf5/install"
    18 ZLIB_ROOT="${ISSM_DIR}/externalpackages/zlib/install"
     20CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
     21HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
     22ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
    1923
    2024# Environment
    2125#
    2226export CC=mpicc
    23 CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
    24 HDF5_ROOT="${ISSM_DIR}/externalpackages/hdf5/install"
    25 ZLIB_ROOT="${ISSM_DIR}/externalpackages/zlib/install"
     27export CPPFLAGS="-I${CURL_ROOT}/include -I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include"
     28export LDFLAGS="-L${CURL_ROOT}/lib -L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib"
    2629
    2730# Download source
  • issm/trunk-jpl/externalpackages/netcdf/install-4.7-parallel.sh

    r24454 r24919  
    1111# For most ISSM installations, only hdf5 will be necessary
    1212#
     13# Sources:
     14# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
     15#
    1316
    1417# Constants
     
    1619VER="4.7.2"
    1720CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
    18 HDF5_ROOT="${ISSM_DIR}/externalpackages/hdf5/install"
    19 ZLIB_ROOT="${ISSM_DIR}/externalpackages/zlib/install"
     21HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
     22ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
    2023
    2124# Environment
    2225#
    2326export CC=mpicc
    24 export CPPFLAGS="-I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include -I${CURL_ROOT}/include"
    25 export LDFLAGS="-L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib -L${CURL_ROOT}/lib"
     27export CPPFLAGS="-I${CURL_ROOT}/include -I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include"
     28export LDFLAGS="-L${CURL_ROOT}/lib -L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib"
    2629
    2730# Download source
     
    4346./configure \
    4447        --prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
     48        --disable-dependency-tracking \
     49        --enable-fast-install \
    4550        --disable-doxygen
    4651
  • issm/trunk-jpl/externalpackages/netcdf/install-4.7-with_tests.sh

    r24454 r24919  
    44
    55# Dependencies
     6# - MPI implementation (for parallel I/O support)
    67# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
    78# - zlib (1.2.5 or later, for netCDF-4 compression)
     
    1011# For most ISSM installations, only hdf5 will be necessary
    1112#
     13# Sources:
     14# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
     15#
    1216
    1317# Constants
     
    1519VER="4.7.2"
    1620CURL_ROOT="${ISSM_DIR}/externalpackages/curl/install"
    17 HDF5_ROOT="${ISSM_DIR}/externalpackages/hdf5/install"
    18 ZLIB_ROOT="${ISSM_DIR}/externalpackages/zlib/install"
     21HDF5_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
     22ZLIB_ROOT="${ISSM_DIR}/externalpackages/petsc/install"
    1923
    2024# Environment
    2125#
    22 export CPPFLAGS="-I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include -I${CURL_ROOT}/include"
    23 export LDFLAGS="-L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib -L${CURL_ROOT}/lib"
     26export CPPFLAGS="-I${CURL_ROOT}/include -I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include"
     27export LDFLAGS="-L${CURL_ROOT}/lib -L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib"
    2428
    2529# Download source
     
    4145./configure \
    4246        --prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
     47        --disable-dependency-tracking \
     48        --enable-fast-install \
    4349        --disable-doxygen
    4450
  • issm/trunk-jpl/externalpackages/netcdf/install-4.7.sh

    r24641 r24919  
    44
    55# Dependencies
     6# - MPI implementation (for parallel I/O support)
    67# - hdf5 (1.8.9 / 1.10.1 or later, for netCDF-4 support)
    78# - zlib (1.2.5 or later, for netCDF-4 compression)
     
    910#
    1011# For most ISSM installations, only hdf5 will be necessary
     12#
     13# Sources:
     14# - https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/getting_and_building_netcdf.html#building
    1115#
    1216
     
    2024# Environment
    2125#
    22 export CPPFLAGS="-I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include -I${CURL_ROOT}/include"
    23 export LDFLAGS="-L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib -L${CURL_ROOT}/lib"
     26export CPPFLAGS="-I${CURL_ROOT}/include -I${HDF5_ROOT}/include -I${ZLIB_ROOT}/include"
     27export LDFLAGS="-L${CURL_ROOT}/lib -L${HDF5_ROOT}/lib -L${ZLIB_ROOT}/lib"
    2428
    2529# Download source
     
    4145./configure \
    4246        --prefix="${ISSM_DIR}/externalpackages/netcdf/install" \
     47        --disable-dependency-tracking \
     48        --enable-fast-install \
    4349        --disable-doxygen
    4450
  • issm/trunk-jpl/externalpackages/proj/install-6.2-with_tests.sh

    r24325 r24919  
    99## Environnment
    1010#
    11 
     11export CC=mpicc
     12export CXX=mpicxx
    1213# NOTE: On macOS, SQLite3 should be installed by default, but PROJ currently
    1314#               requires,
     
    3940cd src
    4041./configure \
    41         --prefix="${ISSM_DIR}/externalpackages/proj/install"
     42        --prefix="${ISSM_DIR}/externalpackages/proj/install" \
     43        --disable-dependency-tracking \
     44        --enable-fast-install
    4245
    4346# Compile and install
  • issm/trunk-jpl/externalpackages/proj/install-6.2.sh

    r24325 r24919  
    99## Environnment
    1010#
    11 
     11export CC=mpicc
     12export CXX=mpicxx
    1213# NOTE: On macOS, SQLite3 should be installed by default, but PROJ currently
    1314#               requires,
     
    3940cd src
    4041./configure \
    41         --prefix="${ISSM_DIR}/externalpackages/proj/install"
     42        --prefix="${ISSM_DIR}/externalpackages/proj/install" \
     43        --disable-dependency-tracking \
     44        --enable-fast-install
    4245
    4346# Compile and install
  • issm/trunk-jpl/jenkins/ross-debian_linux-binaries

    r24649 r24919  
    6363#               compilation.
    6464#
    65 NUMCPUS_INSTALL=1
     65NUMCPUS_INSTALL=8
    6666
    6767# Number of CPUs used in the nightly runs
  • issm/trunk-jpl/jenkins/ross-debian_linux-gia

    r24648 r24919  
    3636        triangle        install-linux.sh
    3737        math77          install.sh
    38         gmsh            install.sh
     38        gmsh            install-4.sh
    3939        shell2junit     install.sh
    4040"
  • issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth

    r24842 r24919  
    2020        --with-scalapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
    2121        --with-mumps-dir=${ISSM_DIR}/externalpackages/petsc/install \
     22        --with-hdf5-dir=${ISSM_DIR}/externalpackages/petsc/install \
    2223        --with-petsc-dir=${ISSM_DIR}/externalpackages/petsc/install \
    2324        --with-triangle-dir=${ISSM_DIR}/externalpackages/triangle/install \
     
    4445        gshhg           install.sh
    4546        gmt                     install-6.0-linux.sh
    46         gmsh            install.sh
     47        gmsh            install-4.sh
    4748        shell2junit     install.sh
    4849"
  • issm/trunk-jpl/m4/issm_options.m4

    r24876 r24919  
    11221122        AM_CONDITIONAL([MEDIPACK], [test "x${HAVE_MEDIPACK}" == "xyes"])
    11231123        dnl }}}
     1124        dnl HDF5 {{{
     1125        AC_ARG_WITH(
     1126                [hdf5-dir],
     1127                AS_HELP_STRING([--with-hdf5-dir=DIR], [HDF5 root directory]),
     1128                [HDF5_ROOT=${withval}],
     1129                [HDF5_ROOT="no"]
     1130        )
     1131        AC_MSG_CHECKING(for HDF5 libraries)
     1132        if test "x${HDF5_ROOT}" == "xno"; then
     1133                HAVE_HDF5=no
     1134        else
     1135                HAVE_HDF5=yes
     1136                if ! test -d "${HDF5_ROOT}"; then
     1137                        AC_MSG_ERROR([HDF5 directory provided (${HDF5_ROOT}) does not exist!]);
     1138                fi
     1139        fi
     1140        AC_MSG_RESULT([${HAVE_HDF5}])
     1141
     1142        dnl HDF5 libraries and header files
     1143        dnl
     1144        dnl TODO: Add check for if we need to link to libhdf5_fortran and
     1145        dnl libhdf5hl_fortran, if and when necessary.
     1146        dnl
     1147        if test "x${HAVE_HDF5}" == "xyes"; then
     1148                case "${host_os}" in
     1149                        *cygwin*)
     1150                                HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib  -Wl,libhdf5_hl.lib"
     1151                        ;;
     1152                        *linux*)
     1153                                HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
     1154                        ;;
     1155                        *darwin*)
     1156                                HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
     1157                        ;;
     1158                esac
     1159                AC_DEFINE([_HAVE_HDF5_], [1], [with HDF5 in ISSM src])
     1160                AC_SUBST([HDF5LIB])
     1161        fi
     1162        dnl }}}
    11241163        dnl PETSc{{{
    11251164        AC_ARG_WITH(
     
    16931732                        HAVE_PLAPACK=no
    16941733                fi
    1695         elses
     1734        else
    16961735                HAVE_PLAPACK=no
    16971736        fi
  • issm/trunk-jpl/src/c/Makefile.am

    r24784 r24919  
    676676if !WINDOWS
    677677if !STANDALONE_LIBRARIES
    678 libISSMCore_la_LIBADD = $(PETSCLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
     678libISSMCore_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
    679679if FORTRAN
    680680libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB)
     
    770770
    771771#External packages
    772 LDADD += $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB)
     772LDADD += $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB)
    773773
    774774if FORTRAN
  • issm/trunk-jpl/src/m/classes/mesh3dsurface.m

    r24900 r24919  
    9393                        md = checkfield(md,'fieldname','mesh.elements','size',[md.mesh.numberofelements 3]);
    9494                        if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.mesh.elements(:)))));
    95                                 md = checkmessage(md,'orphan nodes have been found. Check the mesh outline');
     95                                md = checkmessage(md,'orphan nodes have been found; check the mesh outline');
    9696                        end
    9797                        md = checkfield(md,'fieldname','mesh.numberofelements','>',0);
  • issm/trunk-jpl/src/m/classes/mesh3dsurface.py

    r24897 r24919  
    122122        md = checkfield(md, 'fieldname', 'mesh.elements', 'size', [md.mesh.numberofelements, 3])
    123123        if np.any(np.logical_not(np.in1d(np.arange(1, md.mesh.numberofvertices + 1), md.mesh.elements.flat))):
    124             md = checkmessage(md, 'orphan nodes have been found. Check the mesh outline')
     124            md = md.checkmessage('orphan nodes have been found; check the mesh outline')
    125125
    126126        md = checkfield(md, 'fieldname', 'mesh.numberofelements', '>', 0)
     
    129129
    130130        if (solution == 'ThermalSolution'):
    131             md = checkmessage(md, 'thermal not supported for 2d mesh')
     131            md = md.checkmessage('thermal not supported for 2d mesh')
    132132
    133133        return md
  • issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.m

    r23363 r24919  
    11function mesh=gmshplanet(varargin)
    2 %GMSHPLANET - mesh generation for a sphere. Very specific code for gmsh. From demo/sphere.geo
     2%GMSHPLANET - mesh generation for a sphere. Very specific code for gmsh from $ISSM_DIR/src/demos/simple_geo/sphere.geo
    33%
    44%   Available options (for more details see ISSM website http://issm.jpl.nasa.gov/):
     
    1414%      md.mesh=gmshplanet('radius',6000,'resolution',100);
    1515%      md.mesh=gmshplanet('radius',6000,'resolution',100);
     16
     17        % Get Gmsh version
     18        %
     19        % NOTE:
     20        % - The output of `gmsh -version` does not follow a consistent format
     21        %       across major versions.
     22        % - Under Gmsh 3.*, output of `gmsh -info` needs to be explicitly
     23        %       redirected to console in order to be grep'ped.
     24        % - May need to modify the regex supplied to `sed` for future Gmsh versions.
     25        %
     26        % TODO:
     27        % - Move this so we can retrieve like we do with
     28        %       `IssmConfig(_DAKOTA_VERSION_)`.
     29        %
     30        [status,gmshmajorversion]=system('gmsh -info 2>&1 | grep "Version" | sed -e "s/Version[[:blank:]]*:[[:blank:]]//" | cut -d "." -f1');
     31
     32        gmshmajorversion=str2int(gmshmajorversion);
     33
     34        if ~ismember([3,4],gmshmajorversion),
     35                error(['gmshplanet: Gmsh major version ' gmshmajorversion ' not supported!']);
     36        end
    1637
    1738        %process options
     
    5778        fprintf(fid,'Circle(11) = {4,1,6};\n');
    5879        fprintf(fid,'Circle(12) = {6,1,2};\n');
    59         fprintf(fid,'Line Loop(13) = {2,8,-10};\n');
     80
     81        if gmshmajorversion == 3,
     82                curvename='Line Loop';
     83        elseif gmshmajorversion == 4,
     84                curvename='Curve Loop';
     85        end
     86
     87        fprintf(fid,'%s(13) = {2,8,-10};\n',curvename);
    6088        fprintf(fid,'Surface(14) = {13};\n');
    61         fprintf(fid,'Line Loop(15) = {10,3,7};\n');
     89        fprintf(fid,'%s(15) = {10,3,7};\n',curvename);
    6290        fprintf(fid,'Surface(16) = {15};\n');
    63         fprintf(fid,'Line Loop(17) = {-8,-9,1};\n');
     91        fprintf(fid,'%s(17) = {-8,-9,1};\n',curvename);
    6492        fprintf(fid,'Surface(18) = {17};\n');
    65         fprintf(fid,'Line Loop(19) = {-11,-2,5};\n');
     93        fprintf(fid,'%s(19) = {-11,-2,5};\n',curvename);
    6694        fprintf(fid,'Surface(20) = {19};\n');
    67         fprintf(fid,'Line Loop(21) = {-5,-12,-1};\n');
     95        fprintf(fid,'%s(21) = {-5,-12,-1};\n',curvename);
    6896        fprintf(fid,'Surface(22) = {21};\n');
    69         fprintf(fid,'Line Loop(23) = {-3,11,6};\n');
     97        fprintf(fid,'%s(23) = {-3,11,6};\n',curvename);
    7098        fprintf(fid,'Surface(24) = {23};\n');
    71         fprintf(fid,'Line Loop(25) = {-7,4,9};\n');
     99        fprintf(fid,'%s(25) = {-7,4,9};\n',curvename);
    72100        fprintf(fid,'Surface(26) = {25};\n');
    73         fprintf(fid,'Line Loop(27) = {-4,12,-6};\n');
     101        fprintf(fid,'%s(27) = {-4,12,-6};\n',curvename);
    74102        fprintf(fid,'Surface(28) = {27};\n');
    75103        fprintf(fid,'Surface Loop(29) = {28,26,16,14,20,24,22,18};\n');
     
    115143        end
    116144
    117         %call gmsh
     145        % Call gmsh
     146        %
     147        % NOTE: The default format in Gmsh 3 is "msh2". Rather than conditionally
     148        %               modifying our parsing scheme for Gmsh 4, for now, we simply set the
     149        %               "-format" option.
     150        %
    118151        if  exist(options,'refine'),
    119                 system([gmshpath ' -tol 1e-8 -2 sphere.geo -bgm sphere.pos']);
     152                system([gmshpath ' -tol 1e-8 -2 -format msh2 sphere.geo -bgm sphere.pos']);
    120153        else
    121                 system([gmshpath ' -tol 1e-8 -2 sphere.geo']);
     154                system([gmshpath ' -tol 1e-8 -2 -format msh2 sphere.geo']);
    122155        end
    123156
  • issm/trunk-jpl/src/m/mesh/planet/gmsh/gmshplanet.py

    r24251 r24919  
     1import commands
     2import subprocess
     3
     4import numpy as np
     5
    16from MatlabFuncs import *
    2 import numpy as np
    3 from numpy import *
     7from mesh3dsurface import *
    48from pairoptions import *
    5 from mesh3dsurface import *
    6 import subprocess
    7 
    8 
    9 def gmshplanet(* varargin):
    10     #GMSHPLANET - mesh generation for a sphere. Very specific code for gmsh. From demo/sphere.geo
    11     #
    12     #   Available options (for more details see ISSM website http://issm.jpl.nasa.gov/):
    13     #
    14     # - radius:             radius of the planet in km
    15     # - resolution:         resolution in km
    16     # - refine:             provide mesh
    17     # - refinemetric:       mesh quantity to specify resolution
    18     #
    19     #   Returns 'mesh3dsurface' type mesh
    20     #
    21     #   Examples:
    22     #      md.mesh = gmshplanet('radius', 6000, 'resolution', 100);
    23     #      md.mesh = gmshplanet('radius', 6000, 'resolution', 100);
     9
     10
     11def gmshplanet(*varargin):
     12    '''
     13    GMSHPLANET - mesh generation for a sphere. Very specific code for gmsh from $ISSM_DIR/src/demos/simple_geo/sphere.geo
     14
     15    Available options (for more details see ISSM website http://issm.jpl.nasa.gov/):
     16    - radius:             radius of the planet in km
     17    - resolution:         resolution in km
     18    - refine:             provide mesh
     19    - refinemetric:       mesh quantity to specify resolution
     20
     21        Returns 'mesh3dsurface' type mesh
     22
     23        Examples:
     24            md.mesh = gmshplanet('radius', 6000, 'resolution', 100);
     25            md.mesh = gmshplanet('radius', 6000, 'resolution', 100);
     26    '''
     27
     28    # Get Gmsh version
     29    #
     30    # NOTE:
     31    # - The output of `gmsh -version` does not follow a consistent format
     32    #   across major versions.
     33    # - Under Gmsh 3.*, output of `gmsh -info` needs to be explicitly
     34    #   redirected to console in order to be grep'ped.
     35    # - May need to modify the regex supplied to `sed` for future Gmsh versions.
     36    #
     37    # TODO:
     38    # - Move this so we can retrieve like we do with
     39    #   `IssmConfig(_DAKOTA_VERSION_)`.
     40    #
     41    gmshmajorversion = commands.getoutput('gmsh -info 2>&1 | grep "Version" | sed -e "s/Version[[:blank:]]*:[[:blank:]]//" | cut -d "." -f1')
     42
     43    gmshmajorversion = int(gmshmajorversion)
     44
     45    if gmshmajorversion not in [3, 4]:
     46        raise RuntimeError('gmshplanet: Gmsh major version %s not supported!' % gmshmajorversion)
    2447
    2548    #process options
    26     options = pairoptions(* varargin)
     49    options = pairoptions(*varargin)
    2750    #options = deleteduplicates(options, 1)
    2851
     
    4972    fid.write('Point(3) = {0, radius, 0.0, resolution};\n')
    5073    fid.write('Circle(1) = {2, 1, 3};\n')
    51     fid.write('Point(4) = { -radius, 0, 0.0, resolution};\n')
     74    fid.write('Point(4) = {-radius, 0, 0.0, resolution};\n')
    5275    fid.write('Point(5) = {0, -radius, 0.0, resolution};\n')
    5376    fid.write('Circle(2) = {3, 1, 4};\n')
     
    6487    fid.write('Circle(11) = {4, 1, 6};\n')
    6588    fid.write('Circle(12) = {6, 1, 2};\n')
    66     fid.write('Line Loop(13) = {2, 8, -10};\n')
     89
     90    if gmshmajorversion == 3:
     91        curvename = 'Line Loop'
     92    elif gmshmajorversion == 4:
     93        curvename = 'Curve Loop'
     94
     95    fid.write('%s(13) = {2, 8, -10};\n' % curvename)
    6796    fid.write('Surface(14) = {13};\n')
    68     fid.write('Line Loop(15) = {10, 3, 7};\n')
     97    fid.write('%s(15) = {10, 3, 7};\n' % curvename)
    6998    fid.write('Surface(16) = {15};\n')
    70     fid.write('Line Loop(17) = { -8, -9, 1};\n')
     99    fid.write('%s(17) = {-8, -9, 1};\n' % curvename)
    71100    fid.write('Surface(18) = {17};\n')
    72     fid.write('Line Loop(19) = { -11, -2, 5};\n')
     101    fid.write('%s(19) = {-11, -2, 5};\n' % curvename)
    73102    fid.write('Surface(20) = {19};\n')
    74     fid.write('Line Loop(21) = { -5, -12, -1};\n')
     103    fid.write('%s(21) = {-5, -12, -1};\n' % curvename)
    75104    fid.write('Surface(22) = {21};\n')
    76     fid.write('Line Loop(23) = { -3, 11, 6};\n')
     105    fid.write('%s(23) = {-3, 11, 6};\n' % curvename)
    77106    fid.write('Surface(24) = {23};\n')
    78     fid.write('Line Loop(25) = { -7, 4, 9};\n')
     107    fid.write('%s(25) = {-7, 4, 9};\n' % curvename)
    79108    fid.write('Surface(26) = {25};\n')
    80     fid.write('Line Loop(27) = { -4, 12, -6};\n')
     109    fid.write('%s(27) = {-4, 12, -6};\n' % curvename)
    81110    fid.write('Surface(28) = {27};\n')
    82111    fid.write('Surface Loop(29) = {28, 26, 16, 14, 20, 24, 22, 18};\n')
     
    105134    # }}}
    106135
    107     #call gmsh
     136    # Call gmsh
     137    #
     138    # NOTE: The default format in Gmsh 3 is "msh2". Rather than conditionally
     139    #       modifying our parsing scheme for Gmsh 4, for now, we simply set the
     140    #       "-format" option.
     141    #
    108142    if options.exist('refine'):
    109         subprocess.call('gmsh -tol 1e-8 -2 sphere.geo -bgm sphere.pos', shell=True)
     143        subprocess.call('gmsh -tol 1e-8 -2 -format msh2 sphere.geo -bgm sphere.pos', shell=True)
    110144    else:
    111         #call gmsh
    112         subprocess.call('gmsh -tol 1e-8 -2 sphere.geo', shell=True)
     145        subprocess.call('gmsh -tol 1e-8 -2 -format msh2 sphere.geo', shell=True)
    113146
    114147    #import mesh:  {{{
     
    117150    #Get Mesh format
    118151    A = fid.readline().strip()
    119     if not strcmp(A, '$MeshFormat'):
     152    if A != '$MeshFormat':
    120153        raise RuntimeError(['Expecting $MeshFormat (', A, ')'])
    121154
    122155    A = fid.readline().split()
    123156    A = fid.readline().strip()
    124     if not strcmp(A, '$EndMeshFormat'):
     157    if A != '$EndMeshFormat':
    125158        raise RuntimeError(['Expecting $EndMeshFormat (', A, ')'])
    126159
    127160    #Nodes
    128161    A = fid.readline().strip()
    129     if not strcmp(A, '$Nodes'):
     162    if A != '$Nodes':
    130163        raise RuntimeError(['Expecting $Nodes (', A, ')'])
    131164
     
    141174
    142175    A = fid.readline().strip()
    143     if not strcmp(A, '$EndNodes'):
     176    if A != '$EndNodes':
    144177        raise RuntimeError(['Expecting $EndNodes (', A, ')'])
    145178
    146179    #Elements
    147180    A = fid.readline().strip()
    148     if not strcmp(A, '$Elements'):
     181    if A != '$Elements':
    149182        raise RuntimeError(['Expecting $Elements (', A, ')'])
    150183    mesh.numberofelements = int(fid.readline().strip())
     
    155188    mesh.elements = mesh.elements.astype(int)
    156189    A = fid.readline().strip()
    157     if not strcmp(A, '$EndElements'):
     190    if A != '$EndElements':
    158191        raise RuntimeError(['Expecting $EndElements (', A, ')'])
    159192    fid.close()
  • issm/trunk-jpl/src/wrappers/matlab/Makefile.am

    r24789 r24919  
    130130# Module sources and dependencies {{{
    131131if !WINDOWS
    132 libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
     132libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
    133133endif
    134134
     
    136136libISSMMatlab_la_LDFLAGS = -static
    137137libISSMApi_la_LDFLAGS = -static
    138 deps += $(PETSCLIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
    139 endif
    140 
    141 if !WINDOWS
    142 libISSMApi_la_LIBADD = $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
     138deps += $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
     139endif
     140
     141if !WINDOWS
     142libISSMApi_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
    143143endif
    144144
    145145BamgConvertMesh_matlab_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
    146146BamgConvertMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    147 BamgConvertMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     147BamgConvertMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    148148
    149149BamgMesher_matlab_la_SOURCES = ../BamgMesher/BamgMesher.cpp
    150150BamgMesher_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    151 BamgMesher_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     151BamgMesher_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    152152
    153153BamgTriangulate_matlab_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
    154154BamgTriangulate_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    155 BamgTriangulate_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     155BamgTriangulate_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    156156
    157157if CHACO
    158158Chaco_matlab_la_SOURCES = ../Chaco/Chaco.cpp
    159159Chaco_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    160 Chaco_matlab_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     160Chaco_matlab_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    161161endif
    162162
    163163ContourToMesh_matlab_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
    164164ContourToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    165 ContourToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     165ContourToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    166166
    167167ContourToNodes_matlab_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
    168168ContourToNodes_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    169 ContourToNodes_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     169ContourToNodes_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    170170
    171171CoordTransform_matlab_la_SOURCES = ../CoordTransform/CoordTransform.cpp
    172172CoordTransform_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    173 CoordTransform_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     173CoordTransform_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    174174
    175175DistanceToMaskBoundary_matlab_la_SOURCES = ../DistanceToMaskBoundary/DistanceToMaskBoundary.cpp
    176176DistanceToMaskBoundary_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    177 DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     177DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    178178
    179179ElementConnectivity_matlab_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
    180180ElementConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    181 ElementConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     181ElementConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    182182
    183183ExpToLevelSet_matlab_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
    184184ExpToLevelSet_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    185 ExpToLevelSet_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     185ExpToLevelSet_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    186186
    187187ExpSimplify_matlab_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp
    188188ExpSimplify_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    189 ExpSimplify_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(NEOPZLIB)
     189ExpSimplify_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(NEOPZLIB)
    190190
    191191InterpFromGridToMesh_matlab_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
    192192InterpFromGridToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    193 InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     193InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    194194
    195195InterpFromMesh2d_matlab_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp
    196196InterpFromMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    197 InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     197InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    198198
    199199InterpFromMeshToGrid_matlab_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
    200200InterpFromMeshToGrid_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    201 InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     201InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    202202
    203203InterpFromMeshToMesh2d_matlab_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
    204204InterpFromMeshToMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    205 InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     205InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    206206
    207207InterpFromMeshToMesh3d_matlab_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
    208208InterpFromMeshToMesh3d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    209 InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     209InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    210210
    211211IssmConfig_matlab_la_SOURCES = ../IssmConfig/IssmConfig.cpp
    212212IssmConfig_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    213 IssmConfig_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(MPILIB) $(NEOPZLIB)
     213IssmConfig_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB)
    214214
    215215Kriging_matlab_la_SOURCES = ../Kriging/Kriging.cpp
    216216Kriging_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    217 Kriging_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJLIB)
     217Kriging_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJLIB)
    218218
    219219M1qn3_matlab_la_SOURCES = ../M1qn3/M1qn3.cpp
    220220M1qn3_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    221 M1qn3_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(M1QN3LIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     221M1qn3_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(M1QN3LIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    222222
    223223MeshPartition_matlab_la_SOURCES = ../MeshPartition/MeshPartition.cpp
    224224MeshPartition_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    225 MeshPartition_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     225MeshPartition_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    226226
    227227MeshProfileIntersection_matlab_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
    228228MeshProfileIntersection_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    229 MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     229MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    230230
    231231NodeConnectivity_matlab_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
    232232NodeConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    233 NodeConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     233NodeConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    234234
    235235PointCloudFindNeighbors_matlab_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
    236236PointCloudFindNeighbors_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    237 PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     237PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    238238
    239239PropagateFlagsFromConnectivity_matlab_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
    240240PropagateFlagsFromConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    241 PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     241PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    242242
    243243Scotch_matlab_la_SOURCES = ../Scotch/Scotch.cpp
    244244Scotch_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    245 Scotch_matlab_la_LIBADD = ${deps}  $(PETSCLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(BLASLAPACKLIB)
     245Scotch_matlab_la_LIBADD = ${deps}  $(PETSCLIB) $(HDF5LIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(BLASLAPACKLIB)
    246246
    247247ShpRead_matlab_la_SOURCES = ../ShpRead/ShpRead.cpp
    248248ShpRead_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    249 ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     249ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    250250
    251251Triangle_matlab_la_SOURCES = ../Triangle/Triangle.cpp
    252252Triangle_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    253 Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     253Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    254254
    255255ProcessRifts_matlab_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp
    256256ProcessRifts_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
    257 ProcessRifts_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
    258 #}}}
     257ProcessRifts_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
     258#}}}
  • issm/trunk-jpl/src/wrappers/python/Makefile.am

    r24676 r24919  
    100100#}}}
    101101# Module sources and dependencies {{{
    102 libISSMPython_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB)
     102libISSMPython_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB)
    103103
    104104if STANDALONE_LIBRARIES
    105105libISSMPython_la_LDFLAGS = -static
    106106libISSMApi_la_LDFLAGS = -static
    107 deps += $(DAKOTALIB) $(PETSCLIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
     107deps += $(DAKOTALIB) $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
    108108endif
    109109
    110 libISSMApi_la_LIBADD = $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB)
     110libISSMApi_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(MATHLIB)
    111111
    112112BamgConvertMesh_python_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
    113113BamgConvertMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    114 BamgConvertMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     114BamgConvertMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    115115
    116116BamgMesher_python_la_SOURCES = ../BamgMesher/BamgMesher.cpp
    117117BamgMesher_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    118 BamgMesher_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     118BamgMesher_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    119119
    120120BamgTriangulate_python_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
    121121BamgTriangulate_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    122 BamgTriangulate_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     122BamgTriangulate_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    123123
    124124if CHACO
    125125Chaco_python_la_SOURCES = ../Chaco/Chaco.cpp
    126126Chaco_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    127 Chaco_python_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     127Chaco_python_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    128128endif
    129129
    130130ContourToMesh_python_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
    131131ContourToMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    132 ContourToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     132ContourToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    133133
    134134ContourToNodes_python_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
    135135ContourToNodes_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    136 ContourToNodes_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     136ContourToNodes_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    137137
    138138ElementConnectivity_python_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
    139139ElementConnectivity_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    140 ElementConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     140ElementConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    141141
    142142ExpToLevelSet_python_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
    143143ExpToLevelSet_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    144 ExpToLevelSet_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(NEOPZLIB)
     144ExpToLevelSet_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB) $(NEOPZLIB)
    145145
    146146InterpFromGridToMesh_python_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
    147147InterpFromGridToMesh_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    148 InterpFromGridToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     148InterpFromGridToMesh_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    149149
    150150InterpFromMeshToGrid_python_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
    151151InterpFromMeshToGrid_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    152 InterpFromMeshToGrid_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     152InterpFromMeshToGrid_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    153153
    154154InterpFromMeshToMesh2d_python_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
    155155InterpFromMeshToMesh2d_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    156 InterpFromMeshToMesh2d_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
     156InterpFromMeshToMesh2d_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
    157157
    158158InterpFromMeshToMesh3d_python_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
    159159InterpFromMeshToMesh3d_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    160 InterpFromMeshToMesh3d_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
     160InterpFromMeshToMesh3d_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJ4LIB)
    161161
    162162IssmConfig_python_la_SOURCES = ../IssmConfig/IssmConfig.cpp
    163163IssmConfig_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    164 IssmConfig_python_la_LIBADD = ${deps} $(DAKOTALIB) $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB)
     164IssmConfig_python_la_LIBADD = ${deps} $(DAKOTALIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB)
    165165
    166166MeshPartition_python_la_SOURCES = ../MeshPartition/MeshPartition.cpp
    167167MeshPartition_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    168 MeshPartition_python_la_LIBADD = ${deps} $(PETSCLIB) $(METISLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     168MeshPartition_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(METISLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    169169
    170170MeshProfileIntersection_python_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
    171171MeshProfileIntersection_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    172 MeshProfileIntersection_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     172MeshProfileIntersection_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    173173
    174174NodeConnectivity_python_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
    175175NodeConnectivity_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    176 NodeConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     176NodeConnectivity_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    177177
    178178Triangle_python_la_SOURCES = ../Triangle/Triangle.cpp
    179179Triangle_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    180 Triangle_python_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     180Triangle_python_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    181181
    182182ProcessRifts_python_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp
    183183ProcessRifts_python_la_CXXFLAGS = ${AM_CXXFLAGS}
    184 ProcessRifts_python_la_LIBADD = ${deps} $(PETSCLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
     184ProcessRifts_python_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJ4LIB)
    185185#}}}
  • issm/trunk-jpl/test/NightlyRun/test2003.py

    r24912 r24919  
    1919md.dsl.global_average_thermosteric_sea_level_change=np.zeros((2, ))
    2020md.dsl.sea_surface_height_change_above_geoid=np.zeros((md.mesh.numberofvertices+1, ))
    21 md.dsl.sea_water_pressure_change_at_sea_floor=zeros((md.mesh.numberofvertices+1, ))
     21md.dsl.sea_water_pressure_change_at_sea_floor=np.zeros((md.mesh.numberofvertices+1, ))
    2222
    2323
Note: See TracChangeset for help on using the changeset viewer.