[issm-svn] r11995 - issm/trunk
morlighe at issm.ess.uci.edu
morlighe at issm.ess.uci.edu
Mon Apr 16 14:57:19 PDT 2012
Author: morlighe
Date: 2012-04-16 14:57:18 -0700 (Mon, 16 Apr 2012)
New Revision: 11995
Added:
issm/trunk/aux-config/
issm/trunk/configs/config-linux64-murdo-nopetsc.sh
issm/trunk/configs/config-macosx64-larour-ad.sh
issm/trunk/configs/config-macosx64-larour-nopetsc.sh
issm/trunk/configs/config-macosx64-larour-python.sh
issm/trunk/configs/config-macosx64-larour.sh
issm/trunk/configs/config-macosx64-nicole.sh
issm/trunk/cron/configs/linux64_daily
issm/trunk/cron/configs/linux64_nightly
issm/trunk/cron/configs/macosx64_daily
issm/trunk/cron/configs/macosx64_nightly
issm/trunk/cron/configs/win732
issm/trunk/cron/configs/win764
issm/trunk/cron/configs/winxp32
issm/trunk/examples/Jakobshavn/
issm/trunk/examples/Jakobshavn/Domain.exp
issm/trunk/examples/Jakobshavn/Front.exp
issm/trunk/examples/Jakobshavn/Jks.par
issm/trunk/examples/Jakobshavn/WeakB.exp
issm/trunk/examples/Jakobshavn/runme.m
issm/trunk/externalpackages/android-dev-dir/
issm/trunk/externalpackages/android-dev-dir/android-emulators/
issm/trunk/externalpackages/android-ndk/
issm/trunk/externalpackages/android-ndk/android-ndk-r7b-darwin-x86.tar.bz2
issm/trunk/externalpackages/android-ndk/install.sh
issm/trunk/externalpackages/android-sdk/
issm/trunk/externalpackages/android-sdk/android-sdk-r16-macosx.zip
issm/trunk/externalpackages/android-sdk/apache-ant-1.8.2-bin.zip
issm/trunk/externalpackages/android-sdk/install.sh
issm/trunk/externalpackages/boost/boost_1_49_0.tar.gz
issm/trunk/externalpackages/chaco/chaco_njs_notes.txt
issm/trunk/externalpackages/cm_and_cb_utilities/
issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m
issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m
issm/trunk/externalpackages/cm_and_cb_utilities/cm_and_cb_utilities.png
issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m
issm/trunk/externalpackages/dakota/dakota_njs_notes_macos64.txt
issm/trunk/externalpackages/dakota/install-linux64-murdo.sh
issm/trunk/externalpackages/export_fig/copyfig.m
issm/trunk/externalpackages/geos5/
issm/trunk/externalpackages/geos5/install.sh
issm/trunk/externalpackages/gmake/
issm/trunk/externalpackages/gmake/install.sh
issm/trunk/externalpackages/gmake/make-3.82.tar.gz
issm/trunk/externalpackages/gsl/
issm/trunk/externalpackages/gsl/README
issm/trunk/externalpackages/gsl/gsl-1.15.tar.gz
issm/trunk/externalpackages/gsl/install-linux64-murdo.sh
issm/trunk/externalpackages/gsl/install-macosx64.sh
issm/trunk/externalpackages/modelE/
issm/trunk/externalpackages/modelE/install.sh
issm/trunk/externalpackages/modelE/modelE_AR5_branch.2012.03.13_10.12.21.tgz
issm/trunk/externalpackages/nose/
issm/trunk/externalpackages/nose/install-macosx64sh
issm/trunk/externalpackages/packagemaker/
issm/trunk/externalpackages/packagemaker/install.sh
issm/trunk/externalpackages/petsc/configs/
issm/trunk/externalpackages/petsc/configs/3.1/
issm/trunk/externalpackages/petsc/configs/3.1/win7/
issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch
issm/trunk/externalpackages/petsc/install-2.3.2-macosx64.sh
issm/trunk/externalpackages/petsc/install-dev-linux64.sh
issm/trunk/externalpackages/python/Python-2.7.2.tgz
issm/trunk/externalpackages/python/patch/
issm/trunk/externalpackages/python/patch/pyport.h.patch
issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport
issm/trunk/externalpackages/scipy/
issm/trunk/externalpackages/scipy/README
issm/trunk/externalpackages/scipy/install-macosx64.sh
issm/trunk/externalpackages/triangle/configs/android/
issm/trunk/externalpackages/triangle/configs/android/android-4.0/
issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make
issm/trunk/externalpackages/triangle/install-android-4.0.sh
issm/trunk/externalpackages/triangle/triangle.c.patch.matlab
issm/trunk/externalpackages/triangle/triangle.c.patch.python
issm/trunk/externalpackages/windows/
issm/trunk/externalpackages/windows/InstallInstructions.txt
issm/trunk/externalpackages/windows/README
issm/trunk/externalpackages/windows/Sdk1.png
issm/trunk/externalpackages/windows/Sdk2.png
issm/trunk/externalpackages/windows/configs/
issm/trunk/externalpackages/windows/configs/intel-win7.sh
issm/trunk/externalpackages/windows/configs/intel-winXP.sh
issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh
issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh
issm/trunk/externalpackages/windows/win7.sdk7.1.exe
issm/trunk/externalpackages/windows/windows_environment.sh
issm/trunk/packagers/
issm/trunk/packagers/macosx/
issm/trunk/packagers/macosx/ISSM.app/
issm/trunk/packagers/macosx/ISSM.app/Contents/
issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist
issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/
issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/applet
issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/main.scpt
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.icns
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.rsrc
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf
issm/trunk/packagers/macosx/ISSM.appscript
issm/trunk/packagers/macosx/ISSM.pmdoc/
issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml
issm/trunk/packagers/macosx/README
issm/trunk/packagers/macosx/issm.icns
issm/trunk/packagers/macosx/matlabissm
issm/trunk/packagers/macosx/package.sh
issm/trunk/packagers/macosx/package_incomplete.sh
issm/trunk/packagers/macosx/startup.m
issm/trunk/packagers/ubuntu/
issm/trunk/packagers/ubuntu/README
issm/trunk/packagers/ubuntu/package.sh
issm/trunk/packagers/ubuntu/startup.m
issm/trunk/packagers/win7/
issm/trunk/packagers/win7/ISSM.initial.aip
issm/trunk/packagers/win7/ISSMlogo.ico
issm/trunk/packagers/win7/package.sh
issm/trunk/packagers/win7/startup.m
issm/trunk/scripts/issmconfiguration.sh
issm/trunk/src/android/
issm/trunk/src/android/HelloWorldProject/
issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml
issm/trunk/src/android/HelloWorldProject/ant.properties
issm/trunk/src/android/HelloWorldProject/bin/
issm/trunk/src/android/HelloWorldProject/build.xml
issm/trunk/src/android/HelloWorldProject/gen/
issm/trunk/src/android/HelloWorldProject/gen/R.java.d
issm/trunk/src/android/HelloWorldProject/gen/com/
issm/trunk/src/android/HelloWorldProject/gen/com/example/
issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/
issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java
issm/trunk/src/android/HelloWorldProject/libs/
issm/trunk/src/android/HelloWorldProject/makefile
issm/trunk/src/android/HelloWorldProject/proguard.cfg
issm/trunk/src/android/HelloWorldProject/project.properties
issm/trunk/src/android/HelloWorldProject/res/
issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/layout/
issm/trunk/src/android/HelloWorldProject/res/layout/main.xml
issm/trunk/src/android/HelloWorldProject/res/values/
issm/trunk/src/android/HelloWorldProject/res/values/strings.xml
issm/trunk/src/android/HelloWorldProject/src/
issm/trunk/src/android/HelloWorldProject/src/com/
issm/trunk/src/android/HelloWorldProject/src/com/example/
issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/
issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java
issm/trunk/src/android/two-libs/
issm/trunk/src/android/two-libs/AndroidManifest.xml
issm/trunk/src/android/two-libs/bin/
issm/trunk/src/android/two-libs/bin/build.prop
issm/trunk/src/android/two-libs/bin/classes.dex
issm/trunk/src/android/two-libs/bin/classes.dex.d
issm/trunk/src/android/two-libs/bin/classes/
issm/trunk/src/android/two-libs/bin/classes/com/
issm/trunk/src/android/two-libs/bin/classes/com/example/
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$attr.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$string.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/TwoLibs.class
issm/trunk/src/android/two-libs/bin/res/
issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk
issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d
issm/trunk/src/android/two-libs/bin/two-libs-debug.apk
issm/trunk/src/android/two-libs/bin/two-libs.ap_
issm/trunk/src/android/two-libs/bin/two-libs.ap_.d
issm/trunk/src/android/two-libs/build.xml
issm/trunk/src/android/two-libs/gen/
issm/trunk/src/android/two-libs/gen/R.java.d
issm/trunk/src/android/two-libs/gen/com/
issm/trunk/src/android/two-libs/gen/com/example/
issm/trunk/src/android/two-libs/gen/com/example/twolibs/
issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java
issm/trunk/src/android/two-libs/jni/
issm/trunk/src/android/two-libs/jni/Android.mk
issm/trunk/src/android/two-libs/jni/first.c
issm/trunk/src/android/two-libs/jni/first.h
issm/trunk/src/android/two-libs/jni/second.c
issm/trunk/src/android/two-libs/libs/
issm/trunk/src/android/two-libs/libs/armeabi/
issm/trunk/src/android/two-libs/obj/
issm/trunk/src/android/two-libs/obj/local/
issm/trunk/src/android/two-libs/obj/local/armeabi/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d
issm/trunk/src/android/two-libs/proguard.cfg
issm/trunk/src/android/two-libs/project.properties
issm/trunk/src/android/two-libs/res/
issm/trunk/src/android/two-libs/res/values/
issm/trunk/src/android/two-libs/res/values/strings.xml
issm/trunk/src/android/two-libs/src/
issm/trunk/src/android/two-libs/src/com/
issm/trunk/src/android/two-libs/src/com/example/
issm/trunk/src/android/two-libs/src/com/example/twolibs/
issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java
issm/trunk/src/android/two-libs/tests/
issm/trunk/src/android/two-libs/tests/AndroidManifest.xml
issm/trunk/src/android/two-libs/tests/default.properties
issm/trunk/src/android/two-libs/tests/src/
issm/trunk/src/android/two-libs/tests/src/com/
issm/trunk/src/android/two-libs/tests/src/com/example/
issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/
issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java
issm/trunk/src/c/io/Matlab/CheckNumMatlabArguments.cpp
issm/trunk/src/c/io/Matlab/PrintfFunction.cpp
issm/trunk/src/c/io/Matlab/mxGetAssignedField.cpp
issm/trunk/src/c/io/Python/
issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp
issm/trunk/src/c/io/Python/FetchPythonData.cpp
issm/trunk/src/c/io/Python/WritePythonData.cpp
issm/trunk/src/c/io/Python/pythonio.h
issm/trunk/src/c/modules/Solverx/SolverxGsl.cpp
issm/trunk/src/c/modules/Solverx/SolverxPetsc.cpp
issm/trunk/src/c/modules/TriMeshx/
issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp
issm/trunk/src/c/modules/TriMeshx/TriMeshx.h
issm/trunk/src/c/objects/Numerics/Matrix.cpp
issm/trunk/src/c/objects/Numerics/Matrix.h
issm/trunk/src/c/objects/Numerics/Vector.cpp
issm/trunk/src/c/objects/Numerics/Vector.h
issm/trunk/src/c/objects/Params/MatrixParam.cpp
issm/trunk/src/c/objects/Params/MatrixParam.h
issm/trunk/src/c/objects/Params/VectorParam.cpp
issm/trunk/src/c/objects/Params/VectorParam.h
issm/trunk/src/c/shared/Numerics/OptionsFromAnalysis.cpp
issm/trunk/src/c/shared/Wrapper/
issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp
issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp
issm/trunk/src/c/shared/Wrapper/wrappershared.h
issm/trunk/src/c/solutions/objectivefunction.cpp
issm/trunk/src/c/toolkits/double/
issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp
issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp
issm/trunk/src/c/toolkits/double/double.h
issm/trunk/src/c/toolkits/issm/
issm/trunk/src/c/toolkits/issm/SeqMat.cpp
issm/trunk/src/c/toolkits/issm/SeqMat.h
issm/trunk/src/c/toolkits/issm/SeqVec.cpp
issm/trunk/src/c/toolkits/issm/SeqVec.h
issm/trunk/src/c/toolkits/issm/issmtoolkit.h
issm/trunk/src/c/toolkits/mpi/patches/DetermineLocalSize.cpp
issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp
issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp
issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp
issm/trunk/src/c/toolkits/python/
issm/trunk/src/c/toolkits/python/pythonincludes.h
issm/trunk/src/c/toolkits/toolkitsenums.h
issm/trunk/src/m/classes/modellist.m
issm/trunk/src/m/classes/pairoptions.m
issm/trunk/src/m/enum/ContourEnum.m
issm/trunk/src/m/enum/DebugPetscProfilingEnum.m
issm/trunk/src/m/enum/MatrixParamEnum.m
issm/trunk/src/m/enum/PetscProfilingCurrentFlopsEnum.m
issm/trunk/src/m/enum/PetscProfilingCurrentMemEnum.m
issm/trunk/src/m/enum/PetscProfilingSolutionTimeEnum.m
issm/trunk/src/m/enum/SaveResultsEnum.m
issm/trunk/src/m/enum/StepEnum.m
issm/trunk/src/m/enum/TimesteppingStartTimeEnum.m
issm/trunk/src/m/enum/VectorParamEnum.m
issm/trunk/src/m/model/EnumToModelField.m
issm/trunk/src/m/solutions/objectivefunction.m
issm/trunk/src/m/utils/OS/ispetsc.m
issm/trunk/src/mex/TriMeshRifts/
issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp
issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h
issm/trunk/src/py/classes/autodiff.py
issm/trunk/src/py/classes/balancethickness.py
issm/trunk/src/py/classes/basalforcings.py
issm/trunk/src/py/classes/clusters/
issm/trunk/src/py/classes/clusters/generic.py
issm/trunk/src/py/classes/clusters/none.py
issm/trunk/src/py/classes/constants.py
issm/trunk/src/py/classes/debug.py
issm/trunk/src/py/classes/diagnostic.py
issm/trunk/src/py/classes/flaim.py
issm/trunk/src/py/classes/flowequation.py
issm/trunk/src/py/classes/friction.py
issm/trunk/src/py/classes/geometry.py
issm/trunk/src/py/classes/groundingline.py
issm/trunk/src/py/classes/hydrology.py
issm/trunk/src/py/classes/initialization.py
issm/trunk/src/py/classes/inversion.py
issm/trunk/src/py/classes/mask.py
issm/trunk/src/py/classes/materials.py
issm/trunk/src/py/classes/miscellaneous.py
issm/trunk/src/py/classes/pairoptions.py
issm/trunk/src/py/classes/private.py
issm/trunk/src/py/classes/prognostic.py
issm/trunk/src/py/classes/qmu.py
issm/trunk/src/py/classes/radaroverlay.py
issm/trunk/src/py/classes/rifts.py
issm/trunk/src/py/classes/settings.py
issm/trunk/src/py/classes/solver.py
issm/trunk/src/py/classes/steadystate.py
issm/trunk/src/py/classes/surfaceforcings.py
issm/trunk/src/py/classes/thermal.py
issm/trunk/src/py/classes/timestepping.py
issm/trunk/src/py/classes/transient.py
issm/trunk/src/py/classes/verbose.py
issm/trunk/src/py/model/
issm/trunk/src/py/model/display/
issm/trunk/src/py/model/display/fielddisplay.py
issm/trunk/src/py/model/display/fielddisplay.rest
issm/trunk/src/py/model/petscversion.py
issm/trunk/src/py/model/solvers/
issm/trunk/src/py/model/solvers/asmoptions.py
issm/trunk/src/py/model/solvers/iluasmoptions.py
issm/trunk/src/py/model/solvers/jacobiasmoptions.py
issm/trunk/src/py/model/solvers/jacobicgoptions.py
issm/trunk/src/py/model/solvers/matlaboptions.py
issm/trunk/src/py/model/solvers/mumpsoptions.py
issm/trunk/src/py/model/solvers/soroptions.py
issm/trunk/src/py/model/solvers/stokesoptions.py
issm/trunk/src/py/utils/
issm/trunk/src/py/utils/OS/
issm/trunk/src/py/utils/OS/ismumps.py
issm/trunk/src/py/utils/Shell/
issm/trunk/src/py/utils/Shell/issmtier.py
issm/trunk/test/Archives/Archive455.mat
issm/trunk/test/Archives/Archive456.mat
issm/trunk/test/Archives/Archive457.mat
issm/trunk/test/Archives/Archive458.mat
issm/trunk/test/Archives/Archive459.mat
issm/trunk/test/Archives/Archive460.mat
issm/trunk/test/Archives/Archive461.mat
issm/trunk/test/Archives/Archive462.mat
issm/trunk/test/Archives/Archive463.mat
issm/trunk/test/Archives/Archive464.mat
issm/trunk/test/NightlyRun/test101.py
issm/trunk/test/NightlyRun/test455.m
issm/trunk/test/NightlyRun/test456.m
issm/trunk/test/NightlyRun/test457.m
issm/trunk/test/NightlyRun/test458.m
issm/trunk/test/NightlyRun/test459.m
issm/trunk/test/NightlyRun/test460.m
issm/trunk/test/NightlyRun/test461.m
issm/trunk/test/NightlyRun/test462.m
issm/trunk/test/NightlyRun/test463.m
issm/trunk/test/NightlyRun/test464.m
Removed:
issm/trunk/COPYING
issm/trunk/ChangeLog
issm/trunk/INSTALL
issm/trunk/LICENSE
issm/trunk/NEWS
issm/trunk/ar-lib
issm/trunk/compile
issm/trunk/cron/configs/linux64_larour
issm/trunk/cron/configs/linux64_morlighem_daily
issm/trunk/cron/configs/linux64_morlighem_nightly
issm/trunk/cron/configs/linux64_morlighem_validation
issm/trunk/cron/configs/linux64_schlegel_daily
issm/trunk/cron/configs/linux64_schlegel_nightly
issm/trunk/cron/configs/linux64_schlegel_ucitrunk
issm/trunk/cron/configs/linux64_schlegel_validation
issm/trunk/cron/configs/linux64_seroussi
issm/trunk/cron/configs/linux64_seroussi_daily
issm/trunk/cron/configs/linux64_seroussi_nightly
issm/trunk/cron/configs/linux64_seroussi_ucitrunk
issm/trunk/cron/configs/linux64_seroussi_validation
issm/trunk/cron/configs/macosx32_seroussi
issm/trunk/cron/configs/macosx64_larour
issm/trunk/cron/configs/winxp32_larour
issm/trunk/depcomp
issm/trunk/examples/Jakobshavn/Domain.exp
issm/trunk/examples/Jakobshavn/Front.exp
issm/trunk/examples/Jakobshavn/Jks.par
issm/trunk/examples/Jakobshavn/WeakB.exp
issm/trunk/examples/Jakobshavn/runme.m
issm/trunk/externalpackages/android-dev-dir/android-emulators/
issm/trunk/externalpackages/android-ndk/android-ndk-r7b-darwin-x86.tar.bz2
issm/trunk/externalpackages/android-ndk/install.sh
issm/trunk/externalpackages/android-sdk/android-sdk-r16-macosx.zip
issm/trunk/externalpackages/android-sdk/apache-ant-1.8.2-bin.zip
issm/trunk/externalpackages/android-sdk/install.sh
issm/trunk/externalpackages/android/
issm/trunk/externalpackages/boost/boost_1_45_0.tar.gz
issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m
issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m
issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m
issm/trunk/externalpackages/cm_and_cb_utilities/cm_and_cb_utilities.png
issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m
issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m
issm/trunk/externalpackages/geos5/install.sh
issm/trunk/externalpackages/gmake/install.sh
issm/trunk/externalpackages/gmake/make-3.82.tar.gz
issm/trunk/externalpackages/gsl/README
issm/trunk/externalpackages/gsl/gsl-1.15.tar.gz
issm/trunk/externalpackages/gsl/install-linux64-murdo.sh
issm/trunk/externalpackages/gsl/install-macosx64.sh
issm/trunk/externalpackages/intel/
issm/trunk/externalpackages/modelE/install.sh
issm/trunk/externalpackages/modelE/modelE_AR5_branch.2012.03.13_10.12.21.tgz
issm/trunk/externalpackages/nose/install-macosx64sh
issm/trunk/externalpackages/packagemaker/install.sh
issm/trunk/externalpackages/petsc/configs/3.1/
issm/trunk/externalpackages/petsc/configs/3.1/win7/
issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch
issm/trunk/externalpackages/python/patch/pyport.h.patch
issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport
issm/trunk/externalpackages/scipy/README
issm/trunk/externalpackages/scipy/install-macosx64.sh
issm/trunk/externalpackages/triangle/README
issm/trunk/externalpackages/triangle/configs/android/android-4.0/
issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make
issm/trunk/externalpackages/win7/
issm/trunk/externalpackages/windows/InstallInstructions.txt
issm/trunk/externalpackages/windows/README
issm/trunk/externalpackages/windows/Sdk1.png
issm/trunk/externalpackages/windows/Sdk2.png
issm/trunk/externalpackages/windows/configs/
issm/trunk/externalpackages/windows/configs/intel-win7.sh
issm/trunk/externalpackages/windows/configs/intel-winXP.sh
issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh
issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh
issm/trunk/externalpackages/windows/win7.sdk7.1.exe
issm/trunk/externalpackages/windows/windows_environment.sh
issm/trunk/install-sh
issm/trunk/installers/
issm/trunk/m4/matlab.m4
issm/trunk/missing
issm/trunk/packagers/macosx/
issm/trunk/packagers/macosx/ISSM.app/
issm/trunk/packagers/macosx/ISSM.app/Contents/
issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist
issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/
issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/applet
issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/main.scpt
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.icns
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.rsrc
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/
issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf
issm/trunk/packagers/macosx/ISSM.appscript
issm/trunk/packagers/macosx/ISSM.pmdoc/
issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml
issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml
issm/trunk/packagers/macosx/README
issm/trunk/packagers/macosx/issm.icns
issm/trunk/packagers/macosx/matlabissm
issm/trunk/packagers/macosx/package.sh
issm/trunk/packagers/macosx/package_incomplete.sh
issm/trunk/packagers/macosx/startup.m
issm/trunk/packagers/ubuntu/
issm/trunk/packagers/ubuntu/README
issm/trunk/packagers/ubuntu/package.sh
issm/trunk/packagers/ubuntu/startup.m
issm/trunk/packagers/win7/
issm/trunk/packagers/win7/ISSM.initial.aip
issm/trunk/packagers/win7/ISSMlogo.ico
issm/trunk/packagers/win7/package.sh
issm/trunk/packagers/win7/startup.m
issm/trunk/src/ad/Makefile.am
issm/trunk/src/ad/eraselinks.sh
issm/trunk/src/ad/softlink.sh
issm/trunk/src/android/HelloWorldProject/
issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml
issm/trunk/src/android/HelloWorldProject/ant.properties
issm/trunk/src/android/HelloWorldProject/bin/
issm/trunk/src/android/HelloWorldProject/build.xml
issm/trunk/src/android/HelloWorldProject/gen/
issm/trunk/src/android/HelloWorldProject/gen/R.java.d
issm/trunk/src/android/HelloWorldProject/gen/com/
issm/trunk/src/android/HelloWorldProject/gen/com/example/
issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/
issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java
issm/trunk/src/android/HelloWorldProject/libs/
issm/trunk/src/android/HelloWorldProject/makefile
issm/trunk/src/android/HelloWorldProject/proguard.cfg
issm/trunk/src/android/HelloWorldProject/project.properties
issm/trunk/src/android/HelloWorldProject/res/
issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/
issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png
issm/trunk/src/android/HelloWorldProject/res/layout/
issm/trunk/src/android/HelloWorldProject/res/layout/main.xml
issm/trunk/src/android/HelloWorldProject/res/values/
issm/trunk/src/android/HelloWorldProject/res/values/strings.xml
issm/trunk/src/android/HelloWorldProject/src/
issm/trunk/src/android/HelloWorldProject/src/com/
issm/trunk/src/android/HelloWorldProject/src/com/example/
issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/
issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java
issm/trunk/src/android/two-libs/
issm/trunk/src/android/two-libs/AndroidManifest.xml
issm/trunk/src/android/two-libs/bin/
issm/trunk/src/android/two-libs/bin/build.prop
issm/trunk/src/android/two-libs/bin/classes.dex
issm/trunk/src/android/two-libs/bin/classes.dex.d
issm/trunk/src/android/two-libs/bin/classes/
issm/trunk/src/android/two-libs/bin/classes/com/
issm/trunk/src/android/two-libs/bin/classes/com/example/
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$attr.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$string.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R.class
issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/TwoLibs.class
issm/trunk/src/android/two-libs/bin/res/
issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk
issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d
issm/trunk/src/android/two-libs/bin/two-libs-debug.apk
issm/trunk/src/android/two-libs/bin/two-libs.ap_
issm/trunk/src/android/two-libs/bin/two-libs.ap_.d
issm/trunk/src/android/two-libs/build.xml
issm/trunk/src/android/two-libs/gen/
issm/trunk/src/android/two-libs/gen/R.java.d
issm/trunk/src/android/two-libs/gen/com/
issm/trunk/src/android/two-libs/gen/com/example/
issm/trunk/src/android/two-libs/gen/com/example/twolibs/
issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java
issm/trunk/src/android/two-libs/jni/
issm/trunk/src/android/two-libs/jni/Android.mk
issm/trunk/src/android/two-libs/jni/first.c
issm/trunk/src/android/two-libs/jni/first.h
issm/trunk/src/android/two-libs/jni/second.c
issm/trunk/src/android/two-libs/libs/
issm/trunk/src/android/two-libs/libs/armeabi/
issm/trunk/src/android/two-libs/obj/
issm/trunk/src/android/two-libs/obj/local/
issm/trunk/src/android/two-libs/obj/local/armeabi/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/
issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d
issm/trunk/src/android/two-libs/proguard.cfg
issm/trunk/src/android/two-libs/project.properties
issm/trunk/src/android/two-libs/res/
issm/trunk/src/android/two-libs/res/values/
issm/trunk/src/android/two-libs/res/values/strings.xml
issm/trunk/src/android/two-libs/src/
issm/trunk/src/android/two-libs/src/com/
issm/trunk/src/android/two-libs/src/com/example/
issm/trunk/src/android/two-libs/src/com/example/twolibs/
issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java
issm/trunk/src/android/two-libs/tests/
issm/trunk/src/android/two-libs/tests/AndroidManifest.xml
issm/trunk/src/android/two-libs/tests/default.properties
issm/trunk/src/android/two-libs/tests/src/
issm/trunk/src/android/two-libs/tests/src/com/
issm/trunk/src/android/two-libs/tests/src/com/example/
issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/
issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp
issm/trunk/src/c/io/Python/FetchPythonData.cpp
issm/trunk/src/c/io/Python/WritePythonData.cpp
issm/trunk/src/c/io/Python/pythonio.h
issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp
issm/trunk/src/c/modules/TriMeshx/TriMeshx.h
issm/trunk/src/c/objects/Params/PetscMatParam.cpp
issm/trunk/src/c/objects/Params/PetscMatParam.h
issm/trunk/src/c/objects/Params/PetscVecParam.cpp
issm/trunk/src/c/objects/Params/PetscVecParam.h
issm/trunk/src/c/shared/Matlab/
issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp
issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp
issm/trunk/src/c/shared/Wrapper/wrappershared.h
issm/trunk/src/c/solutions/enthalpy_core_step.cpp
issm/trunk/src/c/solutions/objectivefunctionC.cpp
issm/trunk/src/c/solutions/thermal_core_step.cpp
issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp
issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp
issm/trunk/src/c/toolkits/double/double.h
issm/trunk/src/c/toolkits/issm/SeqMat.cpp
issm/trunk/src/c/toolkits/issm/SeqMat.h
issm/trunk/src/c/toolkits/issm/SeqVec.cpp
issm/trunk/src/c/toolkits/issm/SeqVec.h
issm/trunk/src/c/toolkits/issm/issmtoolkit.h
issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp
issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp
issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp
issm/trunk/src/c/toolkits/python/pythonincludes.h
issm/trunk/src/m/classes/@modellist/
issm/trunk/src/m/classes/@pairoptions/
issm/trunk/src/m/classes/Makefile.am
issm/trunk/src/m/classes/clusters/Makefile.am
issm/trunk/src/m/classes/model/Makefile.am
issm/trunk/src/m/enum/EnumToModelField.m
issm/trunk/src/m/enum/Makefile.am
issm/trunk/src/m/enum/PetscMatParamEnum.m
issm/trunk/src/m/enum/PetscVecParamEnum.m
issm/trunk/src/m/kml/Makefile.am
issm/trunk/src/m/model/Makefile.am
issm/trunk/src/m/model/display/Makefile.am
issm/trunk/src/m/model/mesh/Makefile.am
issm/trunk/src/m/model/parameterization/Makefile.am
issm/trunk/src/m/model/partition/Makefile.am
issm/trunk/src/m/model/plot/Makefile.am
issm/trunk/src/m/model/solvers/Makefile.am
issm/trunk/src/m/planet/Makefile.am
issm/trunk/src/m/qmu/Makefile.am
issm/trunk/src/m/shared/Makefile.am
issm/trunk/src/m/solutions/Makefile.am
issm/trunk/src/m/solutions/enthalpy_core_step.m
issm/trunk/src/m/solutions/objectivefunctionC.m
issm/trunk/src/m/solutions/thermal_core_step.m
issm/trunk/src/m/solvers/Makefile.am
issm/trunk/src/m/utils/Analysis/Makefile.am
issm/trunk/src/m/utils/Array/Makefile.am
issm/trunk/src/m/utils/BC/Makefile.am
issm/trunk/src/m/utils/Basins/Makefile.am
issm/trunk/src/m/utils/Cluster/Makefile.am
issm/trunk/src/m/utils/DataProcessing/Makefile.am
issm/trunk/src/m/utils/Ecco3/Makefile.am
issm/trunk/src/m/utils/Exp/Makefile.am
issm/trunk/src/m/utils/Exp/expconcatenate.m
issm/trunk/src/m/utils/Exp/expcut.m
issm/trunk/src/m/utils/Exp/expopen.m
issm/trunk/src/m/utils/Exp/expselect.m
issm/trunk/src/m/utils/Exp/readwrite/newline.m
issm/trunk/src/m/utils/Exp/readwrite/read_file.m
issm/trunk/src/m/utils/Exp/readwrite/readfile.m
issm/trunk/src/m/utils/Exp/readwrite/writefile.m
issm/trunk/src/m/utils/Exp/zinput.m
issm/trunk/src/m/utils/Geometry/Makefile.am
issm/trunk/src/m/utils/ImageProcessing/Makefile.am
issm/trunk/src/m/utils/Interp/Makefile.am
issm/trunk/src/m/utils/Kml/Makefile.am
issm/trunk/src/m/utils/LatLong/Makefile.am
issm/trunk/src/m/utils/Makefile.am
issm/trunk/src/m/utils/Math/Makefile.am
issm/trunk/src/m/utils/Meca/Makefile.am
issm/trunk/src/m/utils/Mesh/Makefile.am
issm/trunk/src/m/utils/Miscellaneous/Makefile.am
issm/trunk/src/m/utils/Model/Makefile.am
issm/trunk/src/m/utils/Numerics/Makefile.am
issm/trunk/src/m/utils/OS/Makefile.am
issm/trunk/src/m/utils/Plot/Makefile.am
issm/trunk/src/m/utils/Shell/Makefile.am
issm/trunk/src/m/utils/String/Makefile.am
issm/trunk/src/m/utils/consistency/Makefile.am
issm/trunk/src/m/utils/qmu/Makefile.am
issm/trunk/src/mex/Test/
issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp
issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h
issm/trunk/src/py/classes/clusters/generic.py
issm/trunk/src/py/classes/clusters/none.py
issm/trunk/src/py/model/display/
issm/trunk/src/py/model/display/fielddisplay.py
issm/trunk/src/py/model/display/fielddisplay.rest
issm/trunk/src/py/model/petscversion.py
issm/trunk/src/py/model/solvers/
issm/trunk/src/py/model/solvers/asmoptions.py
issm/trunk/src/py/model/solvers/iluasmoptions.py
issm/trunk/src/py/model/solvers/jacobiasmoptions.py
issm/trunk/src/py/model/solvers/jacobicgoptions.py
issm/trunk/src/py/model/solvers/matlaboptions.py
issm/trunk/src/py/model/solvers/mumpsoptions.py
issm/trunk/src/py/model/solvers/soroptions.py
issm/trunk/src/py/model/solvers/stokesoptions.py
issm/trunk/src/py/modules/
issm/trunk/src/py/utils/OS/
issm/trunk/src/py/utils/OS/ismumps.py
issm/trunk/src/py/utils/Shell/
issm/trunk/src/py/utils/Shell/issmtier.py
Modified:
issm/trunk/
issm/trunk/Makefile.am
issm/trunk/configs/config-linux64-murdo.sh
issm/trunk/configs/config-win7-32.sh
issm/trunk/configs/config-win7-64.sh
issm/trunk/configure.ac
issm/trunk/cron/
issm/trunk/cron/cronfiles/mac_cronfile
issm/trunk/cron/nightlyrun.sh
issm/trunk/etc/environment.sh
issm/trunk/etc/environment_variables.sh
issm/trunk/examples/SquareIceShelf/runme.m
issm/trunk/execution/
issm/trunk/externalpackages/adolc/install.sh
issm/trunk/externalpackages/boost/install.sh
issm/trunk/externalpackages/cccl/issm/cccl
issm/trunk/externalpackages/dakota/install-macosx64.sh
issm/trunk/externalpackages/dyson/ldap.pl
issm/trunk/externalpackages/export_fig/eps2pdf.m
issm/trunk/externalpackages/export_fig/export_fig.m
issm/trunk/externalpackages/export_fig/isolate_axes.m
issm/trunk/externalpackages/export_fig/license.txt
issm/trunk/externalpackages/export_fig/print2array.m
issm/trunk/externalpackages/export_fig/print2eps.m
issm/trunk/externalpackages/matlab/install.sh
issm/trunk/externalpackages/metis/configs/4.0/altix64/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/cosmos/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/greenplanet/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/linux64/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/macosx32/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/macosx64/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/pleiades/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/win32/Makefile.in.patch
issm/trunk/externalpackages/metis/configs/4.0/win7/Makefile.in.patch
issm/trunk/externalpackages/metis/install-4.0-win7.sh
issm/trunk/externalpackages/metis/metis-4.0.patch
issm/trunk/externalpackages/mitgcm/install.sh
issm/trunk/externalpackages/petsc/
issm/trunk/externalpackages/petsc/install-3.1-win7.sh
issm/trunk/externalpackages/python/
issm/trunk/externalpackages/python/install.sh
issm/trunk/externalpackages/triangle/install-macosx64.sh
issm/trunk/externalpackages/triangle/makefile
issm/trunk/externalpackages/triangle/triangle.h.patch
issm/trunk/externalpackages/vim/addons/vim/syntax/c.vim
issm/trunk/m4/issm_options.m4
issm/trunk/scripts/historyISSM.m
issm/trunk/scripts/report.sh
issm/trunk/src/Makefile.am
issm/trunk/src/c/Container/DataSet.cpp
issm/trunk/src/c/Container/Elements.cpp
issm/trunk/src/c/Container/Options.cpp
issm/trunk/src/c/Container/Options.h
issm/trunk/src/c/Container/Parameters.cpp
issm/trunk/src/c/Container/Parameters.h
issm/trunk/src/c/Container/Results.cpp
issm/trunk/src/c/Container/Results.h
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
issm/trunk/src/c/EnumDefinitions/README
issm/trunk/src/c/EnumDefinitions/Synchronize.sh
issm/trunk/src/c/Makefile.am
issm/trunk/src/c/include/globals.h
issm/trunk/src/c/include/macros.h
issm/trunk/src/c/include/types.h
issm/trunk/src/c/io/Matlab/FetchMatlabData.cpp
issm/trunk/src/c/io/Matlab/OptionParse.cpp
issm/trunk/src/c/io/Matlab/WriteMatlabData.cpp
issm/trunk/src/c/io/Matlab/matlabio.h
issm/trunk/src/c/io/PrintfFunction.cpp
issm/trunk/src/c/io/io.h
issm/trunk/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
issm/trunk/src/c/modules/Bamgx/Bamgx.cpp
issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.cpp
issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.h
issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp
issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp
issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.h
issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp
issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.h
issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp
issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.h
issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp
issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp
issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h
issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp
issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h
issm/trunk/src/c/modules/Dakotax/Dakotax.cpp
issm/trunk/src/c/modules/Dakotax/Dakotax.h
issm/trunk/src/c/modules/Dakotax/SpawnCore.cpp
issm/trunk/src/c/modules/Dakotax/SpawnCoreSerial.cpp
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
issm/trunk/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp
issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h
issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp
issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h
issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h
issm/trunk/src/c/modules/Gradjx/Gradjx.cpp
issm/trunk/src/c/modules/Gradjx/Gradjx.h
issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h
issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp
issm/trunk/src/c/modules/InputToResultx/InputToResultx.h
issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h
issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h
issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h
issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h
issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp
issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.h
issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
issm/trunk/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h
issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h
issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
issm/trunk/src/c/modules/Orthx/Orthx.cpp
issm/trunk/src/c/modules/Orthx/Orthx.h
issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp
issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h
issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp
issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp
issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h
issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.cpp
issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.h
issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp
issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.h
issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.cpp
issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.h
issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp
issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.h
issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp
issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h
issm/trunk/src/c/modules/Solverx/Solverx.cpp
issm/trunk/src/c/modules/Solverx/Solverx.h
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h
issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp
issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h
issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
issm/trunk/src/c/modules/VecMergex/VecMergex.cpp
issm/trunk/src/c/modules/VecMergex/VecMergex.h
issm/trunk/src/c/modules/modules.h
issm/trunk/src/c/objects/Bamg/BamgGeom.cpp
issm/trunk/src/c/objects/Bamg/BamgGeom.h
issm/trunk/src/c/objects/Bamg/BamgMesh.cpp
issm/trunk/src/c/objects/Bamg/BamgMesh.h
issm/trunk/src/c/objects/Bamg/BamgOpts.cpp
issm/trunk/src/c/objects/Bamg/BamgOpts.h
issm/trunk/src/c/objects/Bamg/Mesh.cpp
issm/trunk/src/c/objects/Bamg/Triangle.cpp
issm/trunk/src/c/objects/Bamg/Triangle.h
issm/trunk/src/c/objects/Contour.cpp
issm/trunk/src/c/objects/Contour.h
issm/trunk/src/c/objects/ElementResults/BoolElementResult.cpp
issm/trunk/src/c/objects/ElementResults/BoolElementResult.h
issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h
issm/trunk/src/c/objects/ElementResults/ElementResult.h
issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.cpp
issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.h
issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.cpp
issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.h
issm/trunk/src/c/objects/Elements/Element.h
issm/trunk/src/c/objects/Elements/Penta.cpp
issm/trunk/src/c/objects/Elements/Penta.h
issm/trunk/src/c/objects/Elements/Tria.cpp
issm/trunk/src/c/objects/Elements/Tria.h
issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.h
issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.h
issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.h
issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.h
issm/trunk/src/c/objects/ExternalResults/ExternalResult.h
issm/trunk/src/c/objects/ExternalResults/IntExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/IntExternalResult.h
issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.h
issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp
issm/trunk/src/c/objects/ExternalResults/StringExternalResult.h
issm/trunk/src/c/objects/FemModel.cpp
issm/trunk/src/c/objects/Inputs/BoolInput.cpp
issm/trunk/src/c/objects/Inputs/BoolInput.h
issm/trunk/src/c/objects/Inputs/ControlInput.cpp
issm/trunk/src/c/objects/Inputs/ControlInput.h
issm/trunk/src/c/objects/Inputs/DatasetInput.h
issm/trunk/src/c/objects/Inputs/DoubleInput.cpp
issm/trunk/src/c/objects/Inputs/DoubleInput.h
issm/trunk/src/c/objects/Inputs/Input.h
issm/trunk/src/c/objects/Inputs/IntInput.cpp
issm/trunk/src/c/objects/Inputs/IntInput.h
issm/trunk/src/c/objects/Inputs/PentaP1Input.cpp
issm/trunk/src/c/objects/Inputs/PentaP1Input.h
issm/trunk/src/c/objects/Inputs/TransientInput.cpp
issm/trunk/src/c/objects/Inputs/TransientInput.h
issm/trunk/src/c/objects/Inputs/TriaP1Input.cpp
issm/trunk/src/c/objects/Inputs/TriaP1Input.h
issm/trunk/src/c/objects/Loads/Icefront.cpp
issm/trunk/src/c/objects/Loads/Icefront.h
issm/trunk/src/c/objects/Loads/Load.h
issm/trunk/src/c/objects/Loads/Numericalflux.cpp
issm/trunk/src/c/objects/Loads/Numericalflux.h
issm/trunk/src/c/objects/Loads/Pengrid.cpp
issm/trunk/src/c/objects/Loads/Pengrid.h
issm/trunk/src/c/objects/Loads/Penpair.cpp
issm/trunk/src/c/objects/Loads/Penpair.h
issm/trunk/src/c/objects/Loads/Riftfront.cpp
issm/trunk/src/c/objects/Loads/Riftfront.h
issm/trunk/src/c/objects/Materials/Material.h
issm/trunk/src/c/objects/Materials/Matice.cpp
issm/trunk/src/c/objects/Materials/Matice.h
issm/trunk/src/c/objects/Materials/Matpar.h
issm/trunk/src/c/objects/Node.cpp
issm/trunk/src/c/objects/Node.h
issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp
issm/trunk/src/c/objects/Numerics/ElementMatrix.h
issm/trunk/src/c/objects/Numerics/ElementVector.cpp
issm/trunk/src/c/objects/Numerics/ElementVector.h
issm/trunk/src/c/objects/OptArgs.h
issm/trunk/src/c/objects/Params/BoolParam.cpp
issm/trunk/src/c/objects/Params/BoolParam.h
issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp
issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h
issm/trunk/src/c/objects/Params/DoubleMatParam.cpp
issm/trunk/src/c/objects/Params/DoubleMatParam.h
issm/trunk/src/c/objects/Params/DoubleParam.cpp
issm/trunk/src/c/objects/Params/DoubleParam.h
issm/trunk/src/c/objects/Params/DoubleTransientMatParam.h
issm/trunk/src/c/objects/Params/DoubleVecParam.cpp
issm/trunk/src/c/objects/Params/DoubleVecParam.h
issm/trunk/src/c/objects/Params/FileParam.cpp
issm/trunk/src/c/objects/Params/FileParam.h
issm/trunk/src/c/objects/Params/IntMatParam.cpp
issm/trunk/src/c/objects/Params/IntMatParam.h
issm/trunk/src/c/objects/Params/IntParam.cpp
issm/trunk/src/c/objects/Params/IntParam.h
issm/trunk/src/c/objects/Params/IntVecParam.cpp
issm/trunk/src/c/objects/Params/IntVecParam.h
issm/trunk/src/c/objects/Params/Param.h
issm/trunk/src/c/objects/Params/StringArrayParam.cpp
issm/trunk/src/c/objects/Params/StringArrayParam.h
issm/trunk/src/c/objects/Params/StringParam.cpp
issm/trunk/src/c/objects/Params/StringParam.h
issm/trunk/src/c/objects/Vertex.cpp
issm/trunk/src/c/objects/Vertex.h
issm/trunk/src/c/objects/objects.h
issm/trunk/src/c/shared/Alloc/alloc.cpp
issm/trunk/src/c/shared/Alloc/alloc.h
issm/trunk/src/c/shared/Elements/elements.h
issm/trunk/src/c/shared/Exceptions/Exceptions.cpp
issm/trunk/src/c/shared/Exp/DomainOutlineRead.cpp
issm/trunk/src/c/shared/Exp/IsInPoly.cpp
issm/trunk/src/c/shared/Exp/exp.h
issm/trunk/src/c/shared/Matrix/MatrixUtils.cpp
issm/trunk/src/c/shared/Numerics/GaussPoints.cpp
issm/trunk/src/c/shared/Numerics/OptFunc.cpp
issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp
issm/trunk/src/c/shared/Numerics/UnitConversion.cpp
issm/trunk/src/c/shared/Numerics/Verbosity.cpp
issm/trunk/src/c/shared/Numerics/XZvectorsToCoordinateSystem.cpp
issm/trunk/src/c/shared/Numerics/numerics.h
issm/trunk/src/c/shared/shared.h
issm/trunk/src/c/solutions/AnalysisConfiguration.cpp
issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp
issm/trunk/src/c/solutions/adjointbalancethickness_core.cpp
issm/trunk/src/c/solutions/adjointdiagnostic_core.cpp
issm/trunk/src/c/solutions/balancethickness_core.cpp
issm/trunk/src/c/solutions/bedslope_core.cpp
issm/trunk/src/c/solutions/control_core.cpp
issm/trunk/src/c/solutions/controlrestart.cpp
issm/trunk/src/c/solutions/controltao_core.cpp
issm/trunk/src/c/solutions/convergence.cpp
issm/trunk/src/c/solutions/diagnostic_core.cpp
issm/trunk/src/c/solutions/enthalpy_core.cpp
issm/trunk/src/c/solutions/gradient_core.cpp
issm/trunk/src/c/solutions/hydrology_core.cpp
issm/trunk/src/c/solutions/issm.cpp
issm/trunk/src/c/solutions/prognostic_core.cpp
issm/trunk/src/c/solutions/solutions.h
issm/trunk/src/c/solutions/steadystate_core.cpp
issm/trunk/src/c/solutions/surfaceslope_core.cpp
issm/trunk/src/c/solutions/thermal_core.cpp
issm/trunk/src/c/solutions/transient_core.cpp
issm/trunk/src/c/solvers/solver_adjoint_linear.cpp
issm/trunk/src/c/solvers/solver_linear.cpp
issm/trunk/src/c/solvers/solver_newton.cpp
issm/trunk/src/c/solvers/solver_nonlinear.cpp
issm/trunk/src/c/solvers/solver_stokescoupling_nonlinear.cpp
issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp
issm/trunk/src/c/toolkits/matlab/MatlabNArrayToNArray.cpp
issm/trunk/src/c/toolkits/matlab/matlabincludes.h
issm/trunk/src/c/toolkits/mpi/patches/MPI_Boundariesfromrange.cpp
issm/trunk/src/c/toolkits/mpi/patches/MPI_Lowerrow.cpp
issm/trunk/src/c/toolkits/mpi/patches/MPI_Upperrow.cpp
issm/trunk/src/c/toolkits/mpi/patches/mpipatches.h
issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp
issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp
issm/trunk/src/c/toolkits/petsc/patches/MatToSerial.cpp
issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp
issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToPetscVector.cpp
issm/trunk/src/c/toolkits/petsc/patches/NewMat.cpp
issm/trunk/src/c/toolkits/petsc/patches/NewVec.cpp
issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp
issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
issm/trunk/src/c/toolkits/petsc/patches/PetscVectorToMatlabVector.cpp
issm/trunk/src/c/toolkits/petsc/patches/SerialToVec.cpp
issm/trunk/src/c/toolkits/petsc/patches/VecToMPISerial.cpp
issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h
issm/trunk/src/c/toolkits/petsc/petscincludes.h
issm/trunk/src/c/toolkits/plapack/plapackincludes.h
issm/trunk/src/c/toolkits/toolkits.h
issm/trunk/src/m/Makefile.am
issm/trunk/src/m/classes/autodiff.m
issm/trunk/src/m/classes/balancethickness.m
issm/trunk/src/m/classes/basalforcings.m
issm/trunk/src/m/classes/clusters/castor.m
issm/trunk/src/m/classes/clusters/cosmos.m
issm/trunk/src/m/classes/clusters/gemini.m
issm/trunk/src/m/classes/clusters/generic.m
issm/trunk/src/m/classes/clusters/greenplanet.m
issm/trunk/src/m/classes/clusters/none.m
issm/trunk/src/m/classes/clusters/pfe.m
issm/trunk/src/m/classes/clusters/pollux.m
issm/trunk/src/m/classes/constants.m
issm/trunk/src/m/classes/debug.m
issm/trunk/src/m/classes/diagnostic.m
issm/trunk/src/m/classes/flaim.m
issm/trunk/src/m/classes/flowequation.m
issm/trunk/src/m/classes/friction.m
issm/trunk/src/m/classes/geometry.m
issm/trunk/src/m/classes/groundingline.m
issm/trunk/src/m/classes/hydrology.m
issm/trunk/src/m/classes/initialization.m
issm/trunk/src/m/classes/inversion.m
issm/trunk/src/m/classes/mask.m
issm/trunk/src/m/classes/materials.m
issm/trunk/src/m/classes/mesh.m
issm/trunk/src/m/classes/miscellaneous.m
issm/trunk/src/m/classes/model/model.m
issm/trunk/src/m/classes/plotoptions.m
issm/trunk/src/m/classes/private.m
issm/trunk/src/m/classes/prognostic.m
issm/trunk/src/m/classes/qmu.m
issm/trunk/src/m/classes/radaroverlay.m
issm/trunk/src/m/classes/rifts.m
issm/trunk/src/m/classes/settings.m
issm/trunk/src/m/classes/solver.m
issm/trunk/src/m/classes/steadystate.m
issm/trunk/src/m/classes/surfaceforcings.m
issm/trunk/src/m/classes/thermal.m
issm/trunk/src/m/classes/timestepping.m
issm/trunk/src/m/classes/transient.m
issm/trunk/src/m/classes/verbose.m
issm/trunk/src/m/model/SectionValues.m
issm/trunk/src/m/model/collapse.m
issm/trunk/src/m/model/extrude.m
issm/trunk/src/m/model/marshall.m
issm/trunk/src/m/model/mesh/bamg.m
issm/trunk/src/m/model/mesh/triangle.m
issm/trunk/src/m/model/petscversion.m
issm/trunk/src/m/model/plot/plot_contour.m
issm/trunk/src/m/model/plot/plot_overlay.m
issm/trunk/src/m/model/plot/plot_section.m
issm/trunk/src/m/model/plot/plot_tensor.m
issm/trunk/src/m/model/plot/plotmodel.m
issm/trunk/src/m/model/slope.m
issm/trunk/src/m/model/solveparallel.m
issm/trunk/src/m/model/solvers/asmoptions.m
issm/trunk/src/m/model/solvers/iluasmoptions.m
issm/trunk/src/m/model/solvers/jacobiasmoptions.m
issm/trunk/src/m/model/solvers/jacobicgoptions.m
issm/trunk/src/m/model/solvers/matlaboptions.m
issm/trunk/src/m/model/solvers/mumpsoptions.m
issm/trunk/src/m/model/solvers/soroptions.m
issm/trunk/src/m/model/solvers/stokesoptions.m
issm/trunk/src/m/qmu/dakota_in_data.m
issm/trunk/src/m/qmu/dakota_in_write.m
issm/trunk/src/m/solutions/AnalysisConfiguration.m
issm/trunk/src/m/solutions/adjointbalancethickness_core.m
issm/trunk/src/m/solutions/adjointdiagnostic_core.m
issm/trunk/src/m/solutions/balancethickness_core.m
issm/trunk/src/m/solutions/bedslope_core.m
issm/trunk/src/m/solutions/control_core.m
issm/trunk/src/m/solutions/diagnostic_core.m
issm/trunk/src/m/solutions/enthalpy_core.m
issm/trunk/src/m/solutions/prognostic_core.m
issm/trunk/src/m/solutions/steadystate_core.m
issm/trunk/src/m/solutions/surfaceslope_core.m
issm/trunk/src/m/solutions/thermal_core.m
issm/trunk/src/m/solutions/transient_core.m
issm/trunk/src/m/utils/Analysis/setcluster.m
issm/trunk/src/m/utils/Exp/clicktoflowline.m
issm/trunk/src/m/utils/Exp/manipulation/
issm/trunk/src/m/utils/Exp/readwrite/
issm/trunk/src/m/utils/Exp/readwrite/expread.m
issm/trunk/src/m/utils/Numerics/cfl_step.m
issm/trunk/src/m/utils/OS/ismumps.m
issm/trunk/src/m/utils/OS/oshostname.m
issm/trunk/src/m/utils/Shell/issmtier.m
issm/trunk/src/mex/
issm/trunk/src/mex/AddExternalResult/AddExternalResult.cpp
issm/trunk/src/mex/AddExternalResult/AddExternalResult.h
issm/trunk/src/mex/AverageFilter/AverageFilter.cpp
issm/trunk/src/mex/AverageFilter/AverageFilter.h
issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.cpp
issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.h
issm/trunk/src/mex/BamgMesher/BamgMesher.h
issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.cpp
issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.h
issm/trunk/src/mex/Chaco/Chaco.cpp
issm/trunk/src/mex/Chaco/Chaco.h
issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp
issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.h
issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h
issm/trunk/src/mex/ConstraintsState/ConstraintsState.cpp
issm/trunk/src/mex/ConstraintsState/ConstraintsState.h
issm/trunk/src/mex/ContourToMesh/ContourToMesh.cpp
issm/trunk/src/mex/ContourToMesh/ContourToMesh.h
issm/trunk/src/mex/ContourToNodes/ContourToNodes.cpp
issm/trunk/src/mex/ContourToNodes/ContourToNodes.h
issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.cpp
issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.h
issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.cpp
issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.h
issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.cpp
issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.h
issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp
issm/trunk/src/mex/ControlOptimization/ControlOptimization.h
issm/trunk/src/mex/CostFunction/CostFunction.cpp
issm/trunk/src/mex/CostFunction/CostFunction.h
issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.cpp
issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.h
issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.cpp
issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.h
issm/trunk/src/mex/Dakota/Dakota.h
issm/trunk/src/mex/DakotaResponses/DakotaResponses.cpp
issm/trunk/src/mex/DakotaResponses/DakotaResponses.h
issm/trunk/src/mex/Echo/Echo.cpp
issm/trunk/src/mex/Echo/Echo.h
issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.cpp
issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.h
issm/trunk/src/mex/EnumToString/EnumToString.cpp
issm/trunk/src/mex/EnumToString/EnumToString.h
issm/trunk/src/mex/Exp2Kml/Exp2Kml.cpp
issm/trunk/src/mex/Exp2Kml/Exp2Kml.h
issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp
issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.h
issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.cpp
issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.h
issm/trunk/src/mex/Gradj/Gradj.cpp
issm/trunk/src/mex/Gradj/Gradj.h
issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp
issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h
issm/trunk/src/mex/HoleFiller/HoleFiller.cpp
issm/trunk/src/mex/HoleFiller/HoleFiller.h
issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.cpp
issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.h
issm/trunk/src/mex/InputConvergence/InputConvergence.cpp
issm/trunk/src/mex/InputConvergence/InputConvergence.h
issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp
issm/trunk/src/mex/InputDuplicate/InputDuplicate.h
issm/trunk/src/mex/InputScale/InputScale.cpp
issm/trunk/src/mex/InputScale/InputScale.h
issm/trunk/src/mex/InputToResult/InputToResult.cpp
issm/trunk/src/mex/InputToResult/InputToResult.h
issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp
issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.h
issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.cpp
issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.h
issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp
issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.h
issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp
issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.h
issm/trunk/src/mex/InternalFront/InternalFront.cpp
issm/trunk/src/mex/InternalFront/InternalFront.h
issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.cpp
issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.h
issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.cpp
issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.h
issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.h
issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h
issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h
issm/trunk/src/mex/KMLFileRead/KMLFileRead.cpp
issm/trunk/src/mex/KMLFileRead/KMLFileRead.h
issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.cpp
issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.h
issm/trunk/src/mex/KMLOverlay/KMLOverlay.cpp
issm/trunk/src/mex/KMLOverlay/KMLOverlay.h
issm/trunk/src/mex/Kml2Exp/Kml2Exp.cpp
issm/trunk/src/mex/Kml2Exp/Kml2Exp.h
issm/trunk/src/mex/Ll2xy/Ll2xy.cpp
issm/trunk/src/mex/Ll2xy/Ll2xy.h
issm/trunk/src/mex/Makefile.am
issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.cpp
issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.h
issm/trunk/src/mex/MeshPartition/MeshPartition.cpp
issm/trunk/src/mex/MeshPartition/MeshPartition.h
issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.cpp
issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.h
issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
issm/trunk/src/mex/ModelProcessor/ModelProcessor.h
issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.cpp
issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.h
issm/trunk/src/mex/NodesDof/NodesDof.cpp
issm/trunk/src/mex/NodesDof/NodesDof.h
issm/trunk/src/mex/Orth/Orth.cpp
issm/trunk/src/mex/Orth/Orth.h
issm/trunk/src/mex/OutputResults/OutputResults.cpp
issm/trunk/src/mex/OutputResults/OutputResults.h
issm/trunk/src/mex/OutputRifts/OutputRifts.cpp
issm/trunk/src/mex/OutputRifts/OutputRifts.h
issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp
issm/trunk/src/mex/ParameterOutput/ParameterOutput.h
issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.cpp
issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.h
issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.h
issm/trunk/src/mex/ProcessParams/ProcessParams.cpp
issm/trunk/src/mex/ProcessParams/ProcessParams.h
issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h
issm/trunk/src/mex/Reduceload/Reduceload.cpp
issm/trunk/src/mex/Reduceload/Reduceload.h
issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.cpp
issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.h
issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.cpp
issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.h
issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.cpp
issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.h
issm/trunk/src/mex/Response/Response.cpp
issm/trunk/src/mex/Response/Response.h
issm/trunk/src/mex/Scotch/Scotch.h
issm/trunk/src/mex/Shp2Kml/Shp2Kml.cpp
issm/trunk/src/mex/Shp2Kml/Shp2Kml.h
issm/trunk/src/mex/Solver/Solver.cpp
issm/trunk/src/mex/Solver/Solver.h
issm/trunk/src/mex/SparseToVector/SparseToVector.h
issm/trunk/src/mex/SpcNodes/SpcNodes.cpp
issm/trunk/src/mex/SpcNodes/SpcNodes.h
issm/trunk/src/mex/StringToEnum/StringToEnum.cpp
issm/trunk/src/mex/StringToEnum/StringToEnum.h
issm/trunk/src/mex/SurfaceArea/SurfaceArea.cpp
issm/trunk/src/mex/SurfaceArea/SurfaceArea.h
issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
issm/trunk/src/mex/SystemMatrices/SystemMatrices.h
issm/trunk/src/mex/TimeAdapt/TimeAdapt.cpp
issm/trunk/src/mex/TimeAdapt/TimeAdapt.h
issm/trunk/src/mex/TriMesh/TriMesh.cpp
issm/trunk/src/mex/TriMesh/TriMesh.h
issm/trunk/src/mex/TriMeshNoDensity/TriMeshNoDensity.h
issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h
issm/trunk/src/mex/TriMeshRefine/TriMeshRefine.h
issm/trunk/src/mex/TriaSearch/TriaSearch.cpp
issm/trunk/src/mex/TriaSearch/TriaSearch.h
issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.cpp
issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.h
issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.cpp
issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.h
issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp
issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h
issm/trunk/src/mex/VerticesDof/VerticesDof.cpp
issm/trunk/src/mex/VerticesDof/VerticesDof.h
issm/trunk/src/mex/Xy2ll/Xy2ll.cpp
issm/trunk/src/mex/Xy2ll/Xy2ll.h
issm/trunk/src/py/README
issm/trunk/src/py/classes/
issm/trunk/src/py/classes/mesh.py
issm/trunk/src/py/classes/model.py
issm/trunk/startup.m
issm/trunk/startup.py
issm/trunk/test/Archives/Archive263.mat
issm/trunk/test/NightlyRun/
issm/trunk/test/NightlyRun/IdToName.m
issm/trunk/test/NightlyRun/runme.m
issm/trunk/test/NightlyRun/test1104.m
issm/trunk/test/NightlyRun/test1105.m
issm/trunk/test/NightlyRun/test1109.m
issm/trunk/test/NightlyRun/test1110.m
issm/trunk/test/NightlyRun/test117.m
issm/trunk/test/NightlyRun/test118.m
issm/trunk/test/NightlyRun/test140.m
issm/trunk/test/NightlyRun/test141.m
issm/trunk/test/NightlyRun/test142.m
issm/trunk/test/NightlyRun/test213.m
issm/trunk/test/NightlyRun/test214.m
issm/trunk/test/NightlyRun/test263.m
issm/trunk/test/NightlyRun/test264.m
issm/trunk/test/NightlyRun/test325.m
issm/trunk/test/NightlyRun/test326.m
issm/trunk/test/NightlyRun/test351.m
issm/trunk/test/NightlyRun/test352.m
issm/trunk/test/NightlyRun/test413.m
issm/trunk/test/NightlyRun/test414.m
issm/trunk/test/NightlyRun/test529.m
issm/trunk/test/NightlyRun/test530.m
Log:
merged trunk-jpl and trunk for revision 11994M
Property changes on: issm/trunk
___________________________________________________________________
Modified: svn:ignore
- autom4te.cache
aclocal.m4
bin
config.log
config.h
config.h.in
config.status
configure
doxygen
ISSM.paf
ISSM.ppf
ISSM.ppf_cache
libtool
list
Makefile
Makefile.in
stamp-h1
svn-commit*
+ autom4te.cache
aclocal.m4
bin
config.log
config.h
config.h.in
config.status
configure
ISSM.paf
ISSM.ppf
ISSM.ppf_cache
libtool
Makefile
Makefile.in
stamp-h1
svn-commit*
Modified: svn:mergeinfo
- /issm/trunk-jpl:10936-11237,11239-11526
+ /issm/trunk-jpl:10936-11994
Deleted: issm/trunk/COPYING
===================================================================
--- issm/trunk/COPYING 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/COPYING 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-Copyright (c) 2002-2011, California Institute of Technology.
-All rights reserved. Based on Government Sponsored Research under contracts
-NAS7-1407 and/or NAS7-03001.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the California Institute of Technology (Caltech),
- its operating division the Jet Propulsion Laboratory (JPL), the National
- Aeronautics and Space Administration (NASA), nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE CALIFORNIA INSTITUTE OF TECHNOLOGY BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Deleted: issm/trunk/ChangeLog
===================================================================
--- issm/trunk/ChangeLog 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/ChangeLog 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-Go to
-
-https://issm.ess.uci.edu:80/trac/issm/timeline
Deleted: issm/trunk/INSTALL
===================================================================
--- issm/trunk/INSTALL 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/INSTALL 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-For the installation process please go to the ISSM website:
-
-http://issm.jpl.nasa.gov/
Deleted: issm/trunk/LICENSE
===================================================================
--- issm/trunk/LICENSE 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/LICENSE 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-Copyright (c) 2002-2011, California Institute of Technology.
-All rights reserved. Based on Government Sponsored Research under contracts
-NAS7-1407 and/or NAS7-03001.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the California Institute of Technology (Caltech),
- its operating division the Jet Propulsion Laboratory (JPL), the National
- Aeronautics and Space Administration (NASA), nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE CALIFORNIA INSTITUTE OF TECHNOLOGY BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Modified: issm/trunk/Makefile.am
===================================================================
--- issm/trunk/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +1,3 @@
-EXTRA_DIST = reconf scripts test INSTALLICE LICENSE m4 examples cron etc doc packages ChangeLogCielo ChangeLogIce contributors.txt run READMEICE startup.m startup.m startup.m startup.m todo MakefileIce
+EXTRA_DIST = reconf scripts test m4 examples cron etc doc packages contributors.txt
SUBDIRS = src bin
bin_SCRIPTS=config.h startup.m README.rtf
Deleted: issm/trunk/NEWS
===================================================================
--- issm/trunk/NEWS 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/NEWS 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-please go to the ISSM website for the latest news:
-
-http://issm.jpl.nasa.gov/
Deleted: issm/trunk/ar-lib
===================================================================
--- issm/trunk/ar-lib 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/ar-lib 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,265 +0,0 @@
-#! /bin/sh
-# Wrapper for Microsoft lib.exe
-
-me=ar-lib
-scriptversion=2012-01-30.22; # UTC
-
-# Copyright (C) 2010, 2012 Free Software Foundation, Inc.
-# Written by Peter Rosin <peda at lysator.liu.se>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-
-# func_error message
-func_error ()
-{
- echo "$me: $1" 1>&2
- exit 1
-}
-
-file_conv=
-
-# func_file_conv build_file
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts.
-func_file_conv ()
-{
- file=$1
- case $file in
- / | /[!/]*) # absolute file, and not a UNC file
- if test -z "$file_conv"; then
- # lazily determine how to convert abs files
- case `uname -s` in
- MINGW*)
- file_conv=mingw
- ;;
- CYGWIN*)
- file_conv=cygwin
- ;;
- *)
- file_conv=wine
- ;;
- esac
- fi
- case $file_conv in
- mingw)
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
- ;;
- cygwin)
- file=`cygpath -m "$file" || echo "$file"`
- ;;
- wine)
- file=`winepath -w "$file" || echo "$file"`
- ;;
- esac
- ;;
- esac
-}
-
-# func_at_file at_file operation archive
-# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
-# for each of them.
-# When interpreting the content of the @FILE, do NOT use func_file_conv,
-# since the user would need to supply preconverted file names to
-# binutils ar, at least for MinGW.
-func_at_file ()
-{
- operation=$2
- archive=$3
- at_file_contents=`cat "$1"`
- eval set x "$at_file_contents"
- shift
-
- for member
- do
- $AR -NOLOGO $operation:"$member" "$archive" || exit $?
- done
-}
-
-case $1 in
- '')
- func_error "no command. Try '$0 --help' for more information."
- ;;
- -h | --h*)
- cat <<EOF
-Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
-
-Members may be specified in a file named with @FILE.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "$me, version $scriptversion"
- exit $?
- ;;
-esac
-
-if test $# -lt 3; then
- func_error "you must specify a program, an action and an archive"
-fi
-
-AR=$1
-shift
-while :
-do
- if test $# -lt 2; then
- func_error "you must specify a program, an action and an archive"
- fi
- case $1 in
- -lib | -LIB \
- | -ltcg | -LTCG \
- | -machine* | -MACHINE* \
- | -subsystem* | -SUBSYSTEM* \
- | -verbose | -VERBOSE \
- | -wx* | -WX* )
- AR="$AR $1"
- shift
- ;;
- *)
- action=$1
- shift
- break
- ;;
- esac
-done
-orig_archive=$1
-shift
-func_file_conv "$orig_archive"
-archive=$file
-
-# strip leading dash in $action
-action=${action#-}
-
-delete=
-extract=
-list=
-replace=
-create=
-
-while test -n "$action"
-do
- case $action in
- d*) delete=yes ;;
- x*) extract=yes ;;
- t*) list=yes ;;
- r*) replace=yes ;;
- c*) create=yes ;;
- u*) ;; # TODO: don't ignore the update modifier
- v*) ;; # TODO: don't ignore the verbose modifier
- *)
- func_error "unknown action specified"
- ;;
- esac
- action=${action#?}
-done
-
-case $delete$extract$list$replace in
- yes)
- ;;
- yesyes*)
- func_error "more than one action specified"
- ;;
- *)
- func_error "no action specified"
- ;;
-esac
-
-if test -n "$delete"; then
- if test ! -f "$orig_archive"; then
- func_error "archive not found"
- fi
- for member
- do
- case $1 in
- @*)
- func_at_file "${1#@}" -REMOVE "$archive"
- ;;
- *)
- func_file_conv "$1"
- $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
- ;;
- esac
- done
-
-elif test -n "$extract"; then
- if test ! -f "$orig_archive"; then
- func_error "archive not found"
- fi
- if test $# -gt 0; then
- for member
- do
- case $1 in
- @*)
- func_at_file "${1#@}" -EXTRACT "$archive"
- ;;
- *)
- func_file_conv "$1"
- $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
- ;;
- esac
- done
- else
- $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
- do
- $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
- done
- fi
-
-elif test -n "$replace"; then
- if test ! -f "$orig_archive"; then
- if test -z "$create"; then
- echo "$me: creating $orig_archive"
- fi
- orig_archive=
- else
- orig_archive=$archive
- fi
-
- for member
- do
- case $1 in
- @*)
- func_file_conv "${1#@}"
- set x "$@" "@$file"
- ;;
- *)
- func_file_conv "$1"
- set x "$@" "$file"
- ;;
- esac
- shift
- shift
- done
-
- if test -n "$orig_archive"; then
- $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
- else
- $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
- fi
-
-elif test -n "$list"; then
- if test ! -f "$orig_archive"; then
- func_error "archive not found"
- fi
- $AR -NOLOGO -LIST "$archive" || exit $?
-fi
Property changes on: issm/trunk/aux-config
___________________________________________________________________
Added: svn:ignore
+ *
Deleted: issm/trunk/compile
===================================================================
--- issm/trunk/compile 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/compile 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
Copied: issm/trunk/configs/config-linux64-murdo-nopetsc.sh (from rev 11994, issm/trunk-jpl/configs/config-linux64-murdo-nopetsc.sh)
===================================================================
--- issm/trunk/configs/config-linux64-murdo-nopetsc.sh (rev 0)
+++ issm/trunk/configs/config-linux64-murdo-nopetsc.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+./configure \
+ --prefix=$ISSM_TIER \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib="-L$ISSM_TIER/externalpackages/mpich2/install/lib/ -lmpich" \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir=$ISSM_TIER/externalpackages/triangle/install \
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib \
+ --with-graphics-lib=/usr/lib64/libX11.so \
+ --with-scotch-dir="$ISSM_TIER/externalpackages/scotch/install" \
+ --with-chaco-dir="$ISSM_TIER/externalpackages/chaco/install" \
+ --with-cxxoptflags="-mtune=barcelona -ffast-math -O3 -msse4.2 -Wno-write-strings "\
+ --with-numthreads=18 \
+ --enable-debugging \
+ --with-gsl-dir=$ISSM_TIER/externalpackages/gsl/install
+
+
+# --with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+# --with-petsc-arch=$ISSM_ARCH \
+# --with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install/ -lPLAPACK" \
+# --with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/externalpackages/PLAPACKR32-hg/INCLUDE" \
+# --with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+# --with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+# --with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+# --with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
Modified: issm/trunk/configs/config-linux64-murdo.sh
===================================================================
--- issm/trunk/configs/config-linux64-murdo.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/configs/config-linux64-murdo.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,9 +20,7 @@
--with-graphics-lib=/usr/lib64/libX11.so \
--with-cxxoptflags="-mtune=barcelona -ffast-math -O3 -msse4.2 -Wno-write-strings "\
--with-numthreads=18 \
- --with-ml-dir=$ISSM_TIER/externalpackages/petsc/install/ \
- --with-hypre-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+ --with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
--enable-debugging
- #--with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
Copied: issm/trunk/configs/config-macosx64-larour-ad.sh (from rev 11994, issm/trunk-jpl/configs/config-macosx64-larour-ad.sh)
===================================================================
--- issm/trunk/configs/config-macosx64-larour-ad.sh (rev 0)
+++ issm/trunk/configs/config-macosx64-larour-ad.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+#petsc 3.2
+#mpich 1.4
+
+./configure \
+ --with-serial=no\
+ --prefix=$ISSM_TIER \
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib=" $ISSM_TIER/externalpackages/mpich2/install/lib/libpmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpl.a " \
+ --without-blas-lapack-dir \
+ --with-chaco-dir=$ISSM_TIER/externalpackages/chaco/install \
+ --with-fortran-lib="/usr/local/gfortran/lib/libgfortran.a" \
+ --with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
+ --with-math-lib="/usr/lib/libm.dylib" \
+ --with-graphics-lib="/usr/X11/lib/libX11.dylib" \
+ --with-cxxoptflags=" -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -mmacosx-version-min=10.5 -O3 -DNDEBUG -w "\
+ --with-adic2-dir=$ISSM_TIER/externalpackages/adic/install/ \
+ --with-adolc-dir=$ISSM_TIER/externalpackages/adolc/install/ \
+ --with-numthreads=8 \
+ --without-thermal \
+ --without-control \
+ --without-hydrology \
+ --without-diagnostic \
+ --without-balanced \
+ --without-responses \
+ --without-slope \
+ --without-rifts \
+ --without-steadystate \
+ --without-transient \
+ --without-3d \
+ --without-groundingline
+
+#--without-prognostic \
+#--with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+#--with-petsc-arch=$ISSM_ARCH \
+#--with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install \
+#--with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install/ -lPLAPACK" \
+#--with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/include/ " \
+#--with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+#--with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+#--with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install/ \
Copied: issm/trunk/configs/config-macosx64-larour-nopetsc.sh (from rev 11994, issm/trunk-jpl/configs/config-macosx64-larour-nopetsc.sh)
===================================================================
--- issm/trunk/configs/config-macosx64-larour-nopetsc.sh (rev 0)
+++ issm/trunk/configs/config-macosx64-larour-nopetsc.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+#petsc 3.2
+#mpich 1.4
+
+./configure \
+ --prefix=$ISSM_TIER \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib=" $ISSM_TIER/externalpackages/mpich2/install/lib/libpmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpl.a " \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir=$ISSM_TIER/externalpackages/triangle/install \
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-chaco-dir=$ISSM_TIER/externalpackages/chaco/install \
+ --with-fortran-lib="/usr/local/gfortran/lib/libgfortran.a" \
+ --with-math-lib="/usr/lib/libm.dylib" \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib \
+ --with-graphics-lib="/usr/X11/lib/libX11.dylib" \
+ --with-cxxoptflags=" -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -mmacosx-version-min=10.5 -O3 -DNDEBUG -w "\
+ --with-numthreads=8 \
+ --with-gsl-dir=$ISSM_TIER/externalpackages/gsl/install
+# --with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+# --with-petsc-arch=$ISSM_ARCH \
+# --with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install/ -lPLAPACK" \
+# --with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/include/ " \
+# --with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+# --with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+# --with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install/
+# --with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
Copied: issm/trunk/configs/config-macosx64-larour-python.sh (from rev 11994, issm/trunk-jpl/configs/config-macosx64-larour-python.sh)
===================================================================
--- issm/trunk/configs/config-macosx64-larour-python.sh (rev 0)
+++ issm/trunk/configs/config-macosx64-larour-python.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+#petsc 3.2
+#mpich 1.4
+
+./configure \
+ --prefix=$ISSM_TIER \
+ --with-triangle-dir=$ISSM_TIER/externalpackages/triangle/install \
+ --with-python-dir=$ISSM_TIER/externalpackages/python/install\
+ --with-python-numpy-dir=$ISSM_TIER/externalpackages/python/install/Python.framework/Versions/3.2/lib/python3.2/site-packages/numpy/core/include/numpy\
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib=" $ISSM_TIER/externalpackages/mpich2/install/lib/libpmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpl.a " \
+ --with-chaco-dir=$ISSM_TIER/externalpackages/chaco/install \
+ --with-fortran-lib="/usr/local/gfortran/lib/libgfortran.a" \
+ --with-math-lib="/usr/lib/libm.dylib" \
+ --with-graphics-lib="/usr/X11/lib/libX11.dylib" \
+ --with-cxxoptflags=" -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -mmacosx-version-min=10.5 -O3 -DNDEBUG -w "\
+ --with-numthreads=8 \
+ --with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-petsc-arch=$ISSM_ARCH \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install/ -lPLAPACK" \
+ --with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/include/ " \
+ --with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+ --with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+ --with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install/
+ #--with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
+ #--with-boost-dir=$ISSM_TIER/externalpackages/boost/install/ \
Copied: issm/trunk/configs/config-macosx64-larour.sh (from rev 11994, issm/trunk-jpl/configs/config-macosx64-larour.sh)
===================================================================
--- issm/trunk/configs/config-macosx64-larour.sh (rev 0)
+++ issm/trunk/configs/config-macosx64-larour.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+#petsc 3.2
+#mpich 1.4
+
+./configure \
+ --prefix=$ISSM_TIER \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir=$ISSM_TIER/externalpackages/triangle/install \
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib=" $ISSM_TIER/externalpackages/mpich2/install/lib/libpmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpl.a " \
+ --with-chaco-dir=$ISSM_TIER/externalpackages/chaco/install \
+ --with-fortran-lib="/usr/local/gfortran/lib/libgfortran.a" \
+ --with-math-lib="/usr/lib/libm.dylib" \
+ --with-graphics-lib="/usr/X11/lib/libX11.dylib" \
+ --with-cxxoptflags=" -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -mmacosx-version-min=10.5 -O3 -DNDEBUG -w "\
+ --with-numthreads=8 \
+ --with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-petsc-arch=$ISSM_ARCH \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install/ -lPLAPACK" \
+ --with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/include/ " \
+ --with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+ --with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install/ \
+ --with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install/
+ #--with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
Copied: issm/trunk/configs/config-macosx64-nicole.sh (from rev 11994, issm/trunk-jpl/configs/config-macosx64-nicole.sh)
===================================================================
--- issm/trunk/configs/config-macosx64-nicole.sh (rev 0)
+++ issm/trunk/configs/config-macosx64-nicole.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+#petsc 3.2
+#mpich 1.4
+
+./configure \
+ --prefix=$ISSM_TIER \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir=$ISSM_TIER/externalpackages/triangle/install \
+ --with-metis-dir=$ISSM_TIER/externalpackages/metis/install \
+ --with-petsc-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-mpi-include=$ISSM_TIER/externalpackages/mpich2/install/include \
+ --with-mpi-lib=" $ISSM_TIER/externalpackages/mpich2/install/lib/libpmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpich.a $ISSM_TIER/externalpackages/mpich2/install/lib/libmpl.a " \
+ --with-petsc-arch=$ISSM_ARCH \
+ --with-dakota-dir=$ISSM_TIER/externalpackages/dakota/install \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-plapack-lib="-L$ISSM_TIER/externalpackages/petsc/install -lPLAPACK" \
+ --with-plapack-include="-I$ISSM_TIER/externalpackages/petsc/install/include/ " \
+ --with-blacs-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-scalapack-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-mumps-dir=$ISSM_TIER/externalpackages/petsc/install \
+ --with-scotch-dir="$ISSM_TIER/externalpackages/scotch/install" \
+ --with-chaco-dir="$ISSM_TIER/externalpackages/chaco/install" \
+ --with-fortran-lib="/usr/local/gfortran/lib/gcc/x86_64-apple-darwin10/4.6.2/libgfortran.a" \
+ --with-math-lib="/usr/lib/libm.dylib" \
+ --with-graphics-lib="/usr/X11/lib/libX11.dylib" \
+ --with-cxxoptflags=" -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -mmacosx-version-min=10.5 -O3 -DNDEBUG -w "\
+ --with-numthreads=8
Modified: issm/trunk/configs/config-win7-32.sh
===================================================================
--- issm/trunk/configs/config-win7-32.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/configs/config-win7-32.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,5 +1,16 @@
#!/bin/sh
+#Dos style path needed for the windows sdk 7.1 cl compiler:
+ISSM_TIER_WIN=`cygpath -m "$ISSM_TIER"`
#get configure.sh to pick up the win7 Visual Studio compiler
-./configure --prefix=$ISSM_TIER --with-vendor=intel-win7-32 --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_TIER_WIN/externalpackages/triangle/install --with-metis-dir=$ISSM_TIER_WIN/externalpackages/metis/install --with-petsc-dir=$ISSM_TIER_WIN/externalpackages/petsc/install --with-petsc-arch=$ISSM_ARCH --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib/ --with-mpi-lib=$ISSM_TIER_WIN/externalpackages/petsc/install/lib/libpetsc.lib --with-mpi-include=$ISSM_TIER_WIN/externalpackages/petsc/install/include/mpiuni
+./configure --prefix=$ISSM_TIER \
+ --with-vendor=intel-win7-32 \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir="$ISSM_TIER_WIN/externalpackages/triangle/install" \
+ --with-metis-dir="$ISSM_TIER_WIN/externalpackages/metis/install" \
+ --with-petsc-dir="$ISSM_TIER_WIN/externalpackages/petsc/install" \
+ --with-petsc-arch=$ISSM_ARCH \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib/ \
+ --with-mpi-lib="$ISSM_TIER_WIN/externalpackages/petsc/install/lib/libpetsc.lib" \
+ --with-mpi-include="$ISSM_TIER_WIN/externalpackages/petsc/install/include/mpiuni"
Modified: issm/trunk/configs/config-win7-64.sh
===================================================================
--- issm/trunk/configs/config-win7-64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/configs/config-win7-64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,5 +1,16 @@
#!/bin/sh
+#Dos style path needed for the windows sdk 7.1 cl compiler:
+ISSM_TIER_WIN=`cygpath -m "$ISSM_TIER"`
#get configure.sh to pick up the win7 Visual Studio compiler
-./configure --prefix=$ISSM_TIER --with-vendor=intel-win7-64 --with-matlab-dir=$MATLAB_DIR --with-triangle-dir=$ISSM_TIER_WIN/externalpackages/triangle/install --with-metis-dir=$ISSM_TIER_WIN/externalpackages/metis/install --with-petsc-dir=$ISSM_TIER_WIN/externalpackages/petsc/install --with-petsc-arch=$ISSM_ARCH --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib/ --with-mpi-lib=$ISSM_TIER_WIN/externalpackages/petsc/install/lib/libpetsc.lib --with-mpi-include=$ISSM_TIER_WIN/externalpackages/petsc/install/include/mpiuni
+./configure --prefix=$ISSM_TIER \
+ --with-vendor=intel-win7-64 \
+ --with-matlab-dir=$MATLAB_DIR \
+ --with-triangle-dir="$ISSM_TIER_WIN/externalpackages/triangle/install" \
+ --with-metis-dir="$ISSM_TIER_WIN/externalpackages/metis/install" \
+ --with-petsc-dir="$ISSM_TIER_WIN/externalpackages/petsc/install" \
+ --with-petsc-arch=$ISSM_ARCH \
+ --with-blas-lapack-dir=$ISSM_TIER/externalpackages/petsc/install/lib/ \
+ --with-mpi-lib="$ISSM_TIER_WIN/externalpackages/petsc/install/lib/libpetsc.lib" \
+ --with-mpi-include="$ISSM_TIER_WIN/externalpackages/petsc/install/include/mpiuni"
Modified: issm/trunk/configure.ac
===================================================================
--- issm/trunk/configure.ac 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/configure.ac 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,72 +1,44 @@
-AC_INIT(ISSM,4.0,issm at jpl.nasa.gov)
-AM_CONFIG_HEADER(config.h)
-#AC_PROG_LIBTOOL
-#LT_INIT
-AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE
-AM_SILENT_RULES([yes])
-AC_PROG_RANLIB
-AC_PROG_CC([gcc icl cccl cl])
+# Process this file with autoconf to produce a configure script.
+
+#AUTOCONF
+AC_INIT([ISSM],[4.0],[issm at jpl.nasa.gov],[issm],[http://issm.jpl.nasa.gov]) #Initializing configure
+AC_CONFIG_AUX_DIR([./aux-config]) #Put config files in aux-config
+AC_CONFIG_MACRO_DIR([m4]) #m4 macros are located in m4
+AC_CANONICAL_TARGET #Determine the system type
+#Compilers
+AC_PROG_CC([cccl cl icl gcc])
AC_PROG_CPP
-AC_PROG_CXX([g++ icl cccl cl])
+AC_PROG_CXX([cccl cl icl g++])
AC_PROG_F77([ifort g77 gfortran])
+#Libraries and linking
+AC_PROG_RANLIB
AC_F77_LIBRARY_LDFLAGS
+AC_PATH_XTRA #figure out X library and include paths
+
+#AUTOMAKE
+#Initialize automake and declare foreign so that we don't need a ChangeLog, INSTALL, etc
+AM_INIT_AUTOMAKE([foreign])
+AM_CONFIG_HEADER([./config.h]) #Config file must be config.h
+AM_SILENT_RULES([yes]) #Do not show compilation command by default
AM_PROG_CC_C_O
-AC_PATH_XTRA
+
+##LIBTOOL?
+#AC_PROG_LIBTOOL
+#LT_INIT
+
+#Run issm_options.m4
ISSM_OPTIONS
+
+#AM_PROG_AR must be placed after ISSM_OPTIONS
AM_PROG_AR
+
+#List all Makefiles
AC_CONFIG_FILES([Makefile
src/Makefile
src/c/Makefile
- src/ad/Makefile
src/mex/Makefile
src/m/Makefile
- src/m/classes/Makefile
- src/m/classes/@modellist/Makefile
- src/m/classes/@pairoptions/Makefile
- src/m/classes/model/Makefile
- src/m/classes/clusters/Makefile
- src/m/enum/Makefile
- src/m/kml/Makefile
- src/m/model/Makefile
- src/m/model/plot/Makefile
- src/m/model/mesh/Makefile
- src/m/model/display/Makefile
- src/m/model/parameterization/Makefile
- src/m/model/partition/Makefile
- src/m/model/solvers/Makefile
- src/m/planet/Makefile
- src/m/qmu/Makefile
- src/m/shared/Makefile
- src/m/solutions/Makefile
- src/m/solvers/Makefile
- src/m/utils/Makefile
- src/m/utils/Analysis/Makefile
- src/m/utils/Array/Makefile
- src/m/utils/BC/Makefile
- src/m/utils/Basins/Makefile
- src/m/utils/Cluster/Makefile
- src/m/utils/DataProcessing/Makefile
- src/m/utils/Ecco3/Makefile
- src/m/utils/Exp/Makefile
- src/m/utils/Geometry/Makefile
- src/m/utils/ImageProcessing/Makefile
- src/m/utils/Interp/Makefile
- src/m/utils/Kml/Makefile
- src/m/utils/LatLong/Makefile
- src/m/utils/Math/Makefile
- src/m/utils/Meca/Makefile
- src/m/utils/Mesh/Makefile
- src/m/utils/Miscellaneous/Makefile
- src/m/utils/Model/Makefile
- src/m/utils/Numerics/Makefile
- src/m/utils/OS/Makefile
- src/m/utils/Plot/Makefile
- src/m/utils/Shell/Makefile
- src/m/utils/String/Makefile
- src/m/utils/consistency/Makefile
- src/m/utils/qmu/Makefile
bin/Makefile])
-AC_OUTPUT
-
+#End of configure.ac
+AC_OUTPUT
Property changes on: issm/trunk/cron
___________________________________________________________________
Added: svn:ignore
+ trunk-jpl
Copied: issm/trunk/cron/configs/linux64_daily (from rev 11994, issm/trunk-jpl/cron/configs/linux64_daily)
===================================================================
--- issm/trunk/cron/configs/linux64_daily (rev 0)
+++ issm/trunk/cron/configs/linux64_daily 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,97 @@
+########### Configuration file for nightly run on Linux ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full paths)
+ISSM_DIR="/path/to/issm"
+ISSM_TIER="/path/to/issm/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="linux-gnu-amd64"
+
+#Machine configuration
+MACHINE="astrid"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-linux64-astrid.sh"
+
+#MATLAB path
+MATLAB_PATH="/path/to/matlab-7.6/"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="update"
+
+#SVN repository
+REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/path/to/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="none"
+EXTERNALPACKAGESDIR="/path/to/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install.sh install-1.0.2-linux64.sh install-3.2-linux64.sh install-4.0-linux64.sh install-linux64.sh install-linux64-astrid.sh install.sh"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="yes"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="example at example.edu"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=8
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=7
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS=""
+
Deleted: issm/trunk/cron/configs/linux64_larour
===================================================================
--- issm/trunk/cron/configs/linux64_larour 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_larour 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Eric Larour's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full paths)
-ISSM_DIR="/u/astrid-r1b/larour/issm/"
-ISSM_TIER="/u/astrid-r1b/larour/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/wilkes-r1b/morlighe/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/larour/issm/execution"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/larour/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="no"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=8
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=8
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_morlighem_daily
===================================================================
--- issm/trunk/cron/configs/linux64_morlighem_daily 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_morlighem_daily 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full paths)
-ISSM_DIR="/u/astrid-r1b/morlighe/svn/issm"
-ISSM_TIER="/u/astrid-r1b/morlighe/svn/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/morlighe/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/morlighe/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/morlighe/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="automake autoconf matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="mathieu.morlighem at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=8
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_morlighem_nightly
===================================================================
--- issm/trunk/cron/configs/linux64_morlighem_nightly 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_morlighem_nightly 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/morlighe/issm"
-ISSM_TIER="/u/astrid-r1b/morlighe/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/morlighe/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/morlighe/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/morlighe/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="mathieu.morlighem at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_morlighem_validation
===================================================================
--- issm/trunk/cron/configs/linux64_morlighem_validation 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_morlighem_validation 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/morlighe/issm"
-ISSM_TIER="/u/astrid-r1b/morlighe/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/morlighe/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/morlighe/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/morlighe/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco yams"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="mathieu.morlighem at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS="'benchmark','all'"
Copied: issm/trunk/cron/configs/linux64_nightly (from rev 11994, issm/trunk-jpl/cron/configs/linux64_nightly)
===================================================================
--- issm/trunk/cron/configs/linux64_nightly (rev 0)
+++ issm/trunk/cron/configs/linux64_nightly 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,97 @@
+########### Configuration file for nightly run on Linux ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full paths)
+ISSM_DIR="/path/to/issm"
+ISSM_TIER="/path/to/issm/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="linux-gnu-amd64"
+
+#Machine configuration
+MACHINE="astrid"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-linux64-astrid.sh"
+
+#MATLAB path
+MATLAB_PATH="/path/to/matlab-7.6/"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="checkout"
+
+#SVN repository
+REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/path/to/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="install"
+EXTERNALPACKAGESDIR="/path/to/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install.sh install-1.0.2-linux64.sh install-3.2-linux64.sh install-4.0-linux64.sh install-linux64.sh install-linux64-astrid.sh install.sh"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="yes"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="example at example.edu"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=8
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=7
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS=""
+
Deleted: issm/trunk/cron/configs/linux64_schlegel_daily
===================================================================
--- issm/trunk/cron/configs/linux64_schlegel_daily 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_schlegel_daily 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full paths)
-ISSM_DIR="/u/astrid-r1b/schlegel/issmuci"
-ISSM_TIER="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/schlegel/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="schlegel at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=8
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_schlegel_nightly
===================================================================
--- issm/trunk/cron/configs/linux64_schlegel_nightly 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_schlegel_nightly 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/schlegel/issmuci"
-ISSM_TIER="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/schlegel/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="schlegel at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_schlegel_ucitrunk
===================================================================
--- issm/trunk/cron/configs/linux64_schlegel_ucitrunk 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_schlegel_ucitrunk 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/schlegel/issmuci"
-ISSM_TIER="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/cron/trunk"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/schlegel/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="schlegel at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_schlegel_validation
===================================================================
--- issm/trunk/cron/configs/linux64_schlegel_validation 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_schlegel_validation 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/schlegel/issmuci"
-ISSM_TIER="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/schlegel/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/schlegel/issmuci/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco yams"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="schlegel at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS="'benchmark','all'"
Deleted: issm/trunk/cron/configs/linux64_seroussi
===================================================================
--- issm/trunk/cron/configs/linux64_seroussi 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_seroussi 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-#
-########### Configuration file for Helene Seroussi's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/wilkes-r1b/seroussi/issm"
-ISSM_TIER="/u/wilkes-r1b/seroussi/issm/trunk-jpl/cron/trunk-jpl"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/wilkes-r1b/seroussi/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/u/wilkes-r1b/seroussi/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=8
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_seroussi_daily
===================================================================
--- issm/trunk/cron/configs/linux64_seroussi_daily 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_seroussi_daily 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full paths)
-ISSM_DIR="/u/astrid-r1b/seroussi/issm"
-ISSM_TIER="/u/astrid-r1b/seroussi/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/seroussi/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/seroussi/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=8
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_seroussi_nightly
===================================================================
--- issm/trunk/cron/configs/linux64_seroussi_nightly 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_seroussi_nightly 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/seroussi/issm"
-ISSM_TIER="/u/astrid-r1b/seroussi/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/seroussi/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/seroussi/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_seroussi_ucitrunk
===================================================================
--- issm/trunk/cron/configs/linux64_seroussi_ucitrunk 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_seroussi_ucitrunk 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-#
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/seroussi/issm"
-ISSM_TIER="/u/astrid-r1b/seroussi/issm/trunk-jpl/cron/trunk"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/seroussi/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/seroussi/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Deleted: issm/trunk/cron/configs/linux64_seroussi_validation
===================================================================
--- issm/trunk/cron/configs/linux64_seroussi_validation 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/linux64_seroussi_validation 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-########### Configuration file for Mathieu Morlighem's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/u/astrid-r1b/seroussi/issm"
-ISSM_TIER="/u/astrid-r1b/seroussi/issm/trunk-jpl/cron/trunk-jpl"
-#ISSM_TIER="/u/astrid-r1b/seroussi/svn/issm/trunk/cron/issm2.2"
-
-#ISSM Architecture
-ISSM_ARCH="linux-gnu-amd64"
-
-#Machine configuration
-MACHINE="astrid"
-
-#MATLAB path
-MATLAB_PATH="/usr/local/pkgs/matlab-7.6/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="checkout"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/seroussi/ExecutionNightlyRun"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="install"
-EXTERNALPACKAGESDIR="/u/astrid-r1b/seroussi/issm/trunk-jpl/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco yams"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=7
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS="'benchmark','all'"
Deleted: issm/trunk/cron/configs/macosx32_seroussi
===================================================================
--- issm/trunk/cron/configs/macosx32_seroussi 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/macosx32_seroussi 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-#
-########### Configuration file for Helene Seroussi's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="/Users/seroussi/Desktop/issmuci"
-ISSM_TIER="/Users/seroussi/Desktop/issmuci/trunk-jpl/cron/trunk-jpl"
-
-#ISSM Architecture
-ISSM_ARCH="macosx-gnu"
-
-#Machine configuration
-MACHINE="macmathieu"
-
-#MATLAB path
-MATLAB_PATH="/Applications/MATLAB_R2009a.app/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH=""
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR=""
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="helene.seroussi at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=1
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Copied: issm/trunk/cron/configs/macosx64_daily (from rev 11994, issm/trunk-jpl/cron/configs/macosx64_daily)
===================================================================
--- issm/trunk/cron/configs/macosx64_daily (rev 0)
+++ issm/trunk/cron/configs/macosx64_daily 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,97 @@
+########### Configuration file for nightly run on MAC OSX 64 bit ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full path)
+ISSM_DIR="/path/to/issm/"
+ISSM_TIER="/path/to/issm/trunk-jpl/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="macosx-gnu"
+
+#Machine configuration
+MACHINE="macosx-gil"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-macosx64-nicole.sh"
+
+#MATLAB path
+MATLAB_PATH="/Applications/MATLAB_R2011b.app/"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="update"
+
+#SVN repository
+REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/path/to/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="none"
+EXTERNALPACKAGESDIR="/path/to/issm/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install.sh install-1.4-macosx64.sh install-3.2-macosx64.sh install-4.0-macosx64.sh install-macosx64.sh install-macosx64.sh install.sh"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="yes"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="example at example.edu"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=1
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=4
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS="'exclude',[137 425:434 527]"
+
Deleted: issm/trunk/cron/configs/macosx64_larour
===================================================================
--- issm/trunk/cron/configs/macosx64_larour 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/macosx64_larour 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,91 +0,0 @@
-#
-########### Configuration file for Eric Larour's nightly run on Mac ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full pathto ISSM trunk)
-ISSM_DIR="/Users/larour/issm/trunk"
-
-#ISSM Architecture
-ISSM_ARCH="macosx-gnu"
-
-#Operating System
-OS="macosx64"
-
-#MATLAB path
-MATLAB_PATH="/Applications/MATLAB_R2008a/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH=""
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="copy"
-EXTERNALPACKAGESDIR=""
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="yes"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_DIR/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=1
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Copied: issm/trunk/cron/configs/macosx64_nightly (from rev 11994, issm/trunk-jpl/cron/configs/macosx64_nightly)
===================================================================
--- issm/trunk/cron/configs/macosx64_nightly (rev 0)
+++ issm/trunk/cron/configs/macosx64_nightly 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,97 @@
+########### Configuration file for nightly run on MAC OSX 64 bit ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full path)
+ISSM_DIR="/path/to/issm/"
+ISSM_TIER="/path/to/issm/trunk-jpl/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="macosx-gnu"
+
+#Machine configuration
+MACHINE="macosx-gil"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-macosx64-nicole.sh"
+
+#MATLAB path
+MATLAB_PATH="/Applications/MATLAB_R2011b.app/"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="checkout"
+
+#SVN repository
+REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/path/to/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="install"
+EXTERNALPACKAGESDIR="/path/to/issm/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install.sh install-1.4-macosx64.sh install-3.2-macosx64.sh install-4.0-macosx64.sh install-macosx64.sh install-macosx64.sh install.sh"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="yes"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="example at example.edu"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=1
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=4
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS="'exclude',[137 425:434 527]"
+
Copied: issm/trunk/cron/configs/win732 (from rev 11994, issm/trunk-jpl/cron/configs/win732)
===================================================================
--- issm/trunk/cron/configs/win732 (rev 0)
+++ issm/trunk/cron/configs/win732 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,102 @@
+########### Configuration file for nightly run on Windows 7, 32 bit ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full path)
+ISSM_DIR="/cygdrive/c/issm"
+ISSM_TIER="/cygdrive/c/issm/trunk-jpl/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="cygwin-intel"
+
+#Machine configuration
+MACHINE="win7"
+
+#MATLAB path
+MATLAB_PATH="C:/MATLAB/R2011b32/"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-win7-32.sh"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="none"
+
+#SVN repository
+REPOSITORY="http://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/cygdrive/c/issm/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="none"
+EXTERNALPACKAGESDIR="/cygdrive/c/issm/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES=" autoconf automake petsc metis triangle cccl"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install-3.1-win7.sh install-4.0-win7.sh install-win7.sh install-win7.sh"
+EXTERNALPACKAGES_NUMCPUS=" 1 1 1 1 1 1"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="no"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=8
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=1
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS="'benchmark','all'"
+
+#------------------------#
+# 7: Matlab#
+#------------------------#
+MATLABBIN=/cygdrive/c/MATLAB/R2011b32/bin/matlab
Copied: issm/trunk/cron/configs/win764 (from rev 11994, issm/trunk-jpl/cron/configs/win764)
===================================================================
--- issm/trunk/cron/configs/win764 (rev 0)
+++ issm/trunk/cron/configs/win764 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,102 @@
+########### Configuration file for nightly run on Windows 7, 64 bit ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full path)
+ISSM_DIR="/cygdrive/c/issm"
+ISSM_TIER="/cygdrive/c/issm/trunk-jpl/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="cygwin-intel"
+
+#Machine configuration
+MACHINE="win7"
+
+#MATLAB path
+MATLAB_PATH="C:/MATLAB/R2011b/"
+
+#COMPILATION CONFIGURATION FILE
+COMPILE_CONFIG_FILE="config-win7-64.sh"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="none"
+
+#SVN repository
+REPOSITORY="http://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/cygdrive/c/issm/ExecutionNightlyRun"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="none"
+EXTERNALPACKAGESDIR="/cygdrive/c/issm/trunk-jpl/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES=" autoconf automake petsc metis triangle cccl"
+
+#Corresponding list of installation files to use
+EXTERNALPACKAGES_CONFIGS=" install.sh install.sh install-3.1-win7.sh install-4.0-win7.sh install-win7.sh install-win7.sh"
+EXTERNALPACKAGES_NUMCPUS=" 1 1 1 1 1 1"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="no"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=8
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=1
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS=""
+
+#------------------------#
+# 7: Matlab#
+#------------------------#
+MATLABBIN=/cygdrive/c/MATLAB/R2011b32/bin/matlab
Copied: issm/trunk/cron/configs/winxp32 (from rev 11994, issm/trunk-jpl/cron/configs/winxp32)
===================================================================
--- issm/trunk/cron/configs/winxp32 (rev 0)
+++ issm/trunk/cron/configs/winxp32 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,90 @@
+########### Configuration file for nightly run on Windows XP, 32 bit ############
+
+#-------------------------------#
+# 1: ISSM general configuration #
+#-------------------------------#
+
+#ISSM main directory (full path)
+ISSM_DIR="C:/home/issm/trunk-jpl"
+ISSM_TIER="C:/home/issm/trunk-jpl/cron/trunk-jpl"
+
+#ISSM Architecture
+ISSM_ARCH="cygwin-intel"
+
+#Machine configuration
+MACHINE="wineric"
+
+#MATLAB path
+MATLAB_PATH="C:/MATLAB/R2009a/"
+
+#----------------------#
+# 2: ISSM Installation #
+#----------------------#
+
+#ISSM_INSTALLATION can have 3 values:
+# - "checkout" the existing version of the code will be erased and
+# the latest version will be checked out
+# - "update" the directory won't be erased but ISSM will be updated
+# ->skip to section 3
+# - "none" leave ISSM as is in its directory
+# ->skip to section 3
+ISSM_INSTALLATION="update"
+
+#SVN repository
+REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
+
+#execution path used for parallel runs
+EXECUTION_PATH="/path/to/issm/execution"
+
+#-----------------------------------#
+# 3: External packages installation #
+#-----------------------------------#
+
+#ISSM_EXTERNALPACKAGES can have 3 values:
+# - "install" install all external packages listed below
+# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
+# - "none" leave external packages as is
+# ->skip to section 4
+ISSM_EXTERNALPACKAGES="none"
+EXTERNALPACKAGESDIR="/cygdrive/c/home/externalpackages"
+
+#List of external pakages to be installed
+EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
+
+#---------------------#
+# 4: ISSM Compilation #
+#---------------------#
+
+#ISSM_COMPILATION can have 2 values:
+# - "yes" compile ISSM
+# - "no" do not compile ISSM
+ISSM_COMPILATION="no"
+
+#----------------------#
+# 5: Mail notification #
+#----------------------#
+
+#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
+#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
+SKIPMAIL="no"
+
+#Sender email address
+EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
+
+#------------------------#
+# 6: Nightly run options #
+#------------------------#
+
+#number of cpus used in ISSM installation and compilation (one is usually
+#safer as some packages are very sensitive to parallel compilation)
+NUMCPUS_INSTALL=1
+
+#number of cpus used in the nightly runs.
+NUMCPUS_RUN=1
+
+#Nightly run options. The matlab routine nightlyrun.m will be called
+#as follows: nightlyrun($NROPTIONS). The options must be understandable
+#by Matlab and nightlyrun.m
+#ex: "'id',[101 102 103]"
+
+NROPTIONS=""
Deleted: issm/trunk/cron/configs/winxp32_larour
===================================================================
--- issm/trunk/cron/configs/winxp32_larour 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/configs/winxp32_larour 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-#
-########### Configuration file for Eric Larour's nightly run on Linux ############
-
-#-------------------------------#
-# 1: ISSM general configuration #
-#-------------------------------#
-
-#ISSM main directory (full path)
-ISSM_DIR="C:/home/issm/trunk-jpl"
-ISSM_TIER="C:/home/issm/trunk-jpl/cron/trunk-jpl"
-
-#ISSM Architecture
-ISSM_ARCH="cygwin-intel"
-
-#Machine configuration
-MACHINE="wineric"
-
-#MATLAB path
-MATLAB_PATH="C:/MATLAB/R2009a/"
-
-#----------------------#
-# 2: ISSM Installation #
-#----------------------#
-
-#ISSM_INSTALLATION can have 3 values:
-# - "checkout" the existing version of the code will be erased and
-# the latest version will be checked out
-# - "update" the directory won't be erased but ISSM will be updated
-# ->skip to section 3
-# - "none" leave ISSM as is in its directory
-# ->skip to section 3
-ISSM_INSTALLATION="update"
-
-#SVN repository
-REPOSITORY="https://issm.ess.uci.edu/svn/issm/issm/trunk-jpl"
-#REPOSITORY="http://s383-rhat/issm/svn/issm/branches/issm2.2"
-
-#execution path used for parallel runs
-EXECUTION_PATH="/u/astrid-r1b/larour/issm/execution"
-
-#-----------------------------------#
-# 3: External packages installation #
-#-----------------------------------#
-
-#ISSM_EXTERNALPACKAGES can have 3 values:
-# - "install" install all external packages listed below
-# - "copy" copy existing directories (EXTERNALPACKAGESDIR)
-# - "none" leave external packages as is
-# ->skip to section 4
-ISSM_EXTERNALPACKAGES="none"
-EXTERNALPACKAGESDIR="/cygdrive/c/home/externalpackages"
-
-#List of external pakages to be installed
-EXTERNALPACKAGES="autoconf automake matlab mpich2 petsc metis triangle dakota chaco"
-
-#---------------------#
-# 4: ISSM Compilation #
-#---------------------#
-
-#ISSM_COMPILATION can have 2 values:
-# - "yes" compile ISSM
-# - "no" do not compile ISSM
-ISSM_COMPILATION="no"
-
-#----------------------#
-# 5: Mail notification #
-#----------------------#
-
-#Mail delivery. If SKIPMAIL="no", the html nightly run report will be
-#sent to the adresses present in $ISSM_TIER/cron/mailinglist.
-SKIPMAIL="no"
-
-#Sender email address
-EMAIL_ADRESS="eric.larour at jpl.nasa.gov"
-
-#------------------------#
-# 6: Nightly run options #
-#------------------------#
-
-#number of cpus used in ISSM installation and compilation (one is usually
-#safer as some packages are very sensitive to parallel compilation)
-NUMCPUS_INSTALL=1
-
-#number of cpus used in the nightly runs.
-NUMCPUS_RUN=1
-
-#Nightly run options. The matlab routine nightlyrun.m will be called
-#as follows: nightlyrun($NROPTIONS). The options must be understandable
-#by Matlab and nightlyrun.m
-#ex: "'id',[101 102 103]"
-
-NROPTIONS=""
Modified: issm/trunk/cron/cronfiles/mac_cronfile
===================================================================
--- issm/trunk/cron/cronfiles/mac_cronfile 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/cronfiles/mac_cronfile 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,8 +1,9 @@
#use /bin/bash to run commands, overriding the default set by cron
SHELL=/bin/bash
+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
-#mail output to Helene
-MAILTO=eric.larour at jpl.nasa.gov,mathieu.morlighem at jpl.nasa.gov,helene.seroussi at jpl.nasa.gov
+#mail output to issm
+MAILTO=eric.larour at jpl.nasa.gov,mathieu.morlighem at jpl.nasa.gov,helene.seroussi at jpl.nasa.gov,Christopher.P.Borstad at jpl.nasa.gov,Nicole-Jeanne.Schlegel at jpl.nasa.gov,Feras.A.Habbal at jpl.nasa.gov
#cronjob: issm 9:00pm
-50 9 * * * cd /Users/seroussi/Desktop/backup/svn/issm/trunk/cron/ && ./nightlyrun.sh configs/macosx32_seroussi
+30 00 * * 1 cd /Users/schlegel/issmuci/trunk-jpl/cron/ && ./nightlyrun.sh configs/macosx64_schlegel
Modified: issm/trunk/cron/nightlyrun.sh
===================================================================
--- issm/trunk/cron/nightlyrun.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/cron/nightlyrun.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -28,15 +28,25 @@
function host_name() #{{{1
{
#return host name depending on the OS
- if [ "$1" = "wineric" ]
+ if [ "$1" = "win7" ]
then
- HOST_NAME=`hostname`;
+ HOST_NAME=`hostname | sed 's/-//g'`;
else
- HOST_NAME=`hostname -s`;
+ HOST_NAME=`hostname -s | sed 's/-//g'`;
fi
echo $HOST_NAME;
} #}}}
+function pause() #{{{1
+{
+pid=`ps aux -W | grep $1 | awk '{printf("%s\n",$1);}'`
+while [ -n "$pid" ]
+do
+ pid=`ps aux -W | grep $1 | awk '{printf("%s\n",$1);}'`
+done
+}
+#}}}
+
#Get configuration
#Source config file{{{1
if [ $# -ne 1 ];
@@ -73,7 +83,7 @@
#Erase previous code and Fetch the new one
rm -rf $ISSM_RELEASE
- svn checkout $REPOSITORY
+ svn checkout "$REPOSITORY"
elif [ "$ISSM_INSTALLATION" == "update" ]
then
@@ -99,11 +109,25 @@
#Create cluster's settings{{{1
#create simpler cluster.rc file, with only the cluster we are interested in.
cd $ISSM_TIER/test/NightlyRun/
-cat << END > $HOST_NAME"_settings.m"
+if [ "$MACHINE" = "win7" ]; then
+ cat << END > $HOST_NAME"_settings.m"
cluster.login='$USER';
+cluster.codepath='`cygpath -m $ISSM_TIER/bin`';
+cluster.executionpath='`cygpath -m $EXECUTION_PATH`';
+END
+else
+ cat << END > $HOST_NAME"_settings.m"
+cluster.login='$USER';
cluster.codepath='$ISSM_TIER/bin';
cluster.executionpath='$EXECUTION_PATH';
END
+ cat << END > $ISSM_TIER/externalpackages/matlab/install.sh
+#!/bin/bash
+rm -rf install
+ln -s $MATLAB_PATH install
+END
+
+fi
#}}}
#Source environment variables with new matlab path {{{1
cd $ISSM_TIER/etc
@@ -112,18 +136,18 @@
#install/copy/none external packages (ISSM_EXTERNALPACKAGES){{{1
if [ "$ISSM_EXTERNALPACKAGES" == "install" ]
then
+
cd $ISSM_TIER/externalpackages
- for ep in $EXTERNALPACKAGES
- do
- cd $ep
- case $ep in
- "mpich2" ) ./install-1.0.2-linux64.sh ;;
- "petsc" ) ./install-3.2-linux64.sh ;;
- "metis" ) ./install-4.0-linux64.sh ;;
- "triangle" ) ./install-linux64.sh ;;
- "dakota" ) ./install-linux64-astrid.sh ;;
- *) ./install.sh $NUMCPUS_INSTALL
- esac
+ #number of packages:
+ numpackages=`echo $EXTERNALPACKAGES | wc -w`
+
+ for (( i=1; i<=$numpackages; i++ ))
+ do
+ package=`echo $EXTERNALPACKAGES | cut -d " " -f $i-$i`
+ package_config=`echo $EXTERNALPACKAGES_CONFIGS | cut -d " " -f $i-$i`
+
+ cd $package
+ $package_config
cd ..
done
@@ -135,6 +159,14 @@
rm -rf externalpackages
cp -Rf $EXTERNALPACKAGESDIR ./
+elif [ "$ISSM_EXTERNALPACKAGES" == "link" ]
+then
+
+ #erase externapackages, and link with externalpackages_dir
+ cd $ISSM_TIER
+ rm -rf externalpackages
+ ln -s $EXTERNALPACKAGESDIR .
+
elif [ "$ISSM_EXTERNALPACKAGES" == "none" ]
then
@@ -157,21 +189,19 @@
make clean
make distclean
./scripts/automakererun.sh
- ./configs/config-linux64-astrid.sh
+ source ./configs/$COMPILE_CONFIG_FILE
#4: compile and install ISSM
- if [ "$MACHINE" = "wineric" ]
+ if [ $NUMCPUS_INSTALL -gt 1 ]
then
- cd $ISSM_TIER/src/c
- ./intel-compile.sh
- cd $ISSM_TIER/src/mex
+ echo "Making with " $NUMCPUS_INSTALL "cpus"
+ make -j $NUMCPUS_INSTALL install
+ else
make install
- cd $ISSM_TIER
- else
- make -j $NUMCPUS_INSTALL
- make -j $NUMCPUS_INSTALL install
fi
+ make install
+
elif [ "$ISSM_COMPILATION" == "no" ]
then
echo "Skipping ISSM compilation"
@@ -184,7 +214,8 @@
#Prepare run
#create softlink to startup {{{1
cd $ISSM_TIER/test/NightlyRun/
-ln -s $ISSM_TIER/startup.m .
+rm startup.m #in case it alreade exists
+cp $ISSM_TIER/startup.m .
#}}}
#Create nightlylog directory and info.log {{{1
#put installation elapsed time in info.log
@@ -211,6 +242,13 @@
#}}}
#Run tests
+#on Matlab and windows machines, we'll need a windows style path: {{{
+if [ "$MACHINE" = "win7" ]; then
+ MATLAB_TIER=`cygpath -m $ISSM_TIER`
+else
+ MATLAB_TIER=$ISSM_TIER
+fi
+#}}}
#Launch all tests on different cpus {{{1
for (( i=1;i<=$NUMCPUS_RUN;i++ ))
do
@@ -218,12 +256,13 @@
cat > $ISSM_TIER/nightlylog/matlab_run$i.m << EOF
warning off %necessary to avoid a info.log of several Go for parallel runs
try,
- cd $ISSM_TIER/test/NightlyRun
+ cd $MATLAB_TIER/test/NightlyRun
startup;
$(if [ "$NROPTIONS" = "" ]
then
echo "runme('output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"
else
+ #echo "runme('id',[101 102]);"
echo "runme($NROPTIONS,'output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"
fi
)
@@ -243,17 +282,23 @@
#Start run from nightlylog directory
cd $ISSM_TIER/nightlylog/
+ MATLABBIN=$MATLAB_PATH/bin/matlab
#Start test
- MATLAB_VERSION="7.6" #7.2,7.4,7.6 and 7.8
- /usr/local/pkgs/matlab-$MATLAB_VERSION/bin/matlab -nojvm -nosplash -r matlab_run$i -logfile matlab_log$i.log &
+ $MATLABBIN -nojvm -nosplash -r matlab_run$i -logfile matlab_log$i.log &
+
done
#wait until matlab closes
-wait
+if [ "$MACHINE" = "win7" ]; then
+ pause MATLAB
+else
+ wait
+fi
+
#}}}
#concatenate all reports {{{1
cd $ISSM_TIER/nightlylog/
-mv matlab_log1.log matlab_log.log
+cp matlab_log1.log matlab_log.log
for (( i=2;i<=$NUMCPUS_RUN;i++ ))
do
cat matlab_log.log matlab_log$i.log > matlab_log.log.bak
@@ -289,16 +334,16 @@
source $ISSM_TIER/cron/mailinglist
for i in `echo $MAILINGLIST`; do
- if [ "$MACHINE" = "wineric" ]
+ if [ "$MACHINE" = "win7" ]
then
- email -html -f "ISSM Nightly run $EMAIL_ADRESS" -s "Nightly runs of $ISSM_RELEASE , configuration: $MACHINE, host: $HOST_NAME, user: $USER. " $i < $ISSM_TIER/test/Verification/NightlyRun/report.html
+ email -html -s "Nightly runs on $HOST_NAME (version: $ISSM_RELEASE)" -n "ISSM Nightly run" -f echo $EMAIL_ADRESS $i < $ISSM_TIER/nightlylog/report.html
else
if [ "$MACHINE" = "astrid" ]
then
cat - $ISSM_TIER/nightlylog/report.html <<HERE | /usr/lib/sendmail -oi -t
From: "ISSM Nightly run" <$EMAIL_ADRESS>
To: $i
-Subject: Nightly runs of $ISSM_RELEASE, configuration: $MACHINE, host: $HOST_NAME, user: $USER.
+Subject: Nightly runs on $HOST_NAME (version: $ISSM_RELEASE)
Mime-Version: 1.0
Content-Type: text/html
HERE
@@ -306,7 +351,7 @@
cat - $ISSM_TIER/nightlylog/report.html <<HERE | /usr/sbin/sendmail -oi -t
From: "ISSM Nightly run" <$EMAIL_ADRESS>
To: $i
-Subject: Nightly runs of $ISSM_RELEASE, configuration: $MACHINE, host: $HOST_NAME, user: $USER.
+Subject: Nightly runs on $HOST_NAME (version: $ISSM_RELEASE)
Mime-Version: 1.0
Content-Type: text/html
HERE
Deleted: issm/trunk/depcomp
===================================================================
--- issm/trunk/depcomp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/depcomp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,589 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2007-03-29.01
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am. Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
- for arg
- do
- case $arg in
- -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
- *) set fnord "$@" "$arg" ;;
- esac
- shift # fnord
- shift # $arg
- done
- "$@"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- if test "$libtool" = yes; then
- tmpdepfile1=$dir$base.u
- tmpdepfile2=$base.u
- tmpdepfile3=$dir.libs/$base.u
- "$@" -Wc,-M
- else
- tmpdepfile1=$dir$base.u
- tmpdepfile2=$dir$base.u
- tmpdepfile3=$dir$base.u
- "$@" -M
- fi
- stat=$?
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp2)
- # The "hp" stanza above does not work with aCC (C++) and HP's ia64
- # compilers, which have integrated preprocessors. The correct option
- # to use with these is +Maked; it writes dependencies to a file named
- # 'foo.d', which lands next to the object file, wherever that
- # happens to be.
- # Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- if test "$libtool" = yes; then
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir.libs/$base.d
- "$@" -Wc,+Maked
- else
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir$base.d
- "$@" +Maked
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
- sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile" "$tmpdepfile2"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
Modified: issm/trunk/etc/environment.sh
===================================================================
--- issm/trunk/etc/environment.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/etc/environment.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,7 +1,13 @@
#ISSM_TIER and ISSM_ARCH should have been defined already in your shell settings file (.bashrc, .cshrc, etc ...)
+
+#Windows compilers:
+if [[ "$ISSM_ARCH" == "cygwin-intel" ]]; then
+ source $ISSM_TIER/externalpackages/windows/windows_environment.sh
+fi
+
source $ISSM_TIER/etc/environment_variables.sh
-#Do we have any command line arguments? (such as MATLAB_DIR=otherdirthandefault), source them before exporting the variables
+#Do we have any command line arguments? (such as MATLAB_DIR=otherdirthandefault), source them after exporting the variables
#to environment.
for i in $@
do
@@ -166,6 +172,7 @@
export BOOST_DIR
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$BOOST_DIR/lib"
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$BOOST_DIR/lib"
+export PATH="$PATH:$BOOST_DIR/bin"
#XERCES
export XERCESROOT
@@ -226,3 +233,33 @@
#CCCL
export PATH="$PATH:$CCCL_DIR/bin"
+
+#PACKAGEMAKER
+export PATH="$PATH:$PACKAGEMAKER_DIR"
+
+#ANDROID_NDK:
+export ANDROID_NDK_DIR
+export PATH="$PATH:$ANDROID_NDK_DIR/"
+
+#ANDROID_DEV_DIR
+export ANDROID_DEV_DIR
+
+#ANDROID_SDK
+export PATH="$PATH:$ANDROID_SDK_DIR/"
+
+#ANDROID_ANT
+export PATH="$PATH:$ANDROID_ANT_DIR/"
+
+#GSL
+export PATH="$PATH:$GSL_DIR/bin"
+
+#GMAKE
+export PATH="$GMAKE_DIR/bin:$PATH"
+
+#PYTHON
+export PATH="$PYTHON_DIR/bin:$PATH"
+export PYTHONPATH="$PYTHONPATH:$ISSM_TIER/src/mex"
+export LD_LIBRARY_PATH=$ISSM_TIER/src/mex:$LD_LIBRARY_PATH
+
+#MODELE
+export PATH="$MODELE_DIR/src/exec:$PATH"
Modified: issm/trunk/etc/environment_variables.sh
===================================================================
--- issm/trunk/etc/environment_variables.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/etc/environment_variables.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -168,3 +168,30 @@
#cccl
CCCL_DIR="$ISSM_TIER/externalpackages/cccl/install"
+
+#packagemaker
+PACKAGEMAKER_DIR="$ISSM_TIER/externalpackages/packagemaker/install"
+
+#android-ndk
+ANDROID_NDK_DIR="$ISSM_TIER/externalpackages/android-ndk/install"
+
+#android-dev-dir
+ANDROID_DEV_DIR="$ISSM_TIER/externalpackages/android-dev-dir"
+
+#android-sdk
+ANDROID_SDK_DIR="$ISSM_TIER/externalpackages/android-sdk/install-sdk"
+
+#android-ant
+ANDROID_ANT_DIR="$ISSM_TIER/externalpackages/android-sdk/install-ant"
+
+#gsl
+GSL_DIR="$ISSM_TIER/externalpackages/gsl/install"
+
+#gnu make
+GMAKE_DIR="$ISSM_TIER/externalpackages/gmake/install"
+
+#PYTHON
+PYTHON_DIR="$ISSM_TIER/externalpackages/python/install"
+
+#MODELE
+MODELE_DIR="$ISSM_TIER/externalpackages/modelE"
Deleted: issm/trunk/examples/Jakobshavn/Domain.exp
===================================================================
--- issm/trunk-jpl/examples/Jakobshavn/Domain.exp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/Jakobshavn/Domain.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,34 +0,0 @@
-## Name:JksOutline
-## Icon:0
-# Points Count Value
-28 1.000000
-# X pos Y pos
--442320.3882147236 -2277080.6549030584
--415649.3149820761 -2315476.9356749961
--356259.6577274340 -2351834.4758754564
--309585.2795717255 -2384114.5349311619
--279812.9187561168 -2353193.6362587260
--274850.8586214480 -2287953.9379578433
--294854.1635456266 -2263149.2609987380
--309585.2795753506 -2232228.3623235333
--348041.2456311518 -2191113.7607873622
--376728.1557929466 -2197909.5626934194
--391614.3362011510 -2203685.9943137392
--417355.0231571503 -2206404.3150757281
--420122.3381705935 -2211830.0535394503
--421889.2049176788 -2218344.8015625700
--420705.1891998384 -2226200.5387845989
--425774.4833068820 -2230306.5097973733
--429242.2244052034 -2235353.9400299159
--427025.7933000360 -2240741.0910965428
--431045.5636035603 -2255158.9014255330
--424708.0734753361 -2261343.7626088522
--423137.8820362946 -2268466.9593191240
--428054.2739333302 -2272589.0010017036
--432362.3262468725 -2272393.9161962867
--435068.8255516959 -2273140.2906106352
--437641.3726878429 -2272612.1952726739
--439529.7800752302 -2272929.1351353633
--442475.4525940326 -2275381.7044264446
--442320.3882147236 -2277080.6549030584
-
Copied: issm/trunk/examples/Jakobshavn/Domain.exp (from rev 11994, issm/trunk-jpl/examples/Jakobshavn/Domain.exp)
===================================================================
--- issm/trunk/examples/Jakobshavn/Domain.exp (rev 0)
+++ issm/trunk/examples/Jakobshavn/Domain.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,34 @@
+## Name:JksOutline
+## Icon:0
+# Points Count Value
+28 1.000000
+# X pos Y pos
+-442320.3882147236 -2277080.6549030584
+-415649.3149820761 -2315476.9356749961
+-356259.6577274340 -2351834.4758754564
+-309585.2795717255 -2384114.5349311619
+-279812.9187561168 -2353193.6362587260
+-274850.8586214480 -2287953.9379578433
+-294854.1635456266 -2263149.2609987380
+-309585.2795753506 -2232228.3623235333
+-348041.2456311518 -2191113.7607873622
+-376728.1557929466 -2197909.5626934194
+-391614.3362011510 -2203685.9943137392
+-417355.0231571503 -2206404.3150757281
+-420122.3381705935 -2211830.0535394503
+-421889.2049176788 -2218344.8015625700
+-420705.1891998384 -2226200.5387845989
+-425774.4833068820 -2230306.5097973733
+-429242.2244052034 -2235353.9400299159
+-427025.7933000360 -2240741.0910965428
+-431045.5636035603 -2255158.9014255330
+-424708.0734753361 -2261343.7626088522
+-423137.8820362946 -2268466.9593191240
+-428054.2739333302 -2272589.0010017036
+-432362.3262468725 -2272393.9161962867
+-435068.8255516959 -2273140.2906106352
+-437641.3726878429 -2272612.1952726739
+-439529.7800752302 -2272929.1351353633
+-442475.4525940326 -2275381.7044264446
+-442320.3882147236 -2277080.6549030584
+
Deleted: issm/trunk/examples/Jakobshavn/Front.exp
===================================================================
--- issm/trunk-jpl/examples/Jakobshavn/Front.exp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/Jakobshavn/Front.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-## Name:Front
-## Icon:0
-# Points Count Value
-9 1.000000
-# X pos Y pos
--443691.7204476296 -2241744.0087129781
--444020.9148401438 -2244124.0631026439
--443856.3176438867 -2245205.9060070375
--441551.9568962874 -2244773.1688452801
--440399.7765224879 -2243474.9573600078
--439905.9849337166 -2240662.1658085845
--441387.3597000304 -2238065.7428380400
--443856.3176438867 -2237633.0056762826
--443691.7204476296 -2241744.0087129781
-
Copied: issm/trunk/examples/Jakobshavn/Front.exp (from rev 11994, issm/trunk-jpl/examples/Jakobshavn/Front.exp)
===================================================================
--- issm/trunk/examples/Jakobshavn/Front.exp (rev 0)
+++ issm/trunk/examples/Jakobshavn/Front.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,15 @@
+## Name:Front
+## Icon:0
+# Points Count Value
+9 1.000000
+# X pos Y pos
+-443691.7204476296 -2241744.0087129781
+-444020.9148401438 -2244124.0631026439
+-443856.3176438867 -2245205.9060070375
+-441551.9568962874 -2244773.1688452801
+-440399.7765224879 -2243474.9573600078
+-439905.9849337166 -2240662.1658085845
+-441387.3597000304 -2238065.7428380400
+-443856.3176438867 -2237633.0056762826
+-443691.7204476296 -2241744.0087129781
+
Deleted: issm/trunk/examples/Jakobshavn/Jks.par
===================================================================
--- issm/trunk-jpl/examples/Jakobshavn/Jks.par 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/Jakobshavn/Jks.par 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,61 +0,0 @@
-
-%Name and hemisphere
-md.mesh.hemisphere='n';
-md.miscellaneous.name='Jakobshavn';
-
-%Load SeaRISE dataset
-disp(' Loading SeaRISE data from NetCDF');
-ncdata = './Greenland_5km_v1.1.nc';
-x1 = ncread(ncdata,'x1');
-y1 = ncread(ncdata,'y1');
-thk = ncread(ncdata,'thk')';
-topg = ncread(ncdata,'topg')';
-velx = ncread(ncdata,'surfvelx')';
-vely = ncread(ncdata,'surfvely')';
-temp = ncread(ncdata,'airtemp2m')';
-smb = ncread(ncdata,'smb')';
-
-disp(' Interpolating thicknesses');
-md.geometry.thickness=InterpFromGridToMesh(x1,y1,thk,md.mesh.x,md.mesh.y,0);
-pos0=find(md.geometry.thickness<=10);
-md.geometry.thickness(pos0)=10;
-
-disp(' Interpolating bedrock topography');
-md.geometry.bed=InterpFromGridToMesh(x1,y1,topg,md.mesh.x,md.mesh.y,0);
-
-disp(' Constructing surface elevation');
-md.geometry.surface=md.geometry.thickness+md.geometry.bed;
-
-disp(' Interpolating velocities');
-md.inversion.vx_obs = InterpFromGridToMesh(x1,y1,velx,md.mesh.x,md.mesh.y,0);
-md.inversion.vy_obs = InterpFromGridToMesh(x1,y1,vely,md.mesh.x,md.mesh.y,0);
-md.inversion.vel_obs = sqrt(md.inversion.vx_obs.^2+md.inversion.vy_obs.^2);
-md.initialization.vx = md.inversion.vx_obs;
-md.initialization.vy = md.inversion.vy_obs;
-md.initialization.vel= md.inversion.vel_obs;
-
-disp(' Interpolating temperatures');
-md.initialization.temperature=InterpFromGridToMesh(x1,y1,temp,md.mesh.x,md.mesh.y,0)+273.15; %convert to Kelvin
-
-disp(' Interpolating surface mass balance');
-md.surfaceforcings.mass_balance=InterpFromGridToMesh(x1,y1,smb,md.mesh.x,md.mesh.y,0);
-md.surfaceforcings.mass_balance=md.surfaceforcings.mass_balance*md.materials.rho_water/md.materials.rho_ice;
-
-disp(' Construct basal friction parameters');
-md.friction.coefficient=30*ones(md.mesh.numberofvertices,1);
-pos=find(md.mask.vertexonfloatingice);
-md.friction.coefficient(pos)=0; %no friction applied on floating ice
-md.friction.p=ones(md.mesh.numberofelements,1);
-md.friction.q=ones(md.mesh.numberofelements,1);
-
-disp(' Construct ice rheological properties');
-md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
-md.materials.rheology_B=paterson(md.initialization.temperature);
-%Reduce viscosity along the shear margins
-weakb=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,'WeakB.exp','node',2);
-pos=find(weakb);md.materials.rheology_B(pos)=.3*md.materials.rheology_B(pos);
-
-disp(' Set other boundary conditions');
-md=SetMarineIceSheetBC(md,'./Front.exp');
-md.diagnostic.icefront(:,end)=1; %Apply water pressure at the ice front
-md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1);
Copied: issm/trunk/examples/Jakobshavn/Jks.par (from rev 11994, issm/trunk-jpl/examples/Jakobshavn/Jks.par)
===================================================================
--- issm/trunk/examples/Jakobshavn/Jks.par (rev 0)
+++ issm/trunk/examples/Jakobshavn/Jks.par 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,61 @@
+
+%Name and hemisphere
+md.mesh.hemisphere='n';
+md.miscellaneous.name='Jakobshavn';
+
+%Load SeaRISE dataset
+disp(' Loading SeaRISE data from NetCDF');
+ncdata = './Greenland_5km_v1.1.nc';
+x1 = ncread(ncdata,'x1');
+y1 = ncread(ncdata,'y1');
+thk = ncread(ncdata,'thk')';
+topg = ncread(ncdata,'topg')';
+velx = ncread(ncdata,'surfvelx')';
+vely = ncread(ncdata,'surfvely')';
+temp = ncread(ncdata,'airtemp2m')';
+smb = ncread(ncdata,'smb')';
+
+disp(' Interpolating thicknesses');
+md.geometry.thickness=InterpFromGridToMesh(x1,y1,thk,md.mesh.x,md.mesh.y,0);
+pos0=find(md.geometry.thickness<=10);
+md.geometry.thickness(pos0)=10;
+
+disp(' Interpolating bedrock topography');
+md.geometry.bed=InterpFromGridToMesh(x1,y1,topg,md.mesh.x,md.mesh.y,0);
+
+disp(' Constructing surface elevation');
+md.geometry.surface=md.geometry.thickness+md.geometry.bed;
+
+disp(' Interpolating velocities');
+md.inversion.vx_obs = InterpFromGridToMesh(x1,y1,velx,md.mesh.x,md.mesh.y,0);
+md.inversion.vy_obs = InterpFromGridToMesh(x1,y1,vely,md.mesh.x,md.mesh.y,0);
+md.inversion.vel_obs = sqrt(md.inversion.vx_obs.^2+md.inversion.vy_obs.^2);
+md.initialization.vx = md.inversion.vx_obs;
+md.initialization.vy = md.inversion.vy_obs;
+md.initialization.vel= md.inversion.vel_obs;
+
+disp(' Interpolating temperatures');
+md.initialization.temperature=InterpFromGridToMesh(x1,y1,temp,md.mesh.x,md.mesh.y,0)+273.15; %convert to Kelvin
+
+disp(' Interpolating surface mass balance');
+md.surfaceforcings.mass_balance=InterpFromGridToMesh(x1,y1,smb,md.mesh.x,md.mesh.y,0);
+md.surfaceforcings.mass_balance=md.surfaceforcings.mass_balance*md.materials.rho_water/md.materials.rho_ice;
+
+disp(' Construct basal friction parameters');
+md.friction.coefficient=30*ones(md.mesh.numberofvertices,1);
+pos=find(md.mask.vertexonfloatingice);
+md.friction.coefficient(pos)=0; %no friction applied on floating ice
+md.friction.p=ones(md.mesh.numberofelements,1);
+md.friction.q=ones(md.mesh.numberofelements,1);
+
+disp(' Construct ice rheological properties');
+md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
+md.materials.rheology_B=paterson(md.initialization.temperature);
+%Reduce viscosity along the shear margins
+weakb=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,'WeakB.exp','node',2);
+pos=find(weakb);md.materials.rheology_B(pos)=.3*md.materials.rheology_B(pos);
+
+disp(' Set other boundary conditions');
+md=SetMarineIceSheetBC(md,'./Front.exp');
+md.diagnostic.icefront(:,end)=1; %Apply water pressure at the ice front
+md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1);
Deleted: issm/trunk/examples/Jakobshavn/WeakB.exp
===================================================================
--- issm/trunk-jpl/examples/Jakobshavn/WeakB.exp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/Jakobshavn/WeakB.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,60 +0,0 @@
-## Name:WeakB
-## Icon:0
-# Points Count Value
-24 1.000000
-# X pos Y pos
--441022.7144520371 -2238435.7116546673
--441639.8422268176 -2239053.0142011684
--439171.3311276956 -2240699.1543251718
--437319.9478033541 -2241727.9919026736
--435879.9829955329 -2241933.7594181742
--432382.9256051101 -2242756.8294801759
--430942.9607972889 -2242962.5969956759
--429708.7052477279 -2243991.4345731782
--428680.1589564271 -2245020.2721506800
--427651.6126651262 -2246049.1097281822
--425800.2293407847 -2247077.9473056840
--424565.9737912237 -2247695.2498521851
--419341.0001274022 -2251604.8326466926
--416049.6519952395 -2253868.2753171972
--416049.6519952395 -2252222.1351931938
--418312.4538361013 -2249341.3899761885
--423331.7182416627 -2245843.3422126817
--425594.5200825246 -2245226.0396661805
--426623.0663738254 -2244402.9696041788
--427445.9034068661 -2243991.4345731782
--428885.8682146872 -2242756.8294801759
--431148.6700555491 -2241522.2243871735
--436497.1107703134 -2239670.3167476696
--441022.7144520371 -2238435.7116546673
-
-## Name:WeakB
-## Icon:0
-# Points Count Value
-24 1.000000
-# X pos Y pos
--442668.3885181184 -2245226.0396661805
--440405.5866772566 -2245843.3422126817
--438759.9126111752 -2246049.1097281822
--437525.6570616142 -2246460.6447591828
--435879.9829955329 -2246872.1797901839
--434028.5996711914 -2248106.7848831862
--431354.3793138092 -2249547.1574916886
--430120.1237642482 -2249341.3899761885
--429297.2867312076 -2250164.4600381902
--427857.3219233864 -2249958.6925226897
--426623.0663738254 -2250164.4600381902
--424771.6830494839 -2250575.9950691909
--423537.4274999229 -2250781.7625846914
--422714.5904668822 -2251399.0651311926
--415226.8149621988 -2259629.7657512082
--419135.2908691420 -2259218.2307202076
--422838.0575178250 -2255720.1829567007
--424977.3923077441 -2252016.3676776937
--426623.0663738254 -2251810.6001621932
--428268.7404399067 -2251399.0651311926
--429708.7052477279 -2251399.0651311926
--431560.0885720694 -2251399.0651311926
--443902.6440676794 -2246460.6447591828
--442668.3885181184 -2245226.0396661805
-
Copied: issm/trunk/examples/Jakobshavn/WeakB.exp (from rev 11994, issm/trunk-jpl/examples/Jakobshavn/WeakB.exp)
===================================================================
--- issm/trunk/examples/Jakobshavn/WeakB.exp (rev 0)
+++ issm/trunk/examples/Jakobshavn/WeakB.exp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,60 @@
+## Name:WeakB
+## Icon:0
+# Points Count Value
+24 1.000000
+# X pos Y pos
+-441022.7144520371 -2238435.7116546673
+-441639.8422268176 -2239053.0142011684
+-439171.3311276956 -2240699.1543251718
+-437319.9478033541 -2241727.9919026736
+-435879.9829955329 -2241933.7594181742
+-432382.9256051101 -2242756.8294801759
+-430942.9607972889 -2242962.5969956759
+-429708.7052477279 -2243991.4345731782
+-428680.1589564271 -2245020.2721506800
+-427651.6126651262 -2246049.1097281822
+-425800.2293407847 -2247077.9473056840
+-424565.9737912237 -2247695.2498521851
+-419341.0001274022 -2251604.8326466926
+-416049.6519952395 -2253868.2753171972
+-416049.6519952395 -2252222.1351931938
+-418312.4538361013 -2249341.3899761885
+-423331.7182416627 -2245843.3422126817
+-425594.5200825246 -2245226.0396661805
+-426623.0663738254 -2244402.9696041788
+-427445.9034068661 -2243991.4345731782
+-428885.8682146872 -2242756.8294801759
+-431148.6700555491 -2241522.2243871735
+-436497.1107703134 -2239670.3167476696
+-441022.7144520371 -2238435.7116546673
+
+## Name:WeakB
+## Icon:0
+# Points Count Value
+24 1.000000
+# X pos Y pos
+-442668.3885181184 -2245226.0396661805
+-440405.5866772566 -2245843.3422126817
+-438759.9126111752 -2246049.1097281822
+-437525.6570616142 -2246460.6447591828
+-435879.9829955329 -2246872.1797901839
+-434028.5996711914 -2248106.7848831862
+-431354.3793138092 -2249547.1574916886
+-430120.1237642482 -2249341.3899761885
+-429297.2867312076 -2250164.4600381902
+-427857.3219233864 -2249958.6925226897
+-426623.0663738254 -2250164.4600381902
+-424771.6830494839 -2250575.9950691909
+-423537.4274999229 -2250781.7625846914
+-422714.5904668822 -2251399.0651311926
+-415226.8149621988 -2259629.7657512082
+-419135.2908691420 -2259218.2307202076
+-422838.0575178250 -2255720.1829567007
+-424977.3923077441 -2252016.3676776937
+-426623.0663738254 -2251810.6001621932
+-428268.7404399067 -2251399.0651311926
+-429708.7052477279 -2251399.0651311926
+-431560.0885720694 -2251399.0651311926
+-443902.6440676794 -2246460.6447591828
+-442668.3885181184 -2245226.0396661805
+
Deleted: issm/trunk/examples/Jakobshavn/runme.m
===================================================================
--- issm/trunk-jpl/examples/Jakobshavn/runme.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/Jakobshavn/runme.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,92 +0,0 @@
-steps=[1];
-
-if any(steps==1)
- disp(' Step 1: Mesh creation');
- md=triangle(model,'Domain.exp',2000);
-
- %Get observed velocity field on mesh nodes
- ncdata='Greenland_5km_v1.1.nc';
- if ~exist(ncdata,'file'),
- error('Download Greenland5km_v1.1.nc first on http://websrv.cs.umt.edu/isis/index.php/Present_Day_Greenland');
- end
- x1 = ncread(ncdata,'x1');
- y1 = ncread(ncdata,'y1');
- velx = ncread(ncdata,'surfvelx');
- vely = ncread(ncdata,'surfvely');
- vx = InterpFromGridToMesh(x1,y1,velx',md.mesh.x,md.mesh.y,0);
- vy = InterpFromGridToMesh(x1,y1,vely',md.mesh.x,md.mesh.y,0);
- vel = sqrt(vx.^2+vy.^2);
-
- %refine mesh using surface velocities as metric
- md=bamg(md,'hmin',1200,'hmax',15000,'field',vel,'err',5);
- [md.mesh.lat,md.mesh.long] = xy2ll(md.mesh.x,md.mesh.y,+1,39,71);
-
- save JksMesh.mdl md
-end
-if any(steps==2)
- disp(' Step 2: Parameterization');
- md=loadmodel('JksMesh.mdl');
-
- md=setmask(md,'','');
- md=parameterize(md,'Jks.par');
-
- %zones of shear margin softening
- weakb=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,'WeakB.exp','node',2);
- pos=find(weakb);
- md.materials.rheology_B(pos)=.3*md.materials.rheology_B(pos);
-
- save JksPar.mdl md
-end
-if any(steps==3)
- disp(' Step 3: Control method friction');
- md=loadmodel('JksPar.mdl');
-
- md=setflowequation(md,'macayeal','all');
-
- %Control general
- md.inversion.iscontrol=1;
- md.inversion.nsteps=20;
- md.inversion.step_threshold=0.99*ones(md.inversion.nsteps,1);
- md.inversion.maxiter_per_step=5*ones(md.inversion.nsteps,1);
- md.verbose=verbose('solution',true,'control',true);
-
- %Cost functions
- md.inversion.cost_functions=[101*ones(md.inversion.nsteps,1) 103*ones(md.inversion.nsteps,1)];
- md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2);
- md.inversion.cost_functions_coefficients(:,1)=40;
- md.inversion.cost_functions_coefficients(:,2)=1;
-
- %Controls
- md.inversion.control_parameters={'FrictionCoefficient'};
- md.inversion.gradient_scaling(1:md.inversion.nsteps)=30;
- md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1);
- md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1);
-
- %Additional parameters
- md.diagnostic.restol=0.01;
- md.diagnostic.reltol=0.1;
- md.diagnostic.abstol=NaN;
-
- %Go solve
- md.cluster=generic('name',oshostname,'np',4);
- md.solver=addoptions(md.solver,NoneAnalysisEnum,asmoptions);
- md.solver=addoptions(md.solver,DiagnosticVertAnalysisEnum,jacobiasmoptions);
- md=solve(md,DiagnosticSolutionEnum);
-
- save JksControl.mdl md
-end
-if any(steps==4)
- disp(' Plotting')
- md=loadmodel('JksControl.mdl');
-
- plotmodel(md,'unit#all','km','axis#all','equal',...
- 'FontSize#all',12,...
- 'data',md.inversion.vel_obs,'title','Observed velocity',...
- 'data',md.results.DiagnosticSolution.Vel,'title','Modeled Velocity',...
- 'colorbar#1','off','colorbar#2','on','colorbartitle#2','[m/yr]',...
- 'caxis#1-2',[0,7000],...
- 'data',md.geometry.bed,'title','Bed elevation',...
- 'data',md.results.DiagnosticSolution.FrictionCoefficient,...
- 'title','Friction Coefficient',...
- 'colorbar#3','on','colorbartitle#3','[m]','colorbar#4','on');
-end
Copied: issm/trunk/examples/Jakobshavn/runme.m (from rev 11994, issm/trunk-jpl/examples/Jakobshavn/runme.m)
===================================================================
--- issm/trunk/examples/Jakobshavn/runme.m (rev 0)
+++ issm/trunk/examples/Jakobshavn/runme.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,92 @@
+steps=[1];
+
+if any(steps==1)
+ disp(' Step 1: Mesh creation');
+ md=triangle(model,'Domain.exp',2000);
+
+ %Get observed velocity field on mesh nodes
+ ncdata='Greenland_5km_v1.1.nc';
+ if ~exist(ncdata,'file'),
+ error('Download Greenland5km_v1.1.nc first on http://websrv.cs.umt.edu/isis/index.php/Present_Day_Greenland');
+ end
+ x1 = ncread(ncdata,'x1');
+ y1 = ncread(ncdata,'y1');
+ velx = ncread(ncdata,'surfvelx');
+ vely = ncread(ncdata,'surfvely');
+ vx = InterpFromGridToMesh(x1,y1,velx',md.mesh.x,md.mesh.y,0);
+ vy = InterpFromGridToMesh(x1,y1,vely',md.mesh.x,md.mesh.y,0);
+ vel = sqrt(vx.^2+vy.^2);
+
+ %refine mesh using surface velocities as metric
+ md=bamg(md,'hmin',1200,'hmax',15000,'field',vel,'err',5);
+ [md.mesh.lat,md.mesh.long] = xy2ll(md.mesh.x,md.mesh.y,+1,39,71);
+
+ save JksMesh.mdl md
+end
+if any(steps==2)
+ disp(' Step 2: Parameterization');
+ md=loadmodel('JksMesh.mdl');
+
+ md=setmask(md,'','');
+ md=parameterize(md,'Jks.par');
+
+ %zones of shear margin softening
+ weakb=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,'WeakB.exp','node',2);
+ pos=find(weakb);
+ md.materials.rheology_B(pos)=.3*md.materials.rheology_B(pos);
+
+ save JksPar.mdl md
+end
+if any(steps==3)
+ disp(' Step 3: Control method friction');
+ md=loadmodel('JksPar.mdl');
+
+ md=setflowequation(md,'macayeal','all');
+
+ %Control general
+ md.inversion.iscontrol=1;
+ md.inversion.nsteps=20;
+ md.inversion.step_threshold=0.99*ones(md.inversion.nsteps,1);
+ md.inversion.maxiter_per_step=5*ones(md.inversion.nsteps,1);
+ md.verbose=verbose('solution',true,'control',true);
+
+ %Cost functions
+ md.inversion.cost_functions=[101*ones(md.inversion.nsteps,1) 103*ones(md.inversion.nsteps,1)];
+ md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2);
+ md.inversion.cost_functions_coefficients(:,1)=40;
+ md.inversion.cost_functions_coefficients(:,2)=1;
+
+ %Controls
+ md.inversion.control_parameters={'FrictionCoefficient'};
+ md.inversion.gradient_scaling(1:md.inversion.nsteps)=30;
+ md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1);
+ md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1);
+
+ %Additional parameters
+ md.diagnostic.restol=0.01;
+ md.diagnostic.reltol=0.1;
+ md.diagnostic.abstol=NaN;
+
+ %Go solve
+ md.cluster=generic('name',oshostname,'np',4);
+ md.solver=addoptions(md.solver,NoneAnalysisEnum,asmoptions);
+ md.solver=addoptions(md.solver,DiagnosticVertAnalysisEnum,jacobiasmoptions);
+ md=solve(md,DiagnosticSolutionEnum);
+
+ save JksControl.mdl md
+end
+if any(steps==4)
+ disp(' Plotting')
+ md=loadmodel('JksControl.mdl');
+
+ plotmodel(md,'unit#all','km','axis#all','equal',...
+ 'FontSize#all',12,...
+ 'data',md.inversion.vel_obs,'title','Observed velocity',...
+ 'data',md.results.DiagnosticSolution.Vel,'title','Modeled Velocity',...
+ 'colorbar#1','off','colorbar#2','on','colorbartitle#2','[m/yr]',...
+ 'caxis#1-2',[0,7000],...
+ 'data',md.geometry.bed,'title','Bed elevation',...
+ 'data',md.results.DiagnosticSolution.FrictionCoefficient,...
+ 'title','Friction Coefficient',...
+ 'colorbar#3','on','colorbartitle#3','[m]','colorbar#4','on');
+end
Modified: issm/trunk/examples/SquareIceShelf/runme.m
===================================================================
--- issm/trunk/examples/SquareIceShelf/runme.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/examples/SquareIceShelf/runme.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,4 +3,5 @@
md=setmask(md,'all','');
md=parameterize(md,'Square.par');
md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname,'np',2);
md=solve(md,DiagnosticSolutionEnum);
Property changes on: issm/trunk/execution
___________________________________________________________________
Added: svn:ignore
+ test*
Modified: issm/trunk/externalpackages/adolc/install.sh
===================================================================
--- issm/trunk/externalpackages/adolc/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/adolc/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,5 +1,7 @@
#!/bin/bash
+#some issues on macosx64 with ISSM's autoconf. you might want to run native to mac on this.
+
#Some cleanup
rm -rf install ADOL-C-2.2.0 src
@@ -15,11 +17,14 @@
#Compile ADOL-C
cd src
+
./configure \
--prefix=$ISSM_TIER/externalpackages/adolc/install \
--enable-sparse \
--enable-docexa \
- --enable-addexa
+ --enable-addexa \
+ --disable-shave
+
if [ -z $1 ]; then
make
else
Deleted: issm/trunk/externalpackages/android-ndk/android-ndk-r7b-darwin-x86.tar.bz2
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/android-ndk/android-ndk-r7b-darwin-x86.tar.bz2 (from rev 11994, issm/trunk-jpl/externalpackages/android-ndk/android-ndk-r7b-darwin-x86.tar.bz2)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/android-ndk/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/android-ndk/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/android-ndk/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +0,0 @@
-#This installs the Android NDK (Native Development Kit)
-#which is needed for the compilation of C/C++ code into the
-#native architecture of the Android device.
-
-#The android-ndk-r7b-darwin-x86.tar.bz2 dummy.tar.bz2 file was downloaded
-#from the android developer website:
-
-#Cleanup the install
-rm -rf install
-rm -rf $ANROID_DEV_DIR/tmp
-
-# Install Android SDK and NDK.
-cp android-ndk-r7b-darwin-x86.tar.bz2 dummy.tar.bz2
-bunzip2 dummy.tar.bz2
-tar -xvf dummy.tar
-rm -rf dummy.tar dummy.tar.bz2
-
-#Move to install
-mv android-ndk-r7b install
-
-#Create Standalone Development Directory
-$ANDROID_NDK_DIR/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=$ANDROID_DEV_DIR/tmp/android-linux-4.0
Copied: issm/trunk/externalpackages/android-ndk/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/android-ndk/install.sh)
===================================================================
--- issm/trunk/externalpackages/android-ndk/install.sh (rev 0)
+++ issm/trunk/externalpackages/android-ndk/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,22 @@
+#This installs the Android NDK (Native Development Kit)
+#which is needed for the compilation of C/C++ code into the
+#native architecture of the Android device.
+
+#The android-ndk-r7b-darwin-x86.tar.bz2 dummy.tar.bz2 file was downloaded
+#from the android developer website:
+
+#Cleanup the install
+rm -rf install
+rm -rf $ANROID_DEV_DIR/tmp
+
+# Install Android SDK and NDK.
+cp android-ndk-r7b-darwin-x86.tar.bz2 dummy.tar.bz2
+bunzip2 dummy.tar.bz2
+tar -xvf dummy.tar
+rm -rf dummy.tar dummy.tar.bz2
+
+#Move to install
+mv android-ndk-r7b install
+
+#Create Standalone Development Directory
+$ANDROID_NDK_DIR/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=$ANDROID_DEV_DIR/tmp/android-linux-4.0
Property changes on: issm/trunk/externalpackages/android-sdk
___________________________________________________________________
Added: svn:ignore
+ install-sdk
install-ant
Deleted: issm/trunk/externalpackages/android-sdk/android-sdk-r16-macosx.zip
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/android-sdk/android-sdk-r16-macosx.zip (from rev 11994, issm/trunk-jpl/externalpackages/android-sdk/android-sdk-r16-macosx.zip)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/android-sdk/apache-ant-1.8.2-bin.zip
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/android-sdk/apache-ant-1.8.2-bin.zip (from rev 11994, issm/trunk-jpl/externalpackages/android-sdk/apache-ant-1.8.2-bin.zip)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/android-sdk/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/android-sdk/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/android-sdk/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,78 +0,0 @@
-#This installs the Android SDK (Software Development Kit)
-#which is needed for the compilation of the Java project.
-
-step=3;
-
-#Different steps here.
-#1: install sdk, ant and sdk tools
-#2: install an emulator.
-#3: test the emulator
-#4: cleanup
-
-present_dir=`pwd`;
-default_droid="Android-4.0"
-
-if [[ $step == "1" ]]; then
-
- #Cleanup the install
- rm -rf install-sdk install-ant
-
- # Install Android SDK and NDK.
- unzip -o android-sdk-r16-macosx.zip
- unzip -o apache-ant-1.8.2-bin.zip
-
- #Move to install
- mv android-sdk-macosx install-sdk
- mv apache-ant-1.8.2 install-ant
-
- #Post_install configuration:
- #We need specific settings for specific platforms, for the SDK to
- #function properly
-
- #For now, we need to install:
- #android sdk platform tools
- #and a specific android api: API 15
- #Note: API 15 corresponds to Android 4.0.3
-
- cd install-sdk/tools/ && source ./android update sdk -t platform-tools,android-15,android-14,system-image --no-ui
-
-fi
-
-if [[ $step == "2" ]]; then
-
- #Once this is done, we need to install an emulator. Location will default to ~/.android/avd,
- #which we will move to $ISSM_TIER/externalpackages/android-emulators.
- #For now, it's called: Android-4.0.3
-
-
- #Here we delete the Android-4.0.3 device if it already exists.
- cd $present_dir/install-sdk/tools
-
- if [ -e $ANDROID_DEV_DIR/android-emulators/$default_droid ]
- then
- echo "Deleting previously created device: $default_droid"
- ./android delete avd -n $default_droid
- fi
-
- #Android will prompt the user to specify hardware emulation options. For now, default
- #default settings will suffice. Press 'enter' to take default settings or enter 'no'.
-
- ./android create avd -f -n $default_droid -t 2 -p $ANDROID_DEV_DIR/android-emulators/$default_droid --abi armeabi-v7a
-fi
-
-if [[ $step == "3" ]]; then
- #Here we will start up our default emulator to test that it is working properly.
- #Once the device has booted we will use the Android Debug Bridge tool to gain
- #a terminal in our device.
-
- cd $present_dir/install-sdk/tools
- ./emulator -avd $default_droid -sdcard $ANDROID_DEV_DIR/android-emulators/test &
-
- cd ../platform-tools
- ./adb wait-for-device shell
-
-fi
-
-if [[ $step == "4" ]]; then
- rm -rf install-sdk install-ant
-fi
Copied: issm/trunk/externalpackages/android-sdk/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/android-sdk/install.sh)
===================================================================
--- issm/trunk/externalpackages/android-sdk/install.sh (rev 0)
+++ issm/trunk/externalpackages/android-sdk/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,78 @@
+#This installs the Android SDK (Software Development Kit)
+#which is needed for the compilation of the Java project.
+
+step=3;
+
+#Different steps here.
+#1: install sdk, ant and sdk tools
+#2: install an emulator.
+#3: test the emulator
+#4: cleanup
+
+present_dir=`pwd`;
+default_droid="Android-4.0"
+
+if [[ $step == "1" ]]; then
+
+ #Cleanup the install
+ rm -rf install-sdk install-ant
+
+ # Install Android SDK and NDK.
+ unzip -o android-sdk-r16-macosx.zip
+ unzip -o apache-ant-1.8.2-bin.zip
+
+ #Move to install
+ mv android-sdk-macosx install-sdk
+ mv apache-ant-1.8.2 install-ant
+
+ #Post_install configuration:
+ #We need specific settings for specific platforms, for the SDK to
+ #function properly
+
+ #For now, we need to install:
+ #android sdk platform tools
+ #and a specific android api: API 15
+ #Note: API 15 corresponds to Android 4.0.3
+
+ cd install-sdk/tools/ && source ./android update sdk -t platform-tools,android-15,android-14,system-image --no-ui
+
+fi
+
+if [[ $step == "2" ]]; then
+
+ #Once this is done, we need to install an emulator. Location will default to ~/.android/avd,
+ #which we will move to $ISSM_TIER/externalpackages/android-emulators.
+ #For now, it's called: Android-4.0.3
+
+
+ #Here we delete the Android-4.0.3 device if it already exists.
+ cd $present_dir/install-sdk/tools
+
+ if [ -e $ANDROID_DEV_DIR/android-emulators/$default_droid ]
+ then
+ echo "Deleting previously created device: $default_droid"
+ ./android delete avd -n $default_droid
+ fi
+
+ #Android will prompt the user to specify hardware emulation options. For now, default
+ #default settings will suffice. Press 'enter' to take default settings or enter 'no'.
+
+ ./android create avd -f -n $default_droid -t 2 -p $ANDROID_DEV_DIR/android-emulators/$default_droid --abi armeabi-v7a
+fi
+
+if [[ $step == "3" ]]; then
+ #Here we will start up our default emulator to test that it is working properly.
+ #Once the device has booted we will use the Android Debug Bridge tool to gain
+ #a terminal in our device.
+
+ cd $present_dir/install-sdk/tools
+ ./emulator -avd $default_droid -sdcard $ANDROID_DEV_DIR/android-emulators/test &
+
+ cd ../platform-tools
+ ./adb wait-for-device shell
+
+fi
+
+if [[ $step == "4" ]]; then
+ rm -rf install-sdk install-ant
+fi
Deleted: issm/trunk/externalpackages/boost/boost_1_45_0.tar.gz
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/boost/boost_1_49_0.tar.gz (from rev 11994, issm/trunk-jpl/externalpackages/boost/boost_1_49_0.tar.gz)
===================================================================
(Binary files differ)
Modified: issm/trunk/externalpackages/boost/install.sh
===================================================================
--- issm/trunk/externalpackages/boost/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/boost/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,24 +1,33 @@
#!/bin/bash
+#Note of caution: stop after boostrap phase, and run
+#bjam --debug-configuration, to figure out which paths boost is using to include
+#python. make sure everyone of these paths is covered by python. If not, just make
+#symlinks in externalpackages/python to what boost is expecting. Ther is NO WAY
+#to get the boost library to include python support without doing that.
+
+
+
#Some cleanup
-rm -rf install boost_1_45_0 src
+rm -rf install boost_1_49_0 src
mkdir install src
#Untar
-tar -zxvf boost_1_45_0.tar.gz
+tar -zxvf boost_1_49_0.tar.gz
#Move boost into install directory
-mv boost_1_45_0/* src
-rm -rf boost_1_45_0
-
+mv boost_1_49_0/* src
+rm -rf boost_1_49_0
#Configure and compile
cd src
-./bootstrap.sh --prefix=$ISSM_TIER/externalpackages/boost/install
+./bootstrap.sh \
+ --prefix="$ISSM_TIER/externalpackages/boost/install" \
+ --with-python=python3.2 \
+ --with-python-root="$ISSM_TIER/externalpackages/python/install"
#Compile boost
-if [ -z $1 ];
-then
- ./bjam install
-else
- ./bjam -j $1 install
-fi
+./bjam install
+
+#put bjam into install also:
+mkdir ../install/bin
+cp bjam ../install/bin
Modified: issm/trunk/externalpackages/cccl/issm/cccl
===================================================================
--- issm/trunk/externalpackages/cccl/issm/cccl 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cccl/issm/cccl 2012-04-16 21:57:18 UTC (rev 11995)
@@ -83,7 +83,7 @@
shift
done
-echo "$prog $opts"
+#echo "$prog $opts"
exec $prog $opts
exit 0
Copied: issm/trunk/externalpackages/chaco/chaco_njs_notes.txt (from rev 11994, issm/trunk-jpl/externalpackages/chaco/chaco_njs_notes.txt)
===================================================================
--- issm/trunk/externalpackages/chaco/chaco_njs_notes.txt (rev 0)
+++ issm/trunk/externalpackages/chaco/chaco_njs_notes.txt 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,3 @@
+chaco build must be able to see malloc.h
+sudo ln -s /usr/include/malloc/malloc.h /usr/include/malloc.h
+or else make sure you include the malloc directory in path
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/Contents.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
-% Utilities for coloring with MATLAB by Carlos Vargas.
-%
-% COLORMAP utilites:
-% cmapping - Colormap linear mapping/interpolation. v1.1 (Sep 02, 2009)
-% cmfit - Sets the COLORMAP and CAXIS to specific color bands. v1.0 (Jun 08, 2009)
-% cmjoin - Joins colormaps at certain levels. v2.0 (Jun 08, 2009)
-% cmlines - Change the color of plotted lines using the colormap. v1.0 (Jun 08, 2009)
-%
-% COLORBAR utilities:
-% cbfit - Draws a colorbar with specific color bands between its ticks. v2.1 (Sep 30, 2009)
-% cbfreeze - Freezes the colormap of a colorbar. v1.1 (Sep 02, 2009)
-% cbhandle - Handle of current colorbar axes. v1.1 (Aug 20, 2009)
-% cblabel - Adds a label to the colorbar. v2.0 (Jun 08, 2009)
-% cbunits - Adds units to the colorbar ticklabels. v3.0 (Sep 30, 2009)
-%
-% Sep 30, 2009
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/Contents.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/Contents.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+% Utilities for coloring with MATLAB by Carlos Vargas.
+%
+% COLORMAP utilites:
+% cmapping - Colormap linear mapping/interpolation. v1.1 (Sep 02, 2009)
+% cmfit - Sets the COLORMAP and CAXIS to specific color bands. v1.0 (Jun 08, 2009)
+% cmjoin - Joins colormaps at certain levels. v2.0 (Jun 08, 2009)
+% cmlines - Change the color of plotted lines using the colormap. v1.0 (Jun 08, 2009)
+%
+% COLORBAR utilities:
+% cbfit - Draws a colorbar with specific color bands between its ticks. v2.1 (Sep 30, 2009)
+% cbfreeze - Freezes the colormap of a colorbar. v1.1 (Sep 02, 2009)
+% cbhandle - Handle of current colorbar axes. v1.1 (Aug 20, 2009)
+% cblabel - Adds a label to the colorbar. v2.0 (Jun 08, 2009)
+% cbunits - Adds units to the colorbar ticklabels. v3.0 (Sep 30, 2009)
+%
+% Sep 30, 2009
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbfit.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,252 +0,0 @@
-function CBH = cbfit(varargin)
-%CBFIT Draws a colorbar with specific color bands between its ticks.
-%
-% SYNTAX:
-% cbfit
-% cbfit(NBANDS) % May be LBANDS instead of NBANDS
-% cbfit(NBANDS,CENTER)
-% cbfit(...,MODE)
-% cbfit(...,OPT)
-% cbfit(CBH,...)
-% CBH = cbfit(...);
-%
-% INPUT:
-% NBANDS - Draws a colorbar with NBANDS bands colors between each tick
-% or mark or a colorband between the specifies level bands
-% LBANDS (LBANDS=NBANDS).
-% DEFAULT: 5
-% CENTER - Center the colormap to this CENTER reference.
-% DEFAULT: [] (do not centers)
-% MODE - Specifies the ticks mode (should be before AP,AV). One of:
-% 'manual' - Forces color ticks on the new bands.
-% 'auto' - Do not forces
-% DEFAULT: 'auto'
-% OPT - Normal optional arguments of the COLORBAR function (should
-% be the last arguments).
-% DEFAULT: none.
-% CBH - Uses this colorbar handle instead of current one.
-%
-% OUTPUT (all optional):
-% CBH - Returns the colorbar axes handle.
-%
-% DESCRIPTION:
-% Draws a colorbar with specified number of color bands between its
-% ticks by modifying the current colormap and caxis.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * Sets the color limits, CAXIS, and color map, COLORMAP, before using
-% this function. Use them after this function to get the
-% modifications.
-%
-% EXAMPLE:
-% figure, surf(peaks+2), colormap(jet(14)), colorbar
-% title('Normal colorbar.m')
-% figure, surf(peaks+2), cbfit(2,0)
-% title('Fitted 2 color bands and centered on zero')
-% figure, surf(peaks+2), caxis([0 10]), cbfit(4,8)
-% title('Fitted 4 color bands and centered at 8')
-%
-% SEE ALSO:
-% COLORBAR
-% and
-% CBFREEZE, CMFIT by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cbfit.m
-% VERSION: 2.1 (Sep 30, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released as COLORBARFIT.M. (Mar 11, 2008)
-% 1.1 Fixed bug when CAXIS is used before this function. (Jul 01,
-% 2008)
-% 1.2 Works properly when CAXIS is used before this function. Bug
-% fixed on subfunction and rewritten code. (Aug 21, 2008)
-% 2.0 Rewritten code. Instead of the COLORBAND subfunction, now uses
-% the CMFIT function. Changed its name from COLORBARFIT to
-% CBFIT. (Jun 08, 2008)
-% 2.1 Fixed bug and help with CBH input. (Sep 30, 2009)
-
-% DISCLAIMER:
-% cbfit.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Sets defaults:
-NBANDS = 5;
-CENTER = [];
-MODE = 'auto';
-CBH = [];
-pax = []; % Peer axes
-
-% Checks if first argument is a handle: Fixed bug Sep 2009
-if (~isempty(varargin) && (length(varargin{1})==1) && ...
- ishandle(varargin{1})) && strcmp(get(varargin{1},'Type'),'axes')
- if strcmp(get(varargin{1},'Tag'),'Colorbar')
- CBH = varargin{1};
- else
- warning('CVARGAS:cbfit:incorrectHInput',...
- 'Unrecognized first input handle.')
- end
- varargin(1) = [];
-end
-
-% Reads NBANDS and CENTER:
-if ~isempty(varargin) && isnumeric(varargin{1})
- if ~isempty(varargin{1})
- NBANDS = varargin{1};
- end
- if (length(varargin)>1) && isnumeric(varargin{2})
- CENTER = varargin{2};
- varargin(2) = [];
- end
- varargin(1) = [];
-end
-
-% Reads MODE:
-if (~isempty(varargin) && (rem(length(varargin),2)==1))
- if (~isempty(varargin{1}) && ischar(varargin{1}))
- switch lower(varargin{1})
- case 'auto' , MODE = 'auto';
- case 'manual', MODE = 'manual';
- otherwise % 'off', 'hide' and 'delete'
- warning('CVARGAS:cbfit:incorrectStringInput',...
- 'No pair string input must be one of ''auto'' or ''manual''.')
- end
- end
- varargin(1) = [];
-end
-
-% Reads peer axes:
-for k = 1:2:length(varargin)
- if ~isempty(varargin{k})
- switch lower(varargin{k})
- case 'peer', pax = varargin{k+1}; break
- end
- end
-end
-if isempty(pax)
- pax = gca;
-end
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-% Generates a preliminary colorbar:
-if isempty(CBH)
- CBH = colorbar(varargin{:});
-end
-
-% Gets limits and orientation:
-s = 'Y';
-ticks = get(CBH,[s 'Tick']);
-if isempty(ticks)
- s = 'X';
- ticks = get(CBH,[s 'Tick']);
-end
-zlim = get(CBH,[s 'Lim']);
-
-% Gets width and ref:
-if ~isempty(NBANDS)
-
- NL = length(NBANDS);
-
- if (NL==1)
-
- % Force positive integers:
- NBANDS = round(abs(NBANDS));
-
- % Ignores ticks outside the limits:
- if zlim(1)>ticks(1)
- ticks(1) = [];
- end
- if zlim(2)<ticks(end)
- ticks(end) = [];
- end
-
- % Get the ticks step and colorband:
- tstep = ticks(2)-ticks(1);
- WIDTH = tstep/NBANDS;
-
- % Sets color limits
- if strcmp(get(pax,'CLimMode'),'auto')
- caxis(zlim);
- end
-
- % Forces old colorbar ticks:
- set(CBH,[s 'Lim'],zlim,[s 'Tick'],ticks)
-
- % Levels:
- if strcmp(MODE,'manual')
- LBANDS = [fliplr(ticks(1)-WIDTH:-WIDTH:zlim(1)) ticks(1):WIDTH:zlim(2)];
- end
-
- else
-
- % Nonlinear colorbar:
- ticks = NBANDS;
- WIDTH = ticks;
-
- % Scales to CLIM:
- if strcmp(get(pax,'CLimMode'),'manual')
- ticks = ticks-ticks(1);
- ticks = ticks/ticks(end);
- ticks = ticks*diff(zlim) + zlim(1);
- end
- zlim = [ticks(1) ticks(end)];
- caxis(pax,zlim)
- CBIH = get(CBH,'Children');
-
- % Change ticks:
- set(CBIH,[s 'Data'],ticks)
-
- % Sets limits:
- set(CBH,[s 'Lim'],zlim)
-
- % Levels:
- if strcmp(MODE,'manual')
- LBANDS = NBANDS;
- end
-
- end
-
- % Get reference mark
- if ~isempty(CENTER)
- REF = CENTER;
- CENTER = true;
- else
- REF = ticks(1);
- CENTER = false;
- end
-
-end
-
-% Fits the colormap and limits:
-cmfit(get(get(pax,'Parent'),'Colormap'),zlim,WIDTH,REF,CENTER)
-
-% Sets ticks:
-if strcmp(MODE,'manual')
- set(CBH,[s 'Tick'],LBANDS)
-end
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-if ~nargout
- clear CBH
-end
-
-
-% [EOF] cbfit.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbfit.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbfit.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,252 @@
+function CBH = cbfit(varargin)
+%CBFIT Draws a colorbar with specific color bands between its ticks.
+%
+% SYNTAX:
+% cbfit
+% cbfit(NBANDS) % May be LBANDS instead of NBANDS
+% cbfit(NBANDS,CENTER)
+% cbfit(...,MODE)
+% cbfit(...,OPT)
+% cbfit(CBH,...)
+% CBH = cbfit(...);
+%
+% INPUT:
+% NBANDS - Draws a colorbar with NBANDS bands colors between each tick
+% or mark or a colorband between the specifies level bands
+% LBANDS (LBANDS=NBANDS).
+% DEFAULT: 5
+% CENTER - Center the colormap to this CENTER reference.
+% DEFAULT: [] (do not centers)
+% MODE - Specifies the ticks mode (should be before AP,AV). One of:
+% 'manual' - Forces color ticks on the new bands.
+% 'auto' - Do not forces
+% DEFAULT: 'auto'
+% OPT - Normal optional arguments of the COLORBAR function (should
+% be the last arguments).
+% DEFAULT: none.
+% CBH - Uses this colorbar handle instead of current one.
+%
+% OUTPUT (all optional):
+% CBH - Returns the colorbar axes handle.
+%
+% DESCRIPTION:
+% Draws a colorbar with specified number of color bands between its
+% ticks by modifying the current colormap and caxis.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * Sets the color limits, CAXIS, and color map, COLORMAP, before using
+% this function. Use them after this function to get the
+% modifications.
+%
+% EXAMPLE:
+% figure, surf(peaks+2), colormap(jet(14)), colorbar
+% title('Normal colorbar.m')
+% figure, surf(peaks+2), cbfit(2,0)
+% title('Fitted 2 color bands and centered on zero')
+% figure, surf(peaks+2), caxis([0 10]), cbfit(4,8)
+% title('Fitted 4 color bands and centered at 8')
+%
+% SEE ALSO:
+% COLORBAR
+% and
+% CBFREEZE, CMFIT by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cbfit.m
+% VERSION: 2.1 (Sep 30, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released as COLORBARFIT.M. (Mar 11, 2008)
+% 1.1 Fixed bug when CAXIS is used before this function. (Jul 01,
+% 2008)
+% 1.2 Works properly when CAXIS is used before this function. Bug
+% fixed on subfunction and rewritten code. (Aug 21, 2008)
+% 2.0 Rewritten code. Instead of the COLORBAND subfunction, now uses
+% the CMFIT function. Changed its name from COLORBARFIT to
+% CBFIT. (Jun 08, 2008)
+% 2.1 Fixed bug and help with CBH input. (Sep 30, 2009)
+
+% DISCLAIMER:
+% cbfit.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Sets defaults:
+NBANDS = 5;
+CENTER = [];
+MODE = 'auto';
+CBH = [];
+pax = []; % Peer axes
+
+% Checks if first argument is a handle: Fixed bug Sep 2009
+if (~isempty(varargin) && (length(varargin{1})==1) && ...
+ ishandle(varargin{1})) && strcmp(get(varargin{1},'Type'),'axes')
+ if strcmp(get(varargin{1},'Tag'),'Colorbar')
+ CBH = varargin{1};
+ else
+ warning('CVARGAS:cbfit:incorrectHInput',...
+ 'Unrecognized first input handle.')
+ end
+ varargin(1) = [];
+end
+
+% Reads NBANDS and CENTER:
+if ~isempty(varargin) && isnumeric(varargin{1})
+ if ~isempty(varargin{1})
+ NBANDS = varargin{1};
+ end
+ if (length(varargin)>1) && isnumeric(varargin{2})
+ CENTER = varargin{2};
+ varargin(2) = [];
+ end
+ varargin(1) = [];
+end
+
+% Reads MODE:
+if (~isempty(varargin) && (rem(length(varargin),2)==1))
+ if (~isempty(varargin{1}) && ischar(varargin{1}))
+ switch lower(varargin{1})
+ case 'auto' , MODE = 'auto';
+ case 'manual', MODE = 'manual';
+ otherwise % 'off', 'hide' and 'delete'
+ warning('CVARGAS:cbfit:incorrectStringInput',...
+ 'No pair string input must be one of ''auto'' or ''manual''.')
+ end
+ end
+ varargin(1) = [];
+end
+
+% Reads peer axes:
+for k = 1:2:length(varargin)
+ if ~isempty(varargin{k})
+ switch lower(varargin{k})
+ case 'peer', pax = varargin{k+1}; break
+ end
+ end
+end
+if isempty(pax)
+ pax = gca;
+end
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+% Generates a preliminary colorbar:
+if isempty(CBH)
+ CBH = colorbar(varargin{:});
+end
+
+% Gets limits and orientation:
+s = 'Y';
+ticks = get(CBH,[s 'Tick']);
+if isempty(ticks)
+ s = 'X';
+ ticks = get(CBH,[s 'Tick']);
+end
+zlim = get(CBH,[s 'Lim']);
+
+% Gets width and ref:
+if ~isempty(NBANDS)
+
+ NL = length(NBANDS);
+
+ if (NL==1)
+
+ % Force positive integers:
+ NBANDS = round(abs(NBANDS));
+
+ % Ignores ticks outside the limits:
+ if zlim(1)>ticks(1)
+ ticks(1) = [];
+ end
+ if zlim(2)<ticks(end)
+ ticks(end) = [];
+ end
+
+ % Get the ticks step and colorband:
+ tstep = ticks(2)-ticks(1);
+ WIDTH = tstep/NBANDS;
+
+ % Sets color limits
+ if strcmp(get(pax,'CLimMode'),'auto')
+ caxis(zlim);
+ end
+
+ % Forces old colorbar ticks:
+ set(CBH,[s 'Lim'],zlim,[s 'Tick'],ticks)
+
+ % Levels:
+ if strcmp(MODE,'manual')
+ LBANDS = [fliplr(ticks(1)-WIDTH:-WIDTH:zlim(1)) ticks(1):WIDTH:zlim(2)];
+ end
+
+ else
+
+ % Nonlinear colorbar:
+ ticks = NBANDS;
+ WIDTH = ticks;
+
+ % Scales to CLIM:
+ if strcmp(get(pax,'CLimMode'),'manual')
+ ticks = ticks-ticks(1);
+ ticks = ticks/ticks(end);
+ ticks = ticks*diff(zlim) + zlim(1);
+ end
+ zlim = [ticks(1) ticks(end)];
+ caxis(pax,zlim)
+ CBIH = get(CBH,'Children');
+
+ % Change ticks:
+ set(CBIH,[s 'Data'],ticks)
+
+ % Sets limits:
+ set(CBH,[s 'Lim'],zlim)
+
+ % Levels:
+ if strcmp(MODE,'manual')
+ LBANDS = NBANDS;
+ end
+
+ end
+
+ % Get reference mark
+ if ~isempty(CENTER)
+ REF = CENTER;
+ CENTER = true;
+ else
+ REF = ticks(1);
+ CENTER = false;
+ end
+
+end
+
+% Fits the colormap and limits:
+cmfit(get(get(pax,'Parent'),'Colormap'),zlim,WIDTH,REF,CENTER)
+
+% Sets ticks:
+if strcmp(MODE,'manual')
+ set(CBH,[s 'Tick'],LBANDS)
+end
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+if ~nargout
+ clear CBH
+end
+
+
+% [EOF] cbfit.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbfreeze.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,382 +0,0 @@
-function CBH = cbfreeze(varargin)
-%CBFREEZE Freezes the colormap of a colorbar.
-%
-% SYNTAX:
-% cbfreeze
-% cbfreeze('off')
-% cbfreeze(H,...)
-% CBH = cbfreeze(...);
-%
-% INPUT:
-% H - Handles of colorbars to be freezed, or from figures to search
-% for them or from peer axes (see COLORBAR).
-% DEFAULT: gcf (freezes all colorbars from the current figure)
-% 'off' - Unfreezes the colorbars, other options are:
-% 'on' Freezes
-% 'un' same as 'off'
-% 'del' Deletes the colormap(s).
-% DEFAULT: 'on' (of course)
-%
-% OUTPUT (all optional):
-% CBH - Color bar handle(s).
-%
-% DESCRIPTION:
-% MATLAB works with a unique COLORMAP by figure which is a big
-% limitation. Function FREEZECOLORS by John Iversen allows to use
-% different COLORMAPs in a single figure, but it fails freezing the
-% COLORBAR. This program handles this problem.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * If no colorbar is found, one is created.
-% * The new frozen colorbar is an axes object and does not behaves
-% as normally colorbars when resizing the peer axes. Although, some
-% time the normal behavior is not that good.
-% * Besides, it does not have the 'Location' property anymore.
-% * But, it does acts normally: no ZOOM, no PAN, no ROTATE3D and no
-% mouse selectable.
-% * No need to say that CAXIS and COLORMAP must be defined before using
-% this function. Besides, the colorbar location. Anyway, 'off' or
-% 'del' may help.
-% * The 'del' functionality may be used whether or not the colorbar(s)
-% is(are) froozen. The peer axes are resized back. Try:
-% >> colorbar, cbfreeze del
-%
-% EXAMPLE:
-% surf(peaks(30))
-% colormap jet
-% cbfreeze
-% colormap gray
-% title('What...?')
-%
-% SEE ALSO:
-% COLORMAP, COLORBAR, CAXIS
-% and
-% FREEZECOLORS by John Iversen
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cbfreeze.m
-% VERSION: 1.1 (Sep 02, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Jun 08, 2009)
-% 1.1 Fixed BUG with image handle on MATLAB R2009a. Thanks to Sergio
-% Muniz. (Sep 02, 2009)
-
-% DISCLAIMER:
-% cbfreeze.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Parameters:
-cbappname = 'Frozen'; % Colorbar application data with fields:
- % 'Location' from colorbar
- % 'Position' from peer axes befor colorbar
- % 'pax' handle from peer axes.
-axappname = 'FrozenColorbar'; % Peer axes application data with frozen
- % colorbar handle.
-
-% Set defaults:
-S = 'on'; Sopt = {'on','un','off','del'};
-H = get(0,'CurrentFig');
-
-% Check inputs:
-if nargin==2 && (~isempty(varargin{1}) && all(ishandle(varargin{1})) && ...
- isempty(varargin{2}))
-
- % Check for CallBacks functionalities:
- % ------------------------------------
-
- varargin{1} = double(varargin{1});
-
- if strcmp(get(varargin{1},'BeingDelete'),'on')
- % Working as DeletFcn:
-
- if (ishandle(get(varargin{1},'Parent')) && ...
- ~strcmpi(get(get(varargin{1},'Parent'),'BeingDeleted'),'on'))
- % The handle input is being deleted so do the colorbar:
- S = 'del';
-
- if ~isempty(getappdata(varargin{1},cbappname))
- % The frozen colorbar is being deleted:
- H = varargin{1};
- else
- % The peer axes is being deleted:
- H = ancestor(varargin{1},{'figure','uipanel'});
- end
-
- else
- % The figure is getting close:
- return
- end
-
- elseif (gca==varargin{1} && ...
- gcf==ancestor(varargin{1},{'figure','uipanel'}))
- % Working as ButtonDownFcn:
-
- cbfreezedata = getappdata(varargin{1},cbappname);
- if ~isempty(cbfreezedata)
- if ishandle(cbfreezedata.ax)
- % Turns the peer axes as current (ignores mouse click-over):
- set(gcf,'CurrentAxes',cbfreezedata.ax);
- return
- end
- else
- % Clears application data:
- rmappdata(varargin{1},cbappname)
- end
- H = varargin{1};
- end
-
-else
-
- % Checks for normal calling:
- % --------------------------
-
- % Looks for H:
- if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
- H = varargin{1};
- varargin(1) = [];
- end
-
- % Looks for S:
- if ~isempty(varargin) && (isempty(varargin{1}) || ischar(varargin{1}))
- S = varargin{1};
- end
-end
-
-% Checks S:
-if isempty(S)
- S = 'on';
-end
-S = lower(S);
-iS = strmatch(S,Sopt);
-if isempty(iS)
- error('CVARGAS:cbfreeze:IncorrectStringOption',...
- ['Unrecognized ''' S ''' argument.' ])
-else
- S = Sopt{iS};
-end
-
-% Looks for CBH:
-CBH = cbhandle(H);
-
-if ~strcmp(S,'del') && isempty(CBH)
- % Creates a colorbar and peer axes:
- pax = gca;
- CBH = colorbar('peer',pax);
-else
- pax = [];
-end
-
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-% Note: only CBH and S are necesary, but I use pax to avoid the use of the
-% "hidden" 'Axes' COLORBAR's property. Why... ¿?
-
-% Saves current position:
-fig = get( 0,'CurrentFigure');
-cax = get(fig,'CurrentAxes');
-
-% Works on every colorbar:
-for icb = 1:length(CBH)
-
- % Colorbar axes handle:
- h = double(CBH(icb));
-
- % This application data:
- cbfreezedata = getappdata(h,cbappname);
-
- % Gets peer axes:
- if ~isempty(cbfreezedata)
- pax = cbfreezedata.pax;
- if ~ishandle(pax) % just in case
- rmappdata(h,cbappname)
- continue
- end
- elseif isempty(pax) % not generated
- try
- pax = double(get(h,'Axes')); % NEW feature in COLORBARs
- catch
- continue
- end
- end
-
- % Choose functionality:
- switch S
-
- case 'del'
- % Deletes:
- if ~isempty(cbfreezedata)
- % Returns axes to previous size:
- oldunits = get(pax,'Units');
- set(pax,'Units','Normalized');
- set(pax,'Position',cbfreezedata.Position)
- set(pax,'Units',oldunits)
- set(pax,'DeleteFcn','')
- if isappdata(pax,axappname)
- rmappdata(pax,axappname)
- end
- end
- if strcmp(get(h,'BeingDelete'),'off')
- delete(h)
- end
-
- case {'un','off'}
- % Unfrozes:
- if ~isempty(cbfreezedata)
- delete(h);
- set(pax,'DeleteFcn','')
- if isappdata(pax,axappname)
- rmappdata(pax,axappname)
- end
- oldunits = get(pax,'Units');
- set(pax,'Units','Normalized')
- set(pax,'Position',cbfreezedata.Position)
- set(pax,'Units',oldunits)
- CBH(icb) = colorbar(...
- 'peer' ,pax,...
- 'Location',cbfreezedata.Location);
- end
-
- otherwise % 'on'
- % Freezes:
-
- % Gets colorbar axes properties:
- cb_prop = get(h);
-
- % Gets colorbar image handle. Fixed BUG, Sep 2009
- hi = findobj(h,'Type','image');
-
- % Gets image data and transform it in a RGB:
- CData = get(hi,'CData');
- if size(CData,3)~=1
- % It's already frozen:
- continue
- end
-
- % Gets image tag:
- Tag = get(hi,'Tag');
-
- % Deletes previous colorbar preserving peer axes position:
- oldunits = get(pax,'Units');
- set(pax,'Units','Normalized')
- Position = get(pax,'Position');
- delete(h)
- cbfreezedata.Position = get(pax,'Position');
- set(pax,'Position',Position)
- set(pax,'Units',oldunits)
-
- % Generates new colorbar axes:
- % NOTE: this is needed because each time COLORMAP or CAXIS is used,
- % MATLAB generates a new COLORBAR! This eliminates that behaviour
- % and is the central point on this function.
- h = axes(...
- 'Parent' ,cb_prop.Parent,...
- 'Units' ,'Normalized',...
- 'Position',cb_prop.Position...
- );
-
- % Save location for future call:
- cbfreezedata.Location = cb_prop.Location;
-
- % Move ticks because IMAGE draws centered pixels:
- XLim = cb_prop.XLim;
- YLim = cb_prop.YLim;
- if isempty(cb_prop.XTick)
- % Vertical:
- X = XLim(1) + diff(XLim)/2;
- Y = YLim + diff(YLim)/(2*length(CData))*[+1 -1];
- else % isempty(YTick)
- % Horizontal:
- Y = YLim(1) + diff(YLim)/2;
- X = XLim + diff(XLim)/(2*length(CData))*[+1 -1];
- end
-
- % Draws a new RGB image:
- image(X,Y,ind2rgb(CData,colormap),...
- 'Parent' ,h,...
- 'HitTest' ,'off',...
- 'Interruptible' ,'off',...
- 'SelectionHighlight','off',...
- 'Tag' ,Tag...
- )
-
- % Removes all '...Mode' properties:
- cb_fields = fieldnames(cb_prop);
- indmode = strfind(cb_fields,'Mode');
- for k=1:length(indmode)
- if ~isempty(indmode{k})
- cb_prop = rmfield(cb_prop,cb_fields{k});
- end
- end
-
- % Removes special COLORBARs properties:
- cb_prop = rmfield(cb_prop,{...
- 'CurrentPoint','TightInset','BeingDeleted','Type',... % read-only
- 'Title','XLabel','YLabel','ZLabel','Parent','Children',... % handles
- 'UIContextMenu','Location',... % colorbars
- 'ButtonDownFcn','DeleteFcn',... % callbacks
- 'CameraPosition','CameraTarget','CameraUpVector','CameraViewAngle',...
- 'PlotBoxAspectRatio','DataAspectRatio','Position',...
- 'XLim','YLim','ZLim'});
-
- % And now, set new axes properties almost equal to the unfrozen
- % colorbar:
- set(h,cb_prop)
-
- % CallBack features:
- set(h,...
- 'ActivePositionProperty','position',...
- 'ButtonDownFcn' , at cbfreeze,... % mhh...
- 'DeleteFcn' , at cbfreeze) % again
- set(pax,'DeleteFcn' , at cbfreeze) % and again!
-
- % Do not zoom or pan or rotate:
- setAllowAxesZoom (zoom ,h,false)
- setAllowAxesPan (pan ,h,false)
- setAllowAxesRotate(rotate3d,h,false)
-
- % Updates data:
- CBH(icb) = h;
-
- % Saves data for future undo:
- cbfreezedata.pax = pax;
- setappdata( h,cbappname,cbfreezedata);
- setappdata(pax,axappname,h);
-
- end % switch functionality
-
-end % MAIN loop
-
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-% Output?:
-if ~nargout
- clear CBH
-else
- CBH(~ishandle(CBH)) = [];
-end
-
-% Returns current axes:
-if ishandle(cax)
- set(fig,'CurrentAxes',cax)
-end
-
-
-% [EOF] cbfreeze.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbfreeze.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbfreeze.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,382 @@
+function CBH = cbfreeze(varargin)
+%CBFREEZE Freezes the colormap of a colorbar.
+%
+% SYNTAX:
+% cbfreeze
+% cbfreeze('off')
+% cbfreeze(H,...)
+% CBH = cbfreeze(...);
+%
+% INPUT:
+% H - Handles of colorbars to be freezed, or from figures to search
+% for them or from peer axes (see COLORBAR).
+% DEFAULT: gcf (freezes all colorbars from the current figure)
+% 'off' - Unfreezes the colorbars, other options are:
+% 'on' Freezes
+% 'un' same as 'off'
+% 'del' Deletes the colormap(s).
+% DEFAULT: 'on' (of course)
+%
+% OUTPUT (all optional):
+% CBH - Color bar handle(s).
+%
+% DESCRIPTION:
+% MATLAB works with a unique COLORMAP by figure which is a big
+% limitation. Function FREEZECOLORS by John Iversen allows to use
+% different COLORMAPs in a single figure, but it fails freezing the
+% COLORBAR. This program handles this problem.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * If no colorbar is found, one is created.
+% * The new frozen colorbar is an axes object and does not behaves
+% as normally colorbars when resizing the peer axes. Although, some
+% time the normal behavior is not that good.
+% * Besides, it does not have the 'Location' property anymore.
+% * But, it does acts normally: no ZOOM, no PAN, no ROTATE3D and no
+% mouse selectable.
+% * No need to say that CAXIS and COLORMAP must be defined before using
+% this function. Besides, the colorbar location. Anyway, 'off' or
+% 'del' may help.
+% * The 'del' functionality may be used whether or not the colorbar(s)
+% is(are) froozen. The peer axes are resized back. Try:
+% >> colorbar, cbfreeze del
+%
+% EXAMPLE:
+% surf(peaks(30))
+% colormap jet
+% cbfreeze
+% colormap gray
+% title('What...?')
+%
+% SEE ALSO:
+% COLORMAP, COLORBAR, CAXIS
+% and
+% FREEZECOLORS by John Iversen
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cbfreeze.m
+% VERSION: 1.1 (Sep 02, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Jun 08, 2009)
+% 1.1 Fixed BUG with image handle on MATLAB R2009a. Thanks to Sergio
+% Muniz. (Sep 02, 2009)
+
+% DISCLAIMER:
+% cbfreeze.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Parameters:
+cbappname = 'Frozen'; % Colorbar application data with fields:
+ % 'Location' from colorbar
+ % 'Position' from peer axes befor colorbar
+ % 'pax' handle from peer axes.
+axappname = 'FrozenColorbar'; % Peer axes application data with frozen
+ % colorbar handle.
+
+% Set defaults:
+S = 'on'; Sopt = {'on','un','off','del'};
+H = get(0,'CurrentFig');
+
+% Check inputs:
+if nargin==2 && (~isempty(varargin{1}) && all(ishandle(varargin{1})) && ...
+ isempty(varargin{2}))
+
+ % Check for CallBacks functionalities:
+ % ------------------------------------
+
+ varargin{1} = double(varargin{1});
+
+ if strcmp(get(varargin{1},'BeingDelete'),'on')
+ % Working as DeletFcn:
+
+ if (ishandle(get(varargin{1},'Parent')) && ...
+ ~strcmpi(get(get(varargin{1},'Parent'),'BeingDeleted'),'on'))
+ % The handle input is being deleted so do the colorbar:
+ S = 'del';
+
+ if ~isempty(getappdata(varargin{1},cbappname))
+ % The frozen colorbar is being deleted:
+ H = varargin{1};
+ else
+ % The peer axes is being deleted:
+ H = ancestor(varargin{1},{'figure','uipanel'});
+ end
+
+ else
+ % The figure is getting close:
+ return
+ end
+
+ elseif (gca==varargin{1} && ...
+ gcf==ancestor(varargin{1},{'figure','uipanel'}))
+ % Working as ButtonDownFcn:
+
+ cbfreezedata = getappdata(varargin{1},cbappname);
+ if ~isempty(cbfreezedata)
+ if ishandle(cbfreezedata.ax)
+ % Turns the peer axes as current (ignores mouse click-over):
+ set(gcf,'CurrentAxes',cbfreezedata.ax);
+ return
+ end
+ else
+ % Clears application data:
+ rmappdata(varargin{1},cbappname)
+ end
+ H = varargin{1};
+ end
+
+else
+
+ % Checks for normal calling:
+ % --------------------------
+
+ % Looks for H:
+ if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
+ H = varargin{1};
+ varargin(1) = [];
+ end
+
+ % Looks for S:
+ if ~isempty(varargin) && (isempty(varargin{1}) || ischar(varargin{1}))
+ S = varargin{1};
+ end
+end
+
+% Checks S:
+if isempty(S)
+ S = 'on';
+end
+S = lower(S);
+iS = strmatch(S,Sopt);
+if isempty(iS)
+ error('CVARGAS:cbfreeze:IncorrectStringOption',...
+ ['Unrecognized ''' S ''' argument.' ])
+else
+ S = Sopt{iS};
+end
+
+% Looks for CBH:
+CBH = cbhandle(H);
+
+if ~strcmp(S,'del') && isempty(CBH)
+ % Creates a colorbar and peer axes:
+ pax = gca;
+ CBH = colorbar('peer',pax);
+else
+ pax = [];
+end
+
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+% Note: only CBH and S are necesary, but I use pax to avoid the use of the
+% "hidden" 'Axes' COLORBAR's property. Why... ¿?
+
+% Saves current position:
+fig = get( 0,'CurrentFigure');
+cax = get(fig,'CurrentAxes');
+
+% Works on every colorbar:
+for icb = 1:length(CBH)
+
+ % Colorbar axes handle:
+ h = double(CBH(icb));
+
+ % This application data:
+ cbfreezedata = getappdata(h,cbappname);
+
+ % Gets peer axes:
+ if ~isempty(cbfreezedata)
+ pax = cbfreezedata.pax;
+ if ~ishandle(pax) % just in case
+ rmappdata(h,cbappname)
+ continue
+ end
+ elseif isempty(pax) % not generated
+ try
+ pax = double(get(h,'Axes')); % NEW feature in COLORBARs
+ catch
+ continue
+ end
+ end
+
+ % Choose functionality:
+ switch S
+
+ case 'del'
+ % Deletes:
+ if ~isempty(cbfreezedata)
+ % Returns axes to previous size:
+ oldunits = get(pax,'Units');
+ set(pax,'Units','Normalized');
+ set(pax,'Position',cbfreezedata.Position)
+ set(pax,'Units',oldunits)
+ set(pax,'DeleteFcn','')
+ if isappdata(pax,axappname)
+ rmappdata(pax,axappname)
+ end
+ end
+ if strcmp(get(h,'BeingDelete'),'off')
+ delete(h)
+ end
+
+ case {'un','off'}
+ % Unfrozes:
+ if ~isempty(cbfreezedata)
+ delete(h);
+ set(pax,'DeleteFcn','')
+ if isappdata(pax,axappname)
+ rmappdata(pax,axappname)
+ end
+ oldunits = get(pax,'Units');
+ set(pax,'Units','Normalized')
+ set(pax,'Position',cbfreezedata.Position)
+ set(pax,'Units',oldunits)
+ CBH(icb) = colorbar(...
+ 'peer' ,pax,...
+ 'Location',cbfreezedata.Location);
+ end
+
+ otherwise % 'on'
+ % Freezes:
+
+ % Gets colorbar axes properties:
+ cb_prop = get(h);
+
+ % Gets colorbar image handle. Fixed BUG, Sep 2009
+ hi = findobj(h,'Type','image');
+
+ % Gets image data and transform it in a RGB:
+ CData = get(hi,'CData');
+ if size(CData,3)~=1
+ % It's already frozen:
+ continue
+ end
+
+ % Gets image tag:
+ Tag = get(hi,'Tag');
+
+ % Deletes previous colorbar preserving peer axes position:
+ oldunits = get(pax,'Units');
+ set(pax,'Units','Normalized')
+ Position = get(pax,'Position');
+ delete(h)
+ cbfreezedata.Position = get(pax,'Position');
+ set(pax,'Position',Position)
+ set(pax,'Units',oldunits)
+
+ % Generates new colorbar axes:
+ % NOTE: this is needed because each time COLORMAP or CAXIS is used,
+ % MATLAB generates a new COLORBAR! This eliminates that behaviour
+ % and is the central point on this function.
+ h = axes(...
+ 'Parent' ,cb_prop.Parent,...
+ 'Units' ,'Normalized',...
+ 'Position',cb_prop.Position...
+ );
+
+ % Save location for future call:
+ cbfreezedata.Location = cb_prop.Location;
+
+ % Move ticks because IMAGE draws centered pixels:
+ XLim = cb_prop.XLim;
+ YLim = cb_prop.YLim;
+ if isempty(cb_prop.XTick)
+ % Vertical:
+ X = XLim(1) + diff(XLim)/2;
+ Y = YLim + diff(YLim)/(2*length(CData))*[+1 -1];
+ else % isempty(YTick)
+ % Horizontal:
+ Y = YLim(1) + diff(YLim)/2;
+ X = XLim + diff(XLim)/(2*length(CData))*[+1 -1];
+ end
+
+ % Draws a new RGB image:
+ image(X,Y,ind2rgb(CData,colormap),...
+ 'Parent' ,h,...
+ 'HitTest' ,'off',...
+ 'Interruptible' ,'off',...
+ 'SelectionHighlight','off',...
+ 'Tag' ,Tag...
+ )
+
+ % Removes all '...Mode' properties:
+ cb_fields = fieldnames(cb_prop);
+ indmode = strfind(cb_fields,'Mode');
+ for k=1:length(indmode)
+ if ~isempty(indmode{k})
+ cb_prop = rmfield(cb_prop,cb_fields{k});
+ end
+ end
+
+ % Removes special COLORBARs properties:
+ cb_prop = rmfield(cb_prop,{...
+ 'CurrentPoint','TightInset','BeingDeleted','Type',... % read-only
+ 'Title','XLabel','YLabel','ZLabel','Parent','Children',... % handles
+ 'UIContextMenu','Location',... % colorbars
+ 'ButtonDownFcn','DeleteFcn',... % callbacks
+ 'CameraPosition','CameraTarget','CameraUpVector','CameraViewAngle',...
+ 'PlotBoxAspectRatio','DataAspectRatio','Position',...
+ 'XLim','YLim','ZLim'});
+
+ % And now, set new axes properties almost equal to the unfrozen
+ % colorbar:
+ set(h,cb_prop)
+
+ % CallBack features:
+ set(h,...
+ 'ActivePositionProperty','position',...
+ 'ButtonDownFcn' , at cbfreeze,... % mhh...
+ 'DeleteFcn' , at cbfreeze) % again
+ set(pax,'DeleteFcn' , at cbfreeze) % and again!
+
+ % Do not zoom or pan or rotate:
+ setAllowAxesZoom (zoom ,h,false)
+ setAllowAxesPan (pan ,h,false)
+ setAllowAxesRotate(rotate3d,h,false)
+
+ % Updates data:
+ CBH(icb) = h;
+
+ % Saves data for future undo:
+ cbfreezedata.pax = pax;
+ setappdata( h,cbappname,cbfreezedata);
+ setappdata(pax,axappname,h);
+
+ end % switch functionality
+
+end % MAIN loop
+
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+% Output?:
+if ~nargout
+ clear CBH
+else
+ CBH(~ishandle(CBH)) = [];
+end
+
+% Returns current axes:
+if ishandle(cax)
+ set(fig,'CurrentAxes',cax)
+end
+
+
+% [EOF] cbfreeze.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbhandle.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,93 +0,0 @@
-function CBH = cbhandle(varargin)
-%CBHANDLE Handle of current colorbar axes.
-%
-% SYNTAX:
-% CBH = cbhandle;
-% CBH = cbhandle(H);
-%
-% INPUT:
-% H - Handles axes, figures or uipanels to look for colorbars.
-% DEFAULT: gca (current axes)
-%
-% OUTPUT:
-% CBH - Color bar handle(s).
-%
-% DESCRIPTION:
-% By default, color bars are hidden objects. This function searches for
-% them by its 'axes' type and 'Colorbar' tag.
-%
-% SEE ALSO:
-% COLORBAR
-% and
-% CBUNITS, CBLABEL, CBFREEZE by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cbhandle.m
-% VERSION: 1.1 (Aug 20, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Jun 08, 2009)
-% 1.1 Fixed bug with colorbar handle input. (Aug 20, 2009)
-
-% DISCLAIMER:
-% cbhandle.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Parameters:
-axappname = 'FrozenColorbar'; % Peer axes application data with frozen
- % colorbar handle.
-
-% Sets default:
-H = get(get(0,'CurrentFigure'),'CurrentAxes');
-
-if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
- H = varargin{1};
-end
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-% Looks for CBH:
-CBH = [];
-% set(0,'ShowHiddenHandles','on')
-for k = 1:length(H)
- switch get(H(k),'type')
- case {'figure','uipanel'}
- % Parents axes?:
- CBH = [CBH; ...
- findobj(H(k),'-depth',1,'Tag','Colorbar','-and','Type','axes')];
- case 'axes'
- % Peer axes?:
- hin = double(getappdata(H(k),'LegendColorbarInnerList'));
- hout = double(getappdata(H(k),'LegendColorbarOuterList'));
- if (~isempty(hin) && ishandle(hin))
- CBH = [CBH; hin];
- elseif (~isempty(hout) && ishandle(hout))
- CBH = [CBH; hout];
- elseif isappdata(H(k),axappname)
- % Peer from frozen axes?:
- CBH = [CBH; double(getappdata(H(k),axappname))];
- elseif strcmp(get(H(k),'Tag'),'Colorbar') % Fixed BUG Aug 2009
- % Colorbar axes?
- CBH = [CBH; H(k)];
- end
- otherwise
- % continue
- end
-end
-% set(0,'ShowHiddenHandles','off')
-
-
-% [EOF] cbhandle.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbhandle.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbhandle.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,93 @@
+function CBH = cbhandle(varargin)
+%CBHANDLE Handle of current colorbar axes.
+%
+% SYNTAX:
+% CBH = cbhandle;
+% CBH = cbhandle(H);
+%
+% INPUT:
+% H - Handles axes, figures or uipanels to look for colorbars.
+% DEFAULT: gca (current axes)
+%
+% OUTPUT:
+% CBH - Color bar handle(s).
+%
+% DESCRIPTION:
+% By default, color bars are hidden objects. This function searches for
+% them by its 'axes' type and 'Colorbar' tag.
+%
+% SEE ALSO:
+% COLORBAR
+% and
+% CBUNITS, CBLABEL, CBFREEZE by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cbhandle.m
+% VERSION: 1.1 (Aug 20, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Jun 08, 2009)
+% 1.1 Fixed bug with colorbar handle input. (Aug 20, 2009)
+
+% DISCLAIMER:
+% cbhandle.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Parameters:
+axappname = 'FrozenColorbar'; % Peer axes application data with frozen
+ % colorbar handle.
+
+% Sets default:
+H = get(get(0,'CurrentFigure'),'CurrentAxes');
+
+if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
+ H = varargin{1};
+end
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+% Looks for CBH:
+CBH = [];
+% set(0,'ShowHiddenHandles','on')
+for k = 1:length(H)
+ switch get(H(k),'type')
+ case {'figure','uipanel'}
+ % Parents axes?:
+ CBH = [CBH; ...
+ findobj(H(k),'-depth',1,'Tag','Colorbar','-and','Type','axes')];
+ case 'axes'
+ % Peer axes?:
+ hin = double(getappdata(H(k),'LegendColorbarInnerList'));
+ hout = double(getappdata(H(k),'LegendColorbarOuterList'));
+ if (~isempty(hin) && ishandle(hin))
+ CBH = [CBH; hin];
+ elseif (~isempty(hout) && ishandle(hout))
+ CBH = [CBH; hout];
+ elseif isappdata(H(k),axappname)
+ % Peer from frozen axes?:
+ CBH = [CBH; double(getappdata(H(k),axappname))];
+ elseif strcmp(get(H(k),'Tag'),'Colorbar') % Fixed BUG Aug 2009
+ % Colorbar axes?
+ CBH = [CBH; H(k)];
+ end
+ otherwise
+ % continue
+ end
+end
+% set(0,'ShowHiddenHandles','off')
+
+
+% [EOF] cbhandle.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cblabel.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,160 +0,0 @@
-function CBLH = cblabel(varargin)
-%CBLABEL Adds a label to the colorbar.
-%
-% SYNTAX:
-% cblabel(LABEL)
-% cblabel(LABEL,..,TP,TV);
-% cblabel(H,...)
-% CBLH = cblabel(...);
-%
-% INPUT:
-% LABEL - String (or cell of strings) specifying the colorbar label.
-% TP,TV - Optional text property/property value arguments (in pairs).
-% DEFAULT: (none)
-% H - Color bar or peer axes (see COLORBAR) or figure handle(s) to
-% search for a single color bar handle.
-% DEFAULT: gca (current axes color bar)
-%
-% OUTPUT (all optional):
-% CBLH - Returns the colorbar label handle(s).
-% - Labels modified on the colorbar of the current figure or
-% the one(s) specified by CBH.
-%
-% DESCRIPTION:
-% This function sets the label of the colorbar(s) in the current
-% figure.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-%
-% EXAMPLE:
-% figure, colorbar, cblabel([' T, °C'],'Rotation',0)
-% figure
-% subplot(211), h1 = colorbar;
-% subplot(212), h2 = colorbar('Location','south');
-% cblabel([h1 h2],{'$1-\alpha$','$\beta^3$'},'Interpreter','latex')
-%
-% SEE ALSO:
-% COLORBAR
-% and
-% CBUNITS, CBHANDLE, CBFREEZE by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cblabel.m
-% VERSION: 2.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Aug 21, 2008)
-% 2.0 Minor changes. Added CBHANDLE dependency. (Jun 08, 2009)
-
-% DISCLAIMER:
-% cblabel.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Parameters:
-cbappname = 'Frozen'; % Colorbar application data with fields:
- % 'Location' from colorbar
- % 'Position' from peer axes befor colorbar
- % 'pax' handle from peer axes.
-
-% Sets defaults:
-H = get(get(0,'CurrentFigure'),'CurrentAxes');
-LABEL = '';
-TOPT = {};
-CBLH = [];
-
-% Number of inputs:
-if nargin<1
- error('CVARGAS:cblabel:incorrectNumberOfInputs',...
- 'At least one input is required.')
-end
-
-% Looks for H:
-if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
- H = varargin{1};
- varargin(1) = [];
-end
-
-% Looks for CBH:
-CBH = cbhandle(H);
-if isempty(CBH), if ~nargout, clear CBLH, end, return, end
-
-% Looks for LABEL:
-if ~isempty(varargin) && (ischar(varargin{1}) || iscellstr(varargin{1}))
- LABEL = varargin{1};
- varargin(1) = [];
-end
-
-% Forces cell of strings:
-if ischar(LABEL)
- % Same label to all the color bars:
- LABEL = repmat({LABEL},length(CBH),1);
-elseif iscellstr(LABEL) && (length(LABEL)==length(CBH))
- % Continue...
-else
- error('CVARGAS:cblabel:incorrectInputLabel',...
- ['LABEL must be a string or cell of strings of equal size as ' ...
- 'the color bar handles: ' int2str(length(CBH)) '.'])
-end
-
-% OPTIONAL arguments:
-if ~isempty(varargin)
- TOPT = varargin;
-end
-if length(TOPT)==1
- TOPT = repmat({TOPT},size(CBH));
-end
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-% NOTE: Only CBH, LABEL and TOPT are needed.
-
-% Applies to each colorbar:
-CBLH = repmat(NaN,size(CBH));
-for icb = 1:length(CBH)
-
- % Searches for label location:
- try
- % Normal colorbar:
- location = get(CBH(icb),'Location');
- catch
- % Frozen colorbar:
- location = getappdata(CBH(icb),cbappname);
- location = location.Location;
- end
- switch location(1)
- case 'E', as = 'Y';
- case 'W', as = 'Y';
- case 'N', as = 'X';
- case 'S', as = 'X';
- end
- % Gets label handle:
- CBLH(icb) = get(CBH(icb),[as 'Label']);
- % Updates label:
- set(CBLH(icb),'String',LABEL{icb},TOPT{:});
-
-end
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-% Sets output:
-if ~nargout
- clear CBLH
-end
-
-
-% [EOF] cblabel.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cblabel.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cblabel.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,160 @@
+function CBLH = cblabel(varargin)
+%CBLABEL Adds a label to the colorbar.
+%
+% SYNTAX:
+% cblabel(LABEL)
+% cblabel(LABEL,..,TP,TV);
+% cblabel(H,...)
+% CBLH = cblabel(...);
+%
+% INPUT:
+% LABEL - String (or cell of strings) specifying the colorbar label.
+% TP,TV - Optional text property/property value arguments (in pairs).
+% DEFAULT: (none)
+% H - Color bar or peer axes (see COLORBAR) or figure handle(s) to
+% search for a single color bar handle.
+% DEFAULT: gca (current axes color bar)
+%
+% OUTPUT (all optional):
+% CBLH - Returns the colorbar label handle(s).
+% - Labels modified on the colorbar of the current figure or
+% the one(s) specified by CBH.
+%
+% DESCRIPTION:
+% This function sets the label of the colorbar(s) in the current
+% figure.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+%
+% EXAMPLE:
+% figure, colorbar, cblabel([' T, °C'],'Rotation',0)
+% figure
+% subplot(211), h1 = colorbar;
+% subplot(212), h2 = colorbar('Location','south');
+% cblabel([h1 h2],{'$1-\alpha$','$\beta^3$'},'Interpreter','latex')
+%
+% SEE ALSO:
+% COLORBAR
+% and
+% CBUNITS, CBHANDLE, CBFREEZE by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cblabel.m
+% VERSION: 2.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Aug 21, 2008)
+% 2.0 Minor changes. Added CBHANDLE dependency. (Jun 08, 2009)
+
+% DISCLAIMER:
+% cblabel.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Parameters:
+cbappname = 'Frozen'; % Colorbar application data with fields:
+ % 'Location' from colorbar
+ % 'Position' from peer axes befor colorbar
+ % 'pax' handle from peer axes.
+
+% Sets defaults:
+H = get(get(0,'CurrentFigure'),'CurrentAxes');
+LABEL = '';
+TOPT = {};
+CBLH = [];
+
+% Number of inputs:
+if nargin<1
+ error('CVARGAS:cblabel:incorrectNumberOfInputs',...
+ 'At least one input is required.')
+end
+
+% Looks for H:
+if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
+ H = varargin{1};
+ varargin(1) = [];
+end
+
+% Looks for CBH:
+CBH = cbhandle(H);
+if isempty(CBH), if ~nargout, clear CBLH, end, return, end
+
+% Looks for LABEL:
+if ~isempty(varargin) && (ischar(varargin{1}) || iscellstr(varargin{1}))
+ LABEL = varargin{1};
+ varargin(1) = [];
+end
+
+% Forces cell of strings:
+if ischar(LABEL)
+ % Same label to all the color bars:
+ LABEL = repmat({LABEL},length(CBH),1);
+elseif iscellstr(LABEL) && (length(LABEL)==length(CBH))
+ % Continue...
+else
+ error('CVARGAS:cblabel:incorrectInputLabel',...
+ ['LABEL must be a string or cell of strings of equal size as ' ...
+ 'the color bar handles: ' int2str(length(CBH)) '.'])
+end
+
+% OPTIONAL arguments:
+if ~isempty(varargin)
+ TOPT = varargin;
+end
+if length(TOPT)==1
+ TOPT = repmat({TOPT},size(CBH));
+end
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+% NOTE: Only CBH, LABEL and TOPT are needed.
+
+% Applies to each colorbar:
+CBLH = repmat(NaN,size(CBH));
+for icb = 1:length(CBH)
+
+ % Searches for label location:
+ try
+ % Normal colorbar:
+ location = get(CBH(icb),'Location');
+ catch
+ % Frozen colorbar:
+ location = getappdata(CBH(icb),cbappname);
+ location = location.Location;
+ end
+ switch location(1)
+ case 'E', as = 'Y';
+ case 'W', as = 'Y';
+ case 'N', as = 'X';
+ case 'S', as = 'X';
+ end
+ % Gets label handle:
+ CBLH(icb) = get(CBH(icb),[as 'Label']);
+ % Updates label:
+ set(CBLH(icb),'String',LABEL{icb},TOPT{:});
+
+end
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+% Sets output:
+if ~nargout
+ clear CBLH
+end
+
+
+% [EOF] cblabel.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbunits.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,235 +0,0 @@
-function CBH = cbunits(varargin)
-%CBUNITS Adds units to the colorbar ticklabels.
-%
-% SYNTAX:
-% cbunits(UNITS)
-% cbunits(UNITS,SPACE)
-% cbunits -clear
-% cbunits(H,...)
-% CBH = cbunits(...);
-%
-% INPUT:
-% UNITS - String (or cell of strings) with the colorbar(s) units or
-% '-clear' to eliminate any unit.
-% SPACE - Logical indicating whether an space should be put between
-% quantity and units. Useful when using '3°C', for example.
-% DEFAULT: true (use an space)
-% H - Colorbar, or peer axes (see COLORBAR) or figure handle(s) to
-% search for color bars.
-% DEFAULT: gca (current axes color bar)
-%
-% OUTPUT (all optional):
-% CBH - Returns the colorbar handle(s).
-% DEFAULT: Not returned if not required.
-% - Ticklabels modified on the colorbar of the current axes or
-% the one(s) specified by CBH.
-%
-% DESCRIPTION:
-% This function adds units to the current colorbar, by writting them
-% after the biggest ticklabel.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * Scientific notation is included in the units (if any).
-% * When more than one colorbar handle is given or founded and a single
-% UNITS string is given, it is applied to all of them.
-% * Use a cell of strings for UNITS when more than one colorbar handles
-% are given in order to give to each one their proper units. This
-% also works when the handlesare founded but the units order is
-% confusing and not recommended.
-% * Once applied, CAXIS shouldn't be used.
-% * To undo sets the ticklabelmode to 'auto'.
-%
-% EXAMPLE:
-% % Easy to use:
-% figure, caxis([1e2 1e8]), colorbar, cbunits('°F',false)
-% % Vectorized:
-% figure
-% subplot(211), h1 = colorbar;
-% subplot(212), h2 = colorbar;
-% cbunits([h1;h2],{'°C','dollars'},[false true])
-% % Handle input:
-% figure
-% subplot(211), colorbar;
-% subplot(212), colorbar('Location','North');
-% caxis([1e2 1e8])
-% cbunits(gcf,'m/s')
-%
-% SEE ALSO:
-% COLORBAR
-% and
-% CBLABEL, CBHANDLE, CBFREEZE by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cbunits.m
-% VERSION: 3.0 (Sep 30, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Aug 21, 2008)
-% 2.0 Minor changes. Added 'clear' option and CBHANDLE dependency.
-% (Jun 08, 2009)
-% 3.0 Fixed bug when inserting units on lower tick and ticklabel
-% justification. Added SPACE option. (Sep 30, 2009)
-
-% DISCLAIMER:
-% cbunits.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Sets defaults:
-H = get(get(0,'CurrentFigure'),'CurrentAxes');
-UNITS = '';
-SPACE = true;
-
-% Checks inputs/outputs number:
-if nargin<1
- error('CVARGAS:cbunits:notEnoughInputs',...
- 'At least 1 input is required.')
-elseif nargin>3
- error('CVARGAS:cbunits:tooManyInputs',...
- 'At most 3 inputs are allowed.')
-elseif nargout>1
- error('CVARGAS:cbunits:tooManyOutputs',...
- 'At most 1 output is allowed.')
-end
-
-% Looks for H:
-if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
- H = varargin{1};
- varargin(1) = [];
-end
-
-% Looks for CBH:
-CBH = cbhandle(H);
-if isempty(CBH), if ~nargout, clear CBH, end, return, end
-
-% Looks for UNITS:
-if ~isempty(varargin) && ~isempty(varargin{1}) && ...
- (ischar(varargin{1}) || iscellstr(varargin{1}))
- UNITS = varargin{1};
- varargin(1) = [];
-end
-if isempty(UNITS), if ~nargout, clear CBH, end, return, end
-
-% Forces cell of strings:
-if ischar(UNITS)
- if numel(UNITS)~=size(UNITS,2)
- error('CVARGAS:cbunits:IncorrectUnitsString',...
- 'UNITS string must be a row vector.')
- end
- % Same units to all the color bars:
- UNITS = repmat({UNITS},length(CBH),1);
-elseif iscellstr(UNITS) && (length(UNITS)==length(CBH))
- % Continue...
-else
- error('CVARGAS:cbunits:IncorrectInputUnits',...
- ['UNITS must be a string or cell of strings of equal size as ' ...
- 'the color bar handles: ' int2str(length(CBH)) '.'])
-end
-
-% Looks for SPACE:
-Nunits = length(UNITS);
-if ~isempty(varargin) && ~isempty(varargin{1}) && ...
- ((length(varargin{1})==1) || (length(varargin{1})==Nunits))
- SPACE = varargin{1};
-end
-SPACE = logical(SPACE);
-
-% Forces equal size of SPACE and UNITS.
-if (length(SPACE)==1) && (Nunits~=1)
- SPACE = repmat(SPACE,Nunits,1);
-end
-
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-% Note: Only CBH and UNITS are required.
-
-% Applies to each colorbar:
-for icb = 1:length(CBH)
-
- units = UNITS{icb};
- space = SPACE(icb);
- cbh = CBH(icb);
- append = [];
-
- % Gets tick labels:
- as = 'Y';
- at = get(cbh,[as 'Tick']);
- if isempty(at)
- as = 'X';
- at = get(cbh,[as 'Tick']);
- end
-
- % Checks for elimitation:
- if strcmpi(units,'-clear')
- set(cbh,[as 'TickLabelMode'],'auto')
- continue
- end
-
- set(cbh,[as 'TickLabelMode'],'manual');
- old_ticks = get(cbh,[as 'TickLabel']);
-
- % Adds scientific notation:
- if strcmp(get(cbh,[as 'Scale']),'linear')
- ind = 1;
- if at(ind)==0
- ind = 2;
- end
- o = log10(abs(at(ind)/str2double(old_ticks(ind,:))));
- sg = '';
- if at(ind)<0, sg = '-'; end
- if o>0
- append = [' e' sg int2str(o) ''];
- end
- end
-
- % Updates ticklabels:
- Nu = length(units);
- Na = length(append);
- Nt = size(old_ticks,1);
- loc = Nt; % Fixed bug, Sep 2009
- if (strcmp(as,'Y') && ((abs(at(1))>abs(at(Nt))) && ...
- (length(fliplr(deblank(fliplr(old_ticks( 1,:))))) > ...
- length(fliplr(deblank(fliplr(old_ticks(Nt,:)))))))) || ...
- (strcmp(as,'X') && strcmp(get(cbh,[as 'Dir']),'reverse'))
- loc = 1;
- end
- new_ticks = [old_ticks repmat(' ',Nt,Nu+(Na-(Na>0))+space)];
- new_ticks(loc,end-Nu-Na-space+1:end) = [append repmat(' ',1,space) units];
- if strcmp(as,'Y') % Fixed bug, Sep 2009
- if strcmp(get(cbh,[as 'AxisLocation']),'right')
- new_ticks = strjust(new_ticks,'left');
- else
- new_ticks = strjust(new_ticks,'right');
- end
- else
- new_ticks = strjust(new_ticks,'center');
- end
- set(cbh,[as 'TickLabel'],new_ticks)
-
-end % MAIN LOOP
-
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-% Sets output:
-if ~nargout
- clear CBH
-end
-
-
-% [EOF] cbunits.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cbunits.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cbunits.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,235 @@
+function CBH = cbunits(varargin)
+%CBUNITS Adds units to the colorbar ticklabels.
+%
+% SYNTAX:
+% cbunits(UNITS)
+% cbunits(UNITS,SPACE)
+% cbunits -clear
+% cbunits(H,...)
+% CBH = cbunits(...);
+%
+% INPUT:
+% UNITS - String (or cell of strings) with the colorbar(s) units or
+% '-clear' to eliminate any unit.
+% SPACE - Logical indicating whether an space should be put between
+% quantity and units. Useful when using '3°C', for example.
+% DEFAULT: true (use an space)
+% H - Colorbar, or peer axes (see COLORBAR) or figure handle(s) to
+% search for color bars.
+% DEFAULT: gca (current axes color bar)
+%
+% OUTPUT (all optional):
+% CBH - Returns the colorbar handle(s).
+% DEFAULT: Not returned if not required.
+% - Ticklabels modified on the colorbar of the current axes or
+% the one(s) specified by CBH.
+%
+% DESCRIPTION:
+% This function adds units to the current colorbar, by writting them
+% after the biggest ticklabel.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * Scientific notation is included in the units (if any).
+% * When more than one colorbar handle is given or founded and a single
+% UNITS string is given, it is applied to all of them.
+% * Use a cell of strings for UNITS when more than one colorbar handles
+% are given in order to give to each one their proper units. This
+% also works when the handlesare founded but the units order is
+% confusing and not recommended.
+% * Once applied, CAXIS shouldn't be used.
+% * To undo sets the ticklabelmode to 'auto'.
+%
+% EXAMPLE:
+% % Easy to use:
+% figure, caxis([1e2 1e8]), colorbar, cbunits('°F',false)
+% % Vectorized:
+% figure
+% subplot(211), h1 = colorbar;
+% subplot(212), h2 = colorbar;
+% cbunits([h1;h2],{'°C','dollars'},[false true])
+% % Handle input:
+% figure
+% subplot(211), colorbar;
+% subplot(212), colorbar('Location','North');
+% caxis([1e2 1e8])
+% cbunits(gcf,'m/s')
+%
+% SEE ALSO:
+% COLORBAR
+% and
+% CBLABEL, CBHANDLE, CBFREEZE by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cbunits.m
+% VERSION: 3.0 (Sep 30, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Aug 21, 2008)
+% 2.0 Minor changes. Added 'clear' option and CBHANDLE dependency.
+% (Jun 08, 2009)
+% 3.0 Fixed bug when inserting units on lower tick and ticklabel
+% justification. Added SPACE option. (Sep 30, 2009)
+
+% DISCLAIMER:
+% cbunits.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Sets defaults:
+H = get(get(0,'CurrentFigure'),'CurrentAxes');
+UNITS = '';
+SPACE = true;
+
+% Checks inputs/outputs number:
+if nargin<1
+ error('CVARGAS:cbunits:notEnoughInputs',...
+ 'At least 1 input is required.')
+elseif nargin>3
+ error('CVARGAS:cbunits:tooManyInputs',...
+ 'At most 3 inputs are allowed.')
+elseif nargout>1
+ error('CVARGAS:cbunits:tooManyOutputs',...
+ 'At most 1 output is allowed.')
+end
+
+% Looks for H:
+if nargin && ~isempty(varargin{1}) && all(ishandle(varargin{1}))
+ H = varargin{1};
+ varargin(1) = [];
+end
+
+% Looks for CBH:
+CBH = cbhandle(H);
+if isempty(CBH), if ~nargout, clear CBH, end, return, end
+
+% Looks for UNITS:
+if ~isempty(varargin) && ~isempty(varargin{1}) && ...
+ (ischar(varargin{1}) || iscellstr(varargin{1}))
+ UNITS = varargin{1};
+ varargin(1) = [];
+end
+if isempty(UNITS), if ~nargout, clear CBH, end, return, end
+
+% Forces cell of strings:
+if ischar(UNITS)
+ if numel(UNITS)~=size(UNITS,2)
+ error('CVARGAS:cbunits:IncorrectUnitsString',...
+ 'UNITS string must be a row vector.')
+ end
+ % Same units to all the color bars:
+ UNITS = repmat({UNITS},length(CBH),1);
+elseif iscellstr(UNITS) && (length(UNITS)==length(CBH))
+ % Continue...
+else
+ error('CVARGAS:cbunits:IncorrectInputUnits',...
+ ['UNITS must be a string or cell of strings of equal size as ' ...
+ 'the color bar handles: ' int2str(length(CBH)) '.'])
+end
+
+% Looks for SPACE:
+Nunits = length(UNITS);
+if ~isempty(varargin) && ~isempty(varargin{1}) && ...
+ ((length(varargin{1})==1) || (length(varargin{1})==Nunits))
+ SPACE = varargin{1};
+end
+SPACE = logical(SPACE);
+
+% Forces equal size of SPACE and UNITS.
+if (length(SPACE)==1) && (Nunits~=1)
+ SPACE = repmat(SPACE,Nunits,1);
+end
+
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+% Note: Only CBH and UNITS are required.
+
+% Applies to each colorbar:
+for icb = 1:length(CBH)
+
+ units = UNITS{icb};
+ space = SPACE(icb);
+ cbh = CBH(icb);
+ append = [];
+
+ % Gets tick labels:
+ as = 'Y';
+ at = get(cbh,[as 'Tick']);
+ if isempty(at)
+ as = 'X';
+ at = get(cbh,[as 'Tick']);
+ end
+
+ % Checks for elimitation:
+ if strcmpi(units,'-clear')
+ set(cbh,[as 'TickLabelMode'],'auto')
+ continue
+ end
+
+ set(cbh,[as 'TickLabelMode'],'manual');
+ old_ticks = get(cbh,[as 'TickLabel']);
+
+ % Adds scientific notation:
+ if strcmp(get(cbh,[as 'Scale']),'linear')
+ ind = 1;
+ if at(ind)==0
+ ind = 2;
+ end
+ o = log10(abs(at(ind)/str2double(old_ticks(ind,:))));
+ sg = '';
+ if at(ind)<0, sg = '-'; end
+ if o>0
+ append = [' e' sg int2str(o) ''];
+ end
+ end
+
+ % Updates ticklabels:
+ Nu = length(units);
+ Na = length(append);
+ Nt = size(old_ticks,1);
+ loc = Nt; % Fixed bug, Sep 2009
+ if (strcmp(as,'Y') && ((abs(at(1))>abs(at(Nt))) && ...
+ (length(fliplr(deblank(fliplr(old_ticks( 1,:))))) > ...
+ length(fliplr(deblank(fliplr(old_ticks(Nt,:)))))))) || ...
+ (strcmp(as,'X') && strcmp(get(cbh,[as 'Dir']),'reverse'))
+ loc = 1;
+ end
+ new_ticks = [old_ticks repmat(' ',Nt,Nu+(Na-(Na>0))+space)];
+ new_ticks(loc,end-Nu-Na-space+1:end) = [append repmat(' ',1,space) units];
+ if strcmp(as,'Y') % Fixed bug, Sep 2009
+ if strcmp(get(cbh,[as 'AxisLocation']),'right')
+ new_ticks = strjust(new_ticks,'left');
+ else
+ new_ticks = strjust(new_ticks,'right');
+ end
+ else
+ new_ticks = strjust(new_ticks,'center');
+ end
+ set(cbh,[as 'TickLabel'],new_ticks)
+
+end % MAIN LOOP
+
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+% Sets output:
+if ~nargout
+ clear CBH
+end
+
+
+% [EOF] cbunits.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cm_and_cb_utilities.png
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cm_and_cb_utilities.png (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cm_and_cb_utilities.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmapping.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,515 +0,0 @@
-function RGB = cmapping(varargin)
-%CMAPPING Colormap linear mapping/interpolation.
-%
-% SYNTAX:
-% cmapping
-% cmapping(U)
-% cmapping(U,CMAP)
-% cmapping(U,CMAP,...,CNAN)
-% cmapping(U,CMAP,...,TYPE)
-% cmapping(U,CMAP,...,MODE)
-% cmapping(U,CMAP,...,MAPS)
-% cmapping(U,CMAP,...,CLIM)
-% cmapping(AX,...)
-% RGB = cmapping(...);
-%
-% INPUT:
-% U - May be one of the following options:
-% a) An scalar specifying the output M number of colors.
-% b) A vector of length M specifying the values at which
-% the function CMAP(IMAP) will be mapped.
-% c) A matrix of size M-by-N specifying intensities to be
-% mapped to an RGB (3-dim) image. May have NaNs elements.
-% DEFAULT: Current colormap length.
-% CMAP - A COLORMAP defined by its name or handle-function or RGB
-% matrix (with 3 columns) or by a combination of colors chars
-% specifiers ('kbcw', for example) to be mapped. See NOTE below
-% for more options.
-% DEFAULT: Current colormap
-% CNAN - Color for NaNs values on U, specified by a 1-by-3 RGB color
-% or a char specifier.
-% DEFAULT: Current axes background (white color: [1 1 1])
-% TYPE - String specifying the result type. One of:
-% 'colormap' Forces a RGB colormap matrix result (3 columns)
-% 'image' Forces a RGB image result (3 dimensions)
-% DEFAULT: 'image' if U is a matrix, otherwise is 'colormap'
-% MODE - Defines the mapping way. One of:
-% 'discrete' For discrete colors
-% 'continuous' For continuous color (interpolates)
-% DEFAULT: 'continuous' (interpolates between colors)
-% MAPS - Specifies the mapping type. One of (see NOTES below):
-% 'scaled' Scales mapping, also by using CLIM (as IMAGESC).
-% 'direct' Do not scales the mapping (as IMAGE).
-% DEFAULT: 'scaled' (uses CLIM)
-% CLIM - Two element vector that, if given, scales the mapping within
-% this color limits. Ignored if 'direct' is specified.
-% DEFAULT: [0 size(CMAP,1)] or [0 1].
-% AX - Uses specified axes or figure handle to set/get the colormap.
-% If used, must be the first input.
-% DEFAULT: gca
-%
-% OUTPUT (all optional):
-% RGB - If U is not a matrix, this is an M-by-3 colormap matrix with
-% RGB colors in its rows, otherwise is an RGB image: M-by-N-by-3,
-% with the color red intensities defined by RGB(:,:,1), the green
-% ones by RGB(:,:,2) and the blue ones by RGB(:,:,3).
-%
-% DESCRIPTION:
-% This functions has various functionalities like: colormap generator,
-% colormap expansion/contraction, color mapping/interpolation, matrix
-% intensities convertion to RGB image, etc.
-%
-% The basic idea is a linear mapping between the CMAP columns
-% [red green blue] and the U data, ignoring its NaNs.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * If a single value of U is required for interpolation, use [U U].
-% * If the char '-' is used before the CMAP name, the colors will be
-% flipped. The same occurs if U is a negative integer.
-%
-% EXAMPLE:
-% % Colormaps:
-% figure, cmapping( 256,'krgby') , colorbar
-% figure, cmapping(-256,'krgby' ,'discrete'), colorbar
-% figure, cmapping(log(1:100),[],'discrete'), colorbar
-% % Images:
-% u = random('chi2',2,20,30); u(15:16,7:9) = NaN;
-% u = peaks(30); u(15:16,7:9) = NaN;
-% v = cmapping(u,jet(64),'discrete','k');
-% w = cmapping(u,cmapping(log(0:63),'jet','discrete'),'discrete');
-% figure, imagesc(u), cmapping(64,'jet'), colorbar
-% title('u')
-% figure, imagesc(v), cmapping(64,'jet'), colorbar
-% title('u transformed to RGB (look the colored NaNs)')
-% figure, imagesc(w) ,cmapping(64,'jet'), colorbar
-% title('u mapped with log(colormap)')
-% figure, imagesc(u), cmapping(log(0:63),'jet','discrete'), colorbar
-% title('u with log(colormap)')
-%
-% SEE ALSO:
-% COLORMAP, IND2RGB
-% and
-% CMJOIN by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cmapping.m
-% VERSION: 1.1 (Sep 02, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Jun 08, 2009)
-% 1.0.1 Fixed little bug with 'm' magenta color. (Jun 30, 2009)
-% 1.1 Fixed BUG with empty CMAP, thanks to Andrea Rumazza. (Sep 02,
-% 2009)
-
-% DISCLAIMER:
-% cmapping.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Sets defaults:
-AX = {}; % Calculated inside.
-U = []; % Calculated inside.
-CMAP = []; % Calculated inside.
-TYPE = 'colormap'; % Changes to 'image' if U is a matrix.
-CLIM = []; % To use in scaling
-CNAN = [1 1 1]; % White 'w'
-MODE = 'continuous'; % Scaling to CLIM
-MAPS = 'scaled'; % Scaled mapping
-method = 'linear'; % Interpolation method
-mflip = false; % Flip the colormap
-
-% Gets figure handle and axes handle (just in case the default colormap or
-% background color axes will be used.
-HF = get(0,'CurrentFigure');
-HA = [];
-if ~isempty(HF)
- HA = get(HF,'CurrentAxes');
- if ~isempty(HA)
- CNAN = get(HA,'Color'); % NaNs colors
- end
-end
-
-% Checks inputs:
-if nargin>8
- error('CVARGAS:cmapping:tooManyInputs', ...
- 'At most 8 inputs are allowed.')
-elseif nargout>1
- error('CVARGAS:cmapping:tooManyOutputs', ...
- 'At most 1 output is allowed.')
-end
-
-% Checks AX:
-if (~isempty(varargin)) && ~isempty(varargin{1}) && ...
- (numel(varargin{1})==1) && ishandle(varargin{1}) && ...
- strcmp(get(varargin{1},'Type'),'axes')
- % Gets AX and moves all other inputs to the left:
- AX = varargin(1);
- HA = AX{1};
- CNAN = get(HA,'Color');
- varargin(1) = [];
-end
-
-% Checks U:
-Nargin = length(varargin);
-if ~isempty(varargin)
- U = varargin{1};
- varargin(1) = [];
-end
-
-% Checks CMAP:
-if ~isempty(varargin)
- CMAP = varargin{1};
- varargin(1) = [];
-end
-
-% Checks input U, if not given uses as default colormap length:
-% Note: it is not converted to a vector in case CMAP is a function and IMAP
-% was not given.
-if isempty(U)
- % Gets default COLORMAP length:
- if ~isempty(HA)
- U = size(colormap(HA),1);
- else
- U = size(get(0,'DefaultFigureColormap'),1);
- end
-elseif ndims(U)>2
- error('CVARGAS:cmapping:incorrectXInput', ...
- 'U must be an scalar, a vector or a 2-dimensional matrix.')
-end
-
-% Checks input CMAP:
-if isempty(CMAP)
- % CMAP empty, then uses default:
- if ~isempty(HA)
- CMAP = colormap(HA);
- if isempty(CMAP) % Fixed BUG, Sep 2009.
- CMAP = get(0,'DefaultFigureColormap');
- if isempty(CMAP)
- CMAP = jet(64);
- end
- end
- else
- CMAP = get(0,'DefaultFigureColormap');
- if isempty(CMAP)
- CMAP = jet(64);
- end
- end
- Ncmap = size(CMAP,1);
-elseif isnumeric(CMAP)
- % CMAP as an [R G B] colormap:
- Ncmap = size(CMAP,1);
- if (size(CMAP,2)~=3) || ...
- ((min(CMAP(:))<0) || (max(CMAP(:))>1)) || any(~isfinite(CMAP(:)))
- error('CVARGAS:cmapping:incorrectCmapInput', ...
- 'CMAP is an incorrect 3 columns RGB colors.')
- end
-elseif ischar(CMAP)
- % String CMAP
- % Checks first character:
- switch CMAP(1)
- case '-'
- mflip = ~mflip;
- CMAP(1) = [];
- if isempty(CMAP)
- error('CVARGAS:cmapping:emptyCmapInput',...
- 'CMAP function is empty.')
- end
- end
- if ~((exist(CMAP,'file')==2) || (exist(CMAP,'builtin')==5))
- % CMAP as a combination of color char specifiers:
- CMAP = lower(CMAP);
- iy = (CMAP=='y');
- im = (CMAP=='m');
- ic = (CMAP=='c');
- ir = (CMAP=='r');
- ig = (CMAP=='g');
- ib = (CMAP=='b');
- iw = (CMAP=='w');
- ik = (CMAP=='k');
- Ncmap = length(CMAP);
- if (sum([iy im ic ir ig ib iw ik])~=Ncmap)
- error('CVARGAS:cmapping:incorrectCmapStringInput', ...
- ['String CMAP must be a valid colormap name or a combination of '...
- '''ymcrgbwk''.'])
- end
- % Convertion to [R G B]:
- CMAP = zeros(Ncmap,3);
- CMAP(iy,:) = repmat([1 1 0],sum(iy),1);
- CMAP(im,:) = repmat([1 0 1],sum(im),1); % BUG fixed Jun 2009
- CMAP(ic,:) = repmat([0 1 1],sum(ic),1);
- CMAP(ir,:) = repmat([1 0 0],sum(ir),1);
- CMAP(ig,:) = repmat([0 1 0],sum(ig),1);
- CMAP(ib,:) = repmat([0 0 1],sum(ib),1);
- CMAP(iw,:) = repmat([1 1 1],sum(iw),1);
- CMAP(ik,:) = repmat([0 0 0],sum(ik),1);
- else
- % CMAP as a function name
- % Changes function name to handle:
- CMAP = str2func(CMAP);
- Ncmap = []; % This indicates a CMAP function input
- end
-elseif isa(CMAP,'function_handle')
- Ncmap = []; % This indicates a CMAP function input
-else
- % CMAP input unrecognized:
- error('CVARGAS:cmapping:incorrectCmapInput', ...
- 'Not recognized CMAP input.')
-end
-
-% Checks CMAP function handle:
-if isempty(Ncmap)
- % Generates the COLORMAP from function:
- try
- temp = CMAP(2);
- if ~all(size(temp)==[2 3]) || any(~isfinite(temp(:))), error(''), end
- clear temp
- catch
- error('CVARGAS:cmapping:incorrectCmapFunction', ...
- ['CMAP function ''' func2str(CMAP) ''' must result in RGB colors.'])
- end
-end
-
-% Checks varargin:
-while ~isempty(varargin)
- if isempty(varargin{1})
- % continue
- elseif ischar(varargin{1})
- % string input
- switch lower(varargin{1})
- % CNAN:
- case 'y' , CNAN = [1 1 0];
- case 'm' , CNAN = [1 0 0];
- case 'c' , CNAN = [0 1 1];
- case 'r' , CNAN = [1 0 0];
- case 'g' , CNAN = [0 1 0];
- case 'b' , CNAN = [0 0 1];
- case 'w' , CNAN = [1 1 1];
- case 'k' , CNAN = [0 0 0];
- % MODE:
- case 'discrete' , MODE = 'discrete';
- case 'continuous', MODE = 'continuous';
- % TYPE:
- case 'colormap' , TYPE = 'colormap';
- case 'image' , TYPE = 'image';
- % MAPS:
- case 'direct' , MAPS = 'direct';
- case 'scaled' , MAPS = 'scaled';
- % Incorrect input:
- otherwise
- error('CVARGAS:cmapping:incorrectStringInput',...
- ['Not recognized optional string input: ''' varargin{1} '''.'])
- end
- elseif isnumeric(varargin{1}) && all(isfinite(varargin{1}(:)))
- % numeric input
- nv = numel(varargin{1});
- if (nv==3) && (size(varargin{1},1)==1)
- % CNAN:
- CNAN = varargin{1}(:)';
- if (max(CNAN)>1) || (min(CNAN)<0)
- error('CVARGAS:cmapping:incorrectCnanInput',...
- 'CNAN elements must be between 0 and 1.')
- end
- elseif (nv==2) && (size(varargin{1},1)==1)
- % CLIM:
- CLIM = sort(varargin{1},'ascend');
- if (diff(CLIM)==0)
- error('CVARGAS:cmapping:incorrectClimValues',...
- 'CLIM must have 2 distint elements.')
- end
- else
- error('CVARGAS:cmapping:incorrectNumericInput',...
- 'Not recognized numeric input.')
- end
- else
- error('CVARGAS:cmapping:incorrectInput',...
- 'Not recognized input.')
- end
- % Clears current optional input:
- varargin(1) = [];
-end % while
-
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-% U size:
-[m,n] = size(U);
-mn = m*n;
-
-% Checks TYPE:
-if ~any([m n]==1)
- % Forces image TYPE if U is a matrix:
- TYPE = 'image';
-elseif strcmp(TYPE,'colormap') && ~nargout && isempty(AX)
- % Changes the colormap on the specified or current axes if no output
- % argument:
- AX = {gca};
-end
-
-% Forces positive integer if U is an scalar, and flips CMAP if is negative:
-if (mn==1)
- U = round(U);
- if (U==0)
- if ~nargout && strcmp(TYPE,'colormap')
- warning('CVARGAS:cmapping:incorrectUInput',...
- 'U was zero and produces no colormap')
- else
- RGB = [];
- end
- return
- elseif (U<0)
- mflip = ~mflip;
- U = abs(U);
- end
-end
-
-% Gets CMAP from function handle:
-if isempty(Ncmap)
- if (mn==1)
- % From U:
- Ncmap = U(1);
- else
- % From default colormap:
- if ~isempty(HA)
- Ncmap = size(colormap(HA),1);
- else
- Ncmap = size(get(0,'DefaultFigureColormap'),1);
- end
- end
- CMAP = CMAP(Ncmap);
-end
-
-% Flips the colormap
-if mflip
- CMAP = flipud(CMAP);
-end
-
-% Check CMAP when U is an scalar::
-if (mn==1) && (U==Ncmap)
- % Finishes:
- if ~nargout && strcmp(TYPE,'colormap')
- if Nargin==0
- RGB = colormap(AX{:},CMAP);
- else
- colormap(AX{:},CMAP)
- end
- else
- RGB = CMAP;
- if strcmp(TYPE,'image')
- RGB = reshape(RGB,Ncmap,1,3);
- end
- end
- return
-end
-
-% Sets scales:
-if strcmp(MAPS,'scaled')
- % Scaled mapping:
- if ~isempty(CLIM)
- if (mn==1)
- mn = U;
- U = linspace(CLIM(1),CLIM(2),mn)';
- else
- % Continue
- end
- else
- CLIM = [0 1];
- if (mn==1)
- mn = U;
- U = linspace(CLIM(1),CLIM(2),mn)';
- else
- % Scales U to [0 1]:
- U = U-min(U(isfinite(U(:))));
- U = U/max(U(isfinite(U(:))));
- % Scales U to CLIM:
- U = U*diff(CLIM)+CLIM(1);
- end
- end
-else
- % Direct mapping:
- CLIM = [1 Ncmap];
-end
-
-% Do not extrapolates:
-U(U<CLIM(1)) = CLIM(1);
-U(U>CLIM(2)) = CLIM(2);
-
-% Sets CMAP argument:
-umap = linspace(CLIM(1),CLIM(2),Ncmap)';
-
-% Sets U:
-if (mn==2) && (U(1)==U(2))
- % U = [Uo Uo] implicates U = Uo:
- U(2) = [];
- mn = 1;
- m = 1;
- n = 1;
-end
-
-% Sets discretization:
-if strcmp(MODE,'discrete')
- umap2 = linspace(umap(1),umap(end),Ncmap+1)';
- for k = 1:Ncmap
- U((U>umap2(k)) & (U<=umap2(k+1))) = umap(k);
- end
- clear umap2
-end
-
-% Forces column vector:
-U = U(:);
-
-% Gets finite data:
-inan = ~isfinite(U);
-
-% Initializes:
-RGB = repmat(reshape(CNAN,[1 1 3]),[mn 1 1]);
-
-% Interpolates:
-if (Ncmap>1) && (sum(~inan)>1)
- [Utemp,a,b] = unique(U(~inan));
- RGBtemp = [...
- interp1(umap,CMAP(:,1),Utemp,method) ...
- interp1(umap,CMAP(:,2),Utemp,method) ...
- interp1(umap,CMAP(:,3),Utemp,method) ...
- ];
- RGB(~inan,:) = RGBtemp(b,:);
-else
- % single color:
- RGB(~inan,1,:) = repmat(reshape(CMAP,[1 1 3]),[sum(~inan) 1 1]);
-end
-
-% Just in case
-RGB(RGB>1) = 1;
-RGB(RGB<0) = 0;
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-% Output type:
-if strcmp(TYPE,'colormap')
- RGB = reshape(RGB,mn,3);
- if ~isempty(AX)
- colormap(AX{:},RGB)
- if ~nargout
- clear RGB
- end
- end
-else
- RGB = reshape(RGB,[m n 3]);
-end
-
-
-% [EOF] cmapping.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmapping.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmapping.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,515 @@
+function RGB = cmapping(varargin)
+%CMAPPING Colormap linear mapping/interpolation.
+%
+% SYNTAX:
+% cmapping
+% cmapping(U)
+% cmapping(U,CMAP)
+% cmapping(U,CMAP,...,CNAN)
+% cmapping(U,CMAP,...,TYPE)
+% cmapping(U,CMAP,...,MODE)
+% cmapping(U,CMAP,...,MAPS)
+% cmapping(U,CMAP,...,CLIM)
+% cmapping(AX,...)
+% RGB = cmapping(...);
+%
+% INPUT:
+% U - May be one of the following options:
+% a) An scalar specifying the output M number of colors.
+% b) A vector of length M specifying the values at which
+% the function CMAP(IMAP) will be mapped.
+% c) A matrix of size M-by-N specifying intensities to be
+% mapped to an RGB (3-dim) image. May have NaNs elements.
+% DEFAULT: Current colormap length.
+% CMAP - A COLORMAP defined by its name or handle-function or RGB
+% matrix (with 3 columns) or by a combination of colors chars
+% specifiers ('kbcw', for example) to be mapped. See NOTE below
+% for more options.
+% DEFAULT: Current colormap
+% CNAN - Color for NaNs values on U, specified by a 1-by-3 RGB color
+% or a char specifier.
+% DEFAULT: Current axes background (white color: [1 1 1])
+% TYPE - String specifying the result type. One of:
+% 'colormap' Forces a RGB colormap matrix result (3 columns)
+% 'image' Forces a RGB image result (3 dimensions)
+% DEFAULT: 'image' if U is a matrix, otherwise is 'colormap'
+% MODE - Defines the mapping way. One of:
+% 'discrete' For discrete colors
+% 'continuous' For continuous color (interpolates)
+% DEFAULT: 'continuous' (interpolates between colors)
+% MAPS - Specifies the mapping type. One of (see NOTES below):
+% 'scaled' Scales mapping, also by using CLIM (as IMAGESC).
+% 'direct' Do not scales the mapping (as IMAGE).
+% DEFAULT: 'scaled' (uses CLIM)
+% CLIM - Two element vector that, if given, scales the mapping within
+% this color limits. Ignored if 'direct' is specified.
+% DEFAULT: [0 size(CMAP,1)] or [0 1].
+% AX - Uses specified axes or figure handle to set/get the colormap.
+% If used, must be the first input.
+% DEFAULT: gca
+%
+% OUTPUT (all optional):
+% RGB - If U is not a matrix, this is an M-by-3 colormap matrix with
+% RGB colors in its rows, otherwise is an RGB image: M-by-N-by-3,
+% with the color red intensities defined by RGB(:,:,1), the green
+% ones by RGB(:,:,2) and the blue ones by RGB(:,:,3).
+%
+% DESCRIPTION:
+% This functions has various functionalities like: colormap generator,
+% colormap expansion/contraction, color mapping/interpolation, matrix
+% intensities convertion to RGB image, etc.
+%
+% The basic idea is a linear mapping between the CMAP columns
+% [red green blue] and the U data, ignoring its NaNs.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * If a single value of U is required for interpolation, use [U U].
+% * If the char '-' is used before the CMAP name, the colors will be
+% flipped. The same occurs if U is a negative integer.
+%
+% EXAMPLE:
+% % Colormaps:
+% figure, cmapping( 256,'krgby') , colorbar
+% figure, cmapping(-256,'krgby' ,'discrete'), colorbar
+% figure, cmapping(log(1:100),[],'discrete'), colorbar
+% % Images:
+% u = random('chi2',2,20,30); u(15:16,7:9) = NaN;
+% u = peaks(30); u(15:16,7:9) = NaN;
+% v = cmapping(u,jet(64),'discrete','k');
+% w = cmapping(u,cmapping(log(0:63),'jet','discrete'),'discrete');
+% figure, imagesc(u), cmapping(64,'jet'), colorbar
+% title('u')
+% figure, imagesc(v), cmapping(64,'jet'), colorbar
+% title('u transformed to RGB (look the colored NaNs)')
+% figure, imagesc(w) ,cmapping(64,'jet'), colorbar
+% title('u mapped with log(colormap)')
+% figure, imagesc(u), cmapping(log(0:63),'jet','discrete'), colorbar
+% title('u with log(colormap)')
+%
+% SEE ALSO:
+% COLORMAP, IND2RGB
+% and
+% CMJOIN by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cmapping.m
+% VERSION: 1.1 (Sep 02, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Jun 08, 2009)
+% 1.0.1 Fixed little bug with 'm' magenta color. (Jun 30, 2009)
+% 1.1 Fixed BUG with empty CMAP, thanks to Andrea Rumazza. (Sep 02,
+% 2009)
+
+% DISCLAIMER:
+% cmapping.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Sets defaults:
+AX = {}; % Calculated inside.
+U = []; % Calculated inside.
+CMAP = []; % Calculated inside.
+TYPE = 'colormap'; % Changes to 'image' if U is a matrix.
+CLIM = []; % To use in scaling
+CNAN = [1 1 1]; % White 'w'
+MODE = 'continuous'; % Scaling to CLIM
+MAPS = 'scaled'; % Scaled mapping
+method = 'linear'; % Interpolation method
+mflip = false; % Flip the colormap
+
+% Gets figure handle and axes handle (just in case the default colormap or
+% background color axes will be used.
+HF = get(0,'CurrentFigure');
+HA = [];
+if ~isempty(HF)
+ HA = get(HF,'CurrentAxes');
+ if ~isempty(HA)
+ CNAN = get(HA,'Color'); % NaNs colors
+ end
+end
+
+% Checks inputs:
+if nargin>8
+ error('CVARGAS:cmapping:tooManyInputs', ...
+ 'At most 8 inputs are allowed.')
+elseif nargout>1
+ error('CVARGAS:cmapping:tooManyOutputs', ...
+ 'At most 1 output is allowed.')
+end
+
+% Checks AX:
+if (~isempty(varargin)) && ~isempty(varargin{1}) && ...
+ (numel(varargin{1})==1) && ishandle(varargin{1}) && ...
+ strcmp(get(varargin{1},'Type'),'axes')
+ % Gets AX and moves all other inputs to the left:
+ AX = varargin(1);
+ HA = AX{1};
+ CNAN = get(HA,'Color');
+ varargin(1) = [];
+end
+
+% Checks U:
+Nargin = length(varargin);
+if ~isempty(varargin)
+ U = varargin{1};
+ varargin(1) = [];
+end
+
+% Checks CMAP:
+if ~isempty(varargin)
+ CMAP = varargin{1};
+ varargin(1) = [];
+end
+
+% Checks input U, if not given uses as default colormap length:
+% Note: it is not converted to a vector in case CMAP is a function and IMAP
+% was not given.
+if isempty(U)
+ % Gets default COLORMAP length:
+ if ~isempty(HA)
+ U = size(colormap(HA),1);
+ else
+ U = size(get(0,'DefaultFigureColormap'),1);
+ end
+elseif ndims(U)>2
+ error('CVARGAS:cmapping:incorrectXInput', ...
+ 'U must be an scalar, a vector or a 2-dimensional matrix.')
+end
+
+% Checks input CMAP:
+if isempty(CMAP)
+ % CMAP empty, then uses default:
+ if ~isempty(HA)
+ CMAP = colormap(HA);
+ if isempty(CMAP) % Fixed BUG, Sep 2009.
+ CMAP = get(0,'DefaultFigureColormap');
+ if isempty(CMAP)
+ CMAP = jet(64);
+ end
+ end
+ else
+ CMAP = get(0,'DefaultFigureColormap');
+ if isempty(CMAP)
+ CMAP = jet(64);
+ end
+ end
+ Ncmap = size(CMAP,1);
+elseif isnumeric(CMAP)
+ % CMAP as an [R G B] colormap:
+ Ncmap = size(CMAP,1);
+ if (size(CMAP,2)~=3) || ...
+ ((min(CMAP(:))<0) || (max(CMAP(:))>1)) || any(~isfinite(CMAP(:)))
+ error('CVARGAS:cmapping:incorrectCmapInput', ...
+ 'CMAP is an incorrect 3 columns RGB colors.')
+ end
+elseif ischar(CMAP)
+ % String CMAP
+ % Checks first character:
+ switch CMAP(1)
+ case '-'
+ mflip = ~mflip;
+ CMAP(1) = [];
+ if isempty(CMAP)
+ error('CVARGAS:cmapping:emptyCmapInput',...
+ 'CMAP function is empty.')
+ end
+ end
+ if ~((exist(CMAP,'file')==2) || (exist(CMAP,'builtin')==5))
+ % CMAP as a combination of color char specifiers:
+ CMAP = lower(CMAP);
+ iy = (CMAP=='y');
+ im = (CMAP=='m');
+ ic = (CMAP=='c');
+ ir = (CMAP=='r');
+ ig = (CMAP=='g');
+ ib = (CMAP=='b');
+ iw = (CMAP=='w');
+ ik = (CMAP=='k');
+ Ncmap = length(CMAP);
+ if (sum([iy im ic ir ig ib iw ik])~=Ncmap)
+ error('CVARGAS:cmapping:incorrectCmapStringInput', ...
+ ['String CMAP must be a valid colormap name or a combination of '...
+ '''ymcrgbwk''.'])
+ end
+ % Convertion to [R G B]:
+ CMAP = zeros(Ncmap,3);
+ CMAP(iy,:) = repmat([1 1 0],sum(iy),1);
+ CMAP(im,:) = repmat([1 0 1],sum(im),1); % BUG fixed Jun 2009
+ CMAP(ic,:) = repmat([0 1 1],sum(ic),1);
+ CMAP(ir,:) = repmat([1 0 0],sum(ir),1);
+ CMAP(ig,:) = repmat([0 1 0],sum(ig),1);
+ CMAP(ib,:) = repmat([0 0 1],sum(ib),1);
+ CMAP(iw,:) = repmat([1 1 1],sum(iw),1);
+ CMAP(ik,:) = repmat([0 0 0],sum(ik),1);
+ else
+ % CMAP as a function name
+ % Changes function name to handle:
+ CMAP = str2func(CMAP);
+ Ncmap = []; % This indicates a CMAP function input
+ end
+elseif isa(CMAP,'function_handle')
+ Ncmap = []; % This indicates a CMAP function input
+else
+ % CMAP input unrecognized:
+ error('CVARGAS:cmapping:incorrectCmapInput', ...
+ 'Not recognized CMAP input.')
+end
+
+% Checks CMAP function handle:
+if isempty(Ncmap)
+ % Generates the COLORMAP from function:
+ try
+ temp = CMAP(2);
+ if ~all(size(temp)==[2 3]) || any(~isfinite(temp(:))), error(''), end
+ clear temp
+ catch
+ error('CVARGAS:cmapping:incorrectCmapFunction', ...
+ ['CMAP function ''' func2str(CMAP) ''' must result in RGB colors.'])
+ end
+end
+
+% Checks varargin:
+while ~isempty(varargin)
+ if isempty(varargin{1})
+ % continue
+ elseif ischar(varargin{1})
+ % string input
+ switch lower(varargin{1})
+ % CNAN:
+ case 'y' , CNAN = [1 1 0];
+ case 'm' , CNAN = [1 0 0];
+ case 'c' , CNAN = [0 1 1];
+ case 'r' , CNAN = [1 0 0];
+ case 'g' , CNAN = [0 1 0];
+ case 'b' , CNAN = [0 0 1];
+ case 'w' , CNAN = [1 1 1];
+ case 'k' , CNAN = [0 0 0];
+ % MODE:
+ case 'discrete' , MODE = 'discrete';
+ case 'continuous', MODE = 'continuous';
+ % TYPE:
+ case 'colormap' , TYPE = 'colormap';
+ case 'image' , TYPE = 'image';
+ % MAPS:
+ case 'direct' , MAPS = 'direct';
+ case 'scaled' , MAPS = 'scaled';
+ % Incorrect input:
+ otherwise
+ error('CVARGAS:cmapping:incorrectStringInput',...
+ ['Not recognized optional string input: ''' varargin{1} '''.'])
+ end
+ elseif isnumeric(varargin{1}) && all(isfinite(varargin{1}(:)))
+ % numeric input
+ nv = numel(varargin{1});
+ if (nv==3) && (size(varargin{1},1)==1)
+ % CNAN:
+ CNAN = varargin{1}(:)';
+ if (max(CNAN)>1) || (min(CNAN)<0)
+ error('CVARGAS:cmapping:incorrectCnanInput',...
+ 'CNAN elements must be between 0 and 1.')
+ end
+ elseif (nv==2) && (size(varargin{1},1)==1)
+ % CLIM:
+ CLIM = sort(varargin{1},'ascend');
+ if (diff(CLIM)==0)
+ error('CVARGAS:cmapping:incorrectClimValues',...
+ 'CLIM must have 2 distint elements.')
+ end
+ else
+ error('CVARGAS:cmapping:incorrectNumericInput',...
+ 'Not recognized numeric input.')
+ end
+ else
+ error('CVARGAS:cmapping:incorrectInput',...
+ 'Not recognized input.')
+ end
+ % Clears current optional input:
+ varargin(1) = [];
+end % while
+
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+% U size:
+[m,n] = size(U);
+mn = m*n;
+
+% Checks TYPE:
+if ~any([m n]==1)
+ % Forces image TYPE if U is a matrix:
+ TYPE = 'image';
+elseif strcmp(TYPE,'colormap') && ~nargout && isempty(AX)
+ % Changes the colormap on the specified or current axes if no output
+ % argument:
+ AX = {gca};
+end
+
+% Forces positive integer if U is an scalar, and flips CMAP if is negative:
+if (mn==1)
+ U = round(U);
+ if (U==0)
+ if ~nargout && strcmp(TYPE,'colormap')
+ warning('CVARGAS:cmapping:incorrectUInput',...
+ 'U was zero and produces no colormap')
+ else
+ RGB = [];
+ end
+ return
+ elseif (U<0)
+ mflip = ~mflip;
+ U = abs(U);
+ end
+end
+
+% Gets CMAP from function handle:
+if isempty(Ncmap)
+ if (mn==1)
+ % From U:
+ Ncmap = U(1);
+ else
+ % From default colormap:
+ if ~isempty(HA)
+ Ncmap = size(colormap(HA),1);
+ else
+ Ncmap = size(get(0,'DefaultFigureColormap'),1);
+ end
+ end
+ CMAP = CMAP(Ncmap);
+end
+
+% Flips the colormap
+if mflip
+ CMAP = flipud(CMAP);
+end
+
+% Check CMAP when U is an scalar::
+if (mn==1) && (U==Ncmap)
+ % Finishes:
+ if ~nargout && strcmp(TYPE,'colormap')
+ if Nargin==0
+ RGB = colormap(AX{:},CMAP);
+ else
+ colormap(AX{:},CMAP)
+ end
+ else
+ RGB = CMAP;
+ if strcmp(TYPE,'image')
+ RGB = reshape(RGB,Ncmap,1,3);
+ end
+ end
+ return
+end
+
+% Sets scales:
+if strcmp(MAPS,'scaled')
+ % Scaled mapping:
+ if ~isempty(CLIM)
+ if (mn==1)
+ mn = U;
+ U = linspace(CLIM(1),CLIM(2),mn)';
+ else
+ % Continue
+ end
+ else
+ CLIM = [0 1];
+ if (mn==1)
+ mn = U;
+ U = linspace(CLIM(1),CLIM(2),mn)';
+ else
+ % Scales U to [0 1]:
+ U = U-min(U(isfinite(U(:))));
+ U = U/max(U(isfinite(U(:))));
+ % Scales U to CLIM:
+ U = U*diff(CLIM)+CLIM(1);
+ end
+ end
+else
+ % Direct mapping:
+ CLIM = [1 Ncmap];
+end
+
+% Do not extrapolates:
+U(U<CLIM(1)) = CLIM(1);
+U(U>CLIM(2)) = CLIM(2);
+
+% Sets CMAP argument:
+umap = linspace(CLIM(1),CLIM(2),Ncmap)';
+
+% Sets U:
+if (mn==2) && (U(1)==U(2))
+ % U = [Uo Uo] implicates U = Uo:
+ U(2) = [];
+ mn = 1;
+ m = 1;
+ n = 1;
+end
+
+% Sets discretization:
+if strcmp(MODE,'discrete')
+ umap2 = linspace(umap(1),umap(end),Ncmap+1)';
+ for k = 1:Ncmap
+ U((U>umap2(k)) & (U<=umap2(k+1))) = umap(k);
+ end
+ clear umap2
+end
+
+% Forces column vector:
+U = U(:);
+
+% Gets finite data:
+inan = ~isfinite(U);
+
+% Initializes:
+RGB = repmat(reshape(CNAN,[1 1 3]),[mn 1 1]);
+
+% Interpolates:
+if (Ncmap>1) && (sum(~inan)>1)
+ [Utemp,a,b] = unique(U(~inan));
+ RGBtemp = [...
+ interp1(umap,CMAP(:,1),Utemp,method) ...
+ interp1(umap,CMAP(:,2),Utemp,method) ...
+ interp1(umap,CMAP(:,3),Utemp,method) ...
+ ];
+ RGB(~inan,:) = RGBtemp(b,:);
+else
+ % single color:
+ RGB(~inan,1,:) = repmat(reshape(CMAP,[1 1 3]),[sum(~inan) 1 1]);
+end
+
+% Just in case
+RGB(RGB>1) = 1;
+RGB(RGB<0) = 0;
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+% Output type:
+if strcmp(TYPE,'colormap')
+ RGB = reshape(RGB,mn,3);
+ if ~isempty(AX)
+ colormap(AX{:},RGB)
+ if ~nargout
+ clear RGB
+ end
+ end
+else
+ RGB = reshape(RGB,[m n 3]);
+end
+
+
+% [EOF] cmapping.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmfit.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,360 +0,0 @@
-function [CMAP,CLIM,WIDTH,REF,LEVELS] = ...
- cmfit(CMAP,CLIM,WIDTH,REF,CENTER,varargin)
-%CMFIT Sets the COLORMAP and CAXIS to specific color bands.
-%
-% SYNTAX:
-% cmfit
-% cmfit(CMAP)
-% cmfit(CMAP,CLIM)
-% cmfit(CMAP,CLIM,WIDTH or LEVELS)
-% cmfit(CMAP,CLIM,WIDTH,REF)
-% cmfit(CMAP,CLIM,WIDTH,REF,CENTER)
-% cmfit(AX,...)
-% [CMAPF,CLIMF,WIDTHF,REFF,LEVF] = cmfit(...);
-%
-% INPUT:
-% CMAP - Fits the specified colormap function or RGB colors.
-% DEFAULT: (current figure colormap)
-% CLIM - 2 element vector spacifying the limits of CMAP.
-% DEFAULT: (limits of a COLORBAR)
-% WIDTH - Color band width (limits are computed with CAXIS) for each
-% or band or a row vector specifying the LEVELS on each band (see
-% LEVELS NOTE below).
-% DEFAULT: (fills the ticks of a COLORBAR)
-% REF - Reference level to start any of the color bands.
-% DEFAULT: (generally the middle of CLIM)
-% CENTER - Logical specifying weather the colormap should be center in
-% the REF value or not.
-% DEFAULT: false (do not centers)
-% AX - Uses the specified figure or axes handle.
-%
-% OUTPUT (all optional):
-% CMAPF - RGB fitted color map (with 3 columns).
-% CLIMF - Limits of CMAPF.
-% WIDTHF - Width of fitted colorbands.
-% REFF - Reference of fitted colorbands.
-% LEVF - Levels for the color bands.
-%
-% DESCRIPTION:
-% This program sets the current figure colormap with specified
-% band-widths of colors taking the CAXIS limits as reference. When the
-% optional input argument CENTER is true, the colormap is moved and
-% expanded so its middle color will be right at REF. This will help for
-% distinguish between positive and negative values (REF=0).
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * When one of the first two inputs is missing, they are automatically
-% calculated by using a COLORBAR (created temporarly if necesary). In
-% this case CBHANDLE is necesary.
-% * When CMAP is used as output, the current figure colormap won't be
-% modificated. Use
-% >> colormap(CMAP)
-% after this function, if necesary.
-% * When LEVELS are used instead of band WINDTH, it shoud be
-% monotonically increasing free of NaNs and of length equal to the
-% number of colors minus one, on the output colormap.
-%
-% SEE ALSO:
-% COLORMAP
-% and
-% CMAPPING, CBFIT by Caros Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cmfit.m
-% VERSION: 1.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Jun 08, 2009)
-
-% DISCLAIMER:
-% cmfit.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
-
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Sets defaults:
-AX = {}; % Axes input
-tol = 1; % Adds this tolerance to the decimal precision
-hfig = {get(0,'CurrentFigure')};
-if ~isempty(hfig)
- hax = {get(hfig{1},'CurrentAxes')};
- if isempty(hax{1}), hax = {}; end
-else
- hfig = {};
- hax = {};
-end
-
-% Checks inputs:
-if nargin>6
- error('CVARGAS:cmfit:tooManyInputs', ...
- 'At most 6 inputs are allowed.')
-end
-if nargin>5
- error('CVARGAS:cmfit:tooManyOutputs', ...
- 'At most 5 outputs are allowed.')
-end
-
-% Saves number of arguments:
-Nargin = nargin;
-
-% Checks AX input:
-if (Nargin>0) && ~isempty(CMAP) && (numel(CMAP)==1) && ...
- ishandle(CMAP)
- % Gets AX and moves all other inputs to the left:
- AX = {CMAP};
- switch get(AX{1},'Type')
- case 'axes'
- hax = AX;
- hfig = {get(hax{1},'Parent')};
- case {'figure','uipanel'}
- hfig = {AX{1}};
- hax = {get(hfig{1},'CurrentAxes')};
- if isempty(hax{1}), hax = {}; end
- otherwise
- error('CVARGAS:cmfit:incorrectAxHandle',...
- 'AX must be a valid axes or figure handle.')
- end
- if (Nargin>1)
- CMAP = CLIM;
- if (Nargin>2)
- CLIM = WIDTH;
- if (Nargin>3)
- WIDTH = REF;
- if (Nargin>4)
- REF = CENTER;
- if (Nargin>5)
- CENTER = varargin{1};
- end
- end
- end
- end
- end
- Nargin = Nargin-1;
-end
-
-% Checks CMAP input:
-if Nargin<1 || isempty(CMAP)
- if ~isempty(hax)
- CMAP = colormap(hax{1});
- else
- CMAP = get(0,'DefaultFigureColormap');
- end
-end
-
-% Checks CLIM input:
-if Nargin<2
- CLIM = [];
-end
-
-% Checks WIDTH input:
-if Nargin<3
- WIDTH = [];
-end
-
-% Checks REf input:
-if Nargin<4
- REF = [];
-end
-
-% Checks CENTER input:
-if Nargin<5 || isempty(CENTER)
- CENTER = false;
-end
-
-% Look for WIDTH and REF from a (temporarly) colorbar:
-if isempty(WIDTH) || (length(WIDTH)==1 && (isempty(REF) || ...
- (isempty(CLIM) && (isempty(hax) || ...
- ~strcmp(get(hax{1},'CLimMode'),'manual')))))
- if ~isempty(CLIM)
- caxis(hax{:},CLIM)
- end
- if ~isempty(AX) && ~isempty(cbhandle(AX{1}))
- h = cbhandle(AX{1}); doclear = false; h = h(1);
- elseif ~isempty(hax) && ~isempty(cbhandle(hax{1}))
- h = cbhandle(hax{1}); doclear = false; h = h(1);
- elseif ~isempty(hfig) && ~isempty(cbhandle(hfig{1}))
- h = cbhandle(hfig{1}); doclear = false; h = h(1);
- else
- h = colorbar; doclear = true;
- end
- ticks = get(h,'XTick');
- lim = get(h,'XLim');
- if isempty(ticks)
- ticks = get(h,'YTick');
- lim = get(h,'YLim');
- end
- if isempty(WIDTH)
- WIDTH = diff(ticks(1:2));
- end
- if isempty(CLIM)
- CLIM = lim;
- end
- if isempty(REF) && ~CENTER
- REF = ticks(1);
- end
- if doclear
- delete(h)
- end
-end
-
-% Centers at the middle:
-if CENTER && isempty(REF)
- REF = 0;
-end
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-
-% Gets minimum width from specified levels:
-NL = length(WIDTH);
-if (NL>1)
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % NONLINEAR CASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- LEVELS = sort(WIDTH);
-
- % Gets LEVELS width:
- wLEVELS = diff(LEVELS);
-
- % Scales to CLIM:
- if ~isempty(CLIM)
- % Scales to [0 1]
- LEVELS = LEVELS-LEVELS(1);
- LEVELS = LEVELS/LEVELS(end);
- % Scales to CLIM:
- LEVELS = LEVELS*diff(CLIM)+CLIM(1);
- else
- CLIM = [LEVELS(1) LEVELS(end)];
- end
-
- % Gets precision:
- if isinteger(wLEVELS) % Allows integer input: uint8, etc.
- wLEVELS = double(wLEVELS);
- end
- temp = warning('off','MATLAB:log:logOfZero');
- precision = floor(log10(abs(wLEVELS))); % wLEVELS = Str.XXX x 10^precision.
- precision(wLEVELS==0) = 0; % M=0 if x=0.
- warning(temp.state,'MATLAB:log:logOfZero')
- precision = min(precision)-tol;
-
- % Sets levels up to precision:
- wLEVELS = round(wLEVELS*10^(-precision));
-
- % Gets COLORMAP for each LEVEL:
- if CENTER
- % Centers the colormap:
- ind = (REF==LEVELS);
- if ~any(ind)
- error('CVARGAS:cmfit:uncorrectRefLevel',...
- 'When CENTER, REF level must be on of the specifyied LEVELS.')
- end
- Nl = sum(~ind(1:find(ind)));
- [Nl,l] = max([Nl (NL-1-Nl)]);
- wCMAP = cmapping(2*Nl,CMAP);
- if l==1
- wCMAP = wCMAP(1:NL-1,:);
- else
- wCMAP = wCMAP(end-NL+2:end,:);
- end
- else
- wCMAP = cmapping(NL-1,CMAP);
- end
-
- % Gets minimum band width:
- WIDTH = wLEVELS(1);
- for k = 1:NL-1
- wlev = wLEVELS;
- wlev(k) = [];
- WIDTH = min(min(gcd(wLEVELS(k),wlev)),WIDTH);
- end
-
- % Gets number of bands:
- wLEVELS = wLEVELS/WIDTH;
-
- % Gets new CMAP:
- N = sum(wLEVELS);
- try
- CMAP = repmat(wCMAP(1,:),N,1);
- catch
- error('CVARGAS:cmfit:memoryError',...
- ['The number of colors (N=' int2str(N) ') for the new colormap ' ...
- 'is extremely large. Try other LEVELS.'])
- end
- ko = wLEVELS(1);
- for k = 2:NL-1;
- CMAP(ko+(1:wLEVELS(k)),:) = repmat(wCMAP(k,:),wLEVELS(k),1);
- ko = ko+wLEVELS(k);
- end
-
-else
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % LINEAR CASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- % Gets CLIM:
- if isempty(CLIM)
- CLIM = caxis(hax{:});
- end
-
- % Sets color limits to be a multipler of WIDTH passing through REF:
- N1 = ceil((+REF-CLIM(1))/WIDTH);
- N2 = ceil((-REF+CLIM(2))/WIDTH);
- CLIM = REF + [-N1 N2]*WIDTH;
-
- % Sets colormap with NC bands:
- Nc = round(diff(CLIM)/WIDTH);
- if CENTER
- % Necesary colorbands number to be centered:
- Nmin = [N1 N2];
- [Nmax,imax] = max(Nmin);
- Nmin(imax) = [];
- Nc2 = Nc + Nmax - Nmin;
- % Generate a colormap with this size:
- CMAP = cmapping(Nc2,CMAP);
- if imax==1
- CMAP = CMAP(1:Nc,:);
- else
- CMAP = flipud(CMAP);
- CMAP = CMAP(1:Nc,:);
- CMAP = flipud(CMAP);
- end
- else
- CMAP = cmapping(Nc,CMAP);
- end
-
- % Sets levels:
- LEVELS = linspace(CLIM(1),CLIM(2),size(CMAP,1))';
-end
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-if ~isempty(AX)
- colormap(AX{:},CMAP)
- caxis(AX{:},CLIM)
-end
-if ~nargout
- if isempty(AX)
- colormap(CMAP)
- caxis(CLIM)
- end
- clear CMAP
-end
-
-
-% [EOF] cmfit.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmfit.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmfit.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,360 @@
+function [CMAP,CLIM,WIDTH,REF,LEVELS] = ...
+ cmfit(CMAP,CLIM,WIDTH,REF,CENTER,varargin)
+%CMFIT Sets the COLORMAP and CAXIS to specific color bands.
+%
+% SYNTAX:
+% cmfit
+% cmfit(CMAP)
+% cmfit(CMAP,CLIM)
+% cmfit(CMAP,CLIM,WIDTH or LEVELS)
+% cmfit(CMAP,CLIM,WIDTH,REF)
+% cmfit(CMAP,CLIM,WIDTH,REF,CENTER)
+% cmfit(AX,...)
+% [CMAPF,CLIMF,WIDTHF,REFF,LEVF] = cmfit(...);
+%
+% INPUT:
+% CMAP - Fits the specified colormap function or RGB colors.
+% DEFAULT: (current figure colormap)
+% CLIM - 2 element vector spacifying the limits of CMAP.
+% DEFAULT: (limits of a COLORBAR)
+% WIDTH - Color band width (limits are computed with CAXIS) for each
+% or band or a row vector specifying the LEVELS on each band (see
+% LEVELS NOTE below).
+% DEFAULT: (fills the ticks of a COLORBAR)
+% REF - Reference level to start any of the color bands.
+% DEFAULT: (generally the middle of CLIM)
+% CENTER - Logical specifying weather the colormap should be center in
+% the REF value or not.
+% DEFAULT: false (do not centers)
+% AX - Uses the specified figure or axes handle.
+%
+% OUTPUT (all optional):
+% CMAPF - RGB fitted color map (with 3 columns).
+% CLIMF - Limits of CMAPF.
+% WIDTHF - Width of fitted colorbands.
+% REFF - Reference of fitted colorbands.
+% LEVF - Levels for the color bands.
+%
+% DESCRIPTION:
+% This program sets the current figure colormap with specified
+% band-widths of colors taking the CAXIS limits as reference. When the
+% optional input argument CENTER is true, the colormap is moved and
+% expanded so its middle color will be right at REF. This will help for
+% distinguish between positive and negative values (REF=0).
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * When one of the first two inputs is missing, they are automatically
+% calculated by using a COLORBAR (created temporarly if necesary). In
+% this case CBHANDLE is necesary.
+% * When CMAP is used as output, the current figure colormap won't be
+% modificated. Use
+% >> colormap(CMAP)
+% after this function, if necesary.
+% * When LEVELS are used instead of band WINDTH, it shoud be
+% monotonically increasing free of NaNs and of length equal to the
+% number of colors minus one, on the output colormap.
+%
+% SEE ALSO:
+% COLORMAP
+% and
+% CMAPPING, CBFIT by Caros Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cmfit.m
+% VERSION: 1.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Jun 08, 2009)
+
+% DISCLAIMER:
+% cmfit.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2008,2009 Carlos Adrian Vargas Aguilera
+
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Sets defaults:
+AX = {}; % Axes input
+tol = 1; % Adds this tolerance to the decimal precision
+hfig = {get(0,'CurrentFigure')};
+if ~isempty(hfig)
+ hax = {get(hfig{1},'CurrentAxes')};
+ if isempty(hax{1}), hax = {}; end
+else
+ hfig = {};
+ hax = {};
+end
+
+% Checks inputs:
+if nargin>6
+ error('CVARGAS:cmfit:tooManyInputs', ...
+ 'At most 6 inputs are allowed.')
+end
+if nargin>5
+ error('CVARGAS:cmfit:tooManyOutputs', ...
+ 'At most 5 outputs are allowed.')
+end
+
+% Saves number of arguments:
+Nargin = nargin;
+
+% Checks AX input:
+if (Nargin>0) && ~isempty(CMAP) && (numel(CMAP)==1) && ...
+ ishandle(CMAP)
+ % Gets AX and moves all other inputs to the left:
+ AX = {CMAP};
+ switch get(AX{1},'Type')
+ case 'axes'
+ hax = AX;
+ hfig = {get(hax{1},'Parent')};
+ case {'figure','uipanel'}
+ hfig = {AX{1}};
+ hax = {get(hfig{1},'CurrentAxes')};
+ if isempty(hax{1}), hax = {}; end
+ otherwise
+ error('CVARGAS:cmfit:incorrectAxHandle',...
+ 'AX must be a valid axes or figure handle.')
+ end
+ if (Nargin>1)
+ CMAP = CLIM;
+ if (Nargin>2)
+ CLIM = WIDTH;
+ if (Nargin>3)
+ WIDTH = REF;
+ if (Nargin>4)
+ REF = CENTER;
+ if (Nargin>5)
+ CENTER = varargin{1};
+ end
+ end
+ end
+ end
+ end
+ Nargin = Nargin-1;
+end
+
+% Checks CMAP input:
+if Nargin<1 || isempty(CMAP)
+ if ~isempty(hax)
+ CMAP = colormap(hax{1});
+ else
+ CMAP = get(0,'DefaultFigureColormap');
+ end
+end
+
+% Checks CLIM input:
+if Nargin<2
+ CLIM = [];
+end
+
+% Checks WIDTH input:
+if Nargin<3
+ WIDTH = [];
+end
+
+% Checks REf input:
+if Nargin<4
+ REF = [];
+end
+
+% Checks CENTER input:
+if Nargin<5 || isempty(CENTER)
+ CENTER = false;
+end
+
+% Look for WIDTH and REF from a (temporarly) colorbar:
+if isempty(WIDTH) || (length(WIDTH)==1 && (isempty(REF) || ...
+ (isempty(CLIM) && (isempty(hax) || ...
+ ~strcmp(get(hax{1},'CLimMode'),'manual')))))
+ if ~isempty(CLIM)
+ caxis(hax{:},CLIM)
+ end
+ if ~isempty(AX) && ~isempty(cbhandle(AX{1}))
+ h = cbhandle(AX{1}); doclear = false; h = h(1);
+ elseif ~isempty(hax) && ~isempty(cbhandle(hax{1}))
+ h = cbhandle(hax{1}); doclear = false; h = h(1);
+ elseif ~isempty(hfig) && ~isempty(cbhandle(hfig{1}))
+ h = cbhandle(hfig{1}); doclear = false; h = h(1);
+ else
+ h = colorbar; doclear = true;
+ end
+ ticks = get(h,'XTick');
+ lim = get(h,'XLim');
+ if isempty(ticks)
+ ticks = get(h,'YTick');
+ lim = get(h,'YLim');
+ end
+ if isempty(WIDTH)
+ WIDTH = diff(ticks(1:2));
+ end
+ if isempty(CLIM)
+ CLIM = lim;
+ end
+ if isempty(REF) && ~CENTER
+ REF = ticks(1);
+ end
+ if doclear
+ delete(h)
+ end
+end
+
+% Centers at the middle:
+if CENTER && isempty(REF)
+ REF = 0;
+end
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+
+% Gets minimum width from specified levels:
+NL = length(WIDTH);
+if (NL>1)
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % NONLINEAR CASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ LEVELS = sort(WIDTH);
+
+ % Gets LEVELS width:
+ wLEVELS = diff(LEVELS);
+
+ % Scales to CLIM:
+ if ~isempty(CLIM)
+ % Scales to [0 1]
+ LEVELS = LEVELS-LEVELS(1);
+ LEVELS = LEVELS/LEVELS(end);
+ % Scales to CLIM:
+ LEVELS = LEVELS*diff(CLIM)+CLIM(1);
+ else
+ CLIM = [LEVELS(1) LEVELS(end)];
+ end
+
+ % Gets precision:
+ if isinteger(wLEVELS) % Allows integer input: uint8, etc.
+ wLEVELS = double(wLEVELS);
+ end
+ temp = warning('off','MATLAB:log:logOfZero');
+ precision = floor(log10(abs(wLEVELS))); % wLEVELS = Str.XXX x 10^precision.
+ precision(wLEVELS==0) = 0; % M=0 if x=0.
+ warning(temp.state,'MATLAB:log:logOfZero')
+ precision = min(precision)-tol;
+
+ % Sets levels up to precision:
+ wLEVELS = round(wLEVELS*10^(-precision));
+
+ % Gets COLORMAP for each LEVEL:
+ if CENTER
+ % Centers the colormap:
+ ind = (REF==LEVELS);
+ if ~any(ind)
+ error('CVARGAS:cmfit:uncorrectRefLevel',...
+ 'When CENTER, REF level must be on of the specifyied LEVELS.')
+ end
+ Nl = sum(~ind(1:find(ind)));
+ [Nl,l] = max([Nl (NL-1-Nl)]);
+ wCMAP = cmapping(2*Nl,CMAP);
+ if l==1
+ wCMAP = wCMAP(1:NL-1,:);
+ else
+ wCMAP = wCMAP(end-NL+2:end,:);
+ end
+ else
+ wCMAP = cmapping(NL-1,CMAP);
+ end
+
+ % Gets minimum band width:
+ WIDTH = wLEVELS(1);
+ for k = 1:NL-1
+ wlev = wLEVELS;
+ wlev(k) = [];
+ WIDTH = min(min(gcd(wLEVELS(k),wlev)),WIDTH);
+ end
+
+ % Gets number of bands:
+ wLEVELS = wLEVELS/WIDTH;
+
+ % Gets new CMAP:
+ N = sum(wLEVELS);
+ try
+ CMAP = repmat(wCMAP(1,:),N,1);
+ catch
+ error('CVARGAS:cmfit:memoryError',...
+ ['The number of colors (N=' int2str(N) ') for the new colormap ' ...
+ 'is extremely large. Try other LEVELS.'])
+ end
+ ko = wLEVELS(1);
+ for k = 2:NL-1;
+ CMAP(ko+(1:wLEVELS(k)),:) = repmat(wCMAP(k,:),wLEVELS(k),1);
+ ko = ko+wLEVELS(k);
+ end
+
+else
+
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % LINEAR CASE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ % Gets CLIM:
+ if isempty(CLIM)
+ CLIM = caxis(hax{:});
+ end
+
+ % Sets color limits to be a multipler of WIDTH passing through REF:
+ N1 = ceil((+REF-CLIM(1))/WIDTH);
+ N2 = ceil((-REF+CLIM(2))/WIDTH);
+ CLIM = REF + [-N1 N2]*WIDTH;
+
+ % Sets colormap with NC bands:
+ Nc = round(diff(CLIM)/WIDTH);
+ if CENTER
+ % Necesary colorbands number to be centered:
+ Nmin = [N1 N2];
+ [Nmax,imax] = max(Nmin);
+ Nmin(imax) = [];
+ Nc2 = Nc + Nmax - Nmin;
+ % Generate a colormap with this size:
+ CMAP = cmapping(Nc2,CMAP);
+ if imax==1
+ CMAP = CMAP(1:Nc,:);
+ else
+ CMAP = flipud(CMAP);
+ CMAP = CMAP(1:Nc,:);
+ CMAP = flipud(CMAP);
+ end
+ else
+ CMAP = cmapping(Nc,CMAP);
+ end
+
+ % Sets levels:
+ LEVELS = linspace(CLIM(1),CLIM(2),size(CMAP,1))';
+end
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+if ~isempty(AX)
+ colormap(AX{:},CMAP)
+ caxis(AX{:},CLIM)
+end
+if ~nargout
+ if isempty(AX)
+ colormap(CMAP)
+ caxis(CLIM)
+ end
+ clear CMAP
+end
+
+
+% [EOF] cmfit.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmjoin.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,462 +0,0 @@
-function [CMAP,LEV,WID,CLIM] = cmjoin(varargin)
-%CMJOIN Joins colormaps at certain levels.
-%
-% SYNTAX:
-% cmjoin(CMAPS)
-% cmjoin(CMAPS,LEV)
-% cmjoin(CMAPS,LEV,WID)
-% cmjoin(CMAPS,LEV,WID,CLIM)
-% cmjoin(AX,...)
-% [CMAP,LEV,WID,CLIM] = cmjoin(...);
-%
-% INPUT:
-% CMAPS - Cell with the N colormaps handles, names or RGB colors to be
-% joined. See NOTE below.
-% LEV - One of:
-% a) N-1 scalars specifying the color levels where the
-% colormaps will be joined (uses CAXIS). See NOTE below.
-% b) N integers specifying the number of colors for each
-% colormap.
-% c) N+1 scalars specifying the color limits for each
-% colormap (sets CAXIS). See NOTE below.
-% DEFAULT: Tries to generate a CMAP with default length.
-% WID - May be one (or N) positive scalar specifying the width for
-% every (or each) color band. See NOTE below.
-% DEFAULT: uses CAXIS and LEV to estimate it.
-% CLIM - 2 elements row vector specifying the color limits values. May
-% be changed at the end, because of the discretization of the
-% colormaps.
-% DEFAULT: uses CAXIS or [0 1] if there are no axes.
-% AX - Uses the specified axes handle to get/set the CMAPS. If used,
-% must be the first input.
-% DEFAULT: gca
-%
-% OUTPUT (all optional):
-% CMAP - RGB colormap output matrix, M-by-3.
-% LEV - Final levels used.
-% WID - Final widths used.
-% CLIM - Final color limits used.
-%
-% DESCRIPTION:
-% This function join two colormaps at specific level. Useful for
-% joining colormaps at zero (for example) and distinguish from positive
-% and negative values.
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-% * If no output is required or an axes handle were given, the current
-% COLORMAP and CAXIS are changed.
-% * If any of the inputs on CMAPS is a function name, 'jet', for
-% example, it can be used backwards (because CMAPPING is used) if
-% added a '-' at the beggining of its name: '-jet'.
-% * When LEV is type b) and WID is specifyed, the latter is taken as
-% relative colorbans widths between colormaps.
-%
-% EXAMPLE:
-% figure(1), clf, surf(peaks)
-% cmjoin({'copper','-summer'},2.5)
-% shading interp, colorbar, axis tight, zlabel('Meters')
-% title('Union at 2.5 m')
-% %
-% figure(2), clf, surf(peaks)
-% cmjoin({'copper','-summer'},2.5,0.5)
-% shading interp, colorbar, axis tight, zlabel('Meters')
-% title('Union at 2.5 m and different color for each 0.5 m band')
-% %
-% figure(3), clf, surf(peaks)
-% cmjoin({'copper','summer'},2.5,[2 0.5])
-% shading interp, colorbar, axis tight, zlabel('Metros')
-% title('Union at 2.5 m with lengths 2 and 0.5')
-% %
-% figure(4), clf, surf(peaks)
-% cmjoin({'copper','summer'},[-10 2.5 10],[2 0.5])
-% shading interp, colorbar, axis tight, zlabel('Metros')
-% title('Union at 2.5 m with lengths 2 and 0.5 and specified levels')
-% %
-% figure(5), clf, surf(peaks)
-% cmjoin({'copper','summer'},[10 8],[4 1])
-% shading interp, colorbar, axis tight, zlabel('Metros')
-% title('Union at 2.5 m with specified levels number of colors and widths 4:1')
-%
-% SEE ALSO:
-% COLORMAP, COLORMAPEDITOR
-% and
-% CMAPPING by Carlos Vargas
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cmjoin.m
-% VERSION: 2.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released as SETCOLORMAP. (Nov 07, 2006)
-% 1.1 English translation. (Nov 11, 2006)
-% 2.0 Rewritten and renamed code (from SETCOLORMAPS to CMJOIN. Now
-% joins multiple colormaps. Inputs changed. (Jun 08, 2009)
-
-% DISCLAIMER:
-% cmjoin.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2006,2009 Carlos Adrian Vargas Aguilera
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Parameters:
-tol = 1; % When rounding the levels.
-
-% Checks inputs and outputs number:
-if nargin<1
- error('CVARGAS:cmjoin:notEnoughInputs',...
- 'At least 1 input is required.')
-end
-if nargin>5
- error('CVARGAS:cmjoin:tooManyInputs',...
- 'At most 5 inputs are allowed.')
-end
-if nargout>4
- error('CVARGAS:cmjoin:tooManyOutputs',...
- 'At most 4 outputs are allowed.')
-end
-
-% Checks AX:
-AX = {get(get(0,'CurrentFigure'),'CurrentAxes')};
-if isempty(AX{1})
- AX = {};
-end
-if (length(varargin{1})==1) && ishandle(varargin{1}) && ...
- strcmp(get(varargin{1},'Type'),'axes')
- AX = varargin(1);
- varargin(1) = [];
- if isempty(varargin)
- error('CVARGAS:cmjoin:notEnoughInputs',...
- 'CMAPS input must be given.')
- end
-end
-
-% Checks CMAPS:
-CMAPS = varargin{1};
-Ncmaps = length(CMAPS);
-if ~iscell(CMAPS) || (Ncmaps<2)
- error('CVARGAS:cmjoin:incorrectCmapsType',...
- 'CMAPS must be a cell input with at least 2 colormaps.')
-end
-varargin(1) = [];
-Nopt = length(varargin);
-
-% Checks LEV and sets Ncol and Jlev:
-Ncol = []; % Number of colors for each colormap.
-Jlev = []; % Join levels.
-LEV = []; % Levels at which each CMAPS begins and ends.
-if (Nopt<1) || isempty(varargin{1})
- % continue as empty
-elseif ~all(isfinite(varargin{1}(:)))
- error('CVARGAS:cmjoin:incorrectLevValue',...
- 'LEV must be integers or scalars.')
-else
- Nopt1 = length(varargin{1}(:));
- if (Nopt1==Ncmaps)
- % Specifies number of colors:
- Ncol = varargin{1}(:);
- if ~all(Ncol==round(Ncol))
- error('CVARGAS:cmjoin:incorrectLevInput',...
- 'LEV must be integers when defines number of colors.')
- end
- elseif ~all(sort(varargin{1})==varargin{1})
- error('CVARGAS:cmjoin:incorrectLevInput',...
- 'LEV must be monotonically increasing.')
- elseif Nopt1==(Ncmaps-1)
- Jlev = varargin{1}(:);
- elseif Nopt1==(Ncmaps+1)
- LEV = varargin{1}(:);
- else
- error('CVARGAS:cmjoin:incorrectLevLength',...
- 'LEV must have any of length(CMAPS)+[-1 0 1] elements.')
- end
-end
-
-% Checks WID:
-Tcol = []; % Total number of colors for output colormap.
-if (Nopt<2) || isempty(varargin{2})
- % Tries to generate a colormap with default length with every colorband
- % of the same width:
- WID = [];
- if ~isempty(AX)
- Tcol = size(colormap(AX{:}),1);
- else
- Tcol = size(get(0,'DefaultFigureColormap'),1);
- end
-else
- WID = varargin{2}(:);
- WID(~isfinite(WID) | (WID<0)) = 0;
- if ~any(WID>0)
- error('CVARGAS:cmjoin:incorrectWidInput',...
- 'At least one WID must be positive.')
- end
- if length(WID)==1
- WID = repmat(abs(varargin{2}),Ncmaps,1);
- elseif length(WID)~=Ncmaps
- error('CVARGAS:cmjoin:incorrectWidLength',...
- 'WID must have length 1 or same as CMAPS.')
- end
-end
-
-% Checks CLIM:
-if (Nopt<3) || isempty(varargin{3})
- % Sets default CLIM:
- if ~isempty(LEV)
- CLIM = [LEV(1) LEV(end)];
- elseif ~isempty(AX)
- CLIM = caxis(AX{:});
- else
- CLIM = [0 1];
- end
-else
- CLIM = varargin{3}(:).';
- if (length(CLIM)==2) && (diff(CLIM)>0) && isfinite(diff(CLIM))
- % continue
- else
- error('CVARGAS:cmjoin:incorrectClimInput',...
- 'CLIM must be a valid color limits. See CAXIS for details.')
- end
-end
-
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-% Gets rounding precision:
-temp = warning('off','MATLAB:log:logOfZero');
-if ~isempty(WID)
- tempp = WID;
- precision = floor(log10(abs(tempp)));
- precision(tempp==0) = 0;
- precision = min(precision)-tol;
- % Rounds:
- WID = round(WID*10^(-precision))*10^precision;
- if ~isempty(LEV)
- LEV(1) = floor(LEV(1) *10^(-precision))*10^precision;
- LEV(2:end-1) = round(LEV(2:end-1) *10^(-precision))*10^precision;
- LEV(end) = ceil(LEV(end) *10^(-precision))*10^precision;
- elseif ~isempty(Jlev)
- Jlev(1) = floor(Jlev(1) *10^(-precision))*10^precision;
- Jlev(2:end-1) = round(Jlev(2:end-1)*10^(-precision))*10^precision;
- Jlev(end) = ceil(Jlev(end) *10^(-precision))*10^precision;
- end
-elseif ~isempty(LEV)
- tempp = diff(LEV);
- precision = floor(log10(abs(tempp)));
- precision(tempp==0) = 0;
- precision = min(precision)-tol;
- % Rounds:
- LEV(1) = floor(LEV(1) *10^(-precision))*10^precision;
- LEV(2:end-1) = round(LEV(2:end-1)*10^(-precision))*10^precision;
- LEV(end) = ceil(LEV(end) *10^(-precision))*10^precision;
-elseif ~isempty(Jlev)
- tempp = diff(Jlev);
- if isempty(tempp)
- tempp = Jlev;
- end
- precision = floor(log10(abs(tempp)));
- precision(tempp==0) = 0;
- precision = min(precision)-tol;
- % Rounds:
- if length(Jlev)==1
- Jlev = round(Jlev*10^(-precision))*10^precision;
- else
- Jlev(1) = floor(Jlev(1) *10^(-precision))*10^precision;
- Jlev(2:end-1) = round(Jlev(2:end-1)*10^(-precision))*10^precision;
- Jlev(end) = ceil(Jlev(end) *10^(-precision))*10^precision;
- end
-else
- tempp = CLIM;
- precision = floor(log10(abs(tempp)));
- precision(tempp==0) = 0;
- precision = min(precision)-tol;
-end
-% Rounds:
-CLIM(1) = floor(CLIM(1)*10^(-precision))*10^precision;
-CLIM(2) = ceil(CLIM(2)*10^(-precision))*10^precision;
-warning(temp.state,'MATLAB:log:logOfZero')
-
-% Completes levels when only join levels are specified:
-if ~isempty(Jlev)
- cedge = CLIM;
- % First limit:
- if cedge(1)<=Jlev(1)
- if ~isempty(WID)
- cedge(1) = Jlev(1);
- if WID(1)~=0
- cedge(1) = cedge(1) - WID(1)*ceil((Jlev(1)-CLIM(1))/WID(1));
- end
- else
- % continue
- end
- else
- if (Ncmaps==2)
- cedge(1) = Jlev(1);
- else
- for k = 2:length(Jlev)
- if cedge(1)<=Jlev(k)
- cedge(1) = Jlev(k-1);
- break
- else
- Jlev(k-1) = Jlev(k);
- end
- end
- end
- end
- % Last limit:
- if cedge(2)>=Jlev(end)
- if ~isempty(WID)
- cedge(2) = Jlev(end);
- if WID(end)~=0
- cedge(2) = cedge(2) + WID(end)*ceil((CLIM(2)-Jlev(end))/WID(end));
- end
- else
- % continue
- end
- else
- if (Ncmaps==2)
- cedge(2) = Jlev(end);
- else
- for k = length(Jlev)-1:-1:1
- if cedge(2)>=Jlev(k)
- cedge(2) = Jlev(k+1);
- break
- else
- Jlev(k+1) = Jlev(k);
- end
- end
- end
- end
- % New Levels:
- LEV = [cedge(1); Jlev; cedge(2)];
-
-end
-
-% Gets colorband width and sets WID:
-if ~isempty(Ncol)
- if isempty(WID)
- % Treats all colorbands with equal widths:
- Cwid = diff(CLIM)/sum(abs(Ncol));
- Cwid = round(Cwid*10^(-(precision-1)))*10^(precision-1);
- WID = repmat(Cwid,Ncmaps,1);
- LEV = [CLIM(1); CLIM(1)+cumsum(abs(Ncol))*Cwid];
- else
- % Treats WID as colorbands withs relations:
- WID = WID/min(WID(WID~=0));
- Ncol2 = WID.*Ncol;
- Cwid = diff(CLIM)/sum(abs(Ncol2));
- Cwid = round(Cwid*10^(-(precision-1)))*10^(precision-1);
- WID = WID*Cwid;
- LEV = [CLIM(1); CLIM(1)+cumsum(abs(Ncol2))*Cwid];
- end
-elseif ~isempty(WID)
- % Gets colorband width:
- Cwid = WID(1)*10^(-precision);
- for k = 2:Ncmaps
- Cwid = gcd(Cwid,WID(k)*10^(-precision));
- end
- Cwid = Cwid*10^precision;
-else
- % Gets relation between colomaps width:
- if isempty(LEV)
- r = ones(Ncmaps,1);
- d = diff(CLIM);
- else
- r = diff(LEV);
- temp = warning('off','MATLAB:log:logOfZero');
- precision = floor(log10(abs(r))); % r = Str.XXX x 10^precision.
- precision(r==0) = 0; % precision=0 if Ncol=0.
- warning(temp.state,'MATLAB:log:logOfZero')
- precision = min(precision)-tol;
- r = round(r*10^(-precision));
- rgcd = r(1);
- for k = 2:Ncmaps
- rgcd = gcd(rgcd,r(k));
- end
- r = r/rgcd;
- d = (LEV(end)-LEV(1));
- end
- % Gets colorband width:
- r = r*ceil(Tcol/sum(r));
- Cwid = d/sum(r);
- WID = repmat(Cwid,Ncmaps,1);
-end
-
-% Sets LEV when empty:
-if isempty(LEV)
- LEV = linspace(CLIM(1),CLIM(2),Ncmaps+1)';
-end
-
-% Gets number of colors for each colormap:
-Ncol2 = round(diff(LEV)/Cwid);
-if ~isempty(Ncol)
- % continue
-else
- Ncol = round(diff(LEV)./WID);
- Ncol(~isfinite(Ncol)) = 0;
- if ~all(Ncol==round(Ncol))
- error('CVARGAS:cmjoin:incorrectWidColor',...
- 'Colorband do not match each colormap width. Modify LEV or WID.')
- end
-end
-
-% Generates the colormaps:
-CMAP = zeros(sum(abs(Ncol2)),3);
-xband = zeros(sum(abs(Ncol2))+1,1);
-tempr = [];
-for k = 1:Ncmaps
- if Ncol(k)
- r = sum(abs(Ncol2(1:k-1)))+(1:abs(Ncol2(k)));
- if Ncol(k)~=Ncol2(k)
- CMAP(r,:) = cmapping(Ncol2(k),cmapping(Ncol(k),CMAPS{k}),'discrete');
- else
- CMAP(r,:) = cmapping(Ncol(k),CMAPS{k});
- end
- tempr = linspace(LEV(k),LEV(k+1),abs(Ncol2(k))+1)';
- xband(r) = tempr(1:end-1);
- end
-end
-if ~isempty(tempr)
- xband(end) = tempr(end);
-end
-
-% Cuts edges:
-ind = find((xband>=CLIM(1)) & (xband<=CLIM(2)));
-if (ind(1)~=1) && ~(any(xband==CLIM(1)))
- ind = [ind(1)-1; ind];
-end
-if (ind(end)~=length(ind)) && ~(any(xband==CLIM(2)))
- ind = [ind; ind(end)+1];
-end
-CMAP = CMAP(ind(1:end-1),:);
-clim2 = xband(ind([1 end]));
-
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-if ~nargout
- colormap(AX{:},CMAP)
- caxis(AX{:},clim2(:)');
- clear CMAP
-else
- if ~isempty(AX)
- colormap(AX{:},CMAP)
- caxis(AX{:},clim2(:)');
- end
- CLIM = clim2;
- WID = diff(LEV)./max([Ncol ones(Ncmaps,1)],[],2);
-end
-
-
-% [EOF] cmjoin.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmjoin.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmjoin.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,462 @@
+function [CMAP,LEV,WID,CLIM] = cmjoin(varargin)
+%CMJOIN Joins colormaps at certain levels.
+%
+% SYNTAX:
+% cmjoin(CMAPS)
+% cmjoin(CMAPS,LEV)
+% cmjoin(CMAPS,LEV,WID)
+% cmjoin(CMAPS,LEV,WID,CLIM)
+% cmjoin(AX,...)
+% [CMAP,LEV,WID,CLIM] = cmjoin(...);
+%
+% INPUT:
+% CMAPS - Cell with the N colormaps handles, names or RGB colors to be
+% joined. See NOTE below.
+% LEV - One of:
+% a) N-1 scalars specifying the color levels where the
+% colormaps will be joined (uses CAXIS). See NOTE below.
+% b) N integers specifying the number of colors for each
+% colormap.
+% c) N+1 scalars specifying the color limits for each
+% colormap (sets CAXIS). See NOTE below.
+% DEFAULT: Tries to generate a CMAP with default length.
+% WID - May be one (or N) positive scalar specifying the width for
+% every (or each) color band. See NOTE below.
+% DEFAULT: uses CAXIS and LEV to estimate it.
+% CLIM - 2 elements row vector specifying the color limits values. May
+% be changed at the end, because of the discretization of the
+% colormaps.
+% DEFAULT: uses CAXIS or [0 1] if there are no axes.
+% AX - Uses the specified axes handle to get/set the CMAPS. If used,
+% must be the first input.
+% DEFAULT: gca
+%
+% OUTPUT (all optional):
+% CMAP - RGB colormap output matrix, M-by-3.
+% LEV - Final levels used.
+% WID - Final widths used.
+% CLIM - Final color limits used.
+%
+% DESCRIPTION:
+% This function join two colormaps at specific level. Useful for
+% joining colormaps at zero (for example) and distinguish from positive
+% and negative values.
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+% * If no output is required or an axes handle were given, the current
+% COLORMAP and CAXIS are changed.
+% * If any of the inputs on CMAPS is a function name, 'jet', for
+% example, it can be used backwards (because CMAPPING is used) if
+% added a '-' at the beggining of its name: '-jet'.
+% * When LEV is type b) and WID is specifyed, the latter is taken as
+% relative colorbans widths between colormaps.
+%
+% EXAMPLE:
+% figure(1), clf, surf(peaks)
+% cmjoin({'copper','-summer'},2.5)
+% shading interp, colorbar, axis tight, zlabel('Meters')
+% title('Union at 2.5 m')
+% %
+% figure(2), clf, surf(peaks)
+% cmjoin({'copper','-summer'},2.5,0.5)
+% shading interp, colorbar, axis tight, zlabel('Meters')
+% title('Union at 2.5 m and different color for each 0.5 m band')
+% %
+% figure(3), clf, surf(peaks)
+% cmjoin({'copper','summer'},2.5,[2 0.5])
+% shading interp, colorbar, axis tight, zlabel('Metros')
+% title('Union at 2.5 m with lengths 2 and 0.5')
+% %
+% figure(4), clf, surf(peaks)
+% cmjoin({'copper','summer'},[-10 2.5 10],[2 0.5])
+% shading interp, colorbar, axis tight, zlabel('Metros')
+% title('Union at 2.5 m with lengths 2 and 0.5 and specified levels')
+% %
+% figure(5), clf, surf(peaks)
+% cmjoin({'copper','summer'},[10 8],[4 1])
+% shading interp, colorbar, axis tight, zlabel('Metros')
+% title('Union at 2.5 m with specified levels number of colors and widths 4:1')
+%
+% SEE ALSO:
+% COLORMAP, COLORMAPEDITOR
+% and
+% CMAPPING by Carlos Vargas
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cmjoin.m
+% VERSION: 2.0 (Jun 08, 2009) (<a href="matlab:web('http://www.mathworks.com/matlabcentral/fileexchange/authors/11258')">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released as SETCOLORMAP. (Nov 07, 2006)
+% 1.1 English translation. (Nov 11, 2006)
+% 2.0 Rewritten and renamed code (from SETCOLORMAPS to CMJOIN. Now
+% joins multiple colormaps. Inputs changed. (Jun 08, 2009)
+
+% DISCLAIMER:
+% cmjoin.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2006,2009 Carlos Adrian Vargas Aguilera
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Parameters:
+tol = 1; % When rounding the levels.
+
+% Checks inputs and outputs number:
+if nargin<1
+ error('CVARGAS:cmjoin:notEnoughInputs',...
+ 'At least 1 input is required.')
+end
+if nargin>5
+ error('CVARGAS:cmjoin:tooManyInputs',...
+ 'At most 5 inputs are allowed.')
+end
+if nargout>4
+ error('CVARGAS:cmjoin:tooManyOutputs',...
+ 'At most 4 outputs are allowed.')
+end
+
+% Checks AX:
+AX = {get(get(0,'CurrentFigure'),'CurrentAxes')};
+if isempty(AX{1})
+ AX = {};
+end
+if (length(varargin{1})==1) && ishandle(varargin{1}) && ...
+ strcmp(get(varargin{1},'Type'),'axes')
+ AX = varargin(1);
+ varargin(1) = [];
+ if isempty(varargin)
+ error('CVARGAS:cmjoin:notEnoughInputs',...
+ 'CMAPS input must be given.')
+ end
+end
+
+% Checks CMAPS:
+CMAPS = varargin{1};
+Ncmaps = length(CMAPS);
+if ~iscell(CMAPS) || (Ncmaps<2)
+ error('CVARGAS:cmjoin:incorrectCmapsType',...
+ 'CMAPS must be a cell input with at least 2 colormaps.')
+end
+varargin(1) = [];
+Nopt = length(varargin);
+
+% Checks LEV and sets Ncol and Jlev:
+Ncol = []; % Number of colors for each colormap.
+Jlev = []; % Join levels.
+LEV = []; % Levels at which each CMAPS begins and ends.
+if (Nopt<1) || isempty(varargin{1})
+ % continue as empty
+elseif ~all(isfinite(varargin{1}(:)))
+ error('CVARGAS:cmjoin:incorrectLevValue',...
+ 'LEV must be integers or scalars.')
+else
+ Nopt1 = length(varargin{1}(:));
+ if (Nopt1==Ncmaps)
+ % Specifies number of colors:
+ Ncol = varargin{1}(:);
+ if ~all(Ncol==round(Ncol))
+ error('CVARGAS:cmjoin:incorrectLevInput',...
+ 'LEV must be integers when defines number of colors.')
+ end
+ elseif ~all(sort(varargin{1})==varargin{1})
+ error('CVARGAS:cmjoin:incorrectLevInput',...
+ 'LEV must be monotonically increasing.')
+ elseif Nopt1==(Ncmaps-1)
+ Jlev = varargin{1}(:);
+ elseif Nopt1==(Ncmaps+1)
+ LEV = varargin{1}(:);
+ else
+ error('CVARGAS:cmjoin:incorrectLevLength',...
+ 'LEV must have any of length(CMAPS)+[-1 0 1] elements.')
+ end
+end
+
+% Checks WID:
+Tcol = []; % Total number of colors for output colormap.
+if (Nopt<2) || isempty(varargin{2})
+ % Tries to generate a colormap with default length with every colorband
+ % of the same width:
+ WID = [];
+ if ~isempty(AX)
+ Tcol = size(colormap(AX{:}),1);
+ else
+ Tcol = size(get(0,'DefaultFigureColormap'),1);
+ end
+else
+ WID = varargin{2}(:);
+ WID(~isfinite(WID) | (WID<0)) = 0;
+ if ~any(WID>0)
+ error('CVARGAS:cmjoin:incorrectWidInput',...
+ 'At least one WID must be positive.')
+ end
+ if length(WID)==1
+ WID = repmat(abs(varargin{2}),Ncmaps,1);
+ elseif length(WID)~=Ncmaps
+ error('CVARGAS:cmjoin:incorrectWidLength',...
+ 'WID must have length 1 or same as CMAPS.')
+ end
+end
+
+% Checks CLIM:
+if (Nopt<3) || isempty(varargin{3})
+ % Sets default CLIM:
+ if ~isempty(LEV)
+ CLIM = [LEV(1) LEV(end)];
+ elseif ~isempty(AX)
+ CLIM = caxis(AX{:});
+ else
+ CLIM = [0 1];
+ end
+else
+ CLIM = varargin{3}(:).';
+ if (length(CLIM)==2) && (diff(CLIM)>0) && isfinite(diff(CLIM))
+ % continue
+ else
+ error('CVARGAS:cmjoin:incorrectClimInput',...
+ 'CLIM must be a valid color limits. See CAXIS for details.')
+ end
+end
+
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+% Gets rounding precision:
+temp = warning('off','MATLAB:log:logOfZero');
+if ~isempty(WID)
+ tempp = WID;
+ precision = floor(log10(abs(tempp)));
+ precision(tempp==0) = 0;
+ precision = min(precision)-tol;
+ % Rounds:
+ WID = round(WID*10^(-precision))*10^precision;
+ if ~isempty(LEV)
+ LEV(1) = floor(LEV(1) *10^(-precision))*10^precision;
+ LEV(2:end-1) = round(LEV(2:end-1) *10^(-precision))*10^precision;
+ LEV(end) = ceil(LEV(end) *10^(-precision))*10^precision;
+ elseif ~isempty(Jlev)
+ Jlev(1) = floor(Jlev(1) *10^(-precision))*10^precision;
+ Jlev(2:end-1) = round(Jlev(2:end-1)*10^(-precision))*10^precision;
+ Jlev(end) = ceil(Jlev(end) *10^(-precision))*10^precision;
+ end
+elseif ~isempty(LEV)
+ tempp = diff(LEV);
+ precision = floor(log10(abs(tempp)));
+ precision(tempp==0) = 0;
+ precision = min(precision)-tol;
+ % Rounds:
+ LEV(1) = floor(LEV(1) *10^(-precision))*10^precision;
+ LEV(2:end-1) = round(LEV(2:end-1)*10^(-precision))*10^precision;
+ LEV(end) = ceil(LEV(end) *10^(-precision))*10^precision;
+elseif ~isempty(Jlev)
+ tempp = diff(Jlev);
+ if isempty(tempp)
+ tempp = Jlev;
+ end
+ precision = floor(log10(abs(tempp)));
+ precision(tempp==0) = 0;
+ precision = min(precision)-tol;
+ % Rounds:
+ if length(Jlev)==1
+ Jlev = round(Jlev*10^(-precision))*10^precision;
+ else
+ Jlev(1) = floor(Jlev(1) *10^(-precision))*10^precision;
+ Jlev(2:end-1) = round(Jlev(2:end-1)*10^(-precision))*10^precision;
+ Jlev(end) = ceil(Jlev(end) *10^(-precision))*10^precision;
+ end
+else
+ tempp = CLIM;
+ precision = floor(log10(abs(tempp)));
+ precision(tempp==0) = 0;
+ precision = min(precision)-tol;
+end
+% Rounds:
+CLIM(1) = floor(CLIM(1)*10^(-precision))*10^precision;
+CLIM(2) = ceil(CLIM(2)*10^(-precision))*10^precision;
+warning(temp.state,'MATLAB:log:logOfZero')
+
+% Completes levels when only join levels are specified:
+if ~isempty(Jlev)
+ cedge = CLIM;
+ % First limit:
+ if cedge(1)<=Jlev(1)
+ if ~isempty(WID)
+ cedge(1) = Jlev(1);
+ if WID(1)~=0
+ cedge(1) = cedge(1) - WID(1)*ceil((Jlev(1)-CLIM(1))/WID(1));
+ end
+ else
+ % continue
+ end
+ else
+ if (Ncmaps==2)
+ cedge(1) = Jlev(1);
+ else
+ for k = 2:length(Jlev)
+ if cedge(1)<=Jlev(k)
+ cedge(1) = Jlev(k-1);
+ break
+ else
+ Jlev(k-1) = Jlev(k);
+ end
+ end
+ end
+ end
+ % Last limit:
+ if cedge(2)>=Jlev(end)
+ if ~isempty(WID)
+ cedge(2) = Jlev(end);
+ if WID(end)~=0
+ cedge(2) = cedge(2) + WID(end)*ceil((CLIM(2)-Jlev(end))/WID(end));
+ end
+ else
+ % continue
+ end
+ else
+ if (Ncmaps==2)
+ cedge(2) = Jlev(end);
+ else
+ for k = length(Jlev)-1:-1:1
+ if cedge(2)>=Jlev(k)
+ cedge(2) = Jlev(k+1);
+ break
+ else
+ Jlev(k+1) = Jlev(k);
+ end
+ end
+ end
+ end
+ % New Levels:
+ LEV = [cedge(1); Jlev; cedge(2)];
+
+end
+
+% Gets colorband width and sets WID:
+if ~isempty(Ncol)
+ if isempty(WID)
+ % Treats all colorbands with equal widths:
+ Cwid = diff(CLIM)/sum(abs(Ncol));
+ Cwid = round(Cwid*10^(-(precision-1)))*10^(precision-1);
+ WID = repmat(Cwid,Ncmaps,1);
+ LEV = [CLIM(1); CLIM(1)+cumsum(abs(Ncol))*Cwid];
+ else
+ % Treats WID as colorbands withs relations:
+ WID = WID/min(WID(WID~=0));
+ Ncol2 = WID.*Ncol;
+ Cwid = diff(CLIM)/sum(abs(Ncol2));
+ Cwid = round(Cwid*10^(-(precision-1)))*10^(precision-1);
+ WID = WID*Cwid;
+ LEV = [CLIM(1); CLIM(1)+cumsum(abs(Ncol2))*Cwid];
+ end
+elseif ~isempty(WID)
+ % Gets colorband width:
+ Cwid = WID(1)*10^(-precision);
+ for k = 2:Ncmaps
+ Cwid = gcd(Cwid,WID(k)*10^(-precision));
+ end
+ Cwid = Cwid*10^precision;
+else
+ % Gets relation between colomaps width:
+ if isempty(LEV)
+ r = ones(Ncmaps,1);
+ d = diff(CLIM);
+ else
+ r = diff(LEV);
+ temp = warning('off','MATLAB:log:logOfZero');
+ precision = floor(log10(abs(r))); % r = Str.XXX x 10^precision.
+ precision(r==0) = 0; % precision=0 if Ncol=0.
+ warning(temp.state,'MATLAB:log:logOfZero')
+ precision = min(precision)-tol;
+ r = round(r*10^(-precision));
+ rgcd = r(1);
+ for k = 2:Ncmaps
+ rgcd = gcd(rgcd,r(k));
+ end
+ r = r/rgcd;
+ d = (LEV(end)-LEV(1));
+ end
+ % Gets colorband width:
+ r = r*ceil(Tcol/sum(r));
+ Cwid = d/sum(r);
+ WID = repmat(Cwid,Ncmaps,1);
+end
+
+% Sets LEV when empty:
+if isempty(LEV)
+ LEV = linspace(CLIM(1),CLIM(2),Ncmaps+1)';
+end
+
+% Gets number of colors for each colormap:
+Ncol2 = round(diff(LEV)/Cwid);
+if ~isempty(Ncol)
+ % continue
+else
+ Ncol = round(diff(LEV)./WID);
+ Ncol(~isfinite(Ncol)) = 0;
+ if ~all(Ncol==round(Ncol))
+ error('CVARGAS:cmjoin:incorrectWidColor',...
+ 'Colorband do not match each colormap width. Modify LEV or WID.')
+ end
+end
+
+% Generates the colormaps:
+CMAP = zeros(sum(abs(Ncol2)),3);
+xband = zeros(sum(abs(Ncol2))+1,1);
+tempr = [];
+for k = 1:Ncmaps
+ if Ncol(k)
+ r = sum(abs(Ncol2(1:k-1)))+(1:abs(Ncol2(k)));
+ if Ncol(k)~=Ncol2(k)
+ CMAP(r,:) = cmapping(Ncol2(k),cmapping(Ncol(k),CMAPS{k}),'discrete');
+ else
+ CMAP(r,:) = cmapping(Ncol(k),CMAPS{k});
+ end
+ tempr = linspace(LEV(k),LEV(k+1),abs(Ncol2(k))+1)';
+ xband(r) = tempr(1:end-1);
+ end
+end
+if ~isempty(tempr)
+ xband(end) = tempr(end);
+end
+
+% Cuts edges:
+ind = find((xband>=CLIM(1)) & (xband<=CLIM(2)));
+if (ind(1)~=1) && ~(any(xband==CLIM(1)))
+ ind = [ind(1)-1; ind];
+end
+if (ind(end)~=length(ind)) && ~(any(xband==CLIM(2)))
+ ind = [ind; ind(end)+1];
+end
+CMAP = CMAP(ind(1:end-1),:);
+clim2 = xband(ind([1 end]));
+
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+if ~nargout
+ colormap(AX{:},CMAP)
+ caxis(AX{:},clim2(:)');
+ clear CMAP
+else
+ if ~isempty(AX)
+ colormap(AX{:},CMAP)
+ caxis(AX{:},clim2(:)');
+ end
+ CLIM = clim2;
+ WID = diff(LEV)./max([Ncol ones(Ncmaps,1)],[],2);
+end
+
+
+% [EOF] cmjoin.m
\ No newline at end of file
Deleted: issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m
===================================================================
--- issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmlines.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,152 +0,0 @@
-function [HL,CLIN] = cmlines(varargin)
-% CMLINES Change the color of plotted lines using the colormap.
-%
-% SYNTAX:
-% cmlines
-% cmlines(CMAP)
-% cmlines(H,...)
-% [HL,CLIN] = cmlines(...);
-%
-% INPUT:
-% CMAP - Color map name or handle to be used, or a Nx3 matrix of colors
-% to be used for each of the N lines or color char specifiers.
-% DEFAULT: jet.
-% H - Handles of lines or from a axes to search for lines or from
-% figures to search for exes. If used, must be the first input.
-% DEFAULT: gca (sets colors for lines in current axes)
-%
-% OUTPUT (all optional):
-% HL - Returns the handles of lines. Is a cell array if several axes
-% handle were used as input.
-% CLIN - Returns the RGB colors of the lines. Is a cell array if
-% several axes handle were used as input.
-%
-% DESCRIPTION:
-% Ths function colored the specified lines with the spectrum of the
-% given colormap. Ideal for lines on the same axes which means increase
-% (or decrease) monotonically.
-%
-% EXAMPLE:
-% plot(reshape((1:10).^2,2,5))
-% cmlines
-%
-% NOTE:
-% * Optional inputs use its DEFAULT value when not given or [].
-% * Optional outputs may or not be called.
-%
-% SEE ALSO:
-% PLOT and COLORMAP.
-% and
-% CMAPPING
-% at http://www.mathworks.com/matlabcentral/fileexchange
-%
-%
-% ---
-% MFILE: cmlines.m
-% VERSION: 1.0 (Jun 08, 2009) (<a href="matlab:web(['www.mathworks.com/matlabcentral/fileexchange/loadAuthor.do',char(63),'objectType',char(61),'author',char(38),'objectId=1093874'])">download</a>)
-% MATLAB: 7.7.0.471 (R2008b)
-% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
-% CONTACT: nubeobscura at hotmail.com
-
-% REVISIONS:
-% 1.0 Released. (Jun 08, 2009)
-
-% DISCLAIMER:
-% cmlines.m is provided "as is" without warranty of any kind, under the
-% revised BSD license.
-
-% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
-
-% INPUTS CHECK-IN
-% -------------------------------------------------------------------------
-
-% Set defaults:
-HL = {};
-Ha = gca;
-CMAP = colormap;
-
-% Checks number of inputs:
-if nargin>2
- error('CVARGAS:cmlines:tooManyInputs', ...
- 'At most 2 inputs are allowed.')
-end
-if nargout>2
- error('CVARGAS:cmlines:tooManyOutputs', ...
- 'At most 2 outputs are allowed.')
-end
-
-% Checks handles of lines, axes or figure inputs:
-Hl = [];
-if (nargin~=0) && ~isempty(varargin{1}) && all(ishandle(varargin{1}(:))) ...
- && ((length(varargin{1})>1) || ~isa(varargin{1},'function_handle'))
- Ha = [];
- for k = 1:length(varargin{1})
- switch get(varargin{1}(k),'Type')
- case 'line'
- Hl = [Hl varargin{1}(k)];
- case 'axes'
- Ha = [Ha varargin{1}(k)];
- case {'figure','uipanel'}
- Ha = [Ha findobj(varargin{1}(k),'-depth',1,'Type','axes',...
- '-not',{'Tag','Colorbar','-or','Tag','legend'})];
- otherwise
- warning('CVARGAS:cmlines:unrecognizedHandleInput',...
- 'Ignored handle input.')
- end
- end
- varargin(1) = [];
-end
-
-% Looks for CMAP input:
-if nargin && ~isempty(varargin) && ~isempty(varargin{1})
- CMAP = varargin{1};
-end
-
-% Gets line handles:
-if ~isempty(Hl)
- HL{1} = Hl;
-end
-if ~isempty(Ha)
- for k = 1:length(Ha)
- Hl = findobj(Ha(k),'Type','line');
- if ~isempty(Hl)
- HL{end+1} = Hl;
- end
- end
-end
-if isempty(HL)
- if ~nargout
- clear HL
- end
- return
-end
-
-% -------------------------------------------------------------------------
-% MAIN
-% -------------------------------------------------------------------------
-
-% Sets color lines for each set of lines:
-Nlines = length(HL);
-CLIN = cell(1,Nlines);
-for k = 1:length(HL)
-
- % Interpolates the color map:
- CLIN{k} = cmapping(length(HL{k}),CMAP);
-
- % Changes lines colors:
- set(HL{k},{'Color'},mat2cell(CLIN{k},ones(1,size(CLIN{k},1)),3))
-
-end
-
-% OUTPUTS CHECK-OUT
-% -------------------------------------------------------------------------
-
-if ~nargout
- clear HL
-elseif Nlines==1
- HL = HL{1};
- CLIN = CLIN{1};
-end
-
-
-% [EOF] cmlines.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m (from rev 11994, issm/trunk-jpl/externalpackages/cm_and_cb_utilities/cmlines.m)
===================================================================
--- issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m (rev 0)
+++ issm/trunk/externalpackages/cm_and_cb_utilities/cmlines.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,152 @@
+function [HL,CLIN] = cmlines(varargin)
+% CMLINES Change the color of plotted lines using the colormap.
+%
+% SYNTAX:
+% cmlines
+% cmlines(CMAP)
+% cmlines(H,...)
+% [HL,CLIN] = cmlines(...);
+%
+% INPUT:
+% CMAP - Color map name or handle to be used, or a Nx3 matrix of colors
+% to be used for each of the N lines or color char specifiers.
+% DEFAULT: jet.
+% H - Handles of lines or from a axes to search for lines or from
+% figures to search for exes. If used, must be the first input.
+% DEFAULT: gca (sets colors for lines in current axes)
+%
+% OUTPUT (all optional):
+% HL - Returns the handles of lines. Is a cell array if several axes
+% handle were used as input.
+% CLIN - Returns the RGB colors of the lines. Is a cell array if
+% several axes handle were used as input.
+%
+% DESCRIPTION:
+% Ths function colored the specified lines with the spectrum of the
+% given colormap. Ideal for lines on the same axes which means increase
+% (or decrease) monotonically.
+%
+% EXAMPLE:
+% plot(reshape((1:10).^2,2,5))
+% cmlines
+%
+% NOTE:
+% * Optional inputs use its DEFAULT value when not given or [].
+% * Optional outputs may or not be called.
+%
+% SEE ALSO:
+% PLOT and COLORMAP.
+% and
+% CMAPPING
+% at http://www.mathworks.com/matlabcentral/fileexchange
+%
+%
+% ---
+% MFILE: cmlines.m
+% VERSION: 1.0 (Jun 08, 2009) (<a href="matlab:web(['www.mathworks.com/matlabcentral/fileexchange/loadAuthor.do',char(63),'objectType',char(61),'author',char(38),'objectId=1093874'])">download</a>)
+% MATLAB: 7.7.0.471 (R2008b)
+% AUTHOR: Carlos Adrian Vargas Aguilera (MEXICO)
+% CONTACT: nubeobscura at hotmail.com
+
+% REVISIONS:
+% 1.0 Released. (Jun 08, 2009)
+
+% DISCLAIMER:
+% cmlines.m is provided "as is" without warranty of any kind, under the
+% revised BSD license.
+
+% Copyright (c) 2009 Carlos Adrian Vargas Aguilera
+
+% INPUTS CHECK-IN
+% -------------------------------------------------------------------------
+
+% Set defaults:
+HL = {};
+Ha = gca;
+CMAP = colormap;
+
+% Checks number of inputs:
+if nargin>2
+ error('CVARGAS:cmlines:tooManyInputs', ...
+ 'At most 2 inputs are allowed.')
+end
+if nargout>2
+ error('CVARGAS:cmlines:tooManyOutputs', ...
+ 'At most 2 outputs are allowed.')
+end
+
+% Checks handles of lines, axes or figure inputs:
+Hl = [];
+if (nargin~=0) && ~isempty(varargin{1}) && all(ishandle(varargin{1}(:))) ...
+ && ((length(varargin{1})>1) || ~isa(varargin{1},'function_handle'))
+ Ha = [];
+ for k = 1:length(varargin{1})
+ switch get(varargin{1}(k),'Type')
+ case 'line'
+ Hl = [Hl varargin{1}(k)];
+ case 'axes'
+ Ha = [Ha varargin{1}(k)];
+ case {'figure','uipanel'}
+ Ha = [Ha findobj(varargin{1}(k),'-depth',1,'Type','axes',...
+ '-not',{'Tag','Colorbar','-or','Tag','legend'})];
+ otherwise
+ warning('CVARGAS:cmlines:unrecognizedHandleInput',...
+ 'Ignored handle input.')
+ end
+ end
+ varargin(1) = [];
+end
+
+% Looks for CMAP input:
+if nargin && ~isempty(varargin) && ~isempty(varargin{1})
+ CMAP = varargin{1};
+end
+
+% Gets line handles:
+if ~isempty(Hl)
+ HL{1} = Hl;
+end
+if ~isempty(Ha)
+ for k = 1:length(Ha)
+ Hl = findobj(Ha(k),'Type','line');
+ if ~isempty(Hl)
+ HL{end+1} = Hl;
+ end
+ end
+end
+if isempty(HL)
+ if ~nargout
+ clear HL
+ end
+ return
+end
+
+% -------------------------------------------------------------------------
+% MAIN
+% -------------------------------------------------------------------------
+
+% Sets color lines for each set of lines:
+Nlines = length(HL);
+CLIN = cell(1,Nlines);
+for k = 1:length(HL)
+
+ % Interpolates the color map:
+ CLIN{k} = cmapping(length(HL{k}),CMAP);
+
+ % Changes lines colors:
+ set(HL{k},{'Color'},mat2cell(CLIN{k},ones(1,size(CLIN{k},1)),3))
+
+end
+
+% OUTPUTS CHECK-OUT
+% -------------------------------------------------------------------------
+
+if ~nargout
+ clear HL
+elseif Nlines==1
+ HL = HL{1};
+ CLIN = CLIN{1};
+end
+
+
+% [EOF] cmlines.m
\ No newline at end of file
Copied: issm/trunk/externalpackages/dakota/dakota_njs_notes_macos64.txt (from rev 11994, issm/trunk-jpl/externalpackages/dakota/dakota_njs_notes_macos64.txt)
===================================================================
--- issm/trunk/externalpackages/dakota/dakota_njs_notes_macos64.txt (rev 0)
+++ issm/trunk/externalpackages/dakota/dakota_njs_notes_macos64.txt 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,5 @@
+Matlab might try to use its local /Applications/MATLAB_R2011b.app/sys/os/maci64/ fortran libraries
+instead of the gfortran package libraries. Matlab library is missing some symbols, so you might
+need to link to the actual gfortran library
+sudo cp /Applications/MATLAB_R2011b.app/sys/os/maci64/libgfortran.3.dynlib /Applications/MATLAB_R2011b.app/sys/os/maci64/libgfortran.3.dynlib.matlab
+sudo ln -s /usr/local/gfortran/lib/gcc/x86_64-apple-darwin10/4.6.2/libgfortran.3.dylib libgfortran.3.dylib
Copied: issm/trunk/externalpackages/dakota/install-linux64-murdo.sh (from rev 11994, issm/trunk-jpl/externalpackages/dakota/install-linux64-murdo.sh)
===================================================================
--- issm/trunk/externalpackages/dakota/install-linux64-murdo.sh (rev 0)
+++ issm/trunk/externalpackages/dakota/install-linux64-murdo.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,96 @@
+#!/bin/bash
+
+#Get number of cpus
+NUMCPUS=$1;
+
+#Some cleanup
+rm -rf Dakota
+rm -rf src
+rm -rf install
+mkdir src install
+
+#Untar
+tar -zxvf Dakota_4_3.src.tar.gz
+
+#Move Dakota to src directory
+mv Dakota/* src
+rm -rf Dakota
+
+#Apply patches
+patch src/src/ParallelLibrary.C ./ParallelLibrary.C.patch
+patch src/src/ParallelLibrary.H ./ParallelLibrary.H.patch
+patch src/src/NIDRProblemDescDB.C ./NIDRProblemDescDB.C.patch
+patch src/src/NonDSampling.C ./NonDSampling.C.patch
+patch src/src/NonDLocalReliability.C ./NonDLocalReliability.C.patch
+patch src/src/NonDUnilevelRBDO.C ./NonDUnilevelRBDO.C.patch # source not even used?
+#patch -R src/packages/Pecos/src/LHSDriver.cpp ./LHSDriver.cpp.patch
+
+#Configure dakota
+cd src
+./configure \
+ --prefix="$ISSM_TIER/externalpackages/dakota/install" \
+ --without-graphics \
+ --with-pic \
+ --disable-mpi \
+ --with-blas=/usr/lib64/libblas.so.3.1.1 \
+ --with-lapack=/usr/lib64/liblapack.so.3.1.1
+cd ..
+
+#Before compiling, if running on 64 bits, we need to active fPIC compilation. Some packages
+#do not register -fPIC in Dakota, which is a problem. Edit the faulty Makefiles and add the -fPIC
+#flag to the compilation.
+cat ./src/methods/NCSUOpt/Makefile | sed 's/FFLAGS = -g -O2/FFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/NCSUOpt/Makefile
+
+cat ./src/methods/acro/packages/pebbl/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+mv temp ./src/methods/acro/packages/pebbl/src/Makefile
+
+cat ./src/methods/hopspack/src-nappspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-nappspack/Makefile
+
+cat ./src/methods/hopspack/src-cddlib/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-cddlib/Makefile
+
+cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-shared/Makefile
+
+cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-shared/Makefile
+
+cat ./src/methods/hopspack/src-conveyor/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-conveyor/Makefile
+
+cat ./src/methods/hopspack/src-appspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/methods/hopspack/src-appspack/Makefile
+
+cat ./src/methods/acro/packages/colin/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+mv temp ./src/methods/acro/packages/colin/src/Makefile
+
+cat ./src/methods/acro/packages/coliny/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
+mv temp ./src/methods/acro/packages/coliny/src/Makefile
+
+cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CFLAGS = -O2/CFLAGS = -O2 -fPIC/g' > temp
+mv temp ./src/methods/acro/packages/tpl/3po/Makefile
+
+cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CFLAGS = -O2 -fpermissive -fPIC/g' > temp
+mv temp ./src/methods/acro/packages/tpl/3po/Makefile
+
+cat ./src/packages/ampl/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+mv temp ./src/packages/ampl/Makefile
+
+#Compile and install dakota
+cd src
+if [ -z $NUMCPUS ];
+then
+ make
+ make install
+else
+ make -j $NUMCPUS
+ make -j $NUMCPUS install
+fi
+cd ..
+
+#Weird behaviour of Dakota: libamplsolver.a and amplsolver.a are not the same thing!
+cd install/lib
+mv libamplsolver.a libamplsolver.a.bak
+ln -s ../../src/packages/ampl/amplsolver.a ./libamplsolver.a
Modified: issm/trunk/externalpackages/dakota/install-macosx64.sh
===================================================================
--- issm/trunk/externalpackages/dakota/install-macosx64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/dakota/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,11 +27,13 @@
#Configure dakota
cd src
-./configure \
- --prefix="$ISSM_TIER/externalpackages/dakota/install" \
- --without-graphics \
- --with-pic \
- --disable-mpi
+./configure \
+ --prefix="$ISSM_TIER/externalpackages/dakota/install" \
+ --without-graphics \
+ --with-pic \
+ --disable-mpi \
+ --with-blas="-L$ISSM_TIER/externalpackages/petsc/install/lib -lfblas " \
+ --with-lapack="-L$ISSM_TIER/externalpackages/petsc/install/lib -lflapack -lPLAPACK "
cd ..
#Before compiling, if running on 64 bits, we need to active fPIC compilation. Some packages
@@ -43,7 +45,7 @@
cat ./src/methods/acro/packages/pebbl/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
mv temp ./src/methods/acro/packages/pebbl/src/Makefile
-cat ./src/methods/hopspack/src-nappspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+cat ./src/methods/hopspack/src-nappspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/methods/hopspack/src-nappspack/Makefile
cat ./src/methods/hopspack/src-cddlib/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
@@ -52,13 +54,13 @@
cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/methods/hopspack/src-shared/Makefile
-cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+cat ./src/methods/hopspack/src-shared/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/methods/hopspack/src-shared/Makefile
cat ./src/methods/hopspack/src-conveyor/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/methods/hopspack/src-conveyor/Makefile
-cat ./src/methods/hopspack/src-appspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
+cat ./src/methods/hopspack/src-appspack/Makefile | sed 's/CXXFLAGS = -g -O2/CXXFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/methods/hopspack/src-appspack/Makefile
cat ./src/methods/acro/packages/colin/src/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CXXFLAGS = -O2 -fpermissive -fPIC/g' > temp
@@ -73,7 +75,7 @@
cat ./src/methods/acro/packages/tpl/3po/Makefile | sed 's/CXXFLAGS = -O2 -fpermissive/CFLAGS = -O2 -fpermissive -fPIC/g' > temp
mv temp ./src/methods/acro/packages/tpl/3po/Makefile
-cat ./src/packages/ampl/Makefile | sed 's/CFLAGS = -g -O2/CFLAGS = -g -O2 -fPIC/g' > temp
+cat ./src/packages/ampl/Makefile | sed 's/CFLAGS = -g -O2 -D_NONSTD_SOURCE/CFLAGS = -g -O2 -fPIC/g' > temp
mv temp ./src/packages/ampl/Makefile
#Compile and install dakota
Modified: issm/trunk/externalpackages/dyson/ldap.pl
===================================================================
--- issm/trunk/externalpackages/dyson/ldap.pl 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/dyson/ldap.pl 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,25 +1,25 @@
-#!/usr/bin/perl
-#
-# LDAP.PL - Acquire JPL LDAP data and pare down to user IDs - 2011-08-01
-#
-$cat="/bin/cat"; $srt="/bin/sort"; $ldb="/usr/bin/ldapsearch"; # Binary locations (change as needed)
-$lds="ldap.jpl.nasa.gov"; $ou="ou=personnel,dc=dir,dc=jpl,dc=nasa,dc=gov"; # Define LDAP server & organization
-$bn="jplbadgenumber"; $txt="$bn".".txt"; $db="jplusers.db"; # Initialize values
-#
-system(`$ldb -x -h $lds -b $ou uid=* filter $bn > $txt`); # Execute LDAPsearch, write to file
-#
-open(I,"<$txt"); # Open input file handle
- open(O,">badges.tmp"); # Open output file handle
- while (<I>) { chomp($_); # Spool through input file
- if ($_=~"^uid=") { # If line begins with UID value,
- $_=~s/uid=//; $_=~s/,(.*)$//; $_=~s/\n//; # strip line of extraneous data
- if (!($_=~/^\d\d\d\d\d\d/)) { print O "$_\n"; } # If UID is non-numeric, print output
- } # Close condition
- } # Close spool
- close(O); # Close output file handle
-close(I); # Close input file handle
-#
-system(`$cat badges.tmp |$srt -u > $db 2>/dev/null`); # Sort output
-unlink("badges.tmp"); unlink("$txt"); # Unlink temp files
-#
-# EOF - 2011-08-01 - Jay Dyson <jdyson at jpl.nasa.gov>
+#!/usr/bin/perl
+#
+# LDAP.PL - Acquire JPL LDAP data and pare down to user IDs - 2011-08-01
+#
+$cat="/bin/cat"; $srt="/bin/sort"; $ldb="/usr/bin/ldapsearch"; # Binary locations (change as needed)
+$lds="ldap.jpl.nasa.gov"; $ou="ou=personnel,dc=dir,dc=jpl,dc=nasa,dc=gov"; # Define LDAP server & organization
+$bn="jplbadgenumber"; $txt="$bn".".txt"; $db="jplusers.db"; # Initialize values
+#
+system(`$ldb -x -h $lds -b $ou uid=* uid > $txt`); # Execute LDAPsearch, write to file
+#
+open(I,"<$txt"); # Open input file handle
+ open(O,">badges.tmp"); # Open output file handle
+ while (<I>) { chomp($_); # Spool through input file
+ if ($_ =~ "^uid: ") { # If line begins with UID value,
+ $_=~s/uid: //; $_=~s/,(.*)$//; $_=~s/\n//; # strip line of extraneous data
+ if (!($_=~/^\d\d\d\d\d\d/)) { print O "$_\n"; } # If UID is non-numeric, print output
+ } # Close condition
+ } # Close spool
+ close(O); # Close output file handle
+close(I); # Close input file handle
+#
+system(`$cat badges.tmp |$srt -u > $db 2>/dev/null`); # Sort output
+unlink("badges.tmp"); unlink("$txt"); # Unlink temp files
+#
+# EOF - 2011-08-01 - Jay Dyson <jdyson at jpl.nasa.gov>
Copied: issm/trunk/externalpackages/export_fig/copyfig.m (from rev 11994, issm/trunk-jpl/externalpackages/export_fig/copyfig.m)
===================================================================
--- issm/trunk/externalpackages/export_fig/copyfig.m (rev 0)
+++ issm/trunk/externalpackages/export_fig/copyfig.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,33 @@
+%COPYFIG Create a copy of a figure, without changing the figure
+%
+% Examples:
+% fh_new = copyfig(fh_old)
+%
+% This function will create a copy of a figure, but not change the figure,
+% as copyobj sometimes does, e.g. by changing legends.
+%
+% IN:
+% fh_old - The handle of the figure to be copied. Default: gcf.
+%
+% OUT:
+% fh_new - The handle of the created figure.
+
+% Copyright (C) Oliver Woodford 2012
+
+function fh = copyfig(fh)
+% Set the default
+if nargin == 0
+ fh = gcf;
+end
+% Is there a legend?
+if isempty(findobj(fh, 'Type', 'axes', 'Tag', 'legend'))
+ % Safe to copy using copyobj
+ fh = copyobj(fh, 0);
+else
+ % copyobj will change the figure, so save and then load it instead
+ tmp_nam = [tempname '.fig'];
+ hgsave(fh, tmp_nam);
+ fh = hgload(tmp_nam);
+ delete(tmp_nam);
+end
+return
\ No newline at end of file
Modified: issm/trunk/externalpackages/export_fig/eps2pdf.m
===================================================================
--- issm/trunk/externalpackages/export_fig/eps2pdf.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/eps2pdf.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -32,7 +32,7 @@
% output. A larger value gives a higher quality. quality > 100
% gives lossless output. Default: ghostscript prepress default.
-% Copyright (C) Oliver Woodford 2009-2010
+% Copyright (C) Oliver Woodford 2009-2011
% Suggestion of appending pdf files provided by Matt C at:
% http://www.mathworks.com/matlabcentral/fileexchange/23629
@@ -42,6 +42,8 @@
% Thank you to Scott for pointing out the subsampling of very small images,
% which was fixed for lossless compression settings.
+% 9/12/2011 Pass font path to ghostscript.
+
function eps2pdf(source, dest, crop, append, gray, quality)
% Intialise the options string for ghostscript
options = ['-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="' dest '"'];
@@ -49,6 +51,11 @@
if nargin < 3 || crop
options = [options ' -dEPSCrop'];
end
+% Set the font path
+fp = font_path();
+if ~isempty(fp)
+ options = [options ' -sFONTPATH="' fp '"'];
+end
% Set the grayscale option
if nargin > 4 && gray
options = [options ' -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray'];
@@ -102,3 +109,26 @@
end
return
+% Function to return (and create, where necessary) the font path
+function fp = font_path()
+fp = user_string('gs_font_path');
+if ~isempty(fp)
+ return
+end
+% Create the path
+% Start with the default path
+fp = getenv('GS_FONTPATH');
+% Add on the typical directories for a given OS
+if ispc
+ if ~isempty(fp)
+ fp = [fp ';'];
+ end
+ fp = [fp getenv('WINDIR') filesep 'Fonts'];
+else
+ if ~isempty(fp)
+ fp = [fp ':'];
+ end
+ fp = [fp '/usr/share/fonts:/usr/local/share/fonts:/usr/share/fonts/X11:/usr/local/share/fonts/X11:/usr/share/fonts/truetype:/usr/local/share/fonts/truetype'];
+end
+user_string('gs_font_path', fp);
+return
Modified: issm/trunk/externalpackages/export_fig/export_fig.m
===================================================================
--- issm/trunk/externalpackages/export_fig/export_fig.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/export_fig.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -133,7 +133,7 @@
%
% See also PRINT, SAVEAS.
-% Copyright (C) Oliver Woodford 2008-2011
+% Copyright (C) Oliver Woodford 2008-2012
% The idea of using ghostscript is inspired by Peder Axensten's SAVEFIG
% (fex id: 10889) which is itself inspired by EPS2PDF (fex id: 5782).
@@ -155,7 +155,14 @@
% Thanks to Tammy Threadgill for reporting a bug where an axes is not
% isolated from gui objects.
+% 23/02/12: Ensure that axes limits don't change during printing
+% 14/03/12: Fix bug in fixing the axes limits (thanks to Tobias Lamour for
+% reporting it).
+
function [im alpha] = export_fig(varargin)
+% Make sure the figure is rendered correctly _now_ so that properties like
+% axes limits are up-to-date.
+drawnow;
% Parse the input arguments
[fig options] = parse_args(nargout, varargin{:});
% Isolate the subplot, if it is one
@@ -183,6 +190,16 @@
set(fontu, 'FontUnits', 'points');
end
end
+% MATLAB "feature": axes limits can change when printing
+Hlims = findall(fig, 'Type', 'axes');
+if ~cls
+ % Record the old axes limit modes
+ Xlims = make_cell(get(Hlims, 'XLimMode'));
+ Ylims = make_cell(get(Hlims, 'YLimMode'));
+ Zlims = make_cell(get(Hlims, 'ZLimMode'));
+end
+% Set all axes limit modes to manual, so the limits can't change
+set(Hlims, 'XLimMode', 'manual', 'YLimMode', 'manual', 'ZLimMode', 'manual');
% Set to print exactly what is there
set(fig, 'InvertHardcopy', 'off');
% Set the renderer
@@ -417,6 +434,10 @@
else
% Reset the hardcopy mode
set(fig, 'InvertHardcopy', old_mode);
+ % Reset the axes limit modes
+ for a = 1:numel(Hlims)
+ set(Hlims(a), 'XLimMode', Xlims{a}, 'YLimMode', Ylims{a}, 'ZLimMode', Zlims{a});
+ end
end
return
@@ -718,3 +739,10 @@
function b = isbitmap(options)
b = options.png || options.tif || options.jpg || options.bmp || options.im || options.alpha;
return
+
+% Helper function
+function A = make_cell(A)
+ if ~iscell(A)
+ A = {A};
+ end
+
Modified: issm/trunk/externalpackages/export_fig/isolate_axes.m
===================================================================
--- issm/trunk/externalpackages/export_fig/isolate_axes.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/isolate_axes.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,9 +17,11 @@
% OUT:
% fh - The handle of the created figure.
-% Copyright (C) Oliver Woodford 2011
+% Copyright (C) Oliver Woodford 2011-2012
% Thank you to Rosella Blatt for reporting a bug to do with axes in GUIs
+% 16/3/2012 Moved copyfig to its own function. Thanks to Bob Fratantonio
+% for pointing out that the function is also used in export_fig.m.
function fh = isolate_axes(ah, vis)
% Make sure we have an array of handles
@@ -105,18 +107,4 @@
h = get(h, 'parent');
end
end
-return
-
-function fh = copyfig(fh)
-% Is there a legend?
-if isempty(findobj(fh, 'Type', 'axes', 'Tag', 'legend'))
- % Safe to copy using copyobj
- fh = copyobj(fh, 0);
-else
- % copyobj will change the figure, so save and then load it instead
- tmp_nam = [tempname '.fig'];
- hgsave(fh, tmp_nam);
- fh = hgload(tmp_nam);
- delete(tmp_nam);
-end
return
\ No newline at end of file
Modified: issm/trunk/externalpackages/export_fig/license.txt
===================================================================
--- issm/trunk/externalpackages/export_fig/license.txt 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/license.txt 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-Copyright (c) 2011, Oliver Woodford
+Copyright (c) 2012, Oliver Woodford
All rights reserved.
Redistribution and use in source and binary forms, with or without
Modified: issm/trunk/externalpackages/export_fig/print2array.m
===================================================================
--- issm/trunk/externalpackages/export_fig/print2array.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/print2array.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -36,6 +36,11 @@
% size and erasemode settings. Makes it a bit slower, but more reliable.
% Thanks to Phil Trinh and Meelis Lootus for reporting the issues.
+% 9/12/2011 Pass font path to ghostscript.
+
+% 27/1/2012 Bug fix affecting painters rendering tall figures. Thanks to
+% Ken Campbell for reporting it.
+
function [A bcol] = print2array(fig, res, renderer)
% Generate default input arguments, if needed
if nargin < 2
@@ -65,8 +70,17 @@
tmp_eps = [tempname '.eps'];
print2eps(tmp_eps, fig, renderer, '-loose');
try
- % Export to tiff using ghostscript
- ghostscript(['-dEPSCrop -q -dNOPAUSE -dBATCH ' res_str ' -sDEVICE=tiff24nc -sOutputFile="' tmp_nam '" "' tmp_eps '"']);
+ % Initialize the command to export to tiff using ghostscript
+ cmd_str = ['-dEPSCrop -q -dNOPAUSE -dBATCH ' res_str ' -sDEVICE=tiff24nc'];
+ % Set the font path
+ fp = font_path();
+ if ~isempty(fp)
+ cmd_str = [cmd_str ' -sFONTPATH="' fp '"'];
+ end
+ % Add the filenames
+ cmd_str = [cmd_str ' -sOutputFile="' tmp_nam '" "' tmp_eps '"'];
+ % Execute the ghostscript command
+ ghostscript(cmd_str);
catch
% Delete the intermediate file
delete(tmp_eps);
@@ -104,7 +118,7 @@
break;
end
end
- bcol = median([reshape(A(:,[l r],:), [], size(A, 3)); reshape(A(:,[t b],:), [], size(A, 3))], 1);
+ bcol = median([reshape(A(:,[l r],:), [], size(A, 3)); reshape(A([t b],:,:), [], size(A, 3))], 1);
for c = 1:size(A, 3)
A(:,[1:l-1, r+1:end],c) = bcol(c);
A([1:t-1, b+1:end],:,c) = bcol(c);
@@ -155,3 +169,27 @@
end
end
return
+
+% Function to return (and create, where necessary) the font path
+function fp = font_path()
+fp = user_string('gs_font_path');
+if ~isempty(fp)
+ return
+end
+% Create the path
+% Start with the default path
+fp = getenv('GS_FONTPATH');
+% Add on the typical directories for a given OS
+if ispc
+ if ~isempty(fp)
+ fp = [fp ';'];
+ end
+ fp = [fp getenv('WINDIR') filesep 'Fonts'];
+else
+ if ~isempty(fp)
+ fp = [fp ':'];
+ end
+ fp = [fp '/usr/share/fonts:/usr/local/share/fonts:/usr/share/fonts/X11:/usr/local/share/fonts/X11:/usr/share/fonts/truetype:/usr/local/share/fonts/truetype'];
+end
+user_string('gs_font_path', fp);
+return
Modified: issm/trunk/externalpackages/export_fig/print2eps.m
===================================================================
--- issm/trunk/externalpackages/export_fig/print2eps.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/export_fig/print2eps.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,9 +5,12 @@
% print2eps(filename, fig_handle)
% print2eps(filename, fig_handle, options)
%
-% This function saves a figure as an eps file, and improves the line style,
-% making dashed lines more like those on screen and giving grid lines their
-% own dotted style.
+% This function saves a figure as an eps file, with two improvements over
+% MATLAB's print command. First, it improves the line style, making dashed
+% lines more like those on screen and giving grid lines their own dotted
+% style. Secondly, it substitutes original font names back into the eps
+% file, where these have been changed by MATLAB, for up to 11 different
+% fonts.
%
%IN:
% filename - string containing the name (optionally including full or
@@ -17,7 +20,7 @@
% fig_handle - The handle of the figure to be saved. Default: gcf.
% options - Additional parameter strings to be passed to print.
-% Copyright (C) Oliver Woodford 2008-2011
+% Copyright (C) Oliver Woodford 2008-2012
% The idea of editing the EPS file to change line styles comes from Jiro
% Doke's FIXPSLINESTYLE (fex id: 17928)
@@ -28,6 +31,19 @@
% Thanks to Mathieu Morlighem for reporting the issue and obtaining a fix
% from TMW.
+% 8/12/2011 Added ability to correct fonts. Several people have requested
+% this at one time or another, and also pointed me to printeps (fex id:
+% 7501), so thank you to them. My implementation (which was not inspired by
+% printeps - I'd already had the idea for my approach) goes
+% slightly further in that it allows multiple fonts to be swapped.
+
+% 14/12/2011 Fix bug affecting font names containing spaces. Many thanks to
+% David Szwer for reporting the issue.
+
+% 25/1/2012 Add a font not to be swapped. Thanks to Anna Rafferty and Adam
+% Jackson for reporting the issue. Also fix a bug whereby using a font
+% alias can lead to another font being swapped in.
+
function print2eps(name, fig, varargin)
options = {'-depsc2'};
if nargin < 2
@@ -39,6 +55,37 @@
if numel(name) < 5 || ~strcmpi(name(end-3:end), '.eps')
name = [name '.eps']; % Add the missing extension
end
+% Find all the used fonts in the figure
+fonts = get(findall(fig, '-property', 'FontName'), 'FontName');
+if ~iscell(fonts)
+ fonts = {fonts};
+end
+fonts = unique(fonts);
+% Map supported font aliases onto the correct name
+for a = 1:numel(fonts)
+ f = lower(fonts{a});
+ f(f==' ') = [];
+ switch f
+ case {'times', 'timesnewroman', 'times-roman'}
+ fonts{a} = 'Times-Roman';
+ case {'arial', 'helvetica'}
+ fonts{a} = 'Helvetica';
+ case {'newcenturyschoolbook', 'newcenturyschlbk'}
+ fonts{a} = 'NewCenturySchlbk';
+ otherwise
+ end
+end
+% Determine the font swap table
+matlab_fonts = {'Helvetica', 'Times-Roman', 'Palatino', 'Bookman', 'Helvetica-Narrow', 'Symbol', ...
+ 'AvantGarde', 'NewCenturySchlbk', 'Courier', 'ZapfChancery', 'ZapfDingbats'};
+require_swap = find(~ismember(fonts, matlab_fonts));
+unused_fonts = find(~ismember(matlab_fonts, fonts));
+font_swap = min(numel(require_swap), numel(unused_fonts));
+font_swap = [reshape(matlab_fonts(unused_fonts(1:font_swap)), 1, font_swap); reshape(fonts(require_swap(1:font_swap)), 1, font_swap)];
+% Swap the fonts
+for a = 1:size(font_swap, 2)
+ set(findall(fig, 'FontName', font_swap{2,a}), 'FontName', font_swap{1,a});
+end
% Set paper size
old_mode = get(fig, 'PaperPositionMode');
set(fig, 'PaperPositionMode', 'auto');
@@ -62,6 +109,20 @@
set(white_text_handles, 'Color', [1 1 1]);
% Reset paper size
set(fig, 'PaperPositionMode', old_mode);
+% Correct the fonts
+if ~isempty(font_swap)
+ % Reset the font names in the figure
+ for a = 1:size(font_swap, 2)
+ set(findall(fig, 'FontName', font_swap{1,a}), 'FontName', font_swap{2,a});
+ end
+ % Replace the font names in the eps file
+ try
+ swap_fonts(name, font_swap{:});
+ catch
+ warning('swap_fonts() failed. This is usually because the figure contains a large number of patch objects. Consider exporting to a bitmap format in this case.');
+ return
+ end
+end
% Fix the line styles
try
fix_lines(name);
@@ -69,3 +130,36 @@
warning('fix_lines() failed. This is usually because the figure contains a large number of patch objects. Consider exporting to a bitmap format in this case.');
end
return
+
+function swap_fonts(fname, varargin)
+% Read in the file
+fh = fopen(fname, 'r');
+if fh == -1
+ error('File %s not found.', fname);
+end
+try
+ fstrm = fread(fh, '*char')';
+catch ex
+ fclose(fh);
+ rethrow(ex);
+end
+fclose(fh);
+
+% Replace the font names
+for a = 1:2:numel(varargin)
+ fstrm = regexprep(fstrm, [varargin{a} '-?[a-zA-Z]*\>'], varargin{a+1}(~isspace(varargin{a+1})));
+end
+
+% Write out the updated file
+fh = fopen(fname, 'w');
+if fh == -1
+ error('Unable to open %s for writing.', fname2);
+end
+try
+ fwrite(fh, fstrm, 'char*1');
+catch ex
+ fclose(fh);
+ rethrow(ex);
+end
+fclose(fh);
+return
Deleted: issm/trunk/externalpackages/geos5/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/geos5/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/geos5/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-#Some cleanup
-rm -rf GEOSagcm
-#svn download
-svn --username eric.larour at jpl.nasa.gov checkout http://geos5.org/svn/branches/Fortuna-2_5_p1 GEOSagcm
Copied: issm/trunk/externalpackages/geos5/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/geos5/install.sh)
===================================================================
--- issm/trunk/externalpackages/geos5/install.sh (rev 0)
+++ issm/trunk/externalpackages/geos5/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+#Some cleanup
+rm -rf GEOSagcm
+#svn download
+svn --username eric.larour at jpl.nasa.gov checkout http://geos5.org/svn/branches/Fortuna-2_5_p1 GEOSagcm
Property changes on: issm/trunk/externalpackages/gmake
___________________________________________________________________
Added: svn:ignore
+ install
src
Deleted: issm/trunk/externalpackages/gmake/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/gmake/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/gmake/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-#Some cleanup
-rm -rf install src make-3.82
-mkdir install src
-
-#Untar
-tar -zxvf make-3.82.tar.gz
-
-#Move make into install directory
-mv make-3.82/* src
-rm -rf make-3.82
-
-#Apply patches
-cd src
-
-#Configure and compile:
-./configure --prefix=$ISSM_TIER/externalpackages/gmake/install
-
-if [ -z $1 ]; then
- make
- make install
-else
- make -j $1;
- make -j $1 install;
-fi
Copied: issm/trunk/externalpackages/gmake/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/gmake/install.sh)
===================================================================
--- issm/trunk/externalpackages/gmake/install.sh (rev 0)
+++ issm/trunk/externalpackages/gmake/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+#Some cleanup
+rm -rf install src make-3.82
+mkdir install src
+
+#Untar
+tar -zxvf make-3.82.tar.gz
+
+#Move make into install directory
+mv make-3.82/* src
+rm -rf make-3.82
+
+#Apply patches
+cd src
+
+#Configure and compile:
+./configure --prefix=$ISSM_TIER/externalpackages/gmake/install
+
+if [ -z $1 ]; then
+ make
+ make install
+else
+ make -j $1;
+ make -j $1 install;
+fi
Deleted: issm/trunk/externalpackages/gmake/make-3.82.tar.gz
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/gmake/make-3.82.tar.gz (from rev 11994, issm/trunk-jpl/externalpackages/gmake/make-3.82.tar.gz)
===================================================================
(Binary files differ)
Property changes on: issm/trunk/externalpackages/gsl
___________________________________________________________________
Added: svn:ignore
+ install
src
Deleted: issm/trunk/externalpackages/gsl/README
===================================================================
--- issm/trunk-jpl/externalpackages/gsl/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/gsl/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-GNU Scientfic Library, obtained from: http://www.gnu.org/software/gsl/
Copied: issm/trunk/externalpackages/gsl/README (from rev 11994, issm/trunk-jpl/externalpackages/gsl/README)
===================================================================
--- issm/trunk/externalpackages/gsl/README (rev 0)
+++ issm/trunk/externalpackages/gsl/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+GNU Scientfic Library, obtained from: http://www.gnu.org/software/gsl/
Deleted: issm/trunk/externalpackages/gsl/gsl-1.15.tar.gz
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/gsl/gsl-1.15.tar.gz (from rev 11994, issm/trunk-jpl/externalpackages/gsl/gsl-1.15.tar.gz)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/gsl/install-linux64-murdo.sh
===================================================================
--- issm/trunk-jpl/externalpackages/gsl/install-linux64-murdo.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/gsl/install-linux64-murdo.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-#Some cleanup
-rm -rf src install gsl-1.15
-mkdir src install
-
-#Untar
-tar -zxvf gsl-1.15.tar.gz
-
-#Move gsl into src directory
-mv gsl-1.15/* src
-rm -rf gsl-1.15
-
-#Configure gsl
-cd src
-
-./configure \
- --prefix="$ISSM_TIER/externalpackages/gsl/install"
-
-#Compile gsl
-if [ -z $1 ]; then
- make
-else
- make -j $1
-fi
-make install
Copied: issm/trunk/externalpackages/gsl/install-linux64-murdo.sh (from rev 11994, issm/trunk-jpl/externalpackages/gsl/install-linux64-murdo.sh)
===================================================================
--- issm/trunk/externalpackages/gsl/install-linux64-murdo.sh (rev 0)
+++ issm/trunk/externalpackages/gsl/install-linux64-murdo.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+#Some cleanup
+rm -rf src install gsl-1.15
+mkdir src install
+
+#Untar
+tar -zxvf gsl-1.15.tar.gz
+
+#Move gsl into src directory
+mv gsl-1.15/* src
+rm -rf gsl-1.15
+
+#Configure gsl
+cd src
+
+./configure \
+ --prefix="$ISSM_TIER/externalpackages/gsl/install"
+
+#Compile gsl
+if [ -z $1 ]; then
+ make
+else
+ make -j $1
+fi
+make install
Deleted: issm/trunk/externalpackages/gsl/install-macosx64.sh
===================================================================
--- issm/trunk-jpl/externalpackages/gsl/install-macosx64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/gsl/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-#!/bin/bash
-
-#Some cleanup
-rm -rf src install gsl-1.15
-mkdir src install
-
-#Untar
-tar -zxvf gsl-1.15.tar.gz
-
-#Move gsl into src directory
-mv gsl-1.15/* src
-rm -rf gsl-1.15
-
-#Configure gsl
-cd src
-
-export CFLAGS=" -arch x86_64"
-
-./configure \
- --prefix="$ISSM_TIER/externalpackages/gsl/install"
-
-#Compile gsl
-if [ -z $1 ]; then
- make
-else
- make -j $1
-fi
-make install
Copied: issm/trunk/externalpackages/gsl/install-macosx64.sh (from rev 11994, issm/trunk-jpl/externalpackages/gsl/install-macosx64.sh)
===================================================================
--- issm/trunk/externalpackages/gsl/install-macosx64.sh (rev 0)
+++ issm/trunk/externalpackages/gsl/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+#Some cleanup
+rm -rf src install gsl-1.15
+mkdir src install
+
+#Untar
+tar -zxvf gsl-1.15.tar.gz
+
+#Move gsl into src directory
+mv gsl-1.15/* src
+rm -rf gsl-1.15
+
+#Configure gsl
+cd src
+
+export CFLAGS=" -arch x86_64"
+
+./configure \
+ --prefix="$ISSM_TIER/externalpackages/gsl/install"
+
+#Compile gsl
+if [ -z $1 ]; then
+ make
+else
+ make -j $1
+fi
+make install
Modified: issm/trunk/externalpackages/matlab/install.sh
===================================================================
--- issm/trunk/externalpackages/matlab/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/matlab/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,8 +8,10 @@
#ln -s /usr/local/matlab704/ install
#ln -s /usr/local/matlab711/ install
#ln -s /usr/local/matlab712/ install
-#ln -s /usr/local/pkgs/matlab-7.6/ install
+
+# Macintosh (OSX) simlink
#ln -s /Applications/MATLAB_R2008a/ install
#ln -s /Applications/MATLAB_R2009a.app/ install
#ln -s /Applications/MATLAB_R2010a.app/ install
-#ln -s /Applications/MATLAB_R2011b.app/ install
+#ln -s /Applications/MATLAB_R2012a.app/ install
+#ln -s /Applications/MATLAB*.app/ install
Modified: issm/trunk/externalpackages/metis/configs/4.0/altix64/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/altix64/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/altix64/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
-> CC = cc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> CC = gcc
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -O2
+> OPTFLAGS = -DLINUX -fPIC
Modified: issm/trunk/externalpackages/metis/configs/4.0/cosmos/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/cosmos/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/cosmos/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = icc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
-> CC = cc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> CC = icc
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -O2
+> OPTFLAGS = -DLINUX -fPIC
Modified: issm/trunk/externalpackages/metis/configs/4.0/greenplanet/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/greenplanet/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/greenplanet/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
> CC = icc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -O3
+> OPTFLAGS = -DLINUX -fPIC
Modified: issm/trunk/externalpackages/metis/configs/4.0/linux64/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/linux64/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/linux64/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
-> CC = cc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> CC = gcc
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -O2
+> OPTFLAGS = -DLINUX -fPIC
Modified: issm/trunk/externalpackages/metis/configs/4.0/macosx32/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/macosx32/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/macosx32/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
-> CC = cc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> CC = gcc
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
> OPTFLAGS = -O2 -m32
Modified: issm/trunk/externalpackages/metis/configs/4.0/macosx64/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/macosx64/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/macosx64/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
-> CC = cc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> CC = gcc
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
> OPTFLAGS = -O2 -m64
Modified: issm/trunk/externalpackages/metis/configs/4.0/pleiades/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/pleiades/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/pleiades/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,10 @@
-3,5c3
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
> CC = icc
-8c6
-< OPTFLAGS = -DLINUX -fPIC
+> OBJ_EXT=o
+> LIB_EXT=a
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -O2
+> OPTFLAGS = -DLINUX -fPIC
Modified: issm/trunk/externalpackages/metis/configs/4.0/win32/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/win32/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/win32/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +1,10 @@
-3,5c3,5
-< CC = gcc
-< OBJ_EXT=o
-< LIB_EXT=a
+3c3,5
+< CC = cc
---
> CC = icl
> OBJ_EXT=obj
> LIB_EXT=lib
-8c8
-< OPTFLAGS = -DLINUX -fPIC
+6c8
+< OPTFLAGS = -O2
---
> OPTFLAGS = -DWIN32 -D__VC__
-22d21
-< #RANLIB =
Modified: issm/trunk/externalpackages/metis/configs/4.0/win7/Makefile.in.patch
===================================================================
--- issm/trunk/externalpackages/metis/configs/4.0/win7/Makefile.in.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/configs/4.0/win7/Makefile.in.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,25 +1,21 @@
-3,5c3,5
-< CC = cl
-< OBJ_EXT=obj
-< LIB_EXT=lib
+3c3,5
+< CC = cc
---
-> CC = gcc
-> OBJ_EXT=o
-> LIB_EXT=a
-8c8
-< OPTFLAGS = -DWIN32 -D__VC__
+> CC = cl
+> OBJ_EXT=obj
+> LIB_EXT=lib
+6c8
+< OPTFLAGS = -O2
---
-> OPTFLAGS = -DLINUX -fPIC
-16,17c16,24
-< # What tool to use to create library
-< LIB=lib.exe
+> OPTFLAGS = -DWIN32 -D__VC__
+14,20c16,17
+< # What archiving to use
+< AR = ar rv
+<
+< # What to use for indexing the archive
+< RANLIB = ranlib
+< #RANLIB = ar -ts
+< #RANLIB =
---
-> # What archiving to use
-> AR = ar rv
->
-> # What to use for indexing the archive
-> RANLIB = ranlib
-> #RANLIB = ar -ts
-> #RANLIB =
->
->
+> # What tool to use to create library
+> LIB=lib.exe
Modified: issm/trunk/externalpackages/metis/install-4.0-win7.sh
===================================================================
--- issm/trunk/externalpackages/metis/install-4.0-win7.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/install-4.0-win7.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
cd install
patch -p1 < ../metis-4.0.patch
patch -R Lib/Makefile ../configs/4.0/win7/Makefile.patch
-patch -R Makefile.in ../configs/4.0/win7/Makefile.in.patch
+patch Makefile.in ../configs/4.0/win7/Makefile.in.patch
#Compile
make
Modified: issm/trunk/externalpackages/metis/metis-4.0.patch
===================================================================
--- issm/trunk/externalpackages/metis/metis-4.0.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/metis/metis-4.0.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -235,29 +235,3 @@
clean:
(cd Lib ; make clean )
-diff -crB install/Makefile.in install2/Makefile.in
-*** install/Makefile.in 1998-10-02 14:28:35.000000000 -0700
---- install2/Makefile.in 2011-06-08 15:19:00.536540378 -0700
-***************
-*** 1,9 ****
-
- # Which compiler to use
-! CC = cc
-
- # What optimization level to use
-! OPTFLAGS = -O2
-
- # What options to be used by the compiler
- COPTIONS =
---- 1,11 ----
-
- # Which compiler to use
-! CC = gcc
-! OBJ_EXT=o
-! LIB_EXT=a
-
- # What optimization level to use
-! OPTFLAGS = -DLINUX -fPIC
-
- # What options to be used by the compiler
- COPTIONS =
Modified: issm/trunk/externalpackages/mitgcm/install.sh
===================================================================
--- issm/trunk/externalpackages/mitgcm/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/mitgcm/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,17 +5,22 @@
# ( enter the CVS password: "cvsanon" )
#Some cleanup
-rm -rf install
+rm -rf install bin exe
#add cvs repository
export CVSROOT=':pserver:cvsanon at mitgcm.org:/u/gcmpack'
+echo loging into MITgcm cvs: provide password, which is cvsanon
+cvs login
+
#Download code from server
-cvs co -P MITgcm_code
+cvs login
+cvs co -P MITgcm
#move
mv MITgcm install
+
#compile code
cd install
mkdir bin exe
@@ -23,3 +28,6 @@
../tools/genmake2 -mods=../../code
make depend
make -j 8
+
+
+
Property changes on: issm/trunk/externalpackages/modelE
___________________________________________________________________
Added: svn:ignore
+ raid1
cmrun
exec
src
configs
Deleted: issm/trunk/externalpackages/modelE/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/modelE/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/modelE/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,17 +0,0 @@
-#!/bin/bash
-#modelE downloaded from the gis repository of the GISS (Goddard Institute for Space Studies)
-#at http://www.giss.nasa.gov/tools/modelE/
-
-#Some cleanup
-rm -rf src install modelE_AR5_branch
-mkdir src
-
-#Untar
-tar -zxvf modelE_AR5_branch.2012.03.13_10.12.21.tgz
-
-#Move modelE into install directory
-mv modelE_AR5_branch/* src
-rm -rf modelE_AR5_branch
-
-#Apply patches
-cd src
Copied: issm/trunk/externalpackages/modelE/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/modelE/install.sh)
===================================================================
--- issm/trunk/externalpackages/modelE/install.sh (rev 0)
+++ issm/trunk/externalpackages/modelE/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,17 @@
+#!/bin/bash
+#modelE downloaded from the gis repository of the GISS (Goddard Institute for Space Studies)
+#at http://www.giss.nasa.gov/tools/modelE/
+
+#Some cleanup
+rm -rf src install modelE_AR5_branch
+mkdir src
+
+#Untar
+tar -zxvf modelE_AR5_branch.2012.03.13_10.12.21.tgz
+
+#Move modelE into install directory
+mv modelE_AR5_branch/* src
+rm -rf modelE_AR5_branch
+
+#Apply patches
+cd src
Deleted: issm/trunk/externalpackages/modelE/modelE_AR5_branch.2012.03.13_10.12.21.tgz
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/modelE/modelE_AR5_branch.2012.03.13_10.12.21.tgz (from rev 11994, issm/trunk-jpl/externalpackages/modelE/modelE_AR5_branch.2012.03.13_10.12.21.tgz)
===================================================================
(Binary files differ)
Property changes on: issm/trunk/externalpackages/nose
___________________________________________________________________
Added: svn:ignore
+ py3k
Deleted: issm/trunk/externalpackages/nose/install-macosx64sh
===================================================================
--- issm/trunk-jpl/externalpackages/nose/install-macosx64sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/nose/install-macosx64sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +0,0 @@
-#/bin/bash
-#Install Python3 nose module
-
-rm -rf py3k
-
-svn checkout http://python-nose.googlecode.com/svn/branches/py3k
-cd py3k
-
-python3.2 ./setup.py build
-python3.2 ./setup.py install
Copied: issm/trunk/externalpackages/nose/install-macosx64sh (from rev 11994, issm/trunk-jpl/externalpackages/nose/install-macosx64sh)
===================================================================
--- issm/trunk/externalpackages/nose/install-macosx64sh (rev 0)
+++ issm/trunk/externalpackages/nose/install-macosx64sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,10 @@
+#/bin/bash
+#Install Python3 nose module
+
+rm -rf py3k
+
+svn checkout http://python-nose.googlecode.com/svn/branches/py3k
+cd py3k
+
+python3.2 ./setup.py build
+python3.2 ./setup.py install
Property changes on: issm/trunk/externalpackages/packagemaker
___________________________________________________________________
Added: svn:ignore
+ install
Deleted: issm/trunk/externalpackages/packagemaker/install.sh
===================================================================
--- issm/trunk-jpl/externalpackages/packagemaker/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/packagemaker/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-#Erase symlink
-rm -rf install
-
-#Select or create a new simlink
-ln -s /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/ install
Copied: issm/trunk/externalpackages/packagemaker/install.sh (from rev 11994, issm/trunk-jpl/externalpackages/packagemaker/install.sh)
===================================================================
--- issm/trunk/externalpackages/packagemaker/install.sh (rev 0)
+++ issm/trunk/externalpackages/packagemaker/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+#Erase symlink
+rm -rf install
+
+#Select or create a new simlink
+ln -s /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/ install
Property changes on: issm/trunk/externalpackages/petsc
___________________________________________________________________
Modified: svn:ignore
- install
src
+ install
install-3.1
src
Deleted: issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch
===================================================================
--- issm/trunk-jpl/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,8 +0,0 @@
-10c10
-< extern "C" {
----
-> //extern "C" {
-14c14
-< }
----
-> //}
Copied: issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch (from rev 11994, issm/trunk-jpl/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch)
===================================================================
--- issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch (rev 0)
+++ issm/trunk/externalpackages/petsc/configs/3.1/win7/petscfix.h.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,8 @@
+10c10
+< extern "C" {
+---
+> //extern "C" {
+14c14
+< }
+---
+> //}
Copied: issm/trunk/externalpackages/petsc/install-2.3.2-macosx64.sh (from rev 11994, issm/trunk-jpl/externalpackages/petsc/install-2.3.2-macosx64.sh)
===================================================================
--- issm/trunk/externalpackages/petsc/install-2.3.2-macosx64.sh (rev 0)
+++ issm/trunk/externalpackages/petsc/install-2.3.2-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#Some cleanup
+rm -rf install petsc-2.3.2-p3 src
+mkdir install src
+
+#Untar and move petsc to install directory
+tar -zxvf petsc-2.3.2-p3.tar.gz
+mv petsc-2.3.2-p3/* src/
+rm -rf petsc-2.3.2-p3
+
+#configure
+cd src
+./config/configure.py \
+ --prefix="$ISSM_TIER/externalpackages/petsc/install" \
+ --PETSC_DIR="$ISSM_TIER/externalpackages/petsc/src" \
+ --PETSC_ARCH=macosx-gnu \
+ --with-mpi-dir="$ISSM_TIER/externalpackages/mpich2/install" \
+ --with-debugging=0 \
+ --with-shared-libraries=0 \
+ --download-mumps=yes \
+ --download-scalapack=yes \
+ --download-blacs=yes \
+ --download-blas=yes \
+ --download-plapack=yes \
+ --download-parmetis=yes \
+ --download-f-blas-lapack=yes
+
+#Compile petsc and install it
+make
+make install
Modified: issm/trunk/externalpackages/petsc/install-3.1-win7.sh
===================================================================
--- issm/trunk/externalpackages/petsc/install-3.1-win7.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/petsc/install-3.1-win7.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,7 +18,11 @@
--PETSC_DIR="$ISSM_TIER/externalpackages/petsc/src" \
--with-debugging=0 \
--with-mpi=0 \
- --download-c-blas-lapack=1
+ --download-c-blas-lapack=yes \
+ --with-cc='win32fe cl' \
+ --with-fc=0 \
+ --with-cxx='win32fe cl' \
+ --with-clanguage=cxx
#./config/configure.py \
# --prefix="$ISSM_TIER/externalpackages/petsc/install" \
@@ -42,3 +46,5 @@
#Compile petsc and install it
make
make install
+
+patch ../install/include/petscfix.h ../configs/3.1/win7/petscfix.h.patch
Copied: issm/trunk/externalpackages/petsc/install-dev-linux64.sh (from rev 11994, issm/trunk-jpl/externalpackages/petsc/install-dev-linux64.sh)
===================================================================
--- issm/trunk/externalpackages/petsc/install-dev-linux64.sh (rev 0)
+++ issm/trunk/externalpackages/petsc/install-dev-linux64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+STEP=2
+
+if [ $STEP -eq 1 ]; then
+ # Adapted from petsc 3.2.
+ # Used Mercurial to get code
+ hg clone http://petsc.cs.iit.edu/petsc/petsc-dev src
+ cd src
+ hg clone http://petsc.cs.iit.edu/petsc/BuildSystem config/BuildSystem
+fi
+
+# To update (via Mercurial):
+# cd petsc-dev
+# hg pull -u
+# cd config/BuildSystem
+# hg pull -u
+
+
+# configure script
+# Note: using metis from externalpackages did not work...
+# for now downloading new metis
+# -then rename metis in externalpackages to metis2
+
+
+if [ $STEP -eq 2 ]; then
+ cd src
+ ./config/configure.py \
+ --prefix="$ISSM_TIER/externalpackages/petsc/install" \
+ --with-mpi-dir="$ISSM_TIER/externalpackages/mpich2/install" \
+ --with-clanguage=C++ \
+ --PETSC_ARCH=linux-gnu-amd64 \
+ --PETSC_DIR="$ISSM_TIER/externalpackages/petsc/src" \
+ --with-debugging=0 \
+ --with-shared-libraries=0 \
+ --download-metis=yes \
+ --download-mumps=yes \
+ --download-scalapack=yes \
+ --download-blacs=yes \
+ --download-blas=yes \
+ --download-f-blas-lapack=yes \
+ --download-plapack=yes \
+ --download-parmetis=yes \
+ --with-pic=1
+
+ #Compile petsc and install it
+ make
+ make install
+fi
Property changes on: issm/trunk/externalpackages/python
___________________________________________________________________
Added: svn:ignore
+ install-*
install
src
Copied: issm/trunk/externalpackages/python/Python-2.7.2.tgz (from rev 11994, issm/trunk-jpl/externalpackages/python/Python-2.7.2.tgz)
===================================================================
(Binary files differ)
Modified: issm/trunk/externalpackages/python/install.sh
===================================================================
--- issm/trunk/externalpackages/python/install.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/python/install.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +1,39 @@
#!/bin/bash
-#wget http://python.org/ftp/python/3.2.2/Python-3.2.2.tgz
+#wget http://python.org/ftp/python/version/Python-version.tgz
+version=3.2.2
+#version=2.7.2
+
#Some cleanup
-rm -rf install
-rm -rf Python-3.2.2
-mkdir install
+rm -rf install src
+rm -rf Python-$version
+mkdir install src
+#exports
+export CC
+
#Untar and move python into install directory
-tar -zxvf Python-3.2.2.tgz
-mv Python-3.2.2/* install
-rm -rf Python-3.2.2
+tar -zxvf Python-$version.tgz
+mv Python-$version/* src
+rm -rf Python-$version
#Configure doxygen
-cd install
-./configure --prefix "$ISSM_TIER/externalpackages/python/install"
+cd src
+./configure --prefix="$ISSM_TIER/externalpackages/python/install" --enable-framework="$ISSM_TIER/externalpackages/python/install"
if [ -z $1 ]; then
make
else
make -j $1
fi
make install
+
+#Some modifications to be done in case version is 3.2:
+if [[ $version == "3.2.2" ]]; then
+ cd install/bin
+ ln -s python3.2 python
+ cd ../
+ ln -s Python.framework/Versions/3.2/include/python3.2m include
+ ln -s Python.framework/Versions/3.2/lib/ lib
+
+
+fi
Deleted: issm/trunk/externalpackages/python/patch/pyport.h.patch
===================================================================
--- issm/trunk-jpl/externalpackages/python/patch/pyport.h.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/python/patch/pyport.h.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,42 +0,0 @@
-Index: Include/pyport.h
-===================================================================
---- Include/pyport.h (revision 933)
-+++ Include/pyport.h (working copy)
-@@ -514,22 +514,40 @@
-#if __FreeBSD_version > 500039
-#include <ctype.h>
-#include <wctype.h>
-+/* If the source file #includes <cctype> before "Python.h" then
-+ * these macros will not be defined at this point and we
-+ * should not define them either.
-+ */
-+#ifdef isalnum
-#undef isalnum
-#define isalnum(c) iswalnum(btowc(c))
-+#endif
-+#ifdef isalpha
-#undef isalpha
-#define isalpha(c) iswalpha(btowc(c))
-+#endif
-+#ifdef islower
-#undef islower
-#define islower(c) iswlower(btowc(c))
-+#endif
-+#ifdef isspace
-#undef isspace
-#define isspace(c) iswspace(btowc(c))
-+#endif
-+#ifdef isupper
-#undef isupper
-#define isupper(c) iswupper(btowc(c))
-+#endif
-+#ifdef tolower
-#undef tolower
-#define tolower(c) towlower(btowc(c))
-+#endif
-+#ifdef toupper
-#undef toupper
-#define toupper(c) towupper(btowc(c))
-#endif
-#endif
-+#endif
Copied: issm/trunk/externalpackages/python/patch/pyport.h.patch (from rev 11994, issm/trunk-jpl/externalpackages/python/patch/pyport.h.patch)
===================================================================
--- issm/trunk/externalpackages/python/patch/pyport.h.patch (rev 0)
+++ issm/trunk/externalpackages/python/patch/pyport.h.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,42 @@
+Index: Include/pyport.h
+===================================================================
+--- Include/pyport.h (revision 933)
++++ Include/pyport.h (working copy)
+@@ -514,22 +514,40 @@
+#if __FreeBSD_version > 500039
+#include <ctype.h>
+#include <wctype.h>
++/* If the source file #includes <cctype> before "Python.h" then
++ * these macros will not be defined at this point and we
++ * should not define them either.
++ */
++#ifdef isalnum
+#undef isalnum
+#define isalnum(c) iswalnum(btowc(c))
++#endif
++#ifdef isalpha
+#undef isalpha
+#define isalpha(c) iswalpha(btowc(c))
++#endif
++#ifdef islower
+#undef islower
+#define islower(c) iswlower(btowc(c))
++#endif
++#ifdef isspace
+#undef isspace
+#define isspace(c) iswspace(btowc(c))
++#endif
++#ifdef isupper
+#undef isupper
+#define isupper(c) iswupper(btowc(c))
++#endif
++#ifdef tolower
+#undef tolower
+#define tolower(c) towlower(btowc(c))
++#endif
++#ifdef toupper
+#undef toupper
+#define toupper(c) towupper(btowc(c))
+#endif
+#endif
++#endif
Deleted: issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport
===================================================================
--- issm/trunk-jpl/externalpackages/python/patch/pyport.h.patch.bugreport 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-http://bugs.python.org/issue10910
Copied: issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport (from rev 11994, issm/trunk-jpl/externalpackages/python/patch/pyport.h.patch.bugreport)
===================================================================
--- issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport (rev 0)
+++ issm/trunk/externalpackages/python/patch/pyport.h.patch.bugreport 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+http://bugs.python.org/issue10910
Property changes on: issm/trunk/externalpackages/scipy
___________________________________________________________________
Added: svn:ignore
+ scipy
numpy
Deleted: issm/trunk/externalpackages/scipy/README
===================================================================
--- issm/trunk-jpl/externalpackages/scipy/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/scipy/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,2 +0,0 @@
-You will find instructions on scipy at:
-http://www.scipy.org/Installing_SciPy/Mac_OS_X#head-ba1926aec910a9a1deaf9eff99e38ee23103a3b3
Copied: issm/trunk/externalpackages/scipy/README (from rev 11994, issm/trunk-jpl/externalpackages/scipy/README)
===================================================================
--- issm/trunk/externalpackages/scipy/README (rev 0)
+++ issm/trunk/externalpackages/scipy/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,2 @@
+You will find instructions on scipy at:
+http://www.scipy.org/Installing_SciPy/Mac_OS_X#head-ba1926aec910a9a1deaf9eff99e38ee23103a3b3
Deleted: issm/trunk/externalpackages/scipy/install-macosx64.sh
===================================================================
--- issm/trunk-jpl/externalpackages/scipy/install-macosx64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/scipy/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-#1: install numpy
-#2 install scipy
-#3 erase
-install=2
-
-
-export CC=gcc
-export CXX=g++
-export FFLAGS=-ff2c
-
-
-if [[ $install == "1" ]];then
-
- #download numpy first
- git clone https://github.com/numpy/numpy.git
-
- #install numpy
- cd numpy
- python3.2 setup.py build
- python3.2 setup.py install
-
-
-elif [[ $install == "2" ]];then
-
- #download scipy
- git clone https://github.com/scipy/scipy.git
-
- #install scipy
- cd scipy
- python3.2 setup.py build
- python3.2 setup.py install
-
-elif [[ $install == "3" ]];then
- rm -rf numpy scipy
-else
- echo "Choice not covered"
-fi
Copied: issm/trunk/externalpackages/scipy/install-macosx64.sh (from rev 11994, issm/trunk-jpl/externalpackages/scipy/install-macosx64.sh)
===================================================================
--- issm/trunk/externalpackages/scipy/install-macosx64.sh (rev 0)
+++ issm/trunk/externalpackages/scipy/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+#1: install numpy
+#2 install scipy
+#3 erase
+install=2
+
+
+export CC=gcc
+export CXX=g++
+export FFLAGS=-ff2c
+
+
+if [[ $install == "1" ]];then
+
+ #download numpy first
+ git clone https://github.com/numpy/numpy.git
+
+ #install numpy
+ cd numpy
+ python3.2 setup.py build
+ python3.2 setup.py install
+
+
+elif [[ $install == "2" ]];then
+
+ #download scipy
+ git clone https://github.com/scipy/scipy.git
+
+ #install scipy
+ cd scipy
+ python3.2 setup.py build
+ python3.2 setup.py install
+
+elif [[ $install == "3" ]];then
+ rm -rf numpy scipy
+else
+ echo "Choice not covered"
+fi
Deleted: issm/trunk/externalpackages/triangle/README
===================================================================
--- issm/trunk/externalpackages/triangle/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/triangle/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,2 +0,0 @@
-Go pick up the correct configure.make file in the config directory (according to your platform),
-copy it to the top triangle directory, and run install.sh
Deleted: issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make
===================================================================
--- issm/trunk-jpl/externalpackages/triangle/configs/android/android-4.0/configure.make 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,19 +0,0 @@
-# This makefile configures build process to cross-compile to the android platform.
-# The binary tools referenced below are specifically configuered to target armeabi-v7a.
-# Furthermore, the compilers (which are simply wrappers around GNU GCC) are set to
-# produce binaries that are EABI complient.
-#
-# Note that the AAPCS standard defines 'EABI' as a moniker used to specify
-# a _family_ of similar but distinct ABIs. Android follows the little-endian
-# ARM GNU/Linux ABI as documented in the following document:
-#
-# http://www.codesourcery.com/gnu_toolchains/arm/arm_gnu_linux_abi.pdf
-
-ANDROID_BIN=$(ISSM_TIER)/src/android/tmp/android-14-toolchain/bin
-CC=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-gcc
-AR=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-ar
-RANLIB=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-ranlib
-CSWITCHES = $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -I$(MATLAB_DIR)/extern/include -fPIC -I$(MATLAB_DIR)/include
-TRILIBDEFS = -DTRILIBRARY
-OBJ_EXT=o
-LIB_EXT=a
Copied: issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make (from rev 11994, issm/trunk-jpl/externalpackages/triangle/configs/android/android-4.0/configure.make)
===================================================================
--- issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make (rev 0)
+++ issm/trunk/externalpackages/triangle/configs/android/android-4.0/configure.make 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+# This makefile configures build process to cross-compile to the android platform.
+# The binary tools referenced below are specifically configuered to target armeabi-v7a.
+# Furthermore, the compilers (which are simply wrappers around GNU GCC) are set to
+# produce binaries that are EABI complient.
+#
+# Note that the AAPCS standard defines 'EABI' as a moniker used to specify
+# a _family_ of similar but distinct ABIs. Android follows the little-endian
+# ARM GNU/Linux ABI as documented in the following document:
+#
+# http://www.codesourcery.com/gnu_toolchains/arm/arm_gnu_linux_abi.pdf
+
+ANDROID_BIN=$(ISSM_TIER)/src/android/tmp/android-14-toolchain/bin
+CC=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-gcc
+AR=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-ar
+RANLIB=$(ANDROID_DEV_DIR)/tmp/android-linux-4.0/bin/arm-linux-androideabi-ranlib
+CSWITCHES = $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -I$(MATLAB_DIR)/extern/include -fPIC -I$(MATLAB_DIR)/include
+TRILIBDEFS = -DTRILIBRARY
+OBJ_EXT=o
+LIB_EXT=a
Copied: issm/trunk/externalpackages/triangle/install-android-4.0.sh (from rev 11994, issm/trunk-jpl/externalpackages/triangle/install-android-4.0.sh)
===================================================================
--- issm/trunk/externalpackages/triangle/install-android-4.0.sh (rev 0)
+++ issm/trunk/externalpackages/triangle/install-android-4.0.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+#use matlab?
+matlab=0
+
+
+#Some cleanup
+rm -rf install triangle
+mkdir install
+
+#Untar
+cd install
+cp ../triangle.zip ./
+unzip triangle.zip
+
+#copy new makefile
+cp ../configs/android/android-4.0/configure.make ./
+cp ../makefile ./
+
+#Patch triangle.c
+if [[ $matlab == "1" ]];then
+ patch triangle.c ../triangle.c.patch.matlab
+else
+ patch triangle.c ../triangle.c.patch.python
+fi
+
+#Compile triangle
+make
+
+#Patch triangle.h
+patch triangle.h ../triangle.h.patch
Modified: issm/trunk/externalpackages/triangle/install-macosx64.sh
===================================================================
--- issm/trunk/externalpackages/triangle/install-macosx64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/triangle/install-macosx64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,5 +1,9 @@
#!/bin/bash
+#use matlab?
+matlab=0
+
+
#Some cleanup
rm -rf install triangle
mkdir install
@@ -14,7 +18,11 @@
cp ../makefile ./
#Patch triangle.c
-patch triangle.c ../triangle.c.patch
+if [[ $matlab == "1" ]];then
+ patch triangle.c ../triangle.c.patch.matlab
+else
+ patch triangle.c ../triangle.c.patch.python
+fi
#Compile triangle
make
Modified: issm/trunk/externalpackages/triangle/makefile
===================================================================
--- issm/trunk/externalpackages/triangle/makefile 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/triangle/makefile 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,8 +3,18 @@
include ./configure.make
-AR = ar
+ifeq "$(origin CC)" "undefined"
+ CC = cc
+endif
+ifeq "$(origin AR)" "undefined"
+ AR = ar
+endif
+
+ifeq "$(origin RANLIB)" "undefined"
+ RANLIB = ranlib
+endif
+
TRILIBDEFS = -DTRILIBRARY
all: triangle.$(LIB_EXT)
@@ -12,8 +22,8 @@
OBJECTS=triangle.$(OBJ_EXT)
triangle.$(LIB_EXT): $(OBJECTS)
- ar cr triangle.$(LIB_EXT) $(OBJECTS)
- ranlib triangle.$(LIB_EXT)
+ $(AR) cr triangle.$(LIB_EXT) $(OBJECTS)
+ $(RANLIB) triangle.$(LIB_EXT)
triangle.$(OBJ_EXT): triangle.c triangle.h
$(CC) $(CSWITCHES) $(TRILIBDEFS) -c triangle.c
Copied: issm/trunk/externalpackages/triangle/triangle.c.patch.matlab (from rev 11994, issm/trunk-jpl/externalpackages/triangle/triangle.c.patch.matlab)
===================================================================
--- issm/trunk/externalpackages/triangle/triangle.c.patch.matlab (rev 0)
+++ issm/trunk/externalpackages/triangle/triangle.c.patch.matlab 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,164 @@
+0a1,10
+> /*Notes for the Ice code:
+> * to be able to compile Triangle within a mex function that can run within
+> * matlab, we had to change the allocation routine trimalloc, as well as the
+> * double precision activation in exactinit(); The rest is not changed.
+> * We also created the ice_makefile to compile Triangle into a library. */
+> #include <mat.h>
+> #include <matrix.h>
+> #define ANSI_DECLARATORS
+> #define NO_TIMER
+>
+347a358
+> #ifndef _WIN_
+348a360
+> #endif
+641d652
+<
+817a829,922
+> /*Some missing prototypes: */
+> int scale_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h);
+> int fast_expansion_sum_zeroelim(int elen, REAL *e, int flen, REAL *f, REAL *h);
+> void poolzero(struct memorypool *pool);
+> int triunsuitable(vertex triorg, vertex tridest, vertex triapex, REAL area);
+> triangle *triangletraverse(struct mesh *m);
+> void pooldeinit(struct memorypool *pool);
+> void printtriangle(struct mesh *m, struct behavior *b, struct otri *t);
+> VOID *poolalloc(struct memorypool *pool);
+> void enqueuebadtriang(struct mesh *m, struct behavior *b,
+> struct badtriang *badtri);
+> void triangulatepolygon(struct mesh *m, struct behavior *b,
+> struct otri *firstedge, struct otri *lastedge,
+> int edgecount, int doflip, int triflaws);
+> void triangledealloc(struct mesh *m, triangle *dyingtriangle);
+> void unflip(struct mesh *m, struct behavior *b, struct otri *flipedge);
+> void vertexmedian(vertex *sortarray, int arraysize, int median, int axis);
+> REAL counterclockwiseadapt(vertex pa, vertex pb, vertex pc, REAL detsum);
+> REAL incircleadapt(vertex pa, vertex pb, vertex pc, vertex pd, REAL permanent);
+> void enqueuebadtri(struct mesh *m, struct behavior *b, struct otri *enqtri,
+> REAL minedge, vertex enqapex, vertex enqorg, vertex enqdest);
+> void alternateaxes(vertex *sortarray, int arraysize, int axis);
+> REAL incircleadapt(vertex pa, vertex pb, vertex pc, vertex pd, REAL permanent);
+> void maketriangle(struct mesh *m, struct behavior *b, struct otri *newotri);
+> REAL counterclockwise(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc);
+> vertex vertextraverse(struct mesh *m);
+> void mergehulls(struct mesh *m, struct behavior *b, struct otri *farleft,
+> struct otri *innerleft, struct otri *innerright,
+> struct otri *farright, int axis);
+> REAL incircle(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc, vertex pd);
+> void poolrestart(struct memorypool *pool);
+> void trifree(VOID *memptr);
+> struct splaynode *splay(struct mesh *m, struct splaynode *splaytree,
+> vertex searchpoint, struct otri *searchtri);
+> void eventheapdelete(struct event **heap, int heapsize, int eventnum);
+> void eventheapdelete(struct event **heap, int heapsize, int eventnum);
+> void flip(struct mesh *m, struct behavior *b, struct otri *flipedge);
+> void check4deadevent(struct otri *checktri, struct event **freeevents,
+> struct event **eventheap, int *heapsize);
+> REAL orient3d(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc, vertex pd,
+> REAL aheight, REAL bheight, REAL cheight, REAL dheight);
+> REAL circletop(struct mesh *m, vertex pa, vertex pb, vertex pc, REAL ccwabc);
+> void poolinit(struct memorypool *pool, int bytecount, int itemcount,
+> int firstitemcount, int alignment);
+> void eventheapinsert(struct event **heap, int heapsize, struct event *newevent);
+> int rightofhyperbola(struct mesh *m, struct otri *fronttri, vertex newsite);
+> void insertsubseg(struct mesh *m, struct behavior *b, struct otri *tri,
+> int subsegmark);
+> int scoutsegment(struct mesh *m, struct behavior *b, struct otri *searchtri,
+> vertex endpoint2, int newmark);
+> vertex getvertex(struct mesh *m, struct behavior *b, int number);
+> void internalerror();
+> unsigned long randomnation(unsigned int choices);
+> struct splaynode *splayinsert(struct mesh *m, struct splaynode *splayroot,
+> struct otri *newkey, vertex searchpoint);
+> void delaunayfixup(struct mesh *m, struct behavior *b,
+> struct otri *fixuptri, int leftside);
+> void traversalinit(struct memorypool *pool);
+> enum insertvertexresult insertvertex(struct mesh *m, struct behavior *b,
+> vertex newvertex, struct otri *searchtri,
+> struct osub *splitseg,
+> int segmentflaws, int triflaws);
+> void conformingedge(struct mesh *m, struct behavior *b,
+> vertex endpoint1, vertex endpoint2, int newmark);
+> enum finddirectionresult finddirection(struct mesh *m, struct behavior *b,
+> struct otri *searchtri,
+> vertex searchpoint);
+> VOID *traverse(struct memorypool *pool);
+> void deletevertex(struct mesh *m, struct behavior *b, struct otri *deltri);
+> void pooldealloc(struct memorypool *pool, VOID *dyingitem);
+> int checkseg4encroach(struct mesh *m, struct behavior *b,
+> struct osub *testsubseg);
+> void badsubsegdealloc(struct mesh *m, struct badsubseg *dyingseg);
+> void vertexdealloc(struct mesh *m, vertex dyingvertex);
+> void vertexsort(vertex *sortarray, int arraysize);
+> void tallyencs(struct mesh *m, struct behavior *b);
+> void splittriangle(struct mesh *m, struct behavior *b,
+> struct badtriang *badtri);
+> subseg *subsegtraverse(struct mesh *m);
+> enum locateresult locate(struct mesh *m, struct behavior *b,
+> vertex searchpoint, struct otri *searchtri);
+> void writenodes(struct mesh *m, struct behavior *b, REAL **pointlist,
+> REAL **pointattriblist, int **pointmarkerlist);
+> void writevoronoi(struct mesh *m, struct behavior *b, REAL **vpointlist,
+> REAL **vpointattriblist, int **vpointmarkerlist,
+> int **vedgelist, int **vedgemarkerlist, REAL **vnormlist);
+> void writeneighbors(struct mesh *m, struct behavior *b, int **neighborlist);
+> void testtriangle(struct mesh *m, struct behavior *b, struct otri *testtri);
+> void triangleinit(struct mesh *m);
+>
+>
+1408a1514
+> void triexit(int status);
+1410d1515
+< #ifdef ANSI_DECLARATORS
+1412,1416d1516
+< #else /* not ANSI_DECLARATORS */
+< void triexit(status)
+< int status;
+< #endif /* not ANSI_DECLARATORS */
+<
+1421c1521
+< #ifdef ANSI_DECLARATORS
+---
+> VOID *trimalloc(int size);
+1423,1427d1522
+< #else /* not ANSI_DECLARATORS */
+< VOID *trimalloc(size)
+< int size;
+< #endif /* not ANSI_DECLARATORS */
+<
+1431c1526,1527
+< memptr = (VOID *) malloc((unsigned int) size);
+---
+> memptr = (VOID *) mxMalloc((unsigned int) size);
+> //memptr = (VOID *) malloc((unsigned int) size);
+1447c1543,1544
+< free(memptr);
+---
+> //free(memptr);
+> mxFree(memptr);
+3665,3670c3762,3767
+< void printtriangle(struct mesh *m, struct behavior *b, struct otri *t)
+< #else /* not ANSI_DECLARATORS */
+< void printtriangle(m, b, t)
+< struct mesh *m;
+< struct behavior *b;
+< struct otri *t;
+---
+> void printtriangle(struct mesh *m, struct behavior *b, struct otri *t){
+> //#else /* not ANSI_DECLARATORS */
+> //void printtriangle(m, b, t)
+> //struct mesh *m;
+> //struct behavior *b;
+> //struct otri *t;
+3673c3770
+< {
+---
+> //{
+4910c5007
+< _FPU_SETCW(cword);
+---
+> //_FPU_SETCW(cword); //taken care of by Matlab
Copied: issm/trunk/externalpackages/triangle/triangle.c.patch.python (from rev 11994, issm/trunk-jpl/externalpackages/triangle/triangle.c.patch.python)
===================================================================
--- issm/trunk/externalpackages/triangle/triangle.c.patch.python (rev 0)
+++ issm/trunk/externalpackages/triangle/triangle.c.patch.python 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,164 @@
+0a1,10
+> /*Notes for the Ice code:
+> * to be able to compile Triangle within a mex function that can run within
+> * matlab, we had to change the allocation routine trimalloc, as well as the
+> * double precision activation in exactinit(); The rest is not changed.
+> * We also created the ice_makefile to compile Triangle into a library. */
+> #include <mat.h>
+> #include <matrix.h>
+> #define ANSI_DECLARATORS
+> #define NO_TIMER
+>
+347a358
+> #ifndef _WIN_
+348a360
+> #endif
+641d652
+<
+817a829,922
+> /*Some missing prototypes: */
+> int scale_expansion_zeroelim(int elen, REAL *e, REAL b, REAL *h);
+> int fast_expansion_sum_zeroelim(int elen, REAL *e, int flen, REAL *f, REAL *h);
+> void poolzero(struct memorypool *pool);
+> int triunsuitable(vertex triorg, vertex tridest, vertex triapex, REAL area);
+> triangle *triangletraverse(struct mesh *m);
+> void pooldeinit(struct memorypool *pool);
+> void printtriangle(struct mesh *m, struct behavior *b, struct otri *t);
+> VOID *poolalloc(struct memorypool *pool);
+> void enqueuebadtriang(struct mesh *m, struct behavior *b,
+> struct badtriang *badtri);
+> void triangulatepolygon(struct mesh *m, struct behavior *b,
+> struct otri *firstedge, struct otri *lastedge,
+> int edgecount, int doflip, int triflaws);
+> void triangledealloc(struct mesh *m, triangle *dyingtriangle);
+> void unflip(struct mesh *m, struct behavior *b, struct otri *flipedge);
+> void vertexmedian(vertex *sortarray, int arraysize, int median, int axis);
+> REAL counterclockwiseadapt(vertex pa, vertex pb, vertex pc, REAL detsum);
+> REAL incircleadapt(vertex pa, vertex pb, vertex pc, vertex pd, REAL permanent);
+> void enqueuebadtri(struct mesh *m, struct behavior *b, struct otri *enqtri,
+> REAL minedge, vertex enqapex, vertex enqorg, vertex enqdest);
+> void alternateaxes(vertex *sortarray, int arraysize, int axis);
+> REAL incircleadapt(vertex pa, vertex pb, vertex pc, vertex pd, REAL permanent);
+> void maketriangle(struct mesh *m, struct behavior *b, struct otri *newotri);
+> REAL counterclockwise(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc);
+> vertex vertextraverse(struct mesh *m);
+> void mergehulls(struct mesh *m, struct behavior *b, struct otri *farleft,
+> struct otri *innerleft, struct otri *innerright,
+> struct otri *farright, int axis);
+> REAL incircle(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc, vertex pd);
+> void poolrestart(struct memorypool *pool);
+> void trifree(VOID *memptr);
+> struct splaynode *splay(struct mesh *m, struct splaynode *splaytree,
+> vertex searchpoint, struct otri *searchtri);
+> void eventheapdelete(struct event **heap, int heapsize, int eventnum);
+> void eventheapdelete(struct event **heap, int heapsize, int eventnum);
+> void flip(struct mesh *m, struct behavior *b, struct otri *flipedge);
+> void check4deadevent(struct otri *checktri, struct event **freeevents,
+> struct event **eventheap, int *heapsize);
+> REAL orient3d(struct mesh *m, struct behavior *b,
+> vertex pa, vertex pb, vertex pc, vertex pd,
+> REAL aheight, REAL bheight, REAL cheight, REAL dheight);
+> REAL circletop(struct mesh *m, vertex pa, vertex pb, vertex pc, REAL ccwabc);
+> void poolinit(struct memorypool *pool, int bytecount, int itemcount,
+> int firstitemcount, int alignment);
+> void eventheapinsert(struct event **heap, int heapsize, struct event *newevent);
+> int rightofhyperbola(struct mesh *m, struct otri *fronttri, vertex newsite);
+> void insertsubseg(struct mesh *m, struct behavior *b, struct otri *tri,
+> int subsegmark);
+> int scoutsegment(struct mesh *m, struct behavior *b, struct otri *searchtri,
+> vertex endpoint2, int newmark);
+> vertex getvertex(struct mesh *m, struct behavior *b, int number);
+> void internalerror();
+> unsigned long randomnation(unsigned int choices);
+> struct splaynode *splayinsert(struct mesh *m, struct splaynode *splayroot,
+> struct otri *newkey, vertex searchpoint);
+> void delaunayfixup(struct mesh *m, struct behavior *b,
+> struct otri *fixuptri, int leftside);
+> void traversalinit(struct memorypool *pool);
+> enum insertvertexresult insertvertex(struct mesh *m, struct behavior *b,
+> vertex newvertex, struct otri *searchtri,
+> struct osub *splitseg,
+> int segmentflaws, int triflaws);
+> void conformingedge(struct mesh *m, struct behavior *b,
+> vertex endpoint1, vertex endpoint2, int newmark);
+> enum finddirectionresult finddirection(struct mesh *m, struct behavior *b,
+> struct otri *searchtri,
+> vertex searchpoint);
+> VOID *traverse(struct memorypool *pool);
+> void deletevertex(struct mesh *m, struct behavior *b, struct otri *deltri);
+> void pooldealloc(struct memorypool *pool, VOID *dyingitem);
+> int checkseg4encroach(struct mesh *m, struct behavior *b,
+> struct osub *testsubseg);
+> void badsubsegdealloc(struct mesh *m, struct badsubseg *dyingseg);
+> void vertexdealloc(struct mesh *m, vertex dyingvertex);
+> void vertexsort(vertex *sortarray, int arraysize);
+> void tallyencs(struct mesh *m, struct behavior *b);
+> void splittriangle(struct mesh *m, struct behavior *b,
+> struct badtriang *badtri);
+> subseg *subsegtraverse(struct mesh *m);
+> enum locateresult locate(struct mesh *m, struct behavior *b,
+> vertex searchpoint, struct otri *searchtri);
+> void writenodes(struct mesh *m, struct behavior *b, REAL **pointlist,
+> REAL **pointattriblist, int **pointmarkerlist);
+> void writevoronoi(struct mesh *m, struct behavior *b, REAL **vpointlist,
+> REAL **vpointattriblist, int **vpointmarkerlist,
+> int **vedgelist, int **vedgemarkerlist, REAL **vnormlist);
+> void writeneighbors(struct mesh *m, struct behavior *b, int **neighborlist);
+> void testtriangle(struct mesh *m, struct behavior *b, struct otri *testtri);
+> void triangleinit(struct mesh *m);
+>
+>
+1408a1514
+> void triexit(int status);
+1410d1515
+< #ifdef ANSI_DECLARATORS
+1412,1416d1516
+< #else /* not ANSI_DECLARATORS */
+< void triexit(status)
+< int status;
+< #endif /* not ANSI_DECLARATORS */
+<
+1421c1521
+< #ifdef ANSI_DECLARATORS
+---
+> VOID *trimalloc(int size);
+1423,1427d1522
+< #else /* not ANSI_DECLARATORS */
+< VOID *trimalloc(size)
+< int size;
+< #endif /* not ANSI_DECLARATORS */
+<
+1431c1526,1527
+< memptr = (VOID *) malloc((unsigned int) size);
+---
+> //memptr = (VOID *) mxMalloc((unsigned int) size);
+> memptr = (VOID *) malloc((unsigned int) size);
+1447c1543,1544
+< free(memptr);
+---
+> free(memptr);
+> //mxFree(memptr);
+3665,3670c3762,3767
+< void printtriangle(struct mesh *m, struct behavior *b, struct otri *t)
+< #else /* not ANSI_DECLARATORS */
+< void printtriangle(m, b, t)
+< struct mesh *m;
+< struct behavior *b;
+< struct otri *t;
+---
+> void printtriangle(struct mesh *m, struct behavior *b, struct otri *t){
+> //#else /* not ANSI_DECLARATORS */
+> //void printtriangle(m, b, t)
+> //struct mesh *m;
+> //struct behavior *b;
+> //struct otri *t;
+3673c3770
+< {
+---
+> //{
+4910c5007
+< _FPU_SETCW(cword);
+---
+> //_FPU_SETCW(cword); //taken care of by Matlab
Modified: issm/trunk/externalpackages/triangle/triangle.h.patch
===================================================================
--- issm/trunk/externalpackages/triangle/triangle.h.patch 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/triangle/triangle.h.patch 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,17 +1,25 @@
-249a250,253
+249a250,251
+> #ifndef _TRIANGLE_LIBRARY_H_
+> #define _TRIANGLE_LIBRARY_H_
+251c253,259
+< struct triangulateio {
+---
+>
> #ifndef REAL
> typedef double REAL;
> typedef void VOID;
> #endif
-251c255
-< struct triangulateio {
----
+>
> extern "C" struct triangulateio {
-283c287
+283c291
< void triangulate(char *, struct triangulateio *, struct triangulateio *,
---
> extern "C" void triangulate(char *, struct triangulateio *, struct triangulateio *,
-285c289
+285c293
< void trifree(VOID *memptr);
---
> extern "C" void trifree(VOID *memptr);
+289a298,300
+>
+>
+> #endif //#ifndef _TRIANGLE_LIBRARY_H_
Modified: issm/trunk/externalpackages/vim/addons/vim/syntax/c.vim
===================================================================
--- issm/trunk/externalpackages/vim/addons/vim/syntax/c.vim 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/vim/addons/vim/syntax/c.vim 2012-04-16 21:57:18 UTC (rev 11995)
@@ -405,7 +405,7 @@
"ISSM containers:
syn keyword cType Constraints DataSet Elements Inputs Loads Materials Nodes Parameters Results Vertices
"Petsc
-syn keyword cType Vec Mat
+syn keyword cType Vec Mat
"other ISSM's syntax
syn keyword cType mxArray ErrorException
@@ -426,6 +426,7 @@
syn keyword cType SpcDynamic
syn keyword cType GaussTria
syn keyword cType GaussPenta
+syn keyword cType Load
syn keyword cType Friction
syn keyword cType Icefront
syn keyword cType Numericalflux
@@ -433,7 +434,6 @@
syn keyword cType Penpair
syn keyword cType Pengrid
syn keyword cType Element
-syn keyword cType Load
syn keyword cType Penta
syn keyword cType PentaHook
syn keyword cType PentaRef
@@ -501,6 +501,8 @@
syn keyword cType Matpar
syn keyword cType ElementMatrix
syn keyword cType ElementVector
+syn keyword cType Vector
+syn keyword cType Matrix
syn keyword cType BoolParam
syn keyword cType DoubleMatParam
syn keyword cType DoubleTransientMatParam
@@ -512,8 +514,8 @@
syn keyword cType IntMatParam
syn keyword cType FileParam
syn keyword cType Param
-syn keyword cType PetscMatParam
-syn keyword cType PetscVecParam
+syn keyword cType MatrixParam
+syn keyword cType VectorParam
syn keyword cType StringArrayParam
syn keyword cType StringParam
syn keyword cType Contour
@@ -608,6 +610,7 @@
syn keyword cConstant InversionGradientScalingEnum
syn keyword cConstant InversionIscontrolEnum
syn keyword cConstant InversionTaoEnum
+syn keyword cConstant InversionIncompleteAdjointEnum
syn keyword cConstant InversionMaxParametersEnum
syn keyword cConstant InversionMaxiterPerStepEnum
syn keyword cConstant InversionMinParametersEnum
@@ -687,8 +690,7 @@
syn keyword cConstant SteadystateReltolEnum
syn keyword cConstant SteadystateRequestedOutputsEnum
syn keyword cConstant SurfaceEnum
-syn keyword cConstant SurfaceforcingsAblationRateEnum
-syn keyword cConstant SurfaceforcingsAccumulationRateEnum
+syn keyword cConstant SurfaceforcingsPrecipitationEnum
syn keyword cConstant SurfaceforcingsMassBalanceEnum
syn keyword cConstant ThermalMaxiterEnum
syn keyword cConstant ThermalPenaltyFactorEnum
@@ -696,6 +698,7 @@
syn keyword cConstant ThermalPenaltyThresholdEnum
syn keyword cConstant ThermalSpctemperatureEnum
syn keyword cConstant ThermalStabilizationEnum
+syn keyword cConstant ThermalIsenthalpyEnum
syn keyword cConstant ThicknessEnum
syn keyword cConstant TimesteppingCflCoefficientEnum
syn keyword cConstant TimesteppingFinalTimeEnum
@@ -790,8 +793,8 @@
syn keyword cConstant PenpairEnum
syn keyword cConstant PentaEnum
syn keyword cConstant PentaP1InputEnum
-syn keyword cConstant PetscMatParamEnum
-syn keyword cConstant PetscVecParamEnum
+syn keyword cConstant MatrixParamEnum
+syn keyword cConstant VectorParamEnum
syn keyword cConstant RiftfrontEnum
syn keyword cConstant SegmentEnum
syn keyword cConstant SegmentRiftfrontEnum
Deleted: issm/trunk/externalpackages/windows/InstallInstructions.txt
===================================================================
--- issm/trunk-jpl/externalpackages/windows/InstallInstructions.txt 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/InstallInstructions.txt 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,152 +0,0 @@
-Win7:
--Be sure to use an account name that does not have spaces in it, as this could be an
-issue with Cygwin.
-
-
-Installing Matlab:
-
--Make sure that when you install Matlab, you choose C:\MATLAB\R2011b as directory
-for the installation. Failing to do so could preclude the sdk compiler from
-finding the Matlab header files. Define environment variable:
-MATLAB_DIR="C:/MATLAB/R2011b" after you 'source $ISSM_TIER/etc/environment.sh'
-as described in the ISSM installation instructions below.
-
--Also pay attention to what version of Matlab you are using, 32 or 64 bits,
-as this will need to be reflected onto the sdk compiler settings.
-
-
-
-Cygwin:
-
--You will need cygwin installed on your Windows platform to manage the compilation. Cygwin emulates
-unix behaviour on windows machines. The compilation will still be carried out by the windows sdk compiler, but the
-environment driving the compilation will be the unix-like cygwin. When you download
-cygwin, make sure that you install it in the C:\Cygwin directory.
-
--You will find the cygwin setup executable on the www.cygwin.com webpage. Here is a link
-to it: http://cygwin.com/setup.exe. Download this file to C:\Cygwin and be sure to reuse
-it when you want to update your current cygwin installation. Do not download setup.exe
-twice!
-
-- You will need the following packages downloaded to carry out the compilation of ISSM
- successfully, so be sure to include them in your cygwin install:
-
-subversion
-autotools
-automake
-vim (or any other editor)
-patchutils
-make: The GNU version of the 'make' utility
-automake 1.11 and automake:Wrapper scripts
-autoconf
-python: Python language interpreter
-unzip
-
-
-
-Compiler:
-
-You need Visual Studio Express 2010 for C++, which you can find here:
-http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
-
-you will also need the Windows SDK 7.1 compiler, which you can find at the following link
-http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
-This compiler is compatible with Matlab, as detailed in the following webpage:
-http://www.mathworks.com/support/compilers/R2011b/win64.html#n2
-
-Be careful not to download the sdk before Visual Studio Express, as this could lead to
-environment setup issues.
-
-
-Before you do anything related to ISSM! You have to capture the settings of your compiler.
-This is by far the most tricky part.
-
-Follow Sdk1.png and Sdk2.png for more details. You have to launch sdk 7.1 command prompt, go to the
-cygwin directory and fire up Cygwin by executing Cygwin.bat. Once this is done,dump the
-results of the export command onto a file, called sdk7.1.win7.64.sh
-you will need this file later in the ISSM install.
-
-
-
-Downloading issm:
-
-Download issm into the C:\ directory. Do not download it in your Documents or Desktop
-folder.
-
-In cygwin:
-cd /cygdrive/c/
-svn co http://issm.ess.uci.edu/svn/issm/issm
-
-Once you download it, in your home directory, edit .bashrc:
-and add the following lines:
-export ISSM_DIR=/cygdrive/c/issm
-export ISSM_TIER=$ISSM_DIR/trunk-jpl
-export ISSM_ARCH=cygwin-intel
-
-#source
-source $ISSM_TIER/etc/environment.sh
-
-
-Getting the cl.exe compiler to work:
-before trying to compile the externalpackages, you need to be sure that your compiler cl.exe
-(the sdk compiler)works. To make sure, create a simple hello world file:
-
-hello.cpp
-
-#include <stdio.h>
-int main(){
-printf("%s\n","hello");
-return 1;
-}
-
-and try to compile it by doing:
-cl hello.cpp
-
-If this does not work, do not go any further! The settings of your cl compiler are found
-in externalpackages/windows/configs/. If there is a significant different between your
-sdk7.1.win7.64.sh file (see above section Compiler) and the file that is being sourced in the windows/configs directory, place your new file in
-the configs directory. Relaunch bash, and try to run cl hello.cpp once more. Beware, you will likely
-have to erase some lines in your file, as cygwin might not like some of the stuff that your
-Windows platform is trying to define. To make sure that the correct bit compiler is
-being sourced in windows/configs (e.g. sdk7.1.win7-64.sh or sdk7.1.win7-32.sh) see
-section "One note about 32 vs 64 bit compile" below.
-
-Once the cl.exe compiler works, you can start installing the following packages:
-petsc metis triangle and cccl
-
-For petsc, use install-3.1-win7.sh
-For metis, use install-4.0-win7.sh
-For cccl, use install-win7.sh
-For triangle, use install-win7.sh
-
-Once this is complete run the install.sh scripts in the autoconf and automake
-externalpackages directory
-
-Once these externalpackages have been compiled, you can compile issm:
-
-./scripts/autoremakererun.sh
-./configs/config-win7-64.sh
-make install
-
-This should compile both parallel and serial versions of ISSM. Beware though, the parallel
-version cannot be run on multi-core platforms yet! We are actively working on it.
-
-
-
-One note about 32 vs 64 bit compile:
-Depending on your Matlab version, you will need to do a 32 or 64 bit compile. The only
-difference between both compiles is the setup of the cl.exe compiler. For ease of use,
-you will find in externalpackages/windows/windows_environment.sh a switch to go from 32
-to 64 bit compile. When you type cl.exe \help at the command prompt, cl.exe should report
-what system it is compiling for. Beware, switching 32 to 64 or vice-versa implies recompiling everything from scratch.
-
-
-
-How to setup a Cron job?
-Download exim and cron from cygwin setup. Run exim-config (don't forget to launch your cygwin terminal as
-Administrator). If asked for a daemon name, type ntsec. Also, if cron complains about sendmail,
-symlink /usr/lib/sendmail to /usr/sbin/sendmail. Then link /usr/sbin/sendmail
-to /usr/bin/exim. Alternatively, if you have an smtp server, you can download and configure
-ssmtp. Run ssmtp-config
-as Administrator and link /usr/sbin/sendmail to /usr/bin/ssmtp. After the email has been configured,
-run cron-config as Administrator.
Copied: issm/trunk/externalpackages/windows/InstallInstructions.txt (from rev 11994, issm/trunk-jpl/externalpackages/windows/InstallInstructions.txt)
===================================================================
--- issm/trunk/externalpackages/windows/InstallInstructions.txt (rev 0)
+++ issm/trunk/externalpackages/windows/InstallInstructions.txt 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,152 @@
+Win7:
+-Be sure to use an account name that does not have spaces in it, as this could be an
+issue with Cygwin.
+
+
+Installing Matlab:
+
+-Make sure that when you install Matlab, you choose C:\MATLAB\R2011b as directory
+for the installation. Failing to do so could preclude the sdk compiler from
+finding the Matlab header files. Define environment variable:
+MATLAB_DIR="C:/MATLAB/R2011b" after you 'source $ISSM_TIER/etc/environment.sh'
+as described in the ISSM installation instructions below.
+
+-Also pay attention to what version of Matlab you are using, 32 or 64 bits,
+as this will need to be reflected onto the sdk compiler settings.
+
+
+
+Cygwin:
+
+-You will need cygwin installed on your Windows platform to manage the compilation. Cygwin emulates
+unix behaviour on windows machines. The compilation will still be carried out by the windows sdk compiler, but the
+environment driving the compilation will be the unix-like cygwin. When you download
+cygwin, make sure that you install it in the C:\Cygwin directory.
+
+-You will find the cygwin setup executable on the www.cygwin.com webpage. Here is a link
+to it: http://cygwin.com/setup.exe. Download this file to C:\Cygwin and be sure to reuse
+it when you want to update your current cygwin installation. Do not download setup.exe
+twice!
+
+- You will need the following packages downloaded to carry out the compilation of ISSM
+ successfully, so be sure to include them in your cygwin install:
+
+subversion
+autotools
+automake
+vim (or any other editor)
+patchutils
+make: The GNU version of the 'make' utility
+automake 1.11 and automake:Wrapper scripts
+autoconf
+python: Python language interpreter
+unzip
+
+
+
+Compiler:
+
+You need Visual Studio Express 2010 for C++, which you can find here:
+http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
+
+you will also need the Windows SDK 7.1 compiler, which you can find at the following link
+http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
+This compiler is compatible with Matlab, as detailed in the following webpage:
+http://www.mathworks.com/support/compilers/R2011b/win64.html#n2
+
+Be careful not to download the sdk before Visual Studio Express, as this could lead to
+environment setup issues.
+
+
+Before you do anything related to ISSM! You have to capture the settings of your compiler.
+This is by far the most tricky part.
+
+Follow Sdk1.png and Sdk2.png for more details. You have to launch sdk 7.1 command prompt, go to the
+cygwin directory and fire up Cygwin by executing Cygwin.bat. Once this is done,dump the
+results of the export command onto a file, called sdk7.1.win7.64.sh
+you will need this file later in the ISSM install.
+
+
+
+Downloading issm:
+
+Download issm into the C:\ directory. Do not download it in your Documents or Desktop
+folder.
+
+In cygwin:
+cd /cygdrive/c/
+svn co http://issm.ess.uci.edu/svn/issm/issm
+
+Once you download it, in your home directory, edit .bashrc:
+and add the following lines:
+export ISSM_DIR=/cygdrive/c/issm
+export ISSM_TIER=$ISSM_DIR/trunk-jpl
+export ISSM_ARCH=cygwin-intel
+
+#source
+source $ISSM_TIER/etc/environment.sh
+
+
+Getting the cl.exe compiler to work:
+before trying to compile the externalpackages, you need to be sure that your compiler cl.exe
+(the sdk compiler)works. To make sure, create a simple hello world file:
+
+hello.cpp
+
+#include <stdio.h>
+int main(){
+printf("%s\n","hello");
+return 1;
+}
+
+and try to compile it by doing:
+cl hello.cpp
+
+If this does not work, do not go any further! The settings of your cl compiler are found
+in externalpackages/windows/configs/. If there is a significant different between your
+sdk7.1.win7.64.sh file (see above section Compiler) and the file that is being sourced in the windows/configs directory, place your new file in
+the configs directory. Relaunch bash, and try to run cl hello.cpp once more. Beware, you will likely
+have to erase some lines in your file, as cygwin might not like some of the stuff that your
+Windows platform is trying to define. To make sure that the correct bit compiler is
+being sourced in windows/configs (e.g. sdk7.1.win7-64.sh or sdk7.1.win7-32.sh) see
+section "One note about 32 vs 64 bit compile" below.
+
+Once the cl.exe compiler works, you can start installing the following packages:
+petsc metis triangle and cccl
+
+For petsc, use install-3.1-win7.sh
+For metis, use install-4.0-win7.sh
+For cccl, use install-win7.sh
+For triangle, use install-win7.sh
+
+Once this is complete run the install.sh scripts in the autoconf and automake
+externalpackages directory
+
+Once these externalpackages have been compiled, you can compile issm:
+
+./scripts/autoremakererun.sh
+./configs/config-win7-64.sh
+make install
+
+This should compile both parallel and serial versions of ISSM. Beware though, the parallel
+version cannot be run on multi-core platforms yet! We are actively working on it.
+
+
+
+One note about 32 vs 64 bit compile:
+Depending on your Matlab version, you will need to do a 32 or 64 bit compile. The only
+difference between both compiles is the setup of the cl.exe compiler. For ease of use,
+you will find in externalpackages/windows/windows_environment.sh a switch to go from 32
+to 64 bit compile. When you type cl.exe \help at the command prompt, cl.exe should report
+what system it is compiling for. Beware, switching 32 to 64 or vice-versa implies recompiling everything from scratch.
+
+
+
+How to setup a Cron job?
+Download exim and cron from cygwin setup. Run exim-config (don't forget to launch your cygwin terminal as
+Administrator). If asked for a daemon name, type ntsec. Also, if cron complains about sendmail,
+symlink /usr/lib/sendmail to /usr/sbin/sendmail. Then link /usr/sbin/sendmail
+to /usr/bin/exim. Alternatively, if you have an smtp server, you can download and configure
+ssmtp. Run ssmtp-config
+as Administrator and link /usr/sbin/sendmail to /usr/bin/ssmtp. After the email has been configured,
+run cron-config as Administrator.
Deleted: issm/trunk/externalpackages/windows/README
===================================================================
--- issm/trunk-jpl/externalpackages/windows/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,52 +0,0 @@
-How to install intel compiler to work on cygwin at the command line:
-
-This is what I got from the following post on google:
-
------------------------------------------------------
-All necessary paths and environment variables are set if you put the Microsoft linker path in ICL.CFG, and open the Intel
-compiler command line window on the Start menu. Then you can run cygwin.bat so that bash inherits the ICL paths,
-without breaking ICL. You will sometimes get the bash warning about finding Windows style paths in the environment,
-but those are necessary for ICL and Microsoft link. Needless to say, the Windows environment variable forgetfulness
- point will be reached sooner with this setup.
-
-After I run cygwin.bat, and try to run icl, it says:
-
-link: invalid option -- o
-Try `ling --help' for more information.
-
-I verified that icl compiles without any problems before I run cygwin.bat
-
-What am I missing?
-
-
-
-This would indicate that you ignored my advice about icl.cfg, and so you are getting the wrong link.exe. It should have said "link" not "ling."
-For a VC9 installation, /windows/C/Program Files/Intel/Compiler/11.1/026/bin/ia32/icl.cfg:
--Qlocation,link,"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin"
--Qprec-div -Qprec-sqrt -Qansi_alias
-----------------------------------------------------------
-
-
-
-
-
-So here is what you do:
-edit /cygdrive/c/IntelInstall/Compiler/11.1/026/bin/ia32/icl.cfg
-
-add:
--Qlocation,link,"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin"
--Qprec-div -Qprec-sqrt -Qansi_alias
-
-
-Then run the intel compiler command window. Go to C:\Cygwin and run Cygwin.bat.
-you are now running cygwin with the correct paths. Type "export" at the command line, and figure out which variables have been set that relate to the intel compiler and visual studio environment. Build a file containing specific export commands and source it from your .bashrc. intel.sh is an example of such file on a Windows XP 32 build.
-
-
-
-Compiling ISSM using Matlab compatible compilers.
-
-At: http://www.mathworks.com/support/compilers/R2011b/win64.html#n2
-you will find a list of Matlab supported compilers.
-
-
-We'll try the compile with the Microsoft Windows SDK 7.1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
Copied: issm/trunk/externalpackages/windows/README (from rev 11994, issm/trunk-jpl/externalpackages/windows/README)
===================================================================
--- issm/trunk/externalpackages/windows/README (rev 0)
+++ issm/trunk/externalpackages/windows/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,52 @@
+How to install intel compiler to work on cygwin at the command line:
+
+This is what I got from the following post on google:
+
+-----------------------------------------------------
+All necessary paths and environment variables are set if you put the Microsoft linker path in ICL.CFG, and open the Intel
+compiler command line window on the Start menu. Then you can run cygwin.bat so that bash inherits the ICL paths,
+without breaking ICL. You will sometimes get the bash warning about finding Windows style paths in the environment,
+but those are necessary for ICL and Microsoft link. Needless to say, the Windows environment variable forgetfulness
+ point will be reached sooner with this setup.
+
+After I run cygwin.bat, and try to run icl, it says:
+
+link: invalid option -- o
+Try `ling --help' for more information.
+
+I verified that icl compiles without any problems before I run cygwin.bat
+
+What am I missing?
+
+
+
+This would indicate that you ignored my advice about icl.cfg, and so you are getting the wrong link.exe. It should have said "link" not "ling."
+For a VC9 installation, /windows/C/Program Files/Intel/Compiler/11.1/026/bin/ia32/icl.cfg:
+-Qlocation,link,"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin"
+-Qprec-div -Qprec-sqrt -Qansi_alias
+----------------------------------------------------------
+
+
+
+
+
+So here is what you do:
+edit /cygdrive/c/IntelInstall/Compiler/11.1/026/bin/ia32/icl.cfg
+
+add:
+-Qlocation,link,"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin"
+-Qprec-div -Qprec-sqrt -Qansi_alias
+
+
+Then run the intel compiler command window. Go to C:\Cygwin and run Cygwin.bat.
+you are now running cygwin with the correct paths. Type "export" at the command line, and figure out which variables have been set that relate to the intel compiler and visual studio environment. Build a file containing specific export commands and source it from your .bashrc. intel.sh is an example of such file on a Windows XP 32 build.
+
+
+
+Compiling ISSM using Matlab compatible compilers.
+
+At: http://www.mathworks.com/support/compilers/R2011b/win64.html#n2
+you will find a list of Matlab supported compilers.
+
+
+We'll try the compile with the Microsoft Windows SDK 7.1: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279
Deleted: issm/trunk/externalpackages/windows/Sdk1.png
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/windows/Sdk1.png (from rev 11994, issm/trunk-jpl/externalpackages/windows/Sdk1.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/windows/Sdk2.png
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/windows/Sdk2.png (from rev 11994, issm/trunk-jpl/externalpackages/windows/Sdk2.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/windows/configs/intel-win7.sh
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/windows/configs/intel-win7.sh (from rev 11994, issm/trunk-jpl/externalpackages/windows/configs/intel-win7.sh)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/windows/configs/intel-winXP.sh
===================================================================
--- issm/trunk-jpl/externalpackages/windows/configs/intel-winXP.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/configs/intel-winXP.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
- export CPATH="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;"
- export DEVENVDIR="C:\\MicrosoftVisualStudio 9.0\\Common7\\IDE"
- export FPATH="C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;"
- export FRAMEWORK35VERSION="v3.5"
- export FRAMEWORKDIR="C:\\WINDOWS\\Microsoft.NET\\Framework"
- export FRAMEWORKVERSION="v2.0.50727"
- export INCLUDE="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\tbb\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\include;C:\\MicrosoftVisualStudio 9.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;"
- export IPPROOT="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32"
- export LIB="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\stublib;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\tbb\\ia32\\vc9\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\Lib\\ia32;C:\\MicrosoftVisualStudio 9.0\\VC\\LIB;C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\lib;"
- export LIBPATH="C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5;C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;C:\\MicrosoftVisualStudio 9.0\\VC\\LIB;"
- export LIBRARY_PATH="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\stublib;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\ia32\\lib;"
- export PATH="$PATH:/cygdrive/c/IntelInstall/Compiler/11.1/038/Bin/ia32:/cygdrive/c/MicrosoftVisualStudio 9.0/Common7/IDE:/cygdrive/c/MicrosoftVisualStudio 9.0/VC/BIN:/cygdrive/c/MicrosoftVisualStudio 9.0/Common7/Tools:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727:/cygdrive/c/MicrosoftVisualStudio 9.0/VC/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.0A/bin:/cygdrive/c/WINDOWS"
- export TBB_ARCH_PLATFORM="ia32\\vc9"
- export VCINSTALLDIR="C:\\MicrosoftVisualStudio 9.0\\VC"
- export VSINSTALLDIR="C:\\MicrosoftVisualStudio 9.0"
- export WINDOWSSDKDIR="C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\"
Copied: issm/trunk/externalpackages/windows/configs/intel-winXP.sh (from rev 11994, issm/trunk-jpl/externalpackages/windows/configs/intel-winXP.sh)
===================================================================
--- issm/trunk/externalpackages/windows/configs/intel-winXP.sh (rev 0)
+++ issm/trunk/externalpackages/windows/configs/intel-winXP.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+ export CPATH="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;"
+ export DEVENVDIR="C:\\MicrosoftVisualStudio 9.0\\Common7\\IDE"
+ export FPATH="C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;"
+ export FRAMEWORK35VERSION="v3.5"
+ export FRAMEWORKDIR="C:\\WINDOWS\\Microsoft.NET\\Framework"
+ export FRAMEWORKVERSION="v2.0.50727"
+ export INCLUDE="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\tbb\\include;C:\\IntelInstall\\Compiler\\11.1\\038\\include;C:\\MicrosoftVisualStudio 9.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\include;"
+ export IPPROOT="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32"
+ export LIB="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\stublib;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\tbb\\ia32\\vc9\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\Lib\\ia32;C:\\MicrosoftVisualStudio 9.0\\VC\\LIB;C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\lib;"
+ export LIBPATH="C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5;C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727;C:\\MicrosoftVisualStudio 9.0\\VC\\LIB;"
+ export LIBRARY_PATH="C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\lib;C:\\IntelInstall\\Compiler\\11.1\\038\\ipp\\ia32\\stublib;C:\\IntelInstall\\Compiler\\11.1\\038\\mkl\\ia32\\lib;"
+ export PATH="$PATH:/cygdrive/c/IntelInstall/Compiler/11.1/038/Bin/ia32:/cygdrive/c/MicrosoftVisualStudio 9.0/Common7/IDE:/cygdrive/c/MicrosoftVisualStudio 9.0/VC/BIN:/cygdrive/c/MicrosoftVisualStudio 9.0/Common7/Tools:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727:/cygdrive/c/MicrosoftVisualStudio 9.0/VC/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.0A/bin:/cygdrive/c/WINDOWS"
+ export TBB_ARCH_PLATFORM="ia32\\vc9"
+ export VCINSTALLDIR="C:\\MicrosoftVisualStudio 9.0\\VC"
+ export VSINSTALLDIR="C:\\MicrosoftVisualStudio 9.0"
+ export WINDOWSSDKDIR="C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\"
Deleted: issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh
===================================================================
--- issm/trunk-jpl/externalpackages/windows/configs/sdk7.1.win7-32.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,39 +0,0 @@
-declare -x ALLUSERSPROFILE="C:\\ProgramData"
-declare -x CL="/AI C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319"
-declare -x COMMONPROGRAMFILES="C:\\Program Files (x86)\\Common Files"
-declare -x COMSPEC="C:\\Windows\\system32\\cmd.exe"
-declare -x CommandPromptType="Cross"
-declare -x CommonProgramW6432="C:\\Program Files\\Common Files"
-declare -x Configuration="Debug"
-declare -x FP_NO_HOST_CHECK="NO"
-declare -x FrameworkVersion="v4.0.30319"
-declare -x HOMEDRIVE="C:"
-declare -x INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE\\gl;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;"
-declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:"
-declare -x LANG="en_US.UTF-8"
-declare -x LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB;"
-declare -x LIBPATH="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib;"
-declare -x MANPATH="/usr/local/man:/usr/share/man:/usr/man:"
-declare -x PATH="/usr/local/bin:/usr/bin:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/Tools:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/NETFX 4.0 Tools:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Microsoft Windows Performance Toolkit:/cygdrive/c/MATLAB/R2011b32/runtime/win32:/cygdrive/c/MATLAB/R2011b32/bin:/cygdrive/c/MATLAB/R2011b/runtime/win64:/cygdrive/c/MATLAB/R2011b/bin:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files/Microsoft Network Monitor 3"
-declare -x PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
-declare -x PROCESSOR_ARCHITECTURE="x86"
-declare -x PROCESSOR_ARCHITEW6432="AMD64"
-declare -x PROCESSOR_IDENTIFIER="Intel64 Family 6 Model 42 Stepping 7, GenuineIntel"
-declare -x PROCESSOR_LEVEL="6"
-declare -x PROCESSOR_REVISION="2a07"
-declare -x PROGRAMFILES="C:\\Program Files (x86)"
-declare -x PSModulePath="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\"
-declare -x PUBLIC="C:\\Users\\Public"
-declare -x PlatformToolset="Windows7.1SDK"
-declare -x ProgramData="C:\\ProgramData"
-declare -x ProgramW6432="C:\\Program Files"
-declare -x SHELL="/bin/bash"
-declare -x SYSTEMDRIVE="C:"
-declare -x SYSTEMROOT="C:\\Windows"
-declare -x TARGET_PLATFORM="WIN7"
-declare -x TERM="cygwin"
-declare -x VS100COMNTOOLS="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\"
-declare -x WINDIR="C:\\Windows"
-declare -x WindowsSDKDir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
-declare -x WindowsSDKVersionOverride="v7.1"
-declare -x sdkdir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
Copied: issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh (from rev 11994, issm/trunk-jpl/externalpackages/windows/configs/sdk7.1.win7-32.sh)
===================================================================
--- issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh (rev 0)
+++ issm/trunk/externalpackages/windows/configs/sdk7.1.win7-32.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,39 @@
+declare -x ALLUSERSPROFILE="C:\\ProgramData"
+declare -x CL="/AI C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319"
+declare -x COMMONPROGRAMFILES="C:\\Program Files (x86)\\Common Files"
+declare -x COMSPEC="C:\\Windows\\system32\\cmd.exe"
+declare -x CommandPromptType="Cross"
+declare -x CommonProgramW6432="C:\\Program Files\\Common Files"
+declare -x Configuration="Debug"
+declare -x FP_NO_HOST_CHECK="NO"
+declare -x FrameworkVersion="v4.0.30319"
+declare -x HOMEDRIVE="C:"
+declare -x INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE\\gl;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;"
+declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:"
+declare -x LANG="en_US.UTF-8"
+declare -x LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB;"
+declare -x LIBPATH="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib;"
+declare -x MANPATH="/usr/local/man:/usr/share/man:/usr/man:"
+declare -x PATH="/usr/local/bin:/usr/bin:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/Tools:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/NETFX 4.0 Tools:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Microsoft Windows Performance Toolkit:/cygdrive/c/MATLAB/R2011b32/runtime/win32:/cygdrive/c/MATLAB/R2011b32/bin:/cygdrive/c/MATLAB/R2011b/runtime/win64:/cygdrive/c/MATLAB/R2011b/bin:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files/Microsoft Network Monitor 3"
+declare -x PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
+declare -x PROCESSOR_ARCHITECTURE="x86"
+declare -x PROCESSOR_ARCHITEW6432="AMD64"
+declare -x PROCESSOR_IDENTIFIER="Intel64 Family 6 Model 42 Stepping 7, GenuineIntel"
+declare -x PROCESSOR_LEVEL="6"
+declare -x PROCESSOR_REVISION="2a07"
+declare -x PROGRAMFILES="C:\\Program Files (x86)"
+declare -x PSModulePath="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\"
+declare -x PUBLIC="C:\\Users\\Public"
+declare -x PlatformToolset="Windows7.1SDK"
+declare -x ProgramData="C:\\ProgramData"
+declare -x ProgramW6432="C:\\Program Files"
+declare -x SHELL="/bin/bash"
+declare -x SYSTEMDRIVE="C:"
+declare -x SYSTEMROOT="C:\\Windows"
+declare -x TARGET_PLATFORM="WIN7"
+declare -x TERM="cygwin"
+declare -x VS100COMNTOOLS="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\"
+declare -x WINDIR="C:\\Windows"
+declare -x WindowsSDKDir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
+declare -x WindowsSDKVersionOverride="v7.1"
+declare -x sdkdir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
Deleted: issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh
===================================================================
--- issm/trunk-jpl/externalpackages/windows/configs/sdk7.1.win7-64.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,51 +0,0 @@
-declare -x ALLUSERSPROFILE="C:\\ProgramData"
-declare -x CL="/AI C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319"
-declare -x COMMONPROGRAMFILES="C:\\Program Files (x86)\\Common Files"
-declare -x CURRENT_CPU="x64"
-declare -x CommandPromptType="Native"
-declare -x CommonProgramW6432="C:\\Program Files\\Common Files"
-declare -x Configuration="Debug"
-declare -x FP_NO_HOST_CHECK="NO"
-declare -x FrameworkVersion="v4.0.30319"
-declare -x INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE\\gl;"
-declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:"
-declare -x LANG="C.UTF-8"
-declare -x LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib\\amd64;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib\\X64;"
-declare -x LIBPATH="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\v3.5;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib\\amd64;"
-declare -x LOCALAPPDATA="C:\\Users\\schlegel\\AppData\\Local"
-declare -x MANPATH="/usr/local/man:/usr/share/man:/usr/man:"
-declare -x PATH="/usr/local/bin:/usr/bin:/usr/include:/cygdrive/c/cygwin/usr/bin:/cygdrive/c/cygwin/usr/include:/cygdrive/c/Windows/Microsoft.NET/Framework64/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework64/v3.5:/cygdrive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/Tools:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/NETFX 4.0 Tools/x64:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/x64:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Microsoft Windows Performance Toolkit:/cygdrive/c/MATLAB/R2011b/runtime/win64:/cygdrive/b/MATLAB/R2011b/bin:/cygdrive/c/MATLAB/R2011b/extern/include:/cygdrive/c/MATLAB/R2011a/runtime/win64:/cygdrive/c/MATLAB/R2011a/bin:/cygdrive/c/MATLAB/R2011a/extern/include"
-declare -x PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
-declare -x PROCESSOR_ARCHITECTURE="x86"
-declare -x PROCESSOR_ARCHITEW6432="AMD64"
-declare -x PROCESSOR_IDENTIFIER="Intel64 Family 6 Model 42 Stepping 7, GenuineIntel"
-declare -x PROCESSOR_LEVEL="6"
-declare -x PROCESSOR_REVISION="2a07"
-declare -x PROGRAMFILES="C:\\Program Files (x86)"
-declare -x PROMPT="\$P\$G"
-declare -x PSModulePath="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\"
-declare -x PUBLIC="C:\\Users\\Public"
-declare -x PlatformToolset="Windows7.1SDK"
-declare -x ProgramData="C:\\ProgramData"
-declare -x ProgramW6432="C:\\Program Files"
-declare -x REPO="jpl"
-declare -x SESSIONNAME="Console"
-declare -x SHLVL="1"
-declare -x HOMEDRIVE="C:"
-declare -x SYSTEMDRIVE="C:"
-declare -x SYSTEMROOT="C:\\Windows"
-declare -x TARGET_CPU="x64"
-declare -x TARGET_PLATFORM="WIN7"
-declare -x TEMP="/tmp"
-declare -x TERM="cygwin"
-declare -x TMP="/tmp"
-declare -x ToolsVersion="4.0"
-declare -x USER="schlegel"
-declare -x USERNAME="schlegel"
-declare -x VS100COMNTOOLS="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\"
-declare -x WINDIR="C:\\Windows"
-declare -x WindowsSDKDir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
-declare -x WindowsSDKVersionOverride="v7.1"
-declare -x sdkdir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
-declare -x windows_tracing_flags="3"
-declare -x windows_tracing_logfile="C:\\BVTBin\\Tests\\installpackage\\csilogfile.log"
Copied: issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh (from rev 11994, issm/trunk-jpl/externalpackages/windows/configs/sdk7.1.win7-64.sh)
===================================================================
--- issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh (rev 0)
+++ issm/trunk/externalpackages/windows/configs/sdk7.1.win7-64.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,51 @@
+declare -x ALLUSERSPROFILE="C:\\ProgramData"
+declare -x CL="/AI C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319"
+declare -x COMMONPROGRAMFILES="C:\\Program Files (x86)\\Common Files"
+declare -x CURRENT_CPU="x64"
+declare -x CommandPromptType="Native"
+declare -x CommonProgramW6432="C:\\Program Files\\Common Files"
+declare -x Configuration="Debug"
+declare -x FP_NO_HOST_CHECK="NO"
+declare -x FrameworkVersion="v4.0.30319"
+declare -x INCLUDE="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\INCLUDE\\gl;"
+declare -x INFOPATH="/usr/local/info:/usr/share/info:/usr/info:"
+declare -x LANG="C.UTF-8"
+declare -x LIB="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib\\amd64;C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib\\X64;"
+declare -x LIBPATH="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\v3.5;C:\\Windows\\Microsoft.NET\\Framework\\v3.5;;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Lib\\amd64;"
+declare -x LOCALAPPDATA="C:\\Users\\schlegel\\AppData\\Local"
+declare -x MANPATH="/usr/local/man:/usr/share/man:/usr/man:"
+declare -x PATH="/usr/local/bin:/usr/bin:/usr/include:/cygdrive/c/cygwin/usr/bin:/cygdrive/c/cygwin/usr/include:/cygdrive/c/Windows/Microsoft.NET/Framework64/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cygdrive/c/Windows/Microsoft.NET/Framework64/v3.5:/cygdrive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/Tools:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/VCPackages:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/NETFX 4.0 Tools/x64:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin/x64:/cygdrive/c/Program Files/Microsoft SDKs/Windows/v7.1/Bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/Microsoft Windows Performance Toolkit:/cygdrive/c/MATLAB/R2011b/runtime/win64:/cygdrive/b/MATLAB/R2011b/bin:/cygdrive/c/MATLAB/R2011b/extern/include:/cygdrive/c/MATLAB/R2011a/runtime/win64:/cygdrive/c/MATLAB/R2011a/bin:/cygdrive/c/MATLAB/R2011a/extern/include"
+declare -x PATHEXT=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
+declare -x PROCESSOR_ARCHITECTURE="x86"
+declare -x PROCESSOR_ARCHITEW6432="AMD64"
+declare -x PROCESSOR_IDENTIFIER="Intel64 Family 6 Model 42 Stepping 7, GenuineIntel"
+declare -x PROCESSOR_LEVEL="6"
+declare -x PROCESSOR_REVISION="2a07"
+declare -x PROGRAMFILES="C:\\Program Files (x86)"
+declare -x PROMPT="\$P\$G"
+declare -x PSModulePath="C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\"
+declare -x PUBLIC="C:\\Users\\Public"
+declare -x PlatformToolset="Windows7.1SDK"
+declare -x ProgramData="C:\\ProgramData"
+declare -x ProgramW6432="C:\\Program Files"
+declare -x REPO="jpl"
+declare -x SESSIONNAME="Console"
+declare -x SHLVL="1"
+declare -x HOMEDRIVE="C:"
+declare -x SYSTEMDRIVE="C:"
+declare -x SYSTEMROOT="C:\\Windows"
+declare -x TARGET_CPU="x64"
+declare -x TARGET_PLATFORM="WIN7"
+declare -x TEMP="/tmp"
+declare -x TERM="cygwin"
+declare -x TMP="/tmp"
+declare -x ToolsVersion="4.0"
+declare -x USER="schlegel"
+declare -x USERNAME="schlegel"
+declare -x VS100COMNTOOLS="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\"
+declare -x WINDIR="C:\\Windows"
+declare -x WindowsSDKDir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
+declare -x WindowsSDKVersionOverride="v7.1"
+declare -x sdkdir="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\"
+declare -x windows_tracing_flags="3"
+declare -x windows_tracing_logfile="C:\\BVTBin\\Tests\\installpackage\\csilogfile.log"
Deleted: issm/trunk/externalpackages/windows/win7.sdk7.1.exe
===================================================================
(Binary files differ)
Copied: issm/trunk/externalpackages/windows/win7.sdk7.1.exe (from rev 11994, issm/trunk-jpl/externalpackages/windows/win7.sdk7.1.exe)
===================================================================
(Binary files differ)
Deleted: issm/trunk/externalpackages/windows/windows_environment.sh
===================================================================
--- issm/trunk-jpl/externalpackages/windows/windows_environment.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/externalpackages/windows/windows_environment.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-#This file sources all relevant scripts to setup the paths to windows compilers.
-
-#Where are the configuration files for each compiler:
-config_dir="$ISSM_TIER/externalpackages/windows/configs"
-
-#your choise of compiler:
-# 1: sdk 7.1 32 bits on Win7
-# 2: sdk 7.1 64 bits on Win7
-# 3: intel compiler on Win7
-# 4: intel compiler on WinXP
-
-compiler=2;
-
-#source corresponding environment variables:
-
-if [[ "$compiler" == "1" ]]; then
- source $config_dir/sdk7.1.win7-32.sh
-elif [[ "$compiler" == "2" ]]; then
- source $config_dir/sdk7.1.win7-64.sh
-elif [[ "$compiler" == "3" ]]; then
- source $config_dir/intel-win7.sh
-else
- source $config_dir/intel-winXP.sh
-fi
-
-#finally, out of ISSM_TIER, we need to create an ISSM_TIER_WIN variable for Matlab to pick up on.
-ISSM_TIER_WIN=`cygpath -m $ISSM_TIER`
-export ISSM_TIER_WIN
Copied: issm/trunk/externalpackages/windows/windows_environment.sh (from rev 11994, issm/trunk-jpl/externalpackages/windows/windows_environment.sh)
===================================================================
--- issm/trunk/externalpackages/windows/windows_environment.sh (rev 0)
+++ issm/trunk/externalpackages/windows/windows_environment.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,28 @@
+#This file sources all relevant scripts to setup the paths to windows compilers.
+
+#Where are the configuration files for each compiler:
+config_dir="$ISSM_TIER/externalpackages/windows/configs"
+
+#your choise of compiler:
+# 1: sdk 7.1 32 bits on Win7
+# 2: sdk 7.1 64 bits on Win7
+# 3: intel compiler on Win7
+# 4: intel compiler on WinXP
+
+compiler=2;
+
+#source corresponding environment variables:
+
+if [[ "$compiler" == "1" ]]; then
+ source $config_dir/sdk7.1.win7-32.sh
+elif [[ "$compiler" == "2" ]]; then
+ source $config_dir/sdk7.1.win7-64.sh
+elif [[ "$compiler" == "3" ]]; then
+ source $config_dir/intel-win7.sh
+else
+ source $config_dir/intel-winXP.sh
+fi
+
+#finally, out of ISSM_TIER, we need to create an ISSM_TIER_WIN variable for Matlab to pick up on.
+ISSM_TIER_WIN=`cygpath -m $ISSM_TIER`
+export ISSM_TIER_WIN
Deleted: issm/trunk/install-sh
===================================================================
--- issm/trunk/install-sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/install-sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,519 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2006-12-25.00
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" "" $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
- doit_exec=exec
-else
- doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
- test "$posix_glob" != "?" || {
- if (set -f) 2>/dev/null; then
- posix_glob=
- else
- posix_glob=:
- fi
- }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
- or: $0 [OPTION]... SRCFILES... DIRECTORY
- or: $0 [OPTION]... -t DIRECTORY SRCFILES...
- or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
- --help display this help and exit.
- --version display version info and exit.
-
- -c (ignored)
- -C install only if different (preserve the last data modification time)
- -d create directories instead of installing files.
- -g GROUP $chgrpprog installed files to GROUP.
- -m MODE $chmodprog installed files to MODE.
- -o USER $chownprog installed files to USER.
- -s $stripprog installed files.
- -t DIRECTORY install into DIRECTORY.
- -T report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
- CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
- RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
- case $1 in
- -c) ;;
-
- -C) copy_on_change=true;;
-
- -d) dir_arg=true;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift;;
-
- --help) echo "$usage"; exit $?;;
-
- -m) mode=$2
- case $mode in
- *' '* | *' '* | *'
-'* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
-
- -o) chowncmd="$chownprog $2"
- shift;;
-
- -s) stripcmd=$stripprog;;
-
- -t) dst_arg=$2
- shift;;
-
- -T) no_target_directory=true;;
-
- --version) echo "$0 $scriptversion"; exit $?;;
-
- --) shift
- break;;
-
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
-
- *) break;;
- esac
- shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
- # When -d is used, all remaining arguments are directories to create.
- # When -t is used, the destination is already specified.
- # Otherwise, the last argument is the destination. Remove it from $@.
- for arg
- do
- if test -n "$dst_arg"; then
- # $@ is not empty: it contains at least $arg.
- set fnord "$@" "$dst_arg"
- shift # fnord
- fi
- shift # arg
- dst_arg=$arg
- done
-fi
-
-if test $# -eq 0; then
- if test -z "$dir_arg"; then
- echo "$0: no input file specified." >&2
- exit 1
- fi
- # It's OK to call `install-sh -d' without argument.
- # This can happen when creating conditional directories.
- exit 0
-fi
-
-if test -z "$dir_arg"; then
- trap '(exit $?); exit' 1 2 13 15
-
- # Set umask so as not to create temps with too-generous modes.
- # However, 'strip' requires both read and write access to temps.
- case $mode in
- # Optimize common cases.
- *644) cp_umask=133;;
- *755) cp_umask=22;;
-
- *[0-7])
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw='% 200'
- fi
- cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
- *)
- if test -z "$stripcmd"; then
- u_plus_rw=
- else
- u_plus_rw=,u+rw
- fi
- cp_umask=$mode$u_plus_rw;;
- esac
-fi
-
-for src
-do
- # Protect names starting with `-'.
- case $src in
- -*) src=./$src;;
- esac
-
- if test -n "$dir_arg"; then
- dst=$src
- dstdir=$dst
- test -d "$dstdir"
- dstdir_status=$?
- else
-
- # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
- # might cause directories to be created, which would be especially bad
- # if $src (and thus $dsttmp) contains '*'.
- if test ! -f "$src" && test ! -d "$src"; then
- echo "$0: $src does not exist." >&2
- exit 1
- fi
-
- if test -z "$dst_arg"; then
- echo "$0: no destination specified." >&2
- exit 1
- fi
-
- dst=$dst_arg
- # Protect names starting with `-'.
- case $dst in
- -*) dst=./$dst;;
- esac
-
- # If destination is a directory, append the input filename; won't work
- # if double slashes aren't ignored.
- if test -d "$dst"; then
- if test -n "$no_target_directory"; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
- fi
- dstdir=$dst
- dst=$dstdir/`basename "$src"`
- dstdir_status=0
- else
- # Prefer dirname, but fall back on a substitute if dirname fails.
- dstdir=`
- (dirname "$dst") 2>/dev/null ||
- expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$dst" : 'X\(//\)[^/]' \| \
- X"$dst" : 'X\(//\)$' \| \
- X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
- echo X"$dst" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'
- `
-
- test -d "$dstdir"
- dstdir_status=$?
- fi
- fi
-
- obsolete_mkdir_used=false
-
- if test $dstdir_status != 0; then
- case $posix_mkdir in
- '')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writeable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
- esac
-
- if
- $posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
- )
- then :
- else
-
- # The umask is ridiculous, or mkdir does not conform to POSIX,
- # or it failed possibly due to a race condition. Create the
- # directory the slow way, step by step, checking for races as we go.
-
- case $dstdir in
- /*) prefix='/';;
- -*) prefix='./';;
- *) prefix='';;
- esac
-
- eval "$initialize_posix_glob"
-
- oIFS=$IFS
- IFS=/
- $posix_glob set -f
- set fnord $dstdir
- shift
- $posix_glob set +f
- IFS=$oIFS
-
- prefixes=
-
- for d
- do
- test -z "$d" && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
- done
-
- if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
- fi
- fi
- fi
-
- if test -n "$dir_arg"; then
- { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
- { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
- test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
- else
-
- # Make a couple of temp file names in the proper directory.
- dsttmp=$dstdir/_inst.$$_
- rmtmp=$dstdir/_rm.$$_
-
- # Trap to clean up those temp files at exit.
- trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
- # Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
- # and set any options; do chmod last to preserve setuid bits.
- #
- # If any of these fail, we abort the whole thing. If we want to
- # ignore errors from any of these, just make sure not to ignore
- # errors from the above "$doit $cpprog $src $dsttmp" command.
- #
- { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
- { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
- { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
- { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
- # If -C, don't bother to copy if it wouldn't change the file.
- if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
- eval "$initialize_posix_glob" &&
- $posix_glob set -f &&
- set X $old && old=:$2:$4:$5:$6 &&
- set X $new && new=:$2:$4:$5:$6 &&
- $posix_glob set +f &&
-
- test "$old" = "$new" &&
- $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
- then
- rm -f "$dsttmp"
- else
- # Rename the file to the real destination.
- $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
- # The rename failed, perhaps because mv can't rename something else
- # to itself, or perhaps because mv is so ancient that it does not
- # support -f.
- {
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
- }
- fi || exit 1
-
- trap '' 0
- fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
Modified: issm/trunk/m4/issm_options.m4
===================================================================
--- issm/trunk/m4/issm_options.m4 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/m4/issm_options.m4 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,47 +3,49 @@
AC_DEFUN([ISSM_OPTIONS],[
dnl ISSM's internal options
- dnl Debugging {{{1
- AC_ARG_ENABLE([debugging],AS_HELP_STRING([--enable-debugging],
- [turn debug support on]),
- [enable_debugging=$enableval],[enable_debugging=no])
+ dnl Debugging {{{
+ AC_ARG_ENABLE([debugging], dnl feature
+ AS_HELP_STRING([--enable-debugging],[turn debug support on]), dnl help string
+ [enable_debugging=$enableval], dnl action if given
+ [enable_debugging=no]) dnl action if not given
if test "x$enable_debugging" = xyes; then
- AC_DEFINE([_ISSM_DEBUG_],[1],[Macro to enable debugging in ISSM.])
+ AC_DEFINE([_ISSM_DEBUG_],[1],[Macro to enable debugging in ISSM])
fi
dnl }}}
- dnl Serial build {{{1
+ dnl Serial build {{{
AC_ARG_WITH([serial],
- AS_HELP_STRING([--with-serial = value],
- [serial compilation. ]),
- [SERIAL_VALUE=$withval],[SERIAL_VALUE="yes"])
+ AS_HELP_STRING([--with-serial = value],[serial compilation. ]),
+ [SERIAL_VALUE=$withval],[SERIAL_VALUE="yes"])
AC_MSG_CHECKING(for serial compilation)
AM_CONDITIONAL([NOSERIAL], [test $SERIAL_VALUE = no])
+ AM_CONDITIONAL([SERIAL], [test $SERIAL_VALUE = yes])
AC_MSG_RESULT($SERIAL_VALUE)
dnl }}}
- dnl Parallel build {{{1
+ dnl Parallel build {{{
AC_ARG_WITH([parallel],
- AS_HELP_STRING([--with-parallel = value],
- [parallel compilation. ]),
- [PARALLEL_VALUE=$withval],[PARALLEL_VALUE="yes"])
+ AS_HELP_STRING([--with-parallel = value], [parallel compilation. ]),
+ [PARALLEL_VALUE=$withval],[PARALLEL_VALUE="yes"])
AC_MSG_CHECKING(for parallel compilation)
AM_CONDITIONAL([NOPARALLEL], [test $PARALLEL_VALUE = no])
+ AM_CONDITIONAL([PARALLEL], [test $PARALLEL_VALUE = yes])
AC_MSG_RESULT($PARALLEL_VALUE)
ISSMEXT=".exe"
AC_SUBST([ISSMEXT])
dnl }}}
- dnl Serial or Parallel check {{{1
+ dnl Serial or Parallel check {{{
dnl Check that at least serial or parallel builds have been requested!
if test "$SERIAL_VALUE" != "yes" ; then
if test "$PARALLEL_VALUE" != "yes"; then
- AC_MSG_ERROR([cannot request --with-serial=no and --with-parallel=no at the same time!])
+ AC_MSG_ERROR([cannot request --with-serial=no and --with-parallel=no at the same time!])
fi
fi
dnl }}}
dnl ISSM's externalpackages
- dnl vendor{{{1
+ dnl vendor{{{
AC_ARG_WITH([vendor],
- AS_HELP_STRING([--with-vendor = VENDOR], [vendor name, ex: intel]), [VENDOR=$withval],[VENDOR=""])
+ AS_HELP_STRING([--with-vendor = VENDOR], [vendor name, ex: intel]),
+ [VENDOR=$withval],[VENDOR=""])
AC_MSG_CHECKING(for vendor compilers)
if test -n "$VENDOR"; then
@@ -85,21 +87,91 @@
AC_SUBST([OSLIBS])
AC_MSG_RESULT(done)
dnl }}}
- dnl Matlab {{{1
+ dnl Matlab{{{
+
+ dnl 1. See if matlab has been provided
AC_ARG_WITH([matlab-dir],
- AS_HELP_STRING([--with-matlab-dir = DIR],
- [matlab root directory. necessary for serial build.]),
- [MATLAB_ROOT=$withval],[MATLAB_ROOT=""])
-
+ AS_HELP_STRING([--with-matlab-dir = DIR], [matlab root directory. necessary for serial build.]),
+ [MATLAB_ROOT=$withval],[MATLAB_ROOT=""])
+
+ AC_MSG_CHECKING([wether Matlab is enabled])
if test -d "$MATLAB_ROOT"; then
+ HAVE_MATLAB=yes
+ else
+ HAVE_MATLAB=no
+ fi
+ if test x$HAVE_MATLAB = xyes; then
+ AC_DEFINE([_HAVE_MATLAB_],[1],[with Matlab in ISSM src])
+ fi
+ AC_MSG_RESULT($HAVE_MATLAB)
+ AM_CONDITIONAL([MATLAB], [test x$HAVE_MATLAB = xyes])
- dnl matlab version (matlab.m4)
- AX_MATLAB_VERSION
+ dnl 2. if matlab is provided, get version number
+ if test x$HAVE_MATLAB = xyes; then
+ AC_MSG_CHECKING([for Matlab version])
+ MATLAB_VERSION=""
+ dnl For Matlab R2008a and more, the version number is stored in .VERSION
+ if test -f "$MATLAB_ROOT/.VERSION" ; then
+ MATLAB_VERSION=$(cat $MATLAB_ROOT/.VERSION)
+ fi
+ dnl Otherwise find version in file stored in bin/util/mex/version.txt
+ if test -f "$MATLAB_ROOT/bin/util/mex/version.txt" ; then
+ MATLAB_VERSION=$(cat $MATLAB_ROOT/bin/util/mex/version.txt)
+ fi
+
+ dnl check that we found the version
+ if test -z "$MATLAB_VERSION" ; then
+ AC_MSG_ERROR([Matlab version not found])
+ fi
+
+ case $MATLAB_VERSION in
+ @<:@1-9@:>@.@<:@0-9@:>@ | @<:@1-9@:>@@<:@0-9@:>@.@<:@0-9@:>@ | @<:@1-9@:>@.@<:@1-9@:>@@<:@0-9@:>@)
+ MATLAB_MAJOR=$(echo $MATLAB_VERSION | sed -e "s/^\(@<:@0-9@:>@*\)\.@<:@0-9@:>@*.*/\1/")
+ MATLAB_MINOR=$(echo $MATLAB_VERSION | sed -e "s/^@<:@0-9@:>@*\.\(@<:@0-9@:>@*\).*/\1/")
+ ;;
+ R2007a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=4
+ ;;
+ R2008a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=6
+ ;;
+ R2009a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=8
+ ;;
+ R2010a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=10
+ ;;
+ R2010b)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=11
+ ;;
+ R2011a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=12
+ ;;
+ R2011b)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=13
+ ;;
+ R2012a)
+ MATLAB_MAJOR=7
+ MATLAB_MINOR=14
+ ;;
+ *)
+ AC_MSG_ERROR([can not determine Matlab version number])
+ esac
+ AC_SUBST([MATLAB_VERSION])
+ AC_SUBST([MATLAB_MAJOR])
+ AC_SUBST([MATLAB_MINOR])
+ AC_MSG_RESULT($MATLAB_VERSION ($MATLAB_MAJOR.$MATLAB_MINOR))
+
+ dnl 3. Get Matlab libraries
AC_MSG_CHECKING(for Matlab headers and libraries in $MATLAB_ROOT)
-
- dnl defaults
- HAVE_MATLAB=yes
MATLABINCL=-I"$MATLAB_ROOT/extern/include";
dnl OS-dependent variables and checks
@@ -117,7 +189,6 @@
MEXEXT=".$MEXEXT"
;;
*darwin*)
-
dnl mex -v gives all the flags for compilation of mex files
dnl if matlab version is 7.9 or more, we must use mexmaci64 (64 bits)
MEXLINK="-O -Wl,-flat_namespace -undefined suppress -arch i386 -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci/mexFunction.map"
@@ -128,12 +199,8 @@
MEXLIB=" -L$MATLAB_ROOT/bin/maci64/ -lmx -lmex -lmat -lstdc++"
fi
fi
-
MEXEXT=`$MATLAB_ROOT/bin/mexext`
MEXEXT=".$MEXEXT"
-
- dnl Old MEXLINK
- dnl MEXLINK="-Wl,-twolevel_namespace -undefined error -arch i386 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci/mexFunction.map"
;;
*cygwin*)
if test $VENDOR = intel-win7-32; then
@@ -145,59 +212,17 @@
MEXEXT=".$MEXEXT"
;;
esac
+ AC_MSG_RESULT(done)
- AC_DEFINE([_HAVE_MATLAB_],[1],[with Matlab in ISSM src])
AC_SUBST([MATLABINCL])
AC_SUBST([MEX])
- AC_SUBST([MEXEXT])
+ WRAPPEREXT=$MEXEXT
+ AC_SUBST([WRAPPEREXT])
AC_SUBST([MEXLIB])
AC_SUBST([MEXLINK])
-
- AC_MSG_RESULT($HAVE_MATLAB)
- else
- HAVE_MATLAB=no
fi
-
-
- if test $HAVE_MATLAB = no; then
- if test "$SERIAL_VALUE" = "yes" ; then
- AC_MSG_ERROR([--with-matlab-dir missing. Matlab is needed to run ISSM serially!])
- fi
- fi
-
- dnl should we use large arrays compilation (Matlab 7.5 and upper?)
- if test $HAVE_MATLAB = yes; then
-
- dnl if matlab version is 7.5 and more, and if platform is x86_64, then compile with largearray
- dnl default is no
- largearrays=no
- if test $MATLAB_MAJOR -ge 7; then
- if test $MATLAB_MINOR -ge 5; then
- case "${host_os}" in
- *linux*)
- if test "${host_cpu}" = "x86_64"; then
- largearrays=yes
- fi
- ;;
- *cygwin*)
- largearrays=yes
- ;;
-
- *darwin*)
- if test $MATLAB_MAJOR -ge 7; then
- if test $MATLAB_MINOR -ge 10; then
- largearrays=yes
- fi
- fi
- ;;
- esac
- fi
- fi
- fi
- AM_CONDITIONAL(LARGEARRAYS, test x$largearrays = xyes)
-
dnl }}}
- dnl triangle {{{1
+ dnl triangle {{{
AC_ARG_WITH([triangle-dir],
AS_HELP_STRING([--with-triangle-dir = DIR], [triangle root directory. necessary for serial build]),
[TRIANGLE_ROOT=$withval],[TRIANGLE_ROOT=""])
@@ -238,10 +263,10 @@
fi
AC_MSG_RESULT(ok)
dnl }}}
- dnl dakota{{{1
+ dnl dakota{{{
AC_ARG_WITH([dakota-dir],
- AS_HELP_STRING([--with-dakota-dir = DIR], [dakota root directory. necessary for serial build]),
- [DAKOTA_ROOT=$withval],[DAKOTA_ROOT=""])
+ AS_HELP_STRING([--with-dakota-dir = DIR], [dakota root directory. necessary for serial build]),
+ [DAKOTA_ROOT=$withval],[DAKOTA_ROOT=""])
AC_MSG_CHECKING(for Dakota)
if test -d "$DAKOTA_ROOT"; then
@@ -249,8 +274,18 @@
dnl defaults
HAVE_DAKOTA=yes
DAKOTAINCL=-I$DAKOTA_ROOT/include
- DAKOTALIB="-L$DAKOTA_ROOT/lib -ldakota -lteuchos -lpecos -lfftw3 -llhs -levidence -lsurfpack -lconmin -lddace -lfsudace -ljega -lcport -lopt -lpsuade -lnewmat -lncsuopt -lgsl -lquadrature -lcoliny -lcolin -lpebbl -lutilib -l3po -lnappspack -lappspack -lconveyor -lshared -lcdd -lamplsolver"
- dnl DAKOTALIB="-L$DAKOTA_ROOT/lib -ldakota -lteuchos -lpecos -lfftw3 -llhs -levidence -lsurfpack -lconmin -lddace -lfsudace -ljega -lcport -lopt -lpsuade -lnewmat -lncsuopt -lgsl -lgslcblas -lquadrature -lcoliny -lcolin -lpebbl -lutilib -l3po -lnappspack -lappspack -lconveyor -lshared -lcdd -lamplsolver"
+ case "${host_os}" in
+ *cygwin*)
+ DAKOTALIB="-L$DAKOTA_ROOT/lib -ldakota -lteuchos -lpecos -lfftw3 -llhs -levidence -lsurfpack -lconmin -lddace -lfsudace -ljega -lcport -lopt -lpsuade -lnewmat -lncsuopt -lgsl -lquadrature -lcoliny -lcolin -lpebbl -lutilib -l3po -lnappspack -lappspack -lconveyor -lshared -lcdd -lamplsolver"
+ ;;
+ *linux*)
+ DAKOTALIB="-L$DAKOTA_ROOT/lib -ldakota -lteuchos -lpecos -lfftw3 -llhs -levidence -lsurfpack -lconmin -lddace -lfsudace -ljega -lcport -lopt -lpsuade -lnewmat -lncsuopt -lgsl -lquadrature -lcoliny -lcolin -lpebbl -lutilib -l3po -lnappspack -lappspack -lconveyor -lshared -lcdd -lamplsolver"
+ ;;
+ *darwin*)
+ DAKOTALIB="-L$DAKOTA_ROOT/lib -ldakota -lteuchos -lpecos -lfftw3 -llhs -levidence -lsurfpack -lconmin -lddace -lfsudace -ljega -lcport -lopt -lpsuade -lnewmat -lncsuopt -lgsl -lquadrature -lcoliny -lcolin -lpebbl -lutilib -l3po -lnappspack -lappspack -lconveyor -lshared -lcdd -lamplsolver"
+ dnl DAKOTALIB+= "-lgslcblas -L/usr/lib -lblas -llapack"
+ ;;
+ esac
AC_DEFINE([_HAVE_DAKOTA_],[1],[with Dakota in ISSM src])
AC_SUBST([DAKOTAINCL])
AC_SUBST([DAKOTALIB])
@@ -261,10 +296,75 @@
AM_CONDITIONAL([DAKOTA], [test x$HAVE_DAKOTA = xyes])
AC_MSG_RESULT($HAVE_DAKOTA)
dnl }}}
- dnl chaco{{{1
+ dnl boost{{{
+ AC_ARG_WITH([boost-dir],
+ AS_HELP_STRING([--with-boost-dir = DIR], [boost root directory.]),
+ [BOOST_ROOT=$withval],[BOOST_ROOT=""])
+ AC_MSG_CHECKING(for Boost)
+
+ if test -d "$BOOST_ROOT"; then
+ dnl defaults
+ HAVE_BOOST=yes
+ BOOSTINCL=-I$BOOST_ROOT/include
+ BOOSTLIB="-L$BOOST_ROOT/lib -lboost_python"
+
+ AC_DEFINE([_HAVE_BOOST_],[1],[with Boost in ISSM src])
+ AC_SUBST([BOOSTINCL])
+ AC_SUBST([BOOSTLIB])
+ else
+ HAVE_BOOST=no
+ fi
+ AM_CONDITIONAL([BOOST], [test x$HAVE_BOOST = xyes])
+ AC_MSG_RESULT($HAVE_BOOST)
+ dnl }}}
+ dnl python{{{
+ AC_ARG_WITH([python-dir],
+ AS_HELP_STRING([--with-python-dir = DIR], [python root directory.]),
+ [PYTHON_ROOT=$withval],[PYTHON_ROOT=""])
+ AC_MSG_CHECKING(for Python)
+
+ if test -d "$PYTHON_ROOT"; then
+ dnl defaults
+ HAVE_PYTHON=yes
+ PYTHONINCL=-I$PYTHON_ROOT/include
+ PYTHONLIB="-L$PYTHON_ROOT/lib -lpython3.2"
+ PYTHONEXT=.so
+ PYTHONLINK="-dynamiclib"
+
+ AC_DEFINE([_HAVE_PYTHON_],[1],[with Python in ISSM src])
+ AC_SUBST([PYTHONINCL])
+ AC_SUBST([PYTHONLIB])
+ WRAPPEREXT=$PYTHONEXT
+ AC_SUBST([WRAPPEREXT])
+ AC_SUBST([PYTHONLINK])
+ else
+ HAVE_PYTHON=no
+ fi
+ AM_CONDITIONAL([PYTHON], [test x$HAVE_PYTHON = xyes])
+ AC_MSG_RESULT($HAVE_PYTHON)
+ dnl }}}
+ dnl python-numpy{{{
+ AC_ARG_WITH([python-numpy-dir],
+ AS_HELP_STRING([--with-python-numpy-dir = DIR], [python-numpy root directory.]),
+ [PYTHON_NUMPY_ROOT=$withval],[PYTHON_NUMPY_ROOT=""])
+ AC_MSG_CHECKING(for Python-Numpy)
+
+ if test -d "$PYTHON_NUMPY_ROOT"; then
+ dnl defaults
+ HAVE_PYTHON_NUMPY=yes
+ PYTHON_NUMPYINCL=-I$PYTHON_NUMPY_ROOT
+
+ AC_DEFINE([_HAVE_PYTHON_NUMPY_],[1],[with Python-Numpy in ISSM src])
+ AC_SUBST([PYTHON_NUMPYINCL])
+ else
+ HAVE_PYTHON_NUMPY=no
+ fi
+ AC_MSG_RESULT($HAVE_PYTHON_NUMPY)
+ dnl }}}
+ dnl chaco{{{
AC_ARG_WITH([chaco-dir],
- AS_HELP_STRING([--with-chaco-dir = DIR], [chaco root directory.]),
- [CHACO_ROOT=$withval],[CHACO_ROOT=""])
+ AS_HELP_STRING([--with-chaco-dir = DIR], [chaco root directory.]),
+ [CHACO_ROOT=$withval],[CHACO_ROOT=""])
AC_MSG_CHECKING(for Chaco)
if test -d "$CHACO_ROOT"; then
@@ -283,10 +383,10 @@
fi
AC_MSG_RESULT($HAVE_CHACO)
dnl }}}
- dnl scotch{{{1
+ dnl scotch{{{
AC_ARG_WITH([scotch-dir],
- AS_HELP_STRING([--with-scotch-dir = DIR], [scotch root directory.]),
- [SCOTCH_ROOT=$withval],[SCOTCH_ROOT=""])
+ AS_HELP_STRING([--with-scotch-dir = DIR], [scotch root directory.]),
+ [SCOTCH_ROOT=$withval],[SCOTCH_ROOT=""])
AC_MSG_CHECKING(for Scotch)
if test -d "$SCOTCH_ROOT"; then
@@ -296,7 +396,6 @@
SCOTCHINCL="-DNOFILEIO -I$SCOTCH_ROOT/include -DSCOTCH_VERSION=\\\"UNKNOWN\\\""
SCOTCHLIB="-L$SCOTCH_ROOT/lib -lnfioscotch -lnfioscotcherr -lnfioscotcherrexit -lscotchmetis"
-
AC_DEFINE([_HAVE_SCOTCH_],[1],[with Scotch in ISSM src])
AC_SUBST([SCOTCHINCL])
AC_SUBST([SCOTCHLIB])
@@ -306,10 +405,38 @@
fi
AC_MSG_RESULT($HAVE_SCOTCH)
dnl }}}
- dnl adic2{{{1
+ dnl adolc{{{
+ AC_ARG_WITH([adolc-dir],
+ AS_HELP_STRING([--with-adolc-dir = DIR], [adolc root directory.]),
+ [ADOLC_ROOT=$withval],[ADOLC_ROOT="no"])
+ AC_MSG_CHECKING(for ADOLC)
+
+ if test "x$ADOLC_ROOT" = "xno"; then
+ HAVE_ADOLC=no
+ else
+ if test -d "$ADOLC_ROOT"; then
+
+ dnl defaults
+ HAVE_ADOLC=yes
+ ADOLCINCL="-I$ADOLC_ROOT/include/adolc -I$ADOLC_ROOT/include"
+ ADOLCLIB="-L$ADOLC_ROOT/lib64 -ladolc"
+
+ AC_DEFINE([_HAVE_ADOLC_],[1],[with adolc in ISSM src])
+ AC_SUBST([ADOLCINCL])
+ AC_SUBST([ADOLCLIB])
+
+ else
+ echo "Specified directory does not exist!"
+ exit 1
+ fi
+ fi
+ AM_CONDITIONAL([ADOLC], [test x$HAVE_ADOLC = xyes])
+ AC_MSG_RESULT($HAVE_ADOLC)
+ dnl }}}
+ dnl adic2{{{
AC_ARG_WITH([adic2-dir],
- AS_HELP_STRING([--with-adic2-dir = DIR], [adic2 root directory.]),
- [ADIC2_ROOT=$withval],[ADIC2_ROOT="no"])
+ AS_HELP_STRING([--with-adic2-dir = DIR], [adic2 root directory.]),
+ [ADIC2_ROOT=$withval],[ADIC2_ROOT="no"])
AC_MSG_CHECKING(for ADIC2)
if test "x$ADIC2_ROOT" = "xno"; then
@@ -334,10 +461,33 @@
AM_CONDITIONAL([ADIC2], [test x$HAVE_ADIC2 = xyes])
AC_MSG_RESULT($HAVE_ADIC2)
dnl }}}
- dnl rose{{{1
+ dnl gsl{{{
+ AC_ARG_WITH([gsl-dir],
+ AS_HELP_STRING([--with-gsl-dir = DIR], [gsl root directory.]),
+ [GSL_ROOT=$withval],[GSL_ROOT=""])
+ AC_MSG_CHECKING(for Gsl)
+
+ if test -d "$GSL_ROOT"; then
+
+ dnl defaults
+ HAVE_GSL=yes
+ GSLINCL="-I$GSL_ROOT/include"
+ GSLLIB="-L$GSL_ROOT/lib/ -lgsl -lgslcblas -lm"
+
+ AC_DEFINE([_HAVE_GSL_],[1],[with gsl in ISSM src])
+ AC_SUBST([GSLINCL])
+ AC_SUBST([GSLLIB])
+
+ else
+ HAVE_GSL=no
+ fi
+ AM_CONDITIONAL([GSL], [test x$HAVE_GSL = xyes])
+ AC_MSG_RESULT($HAVE_GSL)
+ dnl }}}
+ dnl rose{{{
AC_ARG_WITH([rose-dir],
- AS_HELP_STRING([--with-rose-dir = DIR], [rose root directory.]),
- [ROSE_ROOT=$withval],[ROSE_ROOT=""])
+ AS_HELP_STRING([--with-rose-dir = DIR], [rose root directory.]),
+ [ROSE_ROOT=$withval],[ROSE_ROOT=""])
AC_MSG_CHECKING(for Rose)
if test -d "$ROSE_ROOT"; then
@@ -357,11 +507,10 @@
AM_CONDITIONAL([ROSE], [test x$HAVE_ROSE = xyes])
AC_MSG_RESULT($HAVE_ROSE)
dnl }}}
- dnl metis{{{1
+ dnl metis{{{
AC_ARG_WITH([metis-dir],
- AS_HELP_STRING([--with-metis-dir = DIR],
- [metis root directory. necessary for serial build]),
- [METIS_ROOT=$withval],[METIS_ROOT=""])
+ AS_HELP_STRING([--with-metis-dir = DIR],[metis root directory. necessary for serial build]),
+ [METIS_ROOT=$withval],[METIS_ROOT=""])
if test -d "$METIS_ROOT"; then
@@ -376,8 +525,7 @@
dnl defaults
HAVE_METIS=yes
-
-
+
if test "$METIS_VERSION" = "4" ; then
METISINCL=-I"$METIS_ROOT/Lib"
@@ -413,7 +561,6 @@
AC_DEFINE([_METIS_VERSION_],[5],[ Metis version number])
fi
-
AC_DEFINE([_HAVE_METIS_],[1],[with Metis in ISSM src])
AC_SUBST([METISINCL])
AC_SUBST([METISLIB])
@@ -422,81 +569,65 @@
fi
if test $HAVE_METIS = no; then
- AC_MSG_ERROR([--with-metis-dir missing. Metis is needed to run ISSM]);
+ AC_MSG_ERROR([--with-metis-dir missing. Metis is needed to run ISSM]);
else
- AC_MSG_RESULT($HAVE_METIS)
+ AC_MSG_RESULT($HAVE_METIS)
fi
dnl }}}
- dnl mpi{{{1
+ dnl mpi{{{
AC_MSG_CHECKING(for mpi)
AC_ARG_WITH([mpi-lib],
- AS_HELP_STRING([--with-mpi-lib = otions],
- [mpi options, for ex: "-L$MPIROOT -lmpich]),
- [MPILIB=$withval],[MPILIB=""])
+ AS_HELP_STRING([--with-mpi-lib = otions],[mpi options, for ex: "-L$MPIROOT -lmpich]),
+ [MPILIB=$withval],[MPILIB=""])
AC_ARG_WITH([mpi-include],
- AS_HELP_STRING([--with-mpi-include = DIR],
- [mpi include directory, necessary for parallel build]),
- [MPI_INCLUDE=$withval],[MPI_INCLUDE=""])
-
- dnl check that --with-mpi-include and --with-mpi-lib have been provided
+ AS_HELP_STRING([--with-mpi-include = DIR],[mpi include directory, necessary for parallel build]),
+ [MPI_INCLUDE=$withval],[MPI_INCLUDE=""])
+
if test -z "$MPILIB" ; then
- if test "$PARALLEL_VALUE" = "yes" ; then
- AC_MSG_ERROR([empty --with-mpi-lib options! MPI is needed to run ISSM in parallel!])
- fi
+ HAVE_MPI=no
else
if test -z "$MPI_INCLUDE" ; then
- if test "$PARALLEL_VALUE" = "yes" ; then
- AC_MSG_ERROR([empty --with-mpi-include directory! MPI is needed to run ISSM in parallel!])
- fi
+ HAVE_MPI=no
else
- HAVE_MPI=yes
MPIINCL=-I"$MPI_INCLUDE/"
-
AC_DEFINE([_HAVE_MPI_],[1],[with Mpi in ISSM src])
- AC_DEFINE([HAVE_MPI],[1],[with Mpi in ISSM src])
+ AC_DEFINE([HAVE_MPI],[1],[Mpi Flag for Dakota (DO NOT REMOVE)])
AC_SUBST([MPIINCL])
AC_SUBST([MPILIB])
fi
fi
AC_MSG_RESULT(done)
dnl }}}
- dnl petsc{{{1
+ dnl petsc{{{
AC_ARG_WITH([petsc-dir],
- AS_HELP_STRING([--with-petsc-dir = DIR],
- [petsc root directory, necessary for parallel build]),
- [PETSC_ROOT=$withval],[PETSC_ROOT=""])
-
- if test "$PARALLEL_VALUE" = "yes" ; then
- if test "$PETSC_ROOT" = "" ; then
- AC_MSG_ERROR([missing --with-petsc-dir argument for parallel compilation!])
- fi
- fi
-
- dnl if test "$PARALLEL_VALUE" = "yes" ; then
- AC_MSG_CHECKING(for petsc version)
+ AS_HELP_STRING([--with-petsc-dir = DIR],[PETSc root directory, necessary for parallel build]),
+ [PETSC_ROOT=$withval],[PETSC_ROOT=""])
+
+ if test -d "$PETSC_ROOT"; then
+ AC_MSG_CHECKING(for PETSc version)
PETSC_MAJOR=`cat $PETSC_ROOT/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'`
PETSC_MINOR=`cat $PETSC_ROOT/include/petscversion.h | grep "#define PETSC_VERSION_MINOR" | sed 's/#define PETSC_VERSION_MINOR//' | sed 's/ //g'`
- AC_DEFINE_UNQUOTED([_PETSC_MAJOR_],$PETSC_MAJOR,[ Petsc version major])
- AC_DEFINE_UNQUOTED([_PETSC_MINOR_],$PETSC_MINOR,[ Petsc version minor])
+ AC_DEFINE_UNQUOTED([_PETSC_MAJOR_],$PETSC_MAJOR,[PETSc version major])
+ AC_DEFINE_UNQUOTED([_PETSC_MINOR_],$PETSC_MINOR,[PETSc version minor])
AC_MSG_RESULT($PETSC_MAJOR.$PETSC_MINOR)
- dnl fi
-
-
- AC_ARG_WITH([petsc-arch],
- AS_HELP_STRING([--with-petsc-arch = DIR],
- [petsc arch , necessary for parallel build]),
- [PETSC_ARCH=$withval],[PETSC_ARCH=""])
- if test "$PARALLEL_VALUE" = "yes" ; then
- if test "$PETSC_ARCH" = "" ; then
- AC_MSG_ERROR([missing --with-petsc-arch argument for parallel compilation!])
+ PETSC_VERSION_DATE_HG=`cat $PETSC_ROOT/include/petscversion.h | grep "#define PETSC_VERSION_DATE_HG" | sed 's/#define PETSC_VERSION_DATE_HG//' | sed 's/ //g' | sed -e 's/\"//g' `
+ AC_MSG_CHECKING(wether PETSc is the development version)
+ if test x$PETSC_VERSION_DATE_HG = xunknown; then
+ AC_DEFINE([_HAVE_PETSCDEV_],[1],[with PETSc-dev])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
fi
fi
- AC_MSG_CHECKING(for Petsc headers and libraries in $PETSC_ROOT for architecture $PETSC_ARCH)
+ AC_ARG_WITH([petsc-arch],
+ AS_HELP_STRING([--with-petsc-arch = DIR],[PETSc arch , necessary for parallel build]),
+ [PETSC_ARCH=$withval],[PETSC_ARCH=""])
+
+ AC_MSG_CHECKING(for PETSc headers and libraries in $PETSC_ROOT for architecture $PETSC_ARCH)
-
if test -d "$PETSC_ROOT"; then
PETSCINCL="-I$PETSC_ROOT/$PETSC_ARCH/include -I$PETSC_ROOT/include/$PETSC_ARCH/ -I$PETSC_ROOT/include -I$PETSC_ROOT/ -I$PETSC_ROOT/bmake/$PETSC_ARCH -I$PETSC_ROOT/src/mat/impls/dense/mpi/plapack/"
@@ -525,7 +656,7 @@
;;
esac
- AC_DEFINE([_HAVE_PETSC_],[1],[with Petsc in ISSM src])
+ AC_DEFINE([_HAVE_PETSC_],[1],[with PETSc in ISSM src])
AC_SUBST([PETSCINCL])
AC_SUBST([PETSCLIB])
@@ -533,36 +664,31 @@
else
HAVE_PETSC=no
fi
-
- if test $HAVE_PETSC = no; then
- AC_MSG_ERROR([could not find petsc. user should specify --with-petsc-dir and --with-petsc-arch options. Petsc is needed to run ISSM!])
- else
- AC_MSG_RESULT($HAVE_PETSC)
- fi
+
+ AM_CONDITIONAL([PETSC], [test x$HAVE_PETSC = xyes])
+ AC_MSG_RESULT($HAVE_PETSC)
dnl }}}
- dnl tao{{{1
+ dnl tao{{{
AC_ARG_WITH([tao-dir],
- AS_HELP_STRING([--with-tao-dir = DIR], [tao root directory.]),
- [TAO_ROOT=$withval],[TAO_ROOT=""])
- AC_MSG_CHECKING(for Tao)
+ AS_HELP_STRING([--with-tao-dir = DIR], [tao root directory.]),
+ [TAO_ROOT=$withval],[TAO_ROOT=""])
+ AC_MSG_CHECKING(for Tao)
- if test -d "$TAO_ROOT"; then
+ if test -d "$TAO_ROOT"; then
- dnl defaults
- HAVE_TAO=yes
- TAOINCL="-I$TAO_ROOT/ -I$TAO_ROOT/include -I$TAO_ROOT/bmake/ "
- TAOLIB="-L$TAO_ROOT/lib -ltao -lpetsc"
+ HAVE_TAO=yes
+ TAOINCL="-I$TAO_ROOT/ -I$TAO_ROOT/include -I$TAO_ROOT/bmake/ "
+ TAOLIB="-L$TAO_ROOT/lib -ltao -lpetsc"
- AC_DEFINE([_HAVE_TAO_],[1],[with Tao in ISSM src])
- AC_SUBST([TAOINCL])
- AC_SUBST([TAOLIB])
-
- else
+ AC_DEFINE([_HAVE_TAO_],[1],[with Tao in ISSM src])
+ AC_SUBST([TAOINCL])
+ AC_SUBST([TAOLIB])
+ else
HAVE_TAO=no
- fi
- AC_MSG_RESULT($HAVE_TAO)
+ fi
+ AC_MSG_RESULT($HAVE_TAO)
dnl }}}
- dnl mpiuni{{{1
+ dnl mpiuni{{{
dnl when running in serial mode, MPI must be ignored, and set to internal petsc mpiuni:
if test "$PARALLEL_VALUE" = "no" ; then
HAVE_MPI=yes
@@ -581,22 +707,17 @@
esac
AC_DEFINE([_HAVE_MPI_],[1],[with Mpi in ISSM src])
- AC_DEFINE([HAVE_MPI],[1],[with Mpi in ISSM src])
AC_SUBST([MPIINCL])
AC_SUBST([MPILIB])
fi
dnl }}}
- dnl slepc{{{1
+ dnl slepc{{{
AC_ARG_WITH([slepc-dir],
- AS_HELP_STRING([--with-slepc-dir = DIR],
- [slepc root directory]),
- [SLEPC_ROOT=$withval],[SLEPC_ROOT=""])
+ AS_HELP_STRING([--with-slepc-dir = DIR],[slepc root directory]),
+ [SLEPC_ROOT=$withval],[SLEPC_ROOT=""])
AC_MSG_CHECKING(for Slepc headers and libraries in $SLEPC_ROOT)
if test -d "$SLEPC_ROOT"; then
-
-
- dnl defaults
HAVE_SLEPC=yes
SLEPCINCL=-I"$SLEPC_ROOT/include"
SLEPCLIB=-L"$SLEPC_ROOT/lib/ -lslepc"
@@ -609,16 +730,14 @@
fi
AC_MSG_RESULT($HAVE_SLEPC)
dnl }}}
- dnl shapelib{{{1
+ dnl shapelib{{{
AC_ARG_WITH([shapelib-dir],
- AS_HELP_STRING([--with-shapelib-dir = DIR],
- [shapelib root directory]),
- [SHAPELIB_ROOT=$withval],[SHAPELIB_ROOT=""])
+ AS_HELP_STRING([--with-shapelib-dir = DIR], [shapelib root directory]),
+ [SHAPELIB_ROOT=$withval],[SHAPELIB_ROOT=""])
AC_MSG_CHECKING(for Shapelib headers and libraries in $SHAPELIB_ROOT)
if test -d "$SHAPELIB_ROOT"; then
-
dnl defaults
HAVE_SHAPELIB=yes
SHAPELIBINCL=-I"$SHAPELIB_ROOT/include"
@@ -632,16 +751,14 @@
fi
AC_MSG_RESULT($HAVE_SHAPELIB)
dnl }}}
- dnl scalapack{{{1
+ dnl scalapack{{{
AC_ARG_WITH([scalapack-dir],
- AS_HELP_STRING([--with-scalapack-dir = DIR],
- [scalapack root directory]),
- [SCALAPACK_ROOT=$withval],[SCALAPACK_ROOT=""])
+ AS_HELP_STRING([--with-scalapack-dir = DIR],[scalapack root directory]),
+ [SCALAPACK_ROOT=$withval],[SCALAPACK_ROOT=""])
AC_MSG_CHECKING(for Scalapack headers and libraries in $SCALAPACK_ROOT)
if test -d "$SCALAPACK_ROOT"; then
-
dnl defaults
HAVE_SCALAPACK=yes
SCALAPACKLIB=-L"$SCALAPACK_ROOT/ -lscalapack"
@@ -653,16 +770,14 @@
fi
AC_MSG_RESULT($HAVE_SCALAPACK)
dnl }}}
- dnl blas{{{1
+ dnl blas{{{
AC_ARG_WITH([blas-lapack-dir],
- AS_HELP_STRING([--with-blas-lapack-dir = DIR],
- [blas-lapack root directory]),
- [BLASLAPACK_ROOT=$withval],[BLASLAPACK_ROOT=""])
+ AS_HELP_STRING([--with-blas-lapack-dir = DIR],[blas-lapack root directory]),
+ [BLASLAPACK_ROOT=$withval],[BLASLAPACK_ROOT=""])
AC_MSG_CHECKING(for Blas and Lapack headers and libraries in $BLASLAPACK_ROOT)
if test -d "$BLASLAPACK_ROOT"; then
-
dnl defaults
HAVE_BLASLAPACK=yes
BLASLAPACKINCL=""
@@ -679,9 +794,7 @@
BLASLAPACKLIB=-L"$BLASLAPACK_ROOT -lflapack -lfblas "
;;
esac
-
-
AC_DEFINE([_HAVE_BLASLAPACK_],[1],[with blas lapack in ISSM src])
AC_SUBST([BLASLAPACKLIB])
AC_SUBST([BLASLAPACKINCL])
@@ -690,11 +803,10 @@
fi
AC_MSG_RESULT($HAVE_BLASLAPACK)
dnl }}}
- dnl mkl{{{1
+ dnl mkl{{{
AC_ARG_WITH([mkl-dir],
- AS_HELP_STRING([--with-mkl-dir = DIR],
- [mkl root directory]),
- [MKL_ROOT=$withval],[MKL_ROOT=""])
+ AS_HELP_STRING([--with-mkl-dir = DIR],[mkl root directory]),
+ [MKL_ROOT=$withval],[MKL_ROOT=""])
AC_MSG_CHECKING(for mkl headers and libraries in $MKL_ROOT)
if test -d "$MKL_ROOT"; then
@@ -711,11 +823,10 @@
fi
AC_MSG_RESULT($HAVE_MKL)
dnl }}}
- dnl plapack{{{1
+ dnl plapack{{{
AC_ARG_WITH([plapack-lib],
- AS_HELP_STRING([--with-plapack-lib = lib],
- [plapack library]),
- [PLAPACK_LIB=$withval],[PLAPACK_LIB=""])
+ AS_HELP_STRING([--with-plapack-lib = lib],[plapack library]),
+ [PLAPACK_LIB=$withval],[PLAPACK_LIB=""])
AC_MSG_CHECKING(for Plapack libraries)
AC_ARG_WITH([plapack-include],
@@ -743,13 +854,10 @@
fi
AC_MSG_RESULT($HAVE_PLAPACK)
dnl }}}
- dnl mumps{{{1
-
- dnl Mumps directory
+ dnl mumps{{{
AC_ARG_WITH([mumps-dir],
- AS_HELP_STRING([--with-mumps-dir = DIR],
- [mumps root directory]),
- [MUMPS_ROOT=$withval],[MUMPS_ROOT=""])
+ AS_HELP_STRING([--with-mumps-dir = DIR],[mumps root directory]),
+ [MUMPS_ROOT=$withval],[MUMPS_ROOT=""])
AC_MSG_CHECKING(for Mumps headers and libraries in $MUMPS_ROOT)
if test -d "$MUMPS_ROOT"; then
@@ -771,10 +879,9 @@
fi
AC_MSG_RESULT($HAVE_MUMPS)
dnl }}}
- dnl blacs{{{1
+ dnl blacs{{{
AC_ARG_WITH([blacs-dir],
- AS_HELP_STRING([--with-blacs-dir = DIR],
- [blacs root directory]),
+ AS_HELP_STRING([--with-blacs-dir = DIR],[blacs root directory]),
[BLACS_ROOT=$withval],[BLACS_ROOT=""])
AC_MSG_CHECKING(for Blacs headers and libraries in $BLACS_ROOT)
@@ -793,10 +900,9 @@
fi
AC_MSG_RESULT($HAVE_BLACS)
dnl }}}
- dnl hypre{{{1
+ dnl hypre{{{
AC_ARG_WITH([hypre-dir],
- AS_HELP_STRING([--with-hypre-dir = DIR],
- [hypre root directory]),
+ AS_HELP_STRING([--with-hypre-dir = DIR],[hypre root directory]),
[HYPRE_ROOT=$withval],[HYPRE_ROOT=""])
AC_MSG_CHECKING(for Hypre headers and libraries in $HYPRE_ROOT)
@@ -815,10 +921,9 @@
fi
AC_MSG_RESULT($HAVE_HYPRE)
dnl }}}
- dnl ml{{{1
+ dnl ml{{{
AC_ARG_WITH([ml-dir],
- AS_HELP_STRING([--with-ml-dir = DIR],
- [ml root directory]),
+ AS_HELP_STRING([--with-ml-dir = DIR],[ml root directory]),
[ML_ROOT=$withval],[ML_ROOT=""])
AC_MSG_CHECKING(for Ml headers and libraries in $ML_ROOT)
@@ -837,12 +942,11 @@
fi
AC_MSG_RESULT($HAVE_ML)
dnl }}}
- dnl math{{{1
+ dnl math{{{
AC_MSG_CHECKING(for math library)
AC_ARG_WITH([math-lib],
- AS_HELP_STRING([--with-math-lib = otions],
- [math options, for ex: "/usr/lib/libm.a]),
- [MATH_LIB=$withval],[MATH_LIB=""])
+ AS_HELP_STRING([--with-math-lib = otions],[math options, for ex: "/usr/lib/libm.a]),
+ [MATH_LIB=$withval],[MATH_LIB=""])
dnl check that --with-math-lib may have been provided
if test -n "$MATH_LIB" ; then
@@ -854,13 +958,12 @@
fi
AC_MSG_RESULT(done)
dnl }}}
- dnl fortran{{{1
+ dnl fortran{{{
dnl fortran library option
AC_MSG_CHECKING(for fortran library)
AC_ARG_WITH([fortran-lib],
- AS_HELP_STRING([--with-fortran-lib = options],
- [fortran options, for ex: "/usr/lib/gfortran.a]),
- [FORTRAN_LIB=$withval],[FORTRAN_LIB=""])
+ AS_HELP_STRING([--with-fortran-lib = options],[fortran options, for ex: "/usr/lib/gfortran.a]),
+ [FORTRAN_LIB=$withval],[FORTRAN_LIB=""])
dnl check that --with-fortran-lib may have been provided
if test -n "$FORTRAN_LIB" ; then
@@ -872,12 +975,11 @@
fi
AC_MSG_RESULT(done)
dnl }}}
- dnl graphics{{{1
+ dnl graphics{{{
AC_MSG_CHECKING(for graphics library)
AC_ARG_WITH([graphics-lib],
- AS_HELP_STRING([--with-graphics-lib = options],
- [graphics options, for ex: "/usr/X11/lib/libX11.a]),
- [GRAPHICS_LIB=$withval],[GRAPHICS_LIB=""])
+ AS_HELP_STRING([--with-graphics-lib = options],[graphics options, for ex: "/usr/X11/lib/libX11.a]),
+ [GRAPHICS_LIB=$withval],[GRAPHICS_LIB=""])
dnl check that --with-graphics-lib may have been provided
if test -n "$GRAPHICS_LIB" ; then
@@ -889,8 +991,10 @@
fi
AC_MSG_RESULT(done)
dnl }}}
- dnl with-steadystate{{{1
- AC_ARG_WITH([steadystate],AS_HELP_STRING([--with-steadystate = YES], [compile with steadystate capabilities (default is yes)]),[STEADYSTATE=$withval],[STEADYSTATE=yes])
+ dnl with-steadystate{{{
+ AC_ARG_WITH([steadystate],
+ AS_HELP_STRING([--with-steadystate = YES],[compile with steadystate capabilities (default is yes)]),
+ [STEADYSTATE=$withval],[STEADYSTATE=yes])
AC_MSG_CHECKING(for steadystate capability compilation)
if test "x$STEADYSTATE" = "xyes"; then
@@ -905,8 +1009,10 @@
AM_CONDITIONAL([STEADYSTATE], [test x$HAVE_STEADYSTATE = xyes])
AC_MSG_RESULT($HAVE_STEADYSTATE)
dnl }}}
- dnl with-transient{{{1
- AC_ARG_WITH([transient],AS_HELP_STRING([--with-transient = YES], [compile with transient capabilities (default is yes)]),[TRANSIENT=$withval],[TRANSIENT=yes])
+ dnl with-transient{{{
+ AC_ARG_WITH([transient],
+ AS_HELP_STRING([--with-transient = YES], [compile with transient capabilities (default is yes)]),
+ [TRANSIENT=$withval],[TRANSIENT=yes])
AC_MSG_CHECKING(for transient capability compilation)
if test "x$TRANSIENT" = "xyes"; then
@@ -921,8 +1027,10 @@
AM_CONDITIONAL([TRANSIENT], [test x$HAVE_TRANSIENT = xyes])
AC_MSG_RESULT($HAVE_TRANSIENT)
dnl }}}
- dnl with-thermal{{{1
- AC_ARG_WITH([thermal],AS_HELP_STRING([--with-thermal = YES], [compile with thermal capabilities (default is yes)]),[THERMAL=$withval],[THERMAL=yes])
+ dnl with-thermal{{{
+ AC_ARG_WITH([thermal],
+ AS_HELP_STRING([--with-thermal = YES], [compile with thermal capabilities (default is yes)]),
+ [THERMAL=$withval],[THERMAL=yes])
AC_MSG_CHECKING(for thermal capability compilation)
if test "x$THERMAL" = "xyes"; then
@@ -937,8 +1045,10 @@
AM_CONDITIONAL([THERMAL], [test x$HAVE_THERMAL = xyes])
AC_MSG_RESULT($HAVE_THERMAL)
dnl }}}
- dnl with-prognostic{{{1
- AC_ARG_WITH([prognostic],AS_HELP_STRING([--with-prognostic = YES], [compile with prognostic capabilities (default is yes)]),[PROGNOSTIC=$withval],[PROGNOSTIC=yes])
+ dnl with-prognostic{{{
+ AC_ARG_WITH([prognostic],
+ AS_HELP_STRING([--with-prognostic = YES], [compile with prognostic capabilities (default is yes)]),
+ [PROGNOSTIC=$withval],[PROGNOSTIC=yes])
AC_MSG_CHECKING(for prognostic capability compilation)
if test "x$PROGNOSTIC" = "xyes"; then
@@ -953,8 +1063,10 @@
AM_CONDITIONAL([PROGNOSTIC], [test x$HAVE_PROGNOSTIC = xyes])
AC_MSG_RESULT($HAVE_PROGNOSTIC)
dnl }}}
- dnl with-control{{{1
- AC_ARG_WITH([control],AS_HELP_STRING([--with-control = YES], [compile with control capabilities (default is yes)]),[CONTROL=$withval],[CONTROL=yes])
+ dnl with-control{{{
+ AC_ARG_WITH([control],
+ AS_HELP_STRING([--with-control = YES], [compile with control capabilities (default is yes)]),
+ [CONTROL=$withval],[CONTROL=yes])
AC_MSG_CHECKING(for control capability compilation)
if test "x$CONTROL" = "xyes"; then
@@ -969,8 +1081,10 @@
AM_CONDITIONAL([CONTROL], [test x$HAVE_CONTROL = xyes])
AC_MSG_RESULT($HAVE_CONTROL)
dnl }}}
- dnl with-hydrology{{{1
- AC_ARG_WITH([hydrology],AS_HELP_STRING([--with-hydrology = YES], [compile with hydrology capabilities (default is yes)]),[HYDROLOGY=$withval],[HYDROLOGY=yes])
+ dnl with-hydrology{{{
+ AC_ARG_WITH([hydrology],
+ AS_HELP_STRING([--with-hydrology = YES], [compile with hydrology capabilities (default is yes)]),
+ [HYDROLOGY=$withval],[HYDROLOGY=yes])
AC_MSG_CHECKING(for hydrology capability compilation)
if test "x$HYDROLOGY" = "xyes"; then
@@ -985,8 +1099,10 @@
AM_CONDITIONAL([HYDROLOGY], [test x$HAVE_HYDROLOGY = xyes])
AC_MSG_RESULT($HAVE_HYDROLOGY)
dnl }}}
- dnl with-diagnostic{{{1
- AC_ARG_WITH([diagnostic],AS_HELP_STRING([--with-diagnostic = YES], [compile with diagnostic capabilities (default is yes)]),[DIAGNOSTIC=$withval],[DIAGNOSTIC=yes])
+ dnl with-diagnostic{{{
+ AC_ARG_WITH([diagnostic],
+ AS_HELP_STRING([--with-diagnostic = YES], [compile with diagnostic capabilities (default is yes)]),
+ [DIAGNOSTIC=$withval],[DIAGNOSTIC=yes])
AC_MSG_CHECKING(for diagnostic capability compilation)
if test "x$DIAGNOSTIC" = "xyes"; then
@@ -1001,8 +1117,10 @@
AM_CONDITIONAL([DIAGNOSTIC], [test x$HAVE_DIAGNOSTIC = xyes])
AC_MSG_RESULT($HAVE_DIAGNOSTIC)
dnl }}}
- dnl with-balanced{{{1
- AC_ARG_WITH([balanced],AS_HELP_STRING([--with-balanced = YES], [compile with balanced capabilities (default is yes)]),[BALANCED=$withval],[BALANCED=yes])
+ dnl with-balanced{{{
+ AC_ARG_WITH([balanced],
+ AS_HELP_STRING([--with-balanced = YES], [compile with balanced capabilities (default is yes)]),
+ [BALANCED=$withval],[BALANCED=yes])
AC_MSG_CHECKING(for balanced capability compilation)
if test "x$BALANCED" = "xyes"; then
@@ -1017,8 +1135,10 @@
AM_CONDITIONAL([BALANCED], [test x$HAVE_BALANCED = xyes])
AC_MSG_RESULT($HAVE_BALANCED)
dnl }}}
- dnl with-responses{{{1
- AC_ARG_WITH([responses],AS_HELP_STRING([--with-responses = YES], [compile with responses capabilities (default is yes)]),[RESPONSES=$withval],[RESPONSES=yes])
+ dnl with-responses{{{
+ AC_ARG_WITH([responses],
+ AS_HELP_STRING([--with-responses = YES], [compile with responses capabilities (default is yes)]),
+ [RESPONSES=$withval],[RESPONSES=yes])
AC_MSG_CHECKING(for responses capability compilation)
if test "x$RESPONSES" = "xyes"; then
@@ -1033,8 +1153,10 @@
AM_CONDITIONAL([RESPONSES], [test x$HAVE_RESPONSES = xyes])
AC_MSG_RESULT($HAVE_RESPONSES)
dnl }}}
- dnl with-slope{{{1
- AC_ARG_WITH([slope],AS_HELP_STRING([--with-slope = YES], [compile with slope capabilities (default is yes)]),[SLOPE=$withval],[SLOPE=yes])
+ dnl with-slope{{{
+ AC_ARG_WITH([slope],
+ AS_HELP_STRING([--with-slope = YES], [compile with slope capabilities (default is yes)]),
+ [SLOPE=$withval],[SLOPE=yes])
AC_MSG_CHECKING(for slope capability compilation)
if test "x$SLOPE" = "xyes"; then
@@ -1049,8 +1171,10 @@
AM_CONDITIONAL([SLOPE], [test x$HAVE_SLOPE = xyes])
AC_MSG_RESULT($HAVE_SLOPE)
dnl }}}
- dnl with-groundingline{{{1
- AC_ARG_WITH([groundingline],AS_HELP_STRING([--with-groundingline = YES], [compile with groundingline capabilities (default is yes)]),[GROUNDINGLINE=$withval],[GROUNDINGLINE=yes])
+ dnl with-groundingline{{{
+ AC_ARG_WITH([groundingline],
+ AS_HELP_STRING([--with-groundingline = YES], [compile with groundingline capabilities (default is yes)]),
+ [GROUNDINGLINE=$withval],[GROUNDINGLINE=yes])
AC_MSG_CHECKING(for groundingline capability compilation)
if test "x$GROUNDINGLINE" = "xyes"; then
@@ -1065,8 +1189,10 @@
AM_CONDITIONAL([GROUNDINGLINE], [test x$HAVE_GROUNDINGLINE = xyes])
AC_MSG_RESULT($HAVE_GROUNDINGLINE)
dnl }}}
- dnl with-rifts{{{1
- AC_ARG_WITH([rifts],AS_HELP_STRING([--with-rifts = YES], [compile with rifts capabilities (default is yes)]),[RIFTS=$withval],[RIFTS=yes])
+ dnl with-rifts{{{
+ AC_ARG_WITH([rifts],
+ AS_HELP_STRING([--with-rifts = YES], [compile with rifts capabilities (default is yes)]),
+ [RIFTS=$withval],[RIFTS=yes])
AC_MSG_CHECKING(for rifts capability compilation)
if test "x$RIFTS" = "xyes"; then
@@ -1081,39 +1207,64 @@
AM_CONDITIONAL([RIFTS], [test x$HAVE_RIFTS = xyes])
AC_MSG_RESULT($HAVE_RIFTS)
dnl }}}
- dnl with-3d{{{1
- AC_ARG_WITH([3d],AS_HELP_STRING([--with-3d = YES], [compile with 3d capabilities (default is yes)]),[THREED=$withval],[THREED=yes])
+ dnl with-3d{{{
+ AC_ARG_WITH([3d],
+ AS_HELP_STRING([--with-3d = YES], [compile with 3d capabilities (default is yes)]),
+ [THREED=$withval],[THREED=yes])
AC_MSG_CHECKING(for 3d capability compilation)
if test "x$THREED" = "xyes"; then
dnl defaults
- HAVE_THREED=yes
+ HAVE_3D=yes
- AC_DEFINE([_HAVE_THREED_],[1],[with 3d capability])
+ AC_DEFINE([_HAVE_3D_],[1],[with 3d capability])
else
- HAVE_THREED=no
+ HAVE_3D=no
fi
- AM_CONDITIONAL([THREED], [test x$HAVE_THREED = xyes])
- AC_MSG_RESULT($HAVE_THREED)
+ AM_CONDITIONAL([THREED], [test x$HAVE_3D = xyes])
+ AC_MSG_RESULT($HAVE_3D)
dnl }}}
+ dnl checks{{{
+ AC_MSG_CHECKING(consistency between all libraries)
+
+ dnl check that if petsc is requested in parallel, mpi should be specified
+ if test "$HAVE_PETSC" = "yes" ; then
+ if test "$HAVE_MPI" = "NO"; then
+ AC_MSG_ERROR([petsc requires mpi!]);
+ fi
+ fi
+ dnl check that we have either python or matlab support if we only compile serially
+ if test "$PARALLEL_VALUE" = "no" && test "$HAVE_MATLAB" = "no" && test "$HAVE_PYTHON" = "no"; then
+ AC_MSG_ERROR([need at least python or matlab support to compile only in serial mode!]);
+ fi
+
+ dnl check that we don't have with-matlab and with-python at the same time
+ if test "$HAVE_PYTHON" = "yes" ; then
+ if test "$HAVE_MATLAB" = "yes"; then
+ AC_MSG_ERROR([cannot create matlab and python wrappers simultaneously! Please choose one or the other.]);
+ fi
+ fi
+
+ AC_MSG_RESULT(done)
+ dnl }}}
+
dnl other options
- dnl optimization{{{1
+ dnl optimization{{{
dnl bypass standard optimization -g -O2 ?
AC_ARG_WITH([cxxoptflags],
- AS_HELP_STRING([--with-cxxoptflags = CXXOPTFLAGS], [optimization using CXX flags, ex: --with-cxxoptflags=-march=opteron -O3]),
- [CXXOPTFLAGS=$withval],[CXXOPTFLAGS="-g -O2"])
+ AS_HELP_STRING([--with-cxxoptflags = CXXOPTFLAGS], [optimization using CXX flags, ex: --with-cxxoptflags=-march=opteron -O3]),
+ [CXXOPTFLAGS=$withval],[CXXOPTFLAGS="-g -O2"])
AC_MSG_CHECKING(for C++ optimization flags)
AC_SUBST([CXXOPTFLAGS])
AC_MSG_RESULT(done)
dnl }}}
- dnl multithreading{{{1
+ dnl multithreading{{{
AC_ARG_WITH([numthreads],
- AS_HELP_STRING([--with-numthreads = NUMTHREADS_VALUE],
- [numthreads, default is 1. ]),
- [NUMTHREADS_VALUE=$withval],[NUMTHREADS_VALUE=1])
+ AS_HELP_STRING([--with-numthreads = NUMTHREADS_VALUE],[numthreads, default is 1. ]),
+ [NUMTHREADS_VALUE=$withval],[NUMTHREADS_VALUE=1])
AC_MSG_CHECKING(for number of threads)
dnl defaults
MULTITHREADING=no
@@ -1139,13 +1290,12 @@
AC_SUBST([MULTITHREADINGLIB])
AC_MSG_RESULT($NUMTHREADS_VALUE)
dnl }}}
- dnl 64bit {{{1
+ dnl 64bit {{{
AC_ARG_WITH([64bit-indices],
- AS_HELP_STRING([--with-64bit-indices = bool], [use 64 bit integers, default 0, ex: --with-64bit-indices=1]),
- [USE_64BIT_INDICES=$withval],[USE_64BIT_INDICES=0])
+ AS_HELP_STRING([--with-64bit-indices = bool], [use 64 bit integers, default 0, ex: --with-64bit-indices=1]),
+ [USE_64BIT_INDICES=$withval],[USE_64BIT_INDICES=0])
AC_MSG_CHECKING(for 64 bit indices)
-
if test "$USE_64BIT_INDICES" == "1"; then
AC_DEFINE([ISSM_USE_64BIT_INDICES],[1],[with 64 bits indices])
else
@@ -1153,5 +1303,4 @@
fi
AC_MSG_RESULT($USE_64BIT_INDICES)
dnl }}}
-
])
Deleted: issm/trunk/m4/matlab.m4
===================================================================
--- issm/trunk/m4/matlab.m4 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/m4/matlab.m4 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,1170 +0,0 @@
-##### http://autoconf-archive.cryp.to/ax_cflags_warn_all.html
-#
-# SYNOPSIS
-#
-# AX_CFLAGS_WARN_ALL [(shellvar [,default, [A/NA]])]
-#
-# DESCRIPTION
-#
-# Try to find a compiler option that enables most reasonable
-# warnings. This macro is directly derived from VL_PROG_CC_WARNINGS
-# which is split up into two AX_CFLAGS_WARN_ALL and
-# AX_CFLAGS_WARN_ALL_ANSI
-#
-# For the GNU CC compiler it will be -Wall (and -ansi -pedantic) The
-# result is added to the shellvar being CFLAGS by default.
-#
-# Currently this macro knows about GCC, Solaris C compiler, Digital
-# Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C
-# compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos
-# 10.0.0.8) C compiler.
-#
-# - $1 shell-variable-to-add-to : CFLAGS
-# - $2 add-value-if-not-found : nothing
-# - $3 action-if-found : add value to shellvariable
-# - $4 action-if-not-found : nothing
-#
-# LAST MODIFICATION
-#
-# 2006-12-12
-#
-# COPYLEFT
-#
-# Copyright (c) 2006 Guido U. Draheim <guidod at gmx.de>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-#
-# As a special exception, the respective Autoconf Macro's copyright
-# owner gives unlimited permission to copy, distribute and modify the
-# configure scripts that are the output of Autoconf when processing
-# the Macro. You need not follow the terms of the GNU General Public
-# License when using or distributing such scripts, even though
-# portions of the text of the Macro appear in them. The GNU General
-# Public License (GPL) does govern all other use of the material that
-# constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the
-# Autoconf Macro released by the Autoconf Macro Archive. When you
-# make and distribute a modified version of the Autoconf Macro, you
-# may extend this special exception to the GPL to apply to your
-# modified version as well.
-
-AC_DEFUN([AX_CFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_C
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic % -Wall" dnl GCC
- "-xstrconst % -v" dnl Solaris C
- "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
- "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
- "-ansi -ansiE % -fullwarn" dnl IRIX
- "+ESlit % +w1" dnl HP-UX C
- "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
- "-h conform % -h msglevel 2" dnl Cray C (Unicos)
- #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- AC_TRY_COMPILE([],[return 0;],
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
- .ok|.ok,*) m4_ifvaln($3,$3) ;;
- .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
- AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
- *) m4_ifvaln($3,$3,[
- if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
- then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
- else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
- fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl the only difference - the LANG selection... and the default FLAGS
-
-AC_DEFUN([AX_CXXFLAGS_WARN_ALL],[dnl
-AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
-AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_warn_all])dnl
-AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for maximum warnings],
-VAR,[VAR="no, unknown"
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_[]FLAGS="$[]FLAGS"
-for ac_arg dnl
-in "-pedantic % -Wall" dnl GCC
- "-xstrconst % -v" dnl Solaris C
- "-std1 % -verbose -w0 -warnprotos" dnl Digital Unix
- "-qlanglvl=ansi % -qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd" dnl AIX
- "-ansi -ansiE % -fullwarn" dnl IRIX
- "+ESlit % +w1" dnl HP-UX C
- "-Xc % -pvctl[,]fullmsg" dnl NEC SX-5 (Super-UX 10)
- "-h conform % -h msglevel 2" dnl Cray C (Unicos)
- #
-do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
- AC_TRY_COMPILE([],[return 0;],
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
-done
- FLAGS="$ac_save_[]FLAGS"
- AC_LANG_RESTORE
-])
-case ".$VAR" in
- .ok|.ok,*) m4_ifvaln($3,$3) ;;
- .|.no|.no,*) m4_ifvaln($4,$4,[m4_ifval($2,[
- AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $2"])]) ;;
- *) m4_ifvaln($3,$3,[
- if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
- then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
- else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
- m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
- fi ]) ;;
-esac
-AS_VAR_POPDEF([VAR])dnl
-AS_VAR_POPDEF([FLAGS])dnl
-])
-
-dnl implementation tactics:
-dnl the for-argument contains a list of options. The first part of
-dnl these does only exist to detect the compiler - usually it is
-dnl a global option to enable -ansi or -extrawarnings. All other
-dnl compilers will fail about it. That was needed since a lot of
-dnl compilers will give false positives for some option-syntax
-dnl like -Woption or -Xoption as they think of it is a pass-through
-dnl to later compile stages or something. The "%" is used as a
-dnl delimimiter. A non-option comment can be given after "%%" marks
-dnl which will be shown but not added to the respective C/CXXFLAGS.
-
-
-
-
-
-
-
-
-dnl matlabdir.m4 --- define Matlab directory names.
-dnl
-dnl Copyright (C) 2002, 2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_MATLAB_DIR
-# -------------
-# Define Matlab directory names.
-AC_DEFUN([AX_MATLAB_DIR],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_MATLAB_VERSION])
-AC_REQUIRE([AC_CANONICAL_HOST])
-ax_matlab_dir="\${datadir}/matlab"
-AC_ARG_WITH([matlab-dir], AC_HELP_STRING([--with-matlab-dir=ARG], [use ARG as the top-level installation directory for Matlab files [[$(datadir)/matlab]]]),
-[case $withval in
- yes | no)
- AC_MSG_ERROR([invalid value '$withval' for --with-matlab-dir])
- ;;
- *)
- ax_matlab_dir=$withval
- ;;
-esac])
-AC_MSG_CHECKING([for top-level installation directory for Matlab files])
-AC_MSG_RESULT([$ax_matlab_dir])
-matlabdir=$ax_matlab_dir
-AC_SUBST([matlabdir])
-matlabverdir="\${matlabdir}/$MATLAB_VERSION"
-AC_SUBST([matlabverdir])
-matlabarchdir="\${matlabverdir}/$host"
-AC_SUBST([matlabarchdir])
-matlabprivatedir="\${matlabdir}/private"
-AC_SUBST([matlabprivatedir])
-matlabprivateverdir="\${matlabverdir}/private"
-AC_SUBST([matlabprivateverdir])
-matlabprivatearchdir="\${matlabarchdir}/private"
-AC_SUBST([matlabprivatearchdir])
-])
-
-dnl matlabdir.m4 ends here
-
-dnl matlabver.m4 --- check for Matlab version number.
-dnl
-dnl Copyright (C) 2000--2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_MATLAB_VERSION
-# -----------------
-# Check for Matlab version number.
-AC_DEFUN([AX_MATLAB_VERSION],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AC_PROG_CC])
-AC_REQUIRE([AX_MATLAB])
-AC_CACHE_CHECK([for Matlab version], [ax_cv_matlab_version],
-[if test "${MATLAB_VERSION+set}" = set ; then
- ax_cv_matlab_version=$MATLAB_VERSION
-else
- ax_cv_matlab_version=
- # Loop over all known architectures. The final dot covers
- # Matlab R11 and Matlab V4 for Windows.
- for ax_arch in alpha glnxa64 glnx86 hp700 hpux ibm_rs sgi sol2 win32 mac maci . ; do
- for ax_exec_name in matlab$EXEEXT MATLAB ; do
- ax_matlab_exec=$MATLAB/bin/$ax_arch/${ax_exec_name}
- if test -f $ax_matlab_exec ; then
- # For Matlab R12, the version number is stored in a
- # shared library.
- ax_matlab_exec_2=`find $MATLAB/bin/$ax_arch -type f -name libmwservices\* -print 2> /dev/null`
- if test -n "$ax_matlab_exec_2" ; then
- ax_cv_matlab_version=`strings $ax_matlab_exec_2 2> /dev/null | egrep '^\|build_version_\|@<:@0-9@:>@+\.@<:@0-9@:>@+\.@<:@0-9@:>@+\.@<:@0-9@:>@+' | head -1 | sed 's/^|build_version_|\(@<:@0-9@:>@*\.@<:@0-9@:>@*\).*/\1/'`
- if test -n "$ax_cv_matlab_version" ; then
- break
- fi
- fi
- # For Matlab R11 and Matlab V4, the version number
- # is stored in the executable program.
- ax_cv_matlab_version=`strings $ax_matlab_exec 2> /dev/null | egrep '^@<:@0-9@:>@+\.@<:@0-9@:>@+\.@<:@0-9@:>@+\.@<:@0-9@:>@+' | head -1 | sed 's/^\(@<:@0-9@:>@*\.@<:@0-9@:>@*\).*/\1/'`
- if test -n "$ax_cv_matlab_version" ; then
- break
- fi
-
- # For Matlab R2008a and more, the version number is stored in .VERSION
- if test -f "$MATLAB/.VERSION" ; then
- ax_cv_matlab_version=`cat $MATLAB/.VERSION`
- if test -n "$ax_cv_matlab_version" ; then
- break
- fi
- fi
-
- #Last hope, find version in file stored in bin/util/mex/version.txt
- #
- ax_cv_matlab_version=`cat $MATLAB/bin/util/mex/version.txt`
- if test -n "$ax_cv_matlab_version" ; then
- break
- fi
- fi
- done
- if test -n "$ax_cv_matlab_version" ; then
- break
- fi
- done
- if test -z "$ax_cv_matlab_version" ; then
- ax_cv_matlab_version="not found"
- fi
-fi])
-case $ax_cv_matlab_version in
- @<:@1-9@:>@.@<:@0-9@:>@ | @<:@1-9@:>@@<:@0-9@:>@.@<:@0-9@:>@ | @<:@1-9@:>@.@<:@1-9@:>@@<:@0-9@:>@)
- MATLAB_VERSION=$ax_cv_matlab_version
- MATLAB_MAJOR=`echo $MATLAB_VERSION | sed -e 's/^\(@<:@0-9@:>@*\)\.@<:@0-9@:>@*.*/\1/'`
- MATLAB_MINOR=`echo $MATLAB_VERSION | sed -e 's/^@<:@0-9@:>@*\.\(@<:@0-9@:>@*\).*/\1/'`
- ;;
- R2007a)
- MATLAB_VERSION=R2007a
- MATLAB_MAJOR=7
- MATLAB_MINOR=4
- ;;
- R2008a)
- MATLAB_VERSION=R2008a
- MATLAB_MAJOR=7
- MATLAB_MINOR=6
- ;;
- R2009a)
- MATLAB_VERSION=R2009a
- MATLAB_MAJOR=7
- MATLAB_MINOR=8
- ;;
- R2010a)
- MATLAB_VERSION=R2010a
- MATLAB_MAJOR=7
- MATLAB_MINOR=10
- ;;
- R2010b)
- MATLAB_VERSION=R2010b
- MATLAB_MAJOR=7
- MATLAB_MINOR=11
- ;;
- R2011a)
- MATLAB_VERSION=R2011a
- MATLAB_MAJOR=7
- MATLAB_MINOR=12
- ;;
- R2011b)
- MATLAB_VERSION=R2011b
- MATLAB_MAJOR=7
- MATLAB_MINOR=13
- ;;
-
- *)
- if test x$ax_enable_matlab = xyes ; then
- AC_MSG_ERROR([can not determine Matlab version number])
- fi
- MATLAB_VERSION=
- MATLAB_MAJOR=
- MATLAB_MINOR=
- ;;
-esac
-AC_SUBST([MATLAB_VERSION])
-AC_SUBST([MATLAB_MAJOR])
-AC_SUBST([MATLAB_MINOR])
-if test x$MATLAB_VERSION != x ; then
- AC_DEFINE_UNQUOTED([MATLAB_MAJOR], [$MATLAB_MAJOR], [Define to the Matlab major version number.])
- AC_DEFINE_UNQUOTED([MATLAB_MINOR], [$MATLAB_MINOR], [Define to the Matlab minor version number.])
-fi
-])
-
-# AX_REQUIRE_MATLAB_VERSION([MINIMUM-VERSION])
-# --------------------------------------------
-# Check if Matlab version number is sufficient.
-AC_DEFUN([AX_REQUIRE_MATLAB_VERSION],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_MATLAB_VERSION])
-if test x$MATLAB_VERSION = x ; then
- AC_MSG_ERROR([can not determine Matlab version number])
-fi
-m4_if([$1], [], [],
-[AC_MSG_CHECKING([if Matlab version is sufficient])
-ax_version='$1'
-case $ax_version in
- @<:@1-9@:>@ | @<:@1-9@:>@@<:@0-9@:>@)
- ax_major=$ax_version
- ax_minor=''
- ;;
- @<:@1-9@:>@.@<:@0-9@:>@ | @<:@1-9@:>@@<:@0-9@:>@.@<:@0-9@:>@)
- ax_major=`echo $ax_version | sed 's/^\(@<:@0-9@:>@*\)\.@<:@0-9@:>@*.*/\1/'`
- ax_minor=`echo $ax_version | sed 's/^@<:@0-9@:>@*\.\(@<:@0-9@:>@*\).*/\1/'`
- ;;
- *)
- AC_MSG_RESULT([failure])
- AC_MSG_NOTICE([report this bug to the responsible package maintainer])
- AC_MSG_ERROR([invalid Matlab version number argument to AX_REQUIRE_MATLAB_VERSION])
- ;;
-esac
-ax_ans=yes
-if test $MATLAB_MAJOR -eq $ax_major ; then
- if test x$ax_minor != x && test $MATLAB_MINOR -lt $ax_minor ; then
- ax_ans=no
- fi
-elif test $MATLAB_MAJOR -lt $ax_major ; then
- ax_ans=no
-fi
-AC_MSG_RESULT([$ax_ans])
-if test x$ax_ans = xno ; then
- AC_MSG_ERROR([require Matlab version $ax_version or above])
-fi])
-])
-
-dnl matlabver.m4 ends here
-
-dnl matlab.m4 --- check for Matlab.
-dnl
-dnl Copyright (C) 2000--2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_MATLAB
-# ---------
-# Check for Matlab.
-AC_DEFUN([AX_MATLAB],
-[dnl
-AC_PREREQ([2.50])
-ax_enable_matlab=
-AC_ARG_WITH([matlab-dir], AC_HELP_STRING([--with-matlab-dir=ARG], [check for Matlab [[yes]]]),
-[case $withval in
- yes | no)
- # Explicitly enable or disable Matlab but determine
- # Matlab prefix automatically.
- ax_enable_matlab=$withval
- ;;
- *)
- # Enable Matlab and use ARG as the Matlab prefix.
- # ARG must be an existing directory.
- ax_enable_matlab=yes
- MATLAB=`cd "${withval-/}" > /dev/null 2>&1 && pwd`
- if test -z "$MATLAB" ; then
- AC_MSG_ERROR([invalid value '$withval' for --with-matlab])
- fi
- ;;
-esac])
-if test x$ax_enable_matlab != xno ; then
-AC_CACHE_CHECK([for Matlab prefix], [ax_cv_matlab],
-[if test "${MATLAB+set}" = set ; then
- ax_cv_matlab=`cd "${MATLAB-/}" > /dev/null 2>&1 && pwd`
-else
- ax_cv_matlab=
- IFS=${IFS= } ; ax_ifs=$IFS ; IFS=:
- for ax_dir in ${PATH-/opt/bin:/usr/local/bin:/usr/bin:/bin} ; do
- if test -z "$ax_dir" ; then
- ax_dir=.
- fi
- if test -x "$ax_dir/matlab" ; then
- ax_dir=`echo "$ax_dir" | sed 's,/bin$,,'`
- # Directory sanity check.
- ax_cv_matlab=`cd "${ax_dir-/}" > /dev/null 2>&1 && pwd`
- if test -n "$ax_cv_matlab" ; then
- break
- fi
- fi
- done
- IFS=$ax_ifs
-fi
-if test -z "$ax_cv_matlab" ; then
- ax_cv_matlab="not found"
-fi])
-if test "$ax_cv_matlab" = "not found" ; then
- unset MATLAB
-else
- # Strip trailing dashes.
- MATLAB=`echo "$ax_cv_matlab" | sed 's,/*$,,'`
-fi
-AC_MSG_CHECKING([whether to enable Matlab support])
-if test x$ax_enable_matlab != xno ; then
- if test "${MATLAB+set}" = set && test -d "$MATLAB/extern/include" ; then
- ax_enable_matlab=yes
- elif test x$ax_enable_matlab = x ; then
- ax_enable_matlab=no
- else
- # Fail if Matlab was explicitly enabled.
- AC_MSG_RESULT([failure])
- AC_MSG_ERROR([check your Matlab setup])
- fi
-fi
-AC_MSG_RESULT([$ax_enable_matlab])
-if test x$ax_enable_matlab = xyes ; then
- AC_DEFINE([HAVE_MATLAB], [1], [Define if you have Matlab.])
-fi
-fi
-AC_SUBST([MATLAB])
-])
-
-# AX_REQUIRE_MATLAB
-# -----------------
-# Like AX_MATLAB but fail if Matlab support is disabled.
-AC_DEFUN([AX_REQUIRE_MATLAB],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_MATLAB])
-if test x$ax_enable_matlab = xno ; then
- AC_MSG_ERROR([can not enable Matlab support])
-fi
-])
-
-# AX_MATLAB_CONDITIONAL
-# ---------------------
-# Define Matlab conditional for GNU Automake.
-AC_DEFUN([AX_MATLAB_CONDITIONAL],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_MATLAB])
-AM_CONDITIONAL([MATLAB], [test x$ax_enable_matlab = xyes])
-])
-
-dnl matlab.m4 ends here
-
-dnl mex.m4 --- check for mex(1) command.
-dnl
-dnl Copyright (C) 2000--2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_PATH_MEX
-# -----------
-# Check for mex(1) command.
-AC_DEFUN([AX_PATH_MEX],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_MATLAB])
-AC_REQUIRE([AX_MEX_OPTIONS])
-AC_REQUIRE([AC_CANONICAL_HOST])
-if test "${MEX+set}" != set ; then
- case $host_os in
- *cygwin* | *mingw32*)
- ax_list='mextool mex mex.bat'
- ;;
- *)
- ax_list='mex'
- ;;
- esac
- AC_PATH_PROGS([MEX], $ax_list, mex, $MATLAB/bin:$PATH)
-fi
-AC_SUBST([MEX])
-if test "${MEXFLAGS+set}" != set ; then
- MEXFLAGS=-O
-fi
-AC_SUBST([MEXFLAGS])
-if test "${MEXLDADD+set}" != set ; then
- MEXLDADD=
-fi
-AC_SUBST([MEXLDADD])
-])
-
-dnl mex.m4 ends here
-
-dnl mexopt.m4 --- check for MEX options file.
-dnl
-dnl Copyright (C) 2001--2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_MEX_OPTIONS
-# --------------
-# Check for MEX options file.
-AC_DEFUN([AX_MEX_OPTIONS],
-[dnl
-AC_PREREQ([2.50])
-mex_options=yes
-AC_ARG_WITH([mex-options], AC_HELP_STRING([--with-mex-options=ARG], [use MEX options file ARG [[standard]]]),
-[mex_options=$withval])
-AC_MSG_CHECKING([for MEX options file handling])
-case $mex_options in
- yes)
- AC_MSG_RESULT([standard])
- mexopts_sh=
- ;;
- no)
- AC_MSG_RESULT([disabled])
- mexopts_sh=$ac_aux_dir/noopts.sh
- ;;
- *)
- AC_MSG_RESULT([enabled])
- mexopts_sh=$mex_options
- ;;
-esac
-if test -n "$mexopts_sh" ; then
- AC_MSG_CHECKING([whether MEX options file exists])
- if test -f "$mexopts_sh" ; then
- AC_MSG_RESULT([yes])
- # Canonicalize file name.
- mexopts_sh_dir=`echo "$mexopts_sh" | sed 's,[[^/]]*$,,'`
- mexopts_sh_dir=`cd "${mexopts_sh_dir-.}" && pwd`
- mexopts_sh_name=`echo "$mexopts_sh" | sed 's,.*/,,'`
- mexopts_sh="$mexopts_sh_dir/$mexopts_sh_name"
- else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([$mexopts_sh: no such file])
- fi
- MEXOPTS="-f $mexopts_sh"
-else
- MEXOPTS=
-fi
-AC_SUBST([mexopts_sh])
-AC_SUBST([MEXOPTS])
-])
-
-dnl mexopt.m4 ends here
-
-dnl mexext.m4 --- check for MEX-file suffix.
-dnl
-dnl Copyright (C) 2000--2003 Ralph Schleicher
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_MEXEXT
-# ---------
-# Check for MEX-file suffix.
-AC_DEFUN([AX_MEXEXT],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_PATH_MEX])
-AC_CACHE_CHECK([for MEX-file suffix], [ax_cv_mexext],
-[if test "${MEXEXT+set}" = set ; then
- ax_cv_mexext="$MEXEXT"
-else
- if test -x ${MATLAB}/bin/mexext ; then
- ax_cv_mexext=`${MATLAB}/bin/mexext`
- fi
-fi
-if test "x${ax_cv_mexext}" = "x" ; then
- echo 'mexFunction () {}' > ax_c_test.c
- $MEX $MEXOPTS $MEXFLAGS -output ax_c_test ax_c_test.c $MEXLDADD 2> /dev/null 1>&2
- if test -f ax_c_test.dll ; then
- ax_cv_mexext=dll
- elif test -f ax_c_test.mex ; then
- ax_cv_mexext=mex
- elif test -f ax_c_test.mexaxp ; then
- ax_cv_mexext=mexaxp
- elif test -f ax_c_test.mexglx ; then
- ax_cv_mexext=mexglx
- elif test -f ax_c_test.mexa64 ; then
- ax_cv_mexext=mexa64
- elif test -f ax_c_test.mexmac ; then
- ax_cv_mexext=mexmac
- elif test -f ax_c_test.mexmaci ; then
- ax_cv_mexext=mexmaci
- elif test -f ax_c_test.mexhp7 ; then
- ax_cv_mexext=mexhp7
- elif test -f ax_c_test.mexhpux ; then
- ax_cv_mexext=mexhpux
- elif test -f ax_c_test.mexrs6 ; then
- ax_cv_mexext=mexrs6
- elif test -f ax_c_test.mexsg ; then
- ax_cv_mexext=mexsg
- elif test -f ax_c_test.mexsol ; then
- ax_cv_mexext=mexsol
- elif test -f ax_c_test.mexs64 ; then
- ax_cv_mexext=mexs64
- elif test -f ax_c_test.mexw32 ; then
- ax_cv_mexext=mexw32
- elif test -f ax_c_test.mexw64 ; then
- ax_cv_mexext=mexw64
- else
- ax_cv_mexext=unknown
- fi
- rm -f ax_c_test*
-fi])
-MEXEXT="$ax_cv_mexext"
-AC_SUBST([MEXEXT])
-])
-
-# AX_DOT_MEXEXT
-# -------------
-# Check for MEX-file suffix with leading dot.
-AC_DEFUN([AX_DOT_MEXEXT],
-[dnl
-AC_REQUIRE([AX_MEXEXT])
-case $MEXEXT in
- .*)
- ;;
- unknown)
- ;;
- *)
- if test -n "$MEXEXT" ; then
- MEXEXT=.$MEXEXT
- AC_MSG_RESULT([setting MEX-file suffix to $MEXEXT])
- AC_SUBST([MEXEXT])
- fi
- ;;
-esac
-])
-
-dnl mexext.m4 ends here
-
-dnl ccmex.m4 --- check how to compile c programs using mex
-dnl
-dnl Copyright (C) 2007 Duncan Brown
-dnl
-dnl This program is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU General Public License as
-dnl published by the Free Software Foundation; either version 2,
-dnl or (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; see the file COPYING. If not, write to
-dnl the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
-dnl Boston, MA 02111-1307, USA.
-dnl
-dnl As a special exception to the GNU General Public License, if
-dnl you distribute this file as part of a program that contains a
-dnl configuration script generated by GNU Autoconf, you may include
-dnl it under the same distribution terms that you use for the rest
-dnl of that program.
-dnl
-dnl Code:
-
-# AX_CC_MEX
-# ------------
-# Check for the flags needed to build a file with mex
-AC_DEFUN([AX_CC_MEX],
-[dnl
-AC_REQUIRE([AX_PATH_MEX])
-AC_REQUIRE([AX_DOT_MEXEXT])
-AC_LANG([C])
-
-dnl Source code for the test matlab C program
-ac_mex_source='[#include "mex.h"
-void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { return; }]'
-
-dnl Check that the test C program can be compiled with mex
-ac_exeext_save=$ac_exeext
-ac_exeext=$MEXEXT
-ac_link_save=$ac_link
-ac_link='$MEX $MEXOPTS $MEXFLAGS -output conftest$ac_exeext conftest.$ac_ext $MEXLDADD >&AS_MESSAGE_LOG_FD'
-AC_MSG_CHECKING([if mex works])
-AC_LINK_IFELSE([AC_LANG_SOURCE($ac_mex_source)],
-[AC_MSG_RESULT([yes])],
-[AC_MSG_RESULT([no])])
-
-dnl Try to figure out how mex compiles a C program
-ax_cv_mex_version=
-ac_cv_mex_cppflags=
-ac_cv_mex_includes=
-ac_cv_mex_cflags=
-ac_cv_mex_libs=
-ac_cv_mex_ldflags=
-
-dnl Variable that will be subsituted
-MEX_VERSION_C=
-MEX_LDFLAGS=
-MEX_CPPFLAGS=
-MEX_INCLUDES=
-MEX_CFLAGS=
-MEX_LIBS=
-MEX_LDFLAGS=
-
-AC_MSG_CHECKING([if mex -n works])
-ac_save_MEXOPTS=$MEXOPTS
-MEXOPTS="-n $MEXOPTS"
-AC_LANG_CONFTEST([AC_LANG_SOURCE($ac_mex_source)])
-(eval echo $as_me:__oline__: \"$ac_link\") >&AS_MESSAGE_LOG_FD
-ac_cv_mex_n_output=`eval $ac_link AS_MESSAGE_LOG_FD>&1 2>&1`
-ac_cv_mex_n_result=$?
-echo "$ac_cv_mex_n_output" >&AS_MESSAGE_LOG_FD
-MEXOPTS=$ac_save_MEXOPTS
-rm -f conftest*
-ac_exeext=$ac_exeext_save
-ac_link=$ac_link_save
-
-if test $ac_cv_mex_n_result -eq 0 ; then
- ac_cv_mex_working=yes
- AC_MSG_RESULT([$ac_cv_mex_working])
-
- dnl Save positional arguments (if any)
- ac_save_positional="$[@]"
-
- set X $ac_cv_mex_n_output
- while test $[@%:@] != 1; do
- shift
- ac_arg=$[1]
- case $ac_arg in
- *mexversion.c)
- ax_cv_mex_version=$ac_arg
- ;;
- -pthread)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cppflags, ,
- ac_cv_mex_cppflags="$ac_cv_mex_cppflags $ac_arg")
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cflags, ,
- ac_cv_mex_cflags="$ac_cv_mex_cflags $ac_arg")
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_ldflags, ,
- ac_cv_mex_ldflags="$ac_cv_mex_ldflags $ac_arg")
- ;;
- -mt)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cppflags, ,
- ac_cv_mex_cppflags="$ac_cv_mex_cppflags $ac_arg")
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cflags, ,
- ac_cv_mex_cflags="$ac_cv_mex_cflags $ac_arg")
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_ldflags, ,
- ac_cv_mex_ldflags="$ac_cv_mex_ldflags $ac_arg")
- ;;
- -ansi)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cppflags, ,
- ac_cv_mex_cppflags="$ac_cv_mex_cppflags $ac_arg")
- ;;
- -D*)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cppflags, ,
- ac_cv_mex_cppflags="$ac_cv_mex_cppflags $ac_arg")
- ;;
- -I*)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_includes, ,
- ac_cv_mex_includes="$ac_cv_mex_includes $ac_arg")
- ;;
- -f* | -O* | -xO* | -xlibmil )
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_cflags, ,
- ac_cv_mex_cflags="$ac_cv_mex_cflags $ac_arg")
- ;;
- -l*)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_libs, ,
- ac_cv_mex_libs="$ac_cv_mex_libs $ac_arg")
- ;;
- -L)
- # When -L is seen by itself, it takes an argument
- # We remove the space between option and argument and re-iterate
- # unless we find an empty arg or a new option (starting with -)
- case $[2] in
- "" | -*);;
- *)
- ac_arg="$ac_arg$[2]"
- shift; shift
- set X $ac_arg "$[@]"
- ;;
- esac
- ;;
- -L* | -Wl,* | -shared | -bundle | -G)
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_ldflags, ,
- ac_cv_mex_ldflags="$ac_cv_mex_ldflags $ac_arg")
- ;;
- -undefined)
- # the darwin linker undefined option takes and argument
- ac_arg="$ac_arg $[2]"
- shift
- _AC_LIST_MEMBER_IF($ac_arg, $ac_cv_mex_ldflags, ,
- ac_cv_mex_ldflags="$ac_cv_mex_ldflags $ac_arg")
- ;;
- # ignore everything else
- esac
- done
-
- # restore positional arguments
- set X $ac_save_positional; shift
-
- MEX_VERSION_C=$ax_cv_mex_version
-
- AC_MSG_CHECKING([for CPPFLAGS needed to build mex objects])
- if test "x$ac_cv_mex_cppflags" = "x" ; then
- AC_MSG_RESULT([none])
- else
- MEX_CPPFLAGS=`echo $ac_cv_mex_cppflags | sed 's/^[ \t]*//;s/[ \t]*$//'`
- AC_MSG_RESULT([$MEX_CPPFLAGS])
- fi
- AC_MSG_CHECKING([for INCLUDES needed to build mex objects])
- if test "x$ac_cv_mex_includes" = "x" ; then
- AC_MSG_RESULT([none])
- else
- MEX_INCLUDES=`echo $ac_cv_mex_includes | sed 's/^[ \t]*//;s/[ \t]*$//'`
- AC_MSG_RESULT([$MEX_INCLUDES])
- fi
- AC_MSG_CHECKING([for CFLAGS needed to build mex objects])
- if test "x$ac_cv_mex_cflags" = "x" ; then
- AC_MSG_RESULT([none])
- else
- MEX_CFLAGS=`echo $ac_cv_mex_cflags | sed 's/^[ \t]*//;s/[ \t]*$//'`
- AC_MSG_RESULT([$MEX_CFLAGS])
- fi
- AC_MSG_CHECKING([for LIBS needed to build mex objects])
- if test "x$ac_cv_mex_libs" = "x" ; then
- AC_MSG_RESULT([none])
- else
- MEX_LIBS=`echo $ac_cv_mex_libs | sed 's/^[ \t]*//;s/[ \t]*$//'`
- AC_MSG_RESULT([$MEX_LIBS])
- fi
- AC_MSG_CHECKING([for LDFLAGS needed to build mex objects])
- if test "x$ac_cv_mex_ldflags" = "x" ; then
- AC_MSG_RESULT([none])
- else
- MEX_LDFLAGS=`echo $ac_cv_mex_ldflags | sed 's/^[ \t]*//;s/[ \t]*$//'`
- AC_MSG_RESULT([$MEX_LDFLAGS])
- fi
-else
- ac_cv_mex_working=no
- AC_MSG_RESULT([$ac_cv_mex_working])
-fi
-
-AC_SUBST(MEX_VERSION_C)
-AC_SUBST(MEX_CPPFLAGS)
-AC_SUBST(MEX_INCLUDES)
-AC_SUBST(MEX_CFLAGS)
-AC_SUBST(MEX_LIBS)
-AC_SUBST(MEX_LDFLAGS)
-
-])
-
-# AX_MEX_CONDITIONAL
-# ---------------------
-# Define Matlab conditional for GNU Automake.
-AC_DEFUN([AX_MEX_CONDITIONAL],
-[dnl
-AC_PREREQ([2.50])
-AC_REQUIRE([AX_CC_MEX])
-AM_CONDITIONAL(MEX, test x$ac_cv_mex_working = xyes)
-AM_CONDITIONAL(MEX_VERSION_C, test x$ax_cv_mex_version != x)
-])
-
-dnl ccmex.m4 ends here
-
-# AX_MATLAB_SYS_ZLIB
-# ------------
-# Matlab preloads an old version of zlib which means that we cannot
-# just dynamically link against the libz.so found by the linker.
-# Instead we search for a working version of zlib in the system
-# location and use that.
-AC_DEFUN([AX_MATLAB_SYS_ZLIB],
-[dnl
-AC_REQUIRE([AX_PATH_MEX])
-AC_LANG([C])
-
-ax_matlab_sys_zlib=
-
-if test x$ax_cv_mexext != xunknown && test x$ax_cv_mexext != x ; then
- # Where should we search for libraries
- ax_sys_lib_search_path="/lib /usr/lib /usr/local/lib"
-
- # If this is a 64 bit link box look in the place where redhat keeps libs
- if test x$ax_cv_mexext = xmexa64; then
- ax_sys_lib_search_path="/lib64 /usr/lib64 /usr/local/lib64 $ax_sys_lib_search_path"
- fi
-
- # set the extension of the library we are looking for
- if test x$ax_cv_mexext = xmexmac || test x$ax_cv_mexext = xmexmaci ; then
- ax_zlib_lib_ext=".dylib"
- else
- ax_zlib_lib_ext=".a"
- fi
-
- for lib_path in $ax_sys_lib_search_path ; do
- ax_matlab_search_zlib=$lib_path/libz$ax_zlib_lib_ext
-
- AC_CHECK_FILE([$ax_matlab_search_zlib],
- [
- AC_MSG_CHECKING([for gzungetc in $ax_matlab_search_zlib])
- ac_save_LIBS=$LIBS
- LIBS="$ax_matlab_search_zlib $LIBS"
- AC_LINK_IFELSE(
- [ AC_LANG_PROGRAM( ,[[gzungetc();]]) ],
- [
- AC_MSG_RESULT([yes])
- ax_matlab_sys_zlib=$ax_matlab_search_zlib
- ],
- [ AC_MSG_RESULT([no]) ]
- )
- LIBS=$ac_save_LIBS
- ], )
-
- if test x$ax_matlab_sys_zlib != x ; then
- break
- fi
- done
-fi
-
-MATLAB_SYS_ZIB=$ax_matlab_sys_zlib
-
-AC_SUBST([MATLAB_SYS_ZIB])
-
-])
-
-
-##### http://autoconf-archive.cryp.to/check_zlib.html
-#
-# SYNOPSIS
-#
-# CHECK_ZLIB()
-#
-# DESCRIPTION
-#
-# This macro searches for an installed zlib library. If nothing was
-# specified when calling configure, it searches first in /usr/local
-# and then in /usr. If the --with-zlib=DIR is specified, it will try
-# to find it in DIR/include/zlib.h and DIR/lib/libz.a. If
-# --without-zlib is specified, the library is not searched at all.
-#
-# If either the header file (zlib.h) or the library (libz) is not
-# found, the configuration exits on error, asking for a valid zlib
-# installation directory or --without-zlib.
-#
-# The macro defines the symbol HAVE_LIBZ if the library is found. You
-# should use autoheader to include a definition for this symbol in a
-# config.h file. Sample usage in a C/C++ source is as follows:
-#
-# #ifdef HAVE_LIBZ
-# #include <zlib.h>
-# #endif /* HAVE_LIBZ */
-#
-# LAST MODIFICATION
-#
-# 2004-09-20
-#
-# COPYLEFT
-#
-# Copyright (c) 2004 Loic Dachary <loic at senga.org>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-#
-# As a special exception, the respective Autoconf Macro's copyright
-# owner gives unlimited permission to copy, distribute and modify the
-# configure scripts that are the output of Autoconf when processing
-# the Macro. You need not follow the terms of the GNU General Public
-# License when using or distributing such scripts, even though
-# portions of the text of the Macro appear in them. The GNU General
-# Public License (GPL) does govern all other use of the material that
-# constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the
-# Autoconf Macro released by the Autoconf Macro Archive. When you
-# make and distribute a modified version of the Autoconf Macro, you
-# may extend this special exception to the GPL to apply to your
-# modified version as well.
-
-AC_DEFUN([CHECK_ZLIB], [
-AC_ARG_WITH([zlib], [AS_HELP_STRING([--with-zlib=DIR], [root directory path of zlib installation (defaults to /usr/local or /usr if not found in /usr/local), --without-zlib to disable zlib usage completely])], [], [with_zlib=yes])
-
-if test "x$with_zlib" != xno ; then
- if test "x$with_zlib" != xyes ; then
- ZLIB_HOME=$with_zlib
- else
- # default locations
- ZLIB_HOME=/usr/local
- if test ! -f "${ZLIB_HOME}/include/zlib.h"
- then
- ZLIB_HOME=/usr
- fi
- fi
-
- ZLIB_OLD_LDFLAGS=$LDFLAGS
- ZLIB_OLD_CPPFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
- CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include"
- AC_LANG_PUSH([C])
- AC_CHECK_HEADERS([zlib.h])
- AC_CHECK_LIB([z], [inflateEnd])
- AC_LANG_POP([C])
-
- if test "x$ac_cv_header_zlib_h" = "xyes" -a "x$ac_cv_lib_z_inflateEnd" = "xyes" ; then
- AC_MSG_RESULT([zlib found in $ZLIB_HOME])
- AC_SUBST([HAVE_LIBZ], [$ac_cv_lib_z_inflateEnd])
- else
- LDFLAGS="$ZLIB_OLD_LDFLAGS"
- CPPFLAGS="$ZLIB_OLD_CPPFLAGS"
- AC_MSG_ERROR(either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib)
- fi
-fi])
Deleted: issm/trunk/missing
===================================================================
--- issm/trunk/missing 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/missing 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,367 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2006-05-10.23
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
-
- -h|--h|--he|--hel|--help)
- echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
- -h, --help display this help and exit
- -v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Send bug reports to <bug-automake at gnu.org>."
- exit $?
- ;;
-
- -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing $scriptversion (GNU Automake)"
- exit $?
- ;;
-
- -*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
- exit 1
- ;;
-
-esac
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).
-case $1 in
- lex|yacc)
- # Not GNU programs, they don't have --version.
- ;;
-
- tar)
- if test -n "$run"; then
- echo 1>&2 "ERROR: \`tar' requires --run"
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- exit 1
- fi
- ;;
-
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $1 in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
-
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison|yacc)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex|flex)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG="\${$#}"
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit 1
- fi
- ;;
-
- makeinfo)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- tar)
- shift
-
- # We have already tried tar in the generic part.
- # Look for gnutar/gtar before invocation to avoid ugly error
- # messages.
- if (gnutar --version > /dev/null 2>&1); then
- gnutar "$@" && exit 0
- fi
- if (gtar --version > /dev/null 2>&1); then
- gtar "$@" && exit 0
- fi
- firstarg="$1"
- if shift; then
- case $firstarg in
- *o*)
- firstarg=`echo "$firstarg" | sed s/o//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- case $firstarg in
- *h*)
- firstarg=`echo "$firstarg" | sed s/h//`
- tar "$firstarg" "$@" && exit 0
- ;;
- esac
- fi
-
- echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
- You may want to install GNU tar or Free paxutils, or check the
- command line arguments."
- exit 1
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Info.plist 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleAllowMixedLocalizations</key>
- <true/>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>applet</string>
- <key>CFBundleIconFile</key>
- <string>applet</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>ISSM</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>aplt</string>
- <key>LSMinimumSystemVersionByArchitecture</key>
- <dict>
- <key>x86_64</key>
- <string>10.6</string>
- </dict>
- <key>LSRequiresCarbon</key>
- <true/>
- <key>WindowState</key>
- <dict>
- <key>dividerCollapsed</key>
- <false/>
- <key>eventLogLevel</key>
- <integer>-1</integer>
- <key>name</key>
- <string>ScriptWindowState</string>
- <key>positionOfDivider</key>
- <real>333</real>
- <key>savedFrame</key>
- <string>3 428 602 597 0 0 1680 1028 </string>
- <key>selectedTabView</key>
- <string>result</string>
- </dict>
-</dict>
-</plist>
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Info.plist)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/Info.plist 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleAllowMixedLocalizations</key>
+ <true/>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>applet</string>
+ <key>CFBundleIconFile</key>
+ <string>applet</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>ISSM</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>aplt</string>
+ <key>LSMinimumSystemVersionByArchitecture</key>
+ <dict>
+ <key>x86_64</key>
+ <string>10.6</string>
+ </dict>
+ <key>LSRequiresCarbon</key>
+ <true/>
+ <key>WindowState</key>
+ <dict>
+ <key>dividerCollapsed</key>
+ <false/>
+ <key>eventLogLevel</key>
+ <integer>-1</integer>
+ <key>name</key>
+ <string>ScriptWindowState</string>
+ <key>positionOfDivider</key>
+ <real>333</real>
+ <key>savedFrame</key>
+ <string>3 428 602 597 0 0 1680 1028 </string>
+ <key>selectedTabView</key>
+ <string>result</string>
+ </dict>
+</dict>
+</plist>
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/applet
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/MacOS/applet (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/MacOS/applet)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/PkgInfo 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-APPLaplt
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/PkgInfo)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/PkgInfo 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+APPLaplt
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/main.scpt
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/Scripts/main.scpt (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Resources/Scripts/main.scpt)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.icns
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.icns (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Resources/applet.icns)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.rsrc
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/applet.rsrc (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Resources/applet.rsrc)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +0,0 @@
-{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
-{\fonttbl}
-{\colortbl;\red255\green255\blue255;}
-}
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.app/Contents/Resources/description.rtfd/TXT.rtf 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,4 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf230
+{\fonttbl}
+{\colortbl;\red255\green255\blue255;}
+}
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.appscript
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.appscript 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.appscript 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-do shell script "open ~/ISSM/bin/matlabissm"
Copied: issm/trunk/packagers/macosx/ISSM.appscript (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.appscript)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.appscript (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.appscript 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+do shell script "open ~/ISSM/bin/matlabissm"
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/01issm-contents.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkg-contents spec="1.12"><f n="ISSM.app" o="larour" g="admin" p="16893" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.app" m="true" t="file"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Contents" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="Info.plist.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="PkgInfo.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Info.plist" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="MacOS" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="applet.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="applet.svn-base" o="larour" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="applet" o="larour" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="PkgInfo" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="Resources" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="applet.icns.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="applet.icns.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="applet.icns" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="description.rtfd" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="TXT.rtf.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="TXT.rtf" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Scripts" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="main.scpt.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="main.scpt.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="main.scpt" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>group</mod><mod>mode</mod></f></pkg-contents>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/01issm-contents.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/01issm-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkg-contents spec="1.12"><f n="ISSM.app" o="larour" g="admin" p="16893" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.app" m="true" t="file"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Contents" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="Info.plist.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="PkgInfo.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Info.plist" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="MacOS" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="applet.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="applet.svn-base" o="larour" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="applet" o="larour" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="PkgInfo" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="Resources" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="applet.icns.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="applet.icns.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="applet.icns" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="applet.rsrc" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="description.rtfd" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="TXT.rtf.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="TXT.rtf" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Scripts" o="larour" g="admin" p="16893"><f n=".svn" o="larour" g="admin" p="16893"><f n="all-wcprops" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="larour" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="larour" g="admin" p="16893"><f n="main.scpt.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><f n="main.scpt.svn-base" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="larour" g="admin" p="16893"><f n="prop-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="larour" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="larour" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="main.scpt" o="larour" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><mod>group</mod><mod>mode</mod></f></pkg-contents>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/01issm.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkgref spec="1.12" uuid="280C4FF1-FB54-447F-B616-1EB3C56397F9"><config><identifier>ISSM.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.app</installFrom><installTo mod="true">/ISSM/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>identifier</mod><mod>parent</mod><mod>includeRoot</mod><mod>requireAuthorization</mod><mod>installTo.path</mod></config><contents><file-list>01issm-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/01issm.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/01issm.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkgref spec="1.12" uuid="280C4FF1-FB54-447F-B616-1EB3C56397F9"><config><identifier>ISSM.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true" includeRoot="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.app</installFrom><installTo mod="true">/ISSM/</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>identifier</mod><mod>parent</mod><mod>includeRoot</mod><mod>requireAuthorization</mod><mod>installTo.path</mod></config><contents><file-list>01issm-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/02bin-contents.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkg-contents spec="1.12"><f n="bin" o="root" g="admin" p="16877" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/bin" m="false" t="file"><f n="startup.m" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/02bin-contents.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/02bin-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkg-contents spec="1.12"><f n="bin" o="root" g="admin" p="16877" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/bin" m="false" t="file"><f n="startup.m" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/02bin.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkgref spec="1.12" uuid="18E7DF11-93BD-47ED-B9FE-56870B61EB72"><config><identifier>issm.bin.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/bin</installFrom><installTo mod="true">/ISSM/bin</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.path</mod><mod>parent</mod><mod>installFrom.path</mod><mod>includeRoot</mod><mod>identifier</mod><mod>installTo</mod></config><contents><file-list>02bin-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/02bin.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/02bin.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkgref spec="1.12" uuid="18E7DF11-93BD-47ED-B9FE-56870B61EB72"><config><identifier>issm.bin.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/bin</installFrom><installTo mod="true">/ISSM/bin</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo.path</mod><mod>parent</mod><mod>installFrom.path</mod><mod>includeRoot</mod><mod>identifier</mod><mod>installTo</mod></config><contents><file-list>02bin-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/03test-contents.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkg-contents spec="1.12"><f n="test" o="root" g="admin" p="16877" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/test" m="false" t="file"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Archives" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="Archive101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="Archive101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Archive101.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Data" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="79North.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Exp" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="ISMIP10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP100000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHole.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareISMIP.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="79NorthShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="CrossLineEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP100000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux1.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux2.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux3.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux4.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux5.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux6.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigIslands.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigShelves.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Rifts.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundFrontEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT750000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFrontEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHole.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareISMIP.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRifts.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRiftsLateral.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="79NorthShelf.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="CrossLineEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP10000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP100000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP160000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP20000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP40000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP5000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP80000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPE.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="MassFlux1.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux2.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux3.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux4.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux5.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux6.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigIslands.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigShelves.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Rifts.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundFrontEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_10000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_160000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_20000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_40000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_5000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_80000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT750000.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareFrontEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareHole.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareISMIP.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareRifts.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRiftsLateral.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="NightlyRun" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="IdToName.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="dak.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdFromString.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdToName.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Makefile.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="README.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test101.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test102.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test103.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test104.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test105.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test106.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test107.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test108.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test109.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test110.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1101.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1102.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1103.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1104.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1105.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1106.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1107.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1108.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1109.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test111.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1110.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test112.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test113.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test114.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test115.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test116.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test117.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test118.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test119.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test120.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1201.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1202.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1203.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1204.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test121.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test122.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test123.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test124.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test125.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test126.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test127.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test128.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test129.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test130.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test131.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test132.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test133.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test134.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test135.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test136.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test137.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test139.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test140.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1401.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1402.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test141.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test142.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test143.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test144.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1501.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1502.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1601.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1602.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test201.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test202.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test203.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test204.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test209.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test210.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test211.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test212.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test213.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test214.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test215.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test216.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test217.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test218.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test219.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test220.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test221.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test222.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test223.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test224.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test225.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test226.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test227.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test228.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test229.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test230.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test232.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test233.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test234.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test235.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test236.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test237.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test238.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test239.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test240.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test241.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test242.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test243.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test244.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test245.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test246.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test247.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test248.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test249.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test250.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test251.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test252.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test253.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test254.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test255.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test256.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test257.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test258.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test259.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test260.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test261.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test262.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test263.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test264.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test265.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test266.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test267.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test268.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test305.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test306.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test307.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test308.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test309.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test310.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test311.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test312.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test313.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test314.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test315.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test316.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test317.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test318.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test319.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test320.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test321.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test322.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test323.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test324.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test325.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test326.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test327.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test328.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test329.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test330.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test331.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test332.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test333.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test334.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test335.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test336.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test337.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test338.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test339.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test340.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test341.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test342.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test343.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test344.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test345.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test346.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test347.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test348.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test349.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test350.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test351.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test352.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test353.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test354.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test401.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test402.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test403.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test404.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test405.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test406.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test407.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test408.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test409.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test410.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test411.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test412.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test413.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test414.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test415.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test416.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test417.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test418.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test419.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test420.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test421.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test422.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test423.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test424.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test425.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test426.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test427.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test428.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test429.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test430.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test431.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test432.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test434.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test435.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test437.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test438.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test439.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test440.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test441.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test442.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test443.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test444.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test445.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test446.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test447.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test448.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test449.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test450.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test451.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test452.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test453.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test454.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test501.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test502.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test503.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test504.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test505.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test506.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test507.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test508.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test509.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test510.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test511.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test512.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test513.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test514.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test515.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test516.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test517.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test518.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test519.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test520.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test521.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test522.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test523.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test524.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test525.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test526.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test527.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test529.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test530.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test531.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test532.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test601.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test602.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test603.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test604.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test605.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test606.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test607.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test608.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test609.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test610.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test611.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test612.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test613.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test614.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test615.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test616.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test617.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test618.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test619.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test620.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test621.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test622.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test623.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test624.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test625.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test626.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="dak.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdFromString.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdToName.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Makefile" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="README" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test101.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test102.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test103.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test104.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test105.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test106.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test107.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test108.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test109.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test110.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1101.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1102.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1103.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1104.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1105.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1106.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1107.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1108.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1109.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test111.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1110.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test112.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test113.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test114.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test115.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test116.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test117.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test118.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test119.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test120.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1201.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1202.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1203.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1204.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1206.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1207.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1208.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test121.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test122.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test123.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test124.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test125.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test126.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test127.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test128.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test129.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test130.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1302.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1303.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1304.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test131.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test132.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test133.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test134.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test135.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test136.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test137.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test139.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test140.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1401.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1402.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test141.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test142.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test143.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test144.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1501.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1502.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1601.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1602.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test201.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test202.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test203.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test204.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test205.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test206.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test207.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test208.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test209.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test210.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test211.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test212.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test213.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test214.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test215.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test216.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test217.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test218.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test219.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test220.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test221.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test222.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test223.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test224.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test225.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test226.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test227.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test228.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test229.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test230.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test232.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test233.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test234.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test235.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test236.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test237.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test238.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test239.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test240.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test241.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test242.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test243.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test244.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test245.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test246.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test247.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test248.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test249.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test250.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test251.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test252.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test253.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test254.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test255.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test256.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test257.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test258.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test259.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test260.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test261.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test262.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test263.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test264.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test265.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test266.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test267.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test268.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test301.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test302.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test303.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test304.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test305.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test306.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test307.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test308.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test309.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test310.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test311.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test312.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test313.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test314.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test315.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test316.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test317.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test318.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test319.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test320.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test321.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test322.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test323.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test324.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test325.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test326.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test327.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test328.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test329.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test330.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test331.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test332.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test333.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test334.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test335.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test336.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test337.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test338.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test339.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test340.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test341.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test342.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test343.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test344.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test345.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test346.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test347.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test348.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test349.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test350.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test351.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test352.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test353.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test354.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test401.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test402.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test403.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test404.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test405.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test406.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test407.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test408.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test409.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test410.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test411.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test412.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test413.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test414.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test415.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test416.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test417.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test418.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test419.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test420.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test421.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test422.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test423.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test424.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test425.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test426.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test427.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test428.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test429.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test430.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test431.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test432.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test434.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test435.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test437.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test438.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test439.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test440.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test441.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test442.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test443.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test444.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test445.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test446.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test447.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test448.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test449.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test450.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test451.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test452.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test453.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test454.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test501.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test502.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test503.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test504.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test505.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test506.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test507.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test508.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test509.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test510.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test511.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test512.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test513.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test514.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test515.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test516.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test517.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test518.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test519.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test520.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test521.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test522.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test523.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test524.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test525.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test526.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test527.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test529.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test530.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test531.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test532.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test601.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test602.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test603.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test604.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test605.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test606.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test607.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test608.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test609.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test610.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test611.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test612.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test613.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test614.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test615.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test616.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test617.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test618.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test619.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test620.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test621.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test622.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test623.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test624.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test625.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test626.m" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Par" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="79North.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPA.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPB.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPC.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPD.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPF.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareThermal.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPA.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPB.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPC.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPD.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPF.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareThermal.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPA.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPB.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPC.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPD.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPE.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPF.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Pig.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetEISMINT.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareEISMINT.par" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareSheetShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareShelfConstrained.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareThermal.par" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/03test-contents.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/03test-contents.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkg-contents spec="1.12"><f n="test" o="root" g="admin" p="16877" pt="/Users/larour/issm-uci/trunk-jpl/packagers/macosx/test" m="false" t="file"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Archives" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="Archive101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="Archive101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="Archive101.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive102.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive103.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive104.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive105.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive106.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive107.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive108.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive109.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive110.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1101.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1102.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1103.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1104.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1105.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1106.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1107.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1108.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1109.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive111.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1110.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive112.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive113.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive114.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive115.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive116.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive117.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive118.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive119.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive120.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1201.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1202.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1203.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1204.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1205.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1206.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1207.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1208.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive121.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive122.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive123.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive124.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive125.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive126.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive127.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive128.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive129.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive130.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1301.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1302.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1303.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1304.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive131.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive132.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive133.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive134.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive135.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive136.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive137.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive139.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive140.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1401.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1402.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive141.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive142.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive143.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive144.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1501.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1502.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1601.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive1602.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive201.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive202.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive203.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive204.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive205.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive206.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive207.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive208.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive209.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive210.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive211.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive212.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive213.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive214.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive215.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive216.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive217.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive218.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive219.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive220.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive221.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive222.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive223.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive224.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive225.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive226.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive227.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive228.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive229.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive230.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive232.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive233.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive234.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive235.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive236.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive237.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive238.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive239.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive240.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive241.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive242.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive243.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive244.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive245.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive246.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive247.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive248.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive249.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive250.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive251.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive252.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive253.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive254.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive255.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive256.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive257.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive258.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive259.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive260.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive261.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive262.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive263.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive264.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive265.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive266.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive267.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive268.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive301.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive302.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive303.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive304.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive305.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive306.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive307.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive308.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive309.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive310.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive311.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive312.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive313.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive314.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive315.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive316.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive317.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive318.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive319.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive320.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive321.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive322.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive323.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive324.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive325.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive326.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive327.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive328.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive329.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive330.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive331.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive332.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive333.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive334.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive335.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive336.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive337.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive338.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive339.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive340.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive341.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive342.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive343.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive344.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive345.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive346.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive347.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive348.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive349.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive350.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive351.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive352.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive353.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive354.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive401.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive402.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive403.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive404.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive405.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive406.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive407.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive408.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive409.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive410.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive411.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive412.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive413.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive414.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive415.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive416.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive417.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive418.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive419.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive420.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive421.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive422.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive423.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive424.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive425.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive426.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive427.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive428.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive429.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive430.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive431.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive432.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive434.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive435.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive437.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive438.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive439.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive440.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive441.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive442.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive443.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive444.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive445.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive446.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive447.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive448.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive449.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive450.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive451.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive452.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive453.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive454.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive501.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive502.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive503.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive504.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive505.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive506.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive507.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive508.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive509.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive510.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive511.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive512.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive513.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive514.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive515.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive516.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive517.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive518.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive519.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive520.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive521.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive522.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive523.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive524.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive525.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive526.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive527.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive529.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive530.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive531.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive532.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive601.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive602.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive603.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive604.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive605.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive606.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive607.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive608.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive609.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive610.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive611.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive612.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive613.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive614.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive615.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive616.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive617.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive618.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive619.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive620.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive621.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive622.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive623.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive624.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive625.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Archive626.mat" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Data" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="79North.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.data" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.data" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Exp" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="ISMIP10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP100000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHole.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareISMIP.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="79NorthShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="CrossLineEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP100000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux1.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux2.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux3.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux4.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux5.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux6.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigIslands.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigShelves.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Rifts.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundFrontEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_10000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_160000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_20000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_40000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_5000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square_80000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT750000.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFrontEISMINT.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHole.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareISMIP.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRifts.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRiftsLateral.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="79NorthShelf.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="CrossLineEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIP10000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP100000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP160000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP20000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP40000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP5000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIP80000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPE.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="MassFlux1.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux2.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux3.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux4.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux5.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="MassFlux6.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigIslands.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="PigShelves.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Rifts.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundFrontEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Square.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_10000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_160000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_20000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_40000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_5000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Square_80000.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT750000.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareFront.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareFrontEISMINT.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareHalfRight.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareHole.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareISMIP.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareRifts.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareRiftsLateral.exp" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.exp" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><f n="NightlyRun" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="dir-prop-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="IdToName.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="dak.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdFromString.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdToName.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Makefile.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="README.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test101.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test102.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test103.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test104.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test105.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test106.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test107.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test108.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test109.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test110.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1101.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1102.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1103.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1104.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1105.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1106.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1107.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1108.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1109.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test111.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1110.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test112.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test113.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test114.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test115.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test116.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test117.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test118.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test119.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test120.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1201.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1202.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1203.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1204.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test121.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test122.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test123.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test124.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test125.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test126.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test127.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test128.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test129.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test130.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test131.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test132.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test133.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test134.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test135.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test136.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test137.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test139.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test140.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1401.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1402.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test141.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test142.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test143.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test144.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1501.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1502.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1601.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1602.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test201.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test202.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test203.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test204.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test205.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test206.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test207.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test208.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test209.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test210.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test211.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test212.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test213.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test214.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test215.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test216.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test217.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test218.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test219.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test220.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test221.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test222.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test223.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test224.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test225.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test226.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test227.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test228.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test229.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test230.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test232.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test233.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test234.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test235.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test236.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test237.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test238.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test239.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test240.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test241.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test242.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test243.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test244.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test245.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test246.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test247.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test248.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test249.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test250.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test251.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test252.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test253.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test254.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test255.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test256.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test257.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test258.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test259.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test260.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test261.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test262.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test263.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test264.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test265.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test266.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test267.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test268.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test301.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test302.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test303.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test304.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test305.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test306.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test307.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test308.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test309.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test310.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test311.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test312.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test313.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test314.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test315.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test316.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test317.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test318.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test319.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test320.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test321.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test322.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test323.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test324.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test325.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test326.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test327.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test328.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test329.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test330.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test331.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test332.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test333.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test334.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test335.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test336.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test337.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test338.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test339.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test340.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test341.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test342.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test343.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test344.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test345.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test346.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test347.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test348.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test349.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test350.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test351.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test352.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test353.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test354.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test401.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test402.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test403.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test404.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test405.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test406.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test407.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test408.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test409.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test410.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test411.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test412.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test413.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test414.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test415.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test416.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test417.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test418.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test419.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test420.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test421.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test422.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test423.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test424.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test425.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test426.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test427.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test428.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test429.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test430.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test431.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test432.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test434.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test435.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test437.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test438.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test439.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test440.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test441.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test442.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test443.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test444.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test445.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test446.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test447.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test448.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test449.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test450.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test451.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test452.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test453.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test454.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test501.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test502.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test503.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test504.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test505.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test506.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test507.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test508.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test509.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test510.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test511.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test512.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test513.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test514.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test515.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test516.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test517.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test518.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test519.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test520.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test521.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test522.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test523.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test524.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test525.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test526.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test527.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test529.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test530.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test531.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test532.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test601.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test602.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test603.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test604.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test605.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test606.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test607.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test608.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test609.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test610.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test611.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test612.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test613.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test614.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test615.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test616.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test617.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test618.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test619.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test620.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test621.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test622.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test623.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test624.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test625.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test626.m.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="dak.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdFromString.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="IdToName.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Makefile" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="README" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="runme.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test101.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test102.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test103.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test104.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test105.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test106.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test107.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test108.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test109.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test110.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1101.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1102.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1103.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1104.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1105.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1106.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1107.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1108.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1109.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test111.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1110.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test112.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test113.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test114.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test115.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test116.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test117.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test118.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test119.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test120.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1201.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1202.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1203.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1204.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1205.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1206.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1207.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1208.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test121.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test122.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test123.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test124.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test125.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test126.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test127.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test128.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test129.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test130.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1301.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1302.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1303.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test1304.m" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="test131.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test132.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test133.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test134.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test135.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test136.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test137.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test139.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test140.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1401.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1402.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test141.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test142.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test143.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test144.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1501.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1502.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1601.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test1602.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test201.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test202.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test203.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test204.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test205.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test206.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test207.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test208.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test209.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test210.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test211.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test212.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test213.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test214.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test215.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test216.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test217.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test218.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test219.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test220.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test221.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test222.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test223.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test224.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test225.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test226.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test227.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test228.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test229.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test230.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test232.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test233.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test234.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test235.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test236.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test237.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test238.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test239.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test240.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test241.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test242.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test243.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test244.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test245.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test246.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test247.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test248.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test249.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test250.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test251.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test252.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test253.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test254.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test255.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test256.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test257.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test258.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test259.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test260.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test261.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test262.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test263.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test264.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test265.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test266.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test267.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test268.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test301.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test302.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test303.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test304.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test305.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test306.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test307.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test308.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test309.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test310.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test311.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test312.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test313.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test314.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test315.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test316.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test317.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test318.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test319.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test320.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test321.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test322.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test323.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test324.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test325.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test326.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test327.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test328.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test329.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test330.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test331.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test332.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test333.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test334.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test335.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test336.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test337.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test338.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test339.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test340.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test341.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test342.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test343.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test344.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test345.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test346.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test347.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test348.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test349.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test350.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test351.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test352.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test353.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test354.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test401.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test402.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test403.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test404.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test405.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test406.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test407.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test408.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test409.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test410.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test411.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test412.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test413.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test414.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test415.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test416.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test417.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test418.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test419.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test420.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test421.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test422.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test423.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test424.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test425.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test426.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test427.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test428.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test429.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test430.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test431.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test432.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test434.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test435.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test437.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test438.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test439.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test440.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test441.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test442.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test443.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test444.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test445.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test446.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test447.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test448.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test449.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test450.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test451.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test452.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test453.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test454.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test501.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test502.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test503.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test504.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test505.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test506.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test507.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test508.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test509.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test510.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test511.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test512.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test513.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test514.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test515.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test516.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test517.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test518.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test519.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test520.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test521.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test522.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test523.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test524.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test525.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test526.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test527.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test529.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test530.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test531.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test532.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test601.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test602.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test603.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test604.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test605.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test606.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test607.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test608.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test609.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test610.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test611.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test612.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test613.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test614.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test615.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test616.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test617.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test618.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test619.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test620.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test621.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test622.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test623.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test624.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test625.m" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="test626.m" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="Par" o="root" g="admin" p="16893"><f n=".svn" o="root" g="admin" p="16893"><f n="all-wcprops" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="entries" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="prop-base" o="root" g="admin" p="16893"><f n="79North.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPA.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPB.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPC.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPD.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPF.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareThermal.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><f n="79North.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPA.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPB.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPC.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPD.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPE.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="ISMIPF.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="Pig.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareEISMINT.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelf.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareShelfConstrained.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareThermal.par.svn-base" o="root" g="admin" p="33204"><mod>mode</mod></f><mod>mode</mod></f><f n="tmp" o="root" g="admin" p="16893"><f n="prop-base" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="props" o="root" g="admin" p="16893"><mod>mode</mod></f><f n="text-base" o="root" g="admin" p="16893"><mod>mode</mod></f><mod>mode</mod></f><mod>mode</mod></f><f n="79North.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPA.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPB.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPC.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPD.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPE.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="ISMIPF.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="Pig.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetEISMINT.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="RoundSheetStaticEISMINT.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareEISMINT.par" o="root" g="admin" p="33204"><mod>mode</mod></f><f n="SquareSheetConstrained.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareSheetShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareShelf.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareShelfConstrained.par" o="root" g="admin" p="33277"><mod>mode</mod></f><f n="SquareThermal.par" o="root" g="admin" p="33277"><mod>mode</mod></f><mod>mode</mod></f><mod>group</mod><mod>owner</mod></f></pkg-contents>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/03test.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkgref spec="1.12" uuid="B3D6E8F8-4650-477C-8E99-0122145B211E"><config><identifier>issm.test.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/test</installFrom><installTo mod="true">/ISSM/test</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>scripts.postinstall.path</mod><mod>identifier</mod><mod>parent</mod><mod>includeRoot</mod><mod>installTo.path</mod></config><contents><file-list>03test-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/03test.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/03test.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkgref spec="1.12" uuid="B3D6E8F8-4650-477C-8E99-0122145B211E"><config><identifier>issm.test.pkg</identifier><version>1.0</version><description></description><post-install type="none"/><requireAuthorization/><installFrom mod="true">/Users/larour/issm-uci/trunk-jpl/packagers/macosx/test</installFrom><installTo mod="true">/ISSM/test</installTo><flags><followSymbolicLinks/></flags><packageStore type="internal"></packageStore><mod>installTo</mod><mod>relocatable</mod><mod>installFrom.path</mod><mod>scripts.postinstall.path</mod><mod>identifier</mod><mod>parent</mod><mod>includeRoot</mod><mod>installTo.path</mod></config><contents><file-list>03test-contents.xml</file-list><filter>/CVS$</filter><filter>/\.svn$</filter><filter>/\.cvsignore$</filter><filter>/\.cvspass$</filter><filter>/\.DS_Store$</filter></contents></pkgref>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml
===================================================================
--- issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/index.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-<pkmkdoc spec="1.12"><properties><title>ISSM</title><build>/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.pkg</build><organization>http://issm.jpl.nasa.gov</organization><userSees ui="both"/><min-target os="3"/><domain user="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Ice Sheet System Model</description><contents><choice title="ISSM" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="ISSM.pkg"/></choice><choice title="bin" id="choice6" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="issm.bin.pkg"/></choice><choice title="test" id="choice16" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="issm.test.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"/></resources><flags/><item type="file">01issm.xml</item><item type="file">02bin.xml</item><item type="file">03test.xml</item><mod>properties.title</mod><mod>properties.userDomain</mod><mod>description</mod><mod>properties.anywhereDomain</mod></pkmkdoc>
\ No newline at end of file
Copied: issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml (from rev 11994, issm/trunk-jpl/packagers/macosx/ISSM.pmdoc/index.xml)
===================================================================
--- issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml (rev 0)
+++ issm/trunk/packagers/macosx/ISSM.pmdoc/index.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+<pkmkdoc spec="1.12"><properties><title>ISSM</title><build>/Users/larour/issm-uci/trunk-jpl/packagers/macosx/ISSM.pkg</build><organization>http://issm.jpl.nasa.gov</organization><userSees ui="both"/><min-target os="3"/><domain user="true"/></properties><distribution><versions min-spec="1.000000"/><scripts></scripts></distribution><description>Ice Sheet System Model</description><contents><choice title="ISSM" id="choice3" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="ISSM.pkg"/></choice><choice title="bin" id="choice6" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="issm.bin.pkg"/></choice><choice title="test" id="choice16" starts_selected="true" starts_enabled="true" starts_hidden="false"><pkgref id="issm.test.pkg"/></choice></contents><resources bg-scale="none" bg-align="topleft"><locale lang="en"/></resources><flags/><item type="file">01issm.xml</item><item type="file">02bin.xml</item><item type="file">03test.xml</item><mod>properties.title</mod><mod>properties.userDomain</mod><mod>description</mod><mod>properties.anywhereDomain</mod></pkmkdoc>
\ No newline at end of file
Deleted: issm/trunk/packagers/macosx/README
===================================================================
--- issm/trunk-jpl/packagers/macosx/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
-Files needsed to package ISSM into a MacOSX delivery:
-
-ISSM.appscript : applescript file used by Script Editor to build ISSM.app. Just edit using applescript, and save
-as application.
-
-ISSM.app: result of above.
-
-ISSM.pmdoc: Package Maker project, which outputs ISSM.pkg
-
-ISSM.pkg: result of above.
-
-Package Maker can be command line driven, using the pmdoc project directly. This is what package.sh does.
-
-issm.icns: icon file for ISSM install.
-matlabissm: used by the Package Maker to launch matlab with ISSM path sourced.
-startup.m: needed to be sourced by Matlab to point towards mac executables.
Copied: issm/trunk/packagers/macosx/README (from rev 11994, issm/trunk-jpl/packagers/macosx/README)
===================================================================
--- issm/trunk/packagers/macosx/README (rev 0)
+++ issm/trunk/packagers/macosx/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+Files needsed to package ISSM into a MacOSX delivery:
+
+ISSM.appscript : applescript file used by Script Editor to build ISSM.app. Just edit using applescript, and save
+as application.
+
+ISSM.app: result of above.
+
+ISSM.pmdoc: Package Maker project, which outputs ISSM.pkg
+
+ISSM.pkg: result of above.
+
+Package Maker can be command line driven, using the pmdoc project directly. This is what package.sh does.
+
+issm.icns: icon file for ISSM install.
+matlabissm: used by the Package Maker to launch matlab with ISSM path sourced.
+startup.m: needed to be sourced by Matlab to point towards mac executables.
Deleted: issm/trunk/packagers/macosx/issm.icns
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/macosx/issm.icns (from rev 11994, issm/trunk-jpl/packagers/macosx/issm.icns)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/macosx/matlabissm
===================================================================
--- issm/trunk-jpl/packagers/macosx/matlabissm 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/matlabissm 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +0,0 @@
-#/bin/bash
-user_home=`echo ~`;
-export ISSM_TIER="$user_home/ISSM"
-matlab -r "name=getenv('USER'); issm=['/Users/' name '/ISSM']; cd(issm); cd bin; startup; cd ../;"
Copied: issm/trunk/packagers/macosx/matlabissm (from rev 11994, issm/trunk-jpl/packagers/macosx/matlabissm)
===================================================================
--- issm/trunk/packagers/macosx/matlabissm (rev 0)
+++ issm/trunk/packagers/macosx/matlabissm 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,4 @@
+#/bin/bash
+user_home=`echo ~`;
+export ISSM_TIER="$user_home/ISSM"
+matlab -r "name=getenv('USER'); issm=['/Users/' name '/ISSM']; cd(issm); cd bin; startup; cd ../;"
Deleted: issm/trunk/packagers/macosx/package.sh
===================================================================
--- issm/trunk-jpl/packagers/macosx/package.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,25 +0,0 @@
-#/bin/bash
-
-#Package using the Package Maker from OSX, driven by command line.
-echo "Cleanup first"
-sudo sh -c "rm -rf ISSM-MacOSX.pkg bin test"
-
-#We need to copy all the relevant files and set the permissions, as PackageMaker
-#is not good at that.
-echo "Copy bin"
-cp -Rf $ISSM_TIER/bin ./
-echo "Copy test"
-cp -Rf $ISSM_TIER/test ./
-cp matlabissm startup.m ./bin
-
-#Now change group and ownership:
-echo "Change group and ownership"
-sudo sh -c "chown -R root ./bin && chgrp -R admin ./bin"
-sudo sh -c "chown -R root ./test && chgrp -R admin ./test"
-
-echo "Launch packagemaker"
-PackageMaker -d ISSM.pmdoc -o ISSM-MacOSX.pkg
-
-#cleanup
-echo "Final cleanup"
-sudo sh -c "rm -rf ./bin && rm -rf ./test"
Copied: issm/trunk/packagers/macosx/package.sh (from rev 11994, issm/trunk-jpl/packagers/macosx/package.sh)
===================================================================
--- issm/trunk/packagers/macosx/package.sh (rev 0)
+++ issm/trunk/packagers/macosx/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,25 @@
+#/bin/bash
+
+#Package using the Package Maker from OSX, driven by command line.
+echo "Cleanup first"
+sudo sh -c "rm -rf ISSM-MacOSX.pkg bin test"
+
+#We need to copy all the relevant files and set the permissions, as PackageMaker
+#is not good at that.
+echo "Copy bin"
+cp -Rf $ISSM_TIER/bin ./
+echo "Copy test"
+cp -Rf $ISSM_TIER/test ./
+cp matlabissm startup.m ./bin
+
+#Now change group and ownership:
+echo "Change group and ownership"
+sudo sh -c "chown -R root ./bin && chgrp -R admin ./bin"
+sudo sh -c "chown -R root ./test && chgrp -R admin ./test"
+
+echo "Launch packagemaker"
+PackageMaker -d ISSM.pmdoc -o ISSM-MacOSX.pkg
+
+#cleanup
+echo "Final cleanup"
+sudo sh -c "rm -rf ./bin && rm -rf ./test"
Deleted: issm/trunk/packagers/macosx/package_incomplete.sh
===================================================================
--- issm/trunk-jpl/packagers/macosx/package_incomplete.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/package_incomplete.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
-#/bin/bash
-
-#Package using the Package Maker from OSX, driven by command line.
-sudo sh -c "rm -rf ISSM-MacOSX.pkg bin test"
-
-#We need to copy all the relevant files and set the permissions, as PackageMaker
-#is not good at that.
-cp -Rf $ISSM_TIER/bin ./
-cp -Rf $ISSM_TIER/test ./
-cp matlabissm startup.m ./bin
-
-#Now change group and ownership:
-sudo sh -c "chown -R root ./bin && chgrp -R admin ./bin"
-sudo sh -c "chown -R root ./test && chgrp -R admin ./test"
-
-#Run PackageMaker now, using the ISSM.pmdoc project
Copied: issm/trunk/packagers/macosx/package_incomplete.sh (from rev 11994, issm/trunk-jpl/packagers/macosx/package_incomplete.sh)
===================================================================
--- issm/trunk/packagers/macosx/package_incomplete.sh (rev 0)
+++ issm/trunk/packagers/macosx/package_incomplete.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+#/bin/bash
+
+#Package using the Package Maker from OSX, driven by command line.
+sudo sh -c "rm -rf ISSM-MacOSX.pkg bin test"
+
+#We need to copy all the relevant files and set the permissions, as PackageMaker
+#is not good at that.
+cp -Rf $ISSM_TIER/bin ./
+cp -Rf $ISSM_TIER/test ./
+cp matlabissm startup.m ./bin
+
+#Now change group and ownership:
+sudo sh -c "chown -R root ./bin && chgrp -R admin ./bin"
+sudo sh -c "chown -R root ./test && chgrp -R admin ./test"
+
+#Run PackageMaker now, using the ISSM.pmdoc project
Deleted: issm/trunk/packagers/macosx/startup.m
===================================================================
--- issm/trunk-jpl/packagers/macosx/startup.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/macosx/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,45 +0,0 @@
-%STARTUP - Matlab startup script
-%
-% startup.m is a script run by matlab at the beginning of a session, just
-% before handing over the prompt to the user. This delivery startup.m script
-% has been customized here for the ISSM code. This startup script should be
-% run by users before trying to use ISSM. The best way to do that is to put
-% the startup file in the location where Matlab starts and established its
-% root directory.
-
-% clear the last warning to focus on the warnings of the ISSM path
-lastwarn('');
-
-%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
-ISSM_TIER=getenv('ISSM_TIER');
-
-if (isempty(ISSM_TIER)),
- error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
-end
-
-%Now add all issm code paths necessary to run issm smoothly.
-%We capture the error output, so that we can warn the user to update
-%the variable ISSM_TIER in this file, in case it is not correctly setup.
-
-%ISSM path
-addpath(pwd); %add current path first
-
-%Check on any warning messages that might indicate that the paths were not correct.
-if ~isempty(lastwarn),
- fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
- fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
-else
- fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
-end
-
-%disable matlab bell!
-beep off;
-
-% no warning if we try to plot while in nojvm (will not be supported in future releases)
-warning off MATLAB:HandleGraphics:noJVM
-
-%at the end, get to tests directory if ISSM_TESTS exists:
-ISSM_TESTS=getenv('ISSM_TESTS');
-if ~isempty(ISSM_TESTS),
- cd(ISSM_TESTS);
-end
Copied: issm/trunk/packagers/macosx/startup.m (from rev 11994, issm/trunk-jpl/packagers/macosx/startup.m)
===================================================================
--- issm/trunk/packagers/macosx/startup.m (rev 0)
+++ issm/trunk/packagers/macosx/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,45 @@
+%STARTUP - Matlab startup script
+%
+% startup.m is a script run by matlab at the beginning of a session, just
+% before handing over the prompt to the user. This delivery startup.m script
+% has been customized here for the ISSM code. This startup script should be
+% run by users before trying to use ISSM. The best way to do that is to put
+% the startup file in the location where Matlab starts and established its
+% root directory.
+
+% clear the last warning to focus on the warnings of the ISSM path
+lastwarn('');
+
+%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
+ISSM_TIER=getenv('ISSM_TIER');
+
+if (isempty(ISSM_TIER)),
+ error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
+end
+
+%Now add all issm code paths necessary to run issm smoothly.
+%We capture the error output, so that we can warn the user to update
+%the variable ISSM_TIER in this file, in case it is not correctly setup.
+
+%ISSM path
+addpath(pwd); %add current path first
+
+%Check on any warning messages that might indicate that the paths were not correct.
+if ~isempty(lastwarn),
+ fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
+ fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
+else
+ fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
+end
+
+%disable matlab bell!
+beep off;
+
+% no warning if we try to plot while in nojvm (will not be supported in future releases)
+warning off MATLAB:HandleGraphics:noJVM
+
+%at the end, get to tests directory if ISSM_TESTS exists:
+ISSM_TESTS=getenv('ISSM_TESTS');
+if ~isempty(ISSM_TESTS),
+ cd(ISSM_TESTS);
+end
Deleted: issm/trunk/packagers/ubuntu/README
===================================================================
--- issm/trunk-jpl/packagers/ubuntu/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/ubuntu/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-To install ISSM, untar ISSM-Ubuntu32.tar.gz
-You will get an ISSM directory.
-
-You then need to setup the following environment variable in your
-.bashrc or .cshrc:
-
-in your .bashrc:
-export ISSM_TIER='path_to_untarred_ISSM/bin'
-
-or in your .cshrc:
-setenv ISSM_TIER 'path_to_untarred_ISSM'
-
-Once this is done, fireup matlab from inside the ISSM directory:
-matlab -nojvm -r "startup;"
Copied: issm/trunk/packagers/ubuntu/README (from rev 11994, issm/trunk-jpl/packagers/ubuntu/README)
===================================================================
--- issm/trunk/packagers/ubuntu/README (rev 0)
+++ issm/trunk/packagers/ubuntu/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,14 @@
+To install ISSM, untar ISSM-Ubuntu32.tar.gz
+You will get an ISSM directory.
+
+You then need to setup the following environment variable in your
+.bashrc or .cshrc:
+
+in your .bashrc:
+export ISSM_TIER='path_to_untarred_ISSM/bin'
+
+or in your .cshrc:
+setenv ISSM_TIER 'path_to_untarred_ISSM'
+
+Once this is done, fireup matlab from inside the ISSM directory:
+matlab -nojvm -r "startup;"
Deleted: issm/trunk/packagers/ubuntu/package.sh
===================================================================
--- issm/trunk-jpl/packagers/ubuntu/package.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/ubuntu/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-#/bin/bash
-
-#Just tar gz the bin/ directory and test/ directory and put a startup.m file.
-
-rm -rf ISSM ISSM-Ubuntu32.tar.gz
-
-mkdir ISSM
-cd ISSM
-ln -s $ISSM_TIER/bin ./bin
-ln -s $ISSM_TIER/test ./test
-cp ../startup.m ./
-cp ../README.m ./
-cd ..
-tar zcvfh ISSM-Ubuntu32.tar.gz --exclude='.svn' ./ISSM
-rm -rf ISSM
Copied: issm/trunk/packagers/ubuntu/package.sh (from rev 11994, issm/trunk-jpl/packagers/ubuntu/package.sh)
===================================================================
--- issm/trunk/packagers/ubuntu/package.sh (rev 0)
+++ issm/trunk/packagers/ubuntu/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,15 @@
+#/bin/bash
+
+#Just tar gz the bin/ directory and test/ directory and put a startup.m file.
+
+rm -rf ISSM ISSM-Ubuntu32.tar.gz
+
+mkdir ISSM
+cd ISSM
+ln -s $ISSM_TIER/bin ./bin
+ln -s $ISSM_TIER/test ./test
+cp ../startup.m ./
+cp ../README.m ./
+cd ..
+tar zcvfh ISSM-Ubuntu32.tar.gz --exclude='.svn' ./ISSM
+rm -rf ISSM
Deleted: issm/trunk/packagers/ubuntu/startup.m
===================================================================
--- issm/trunk-jpl/packagers/ubuntu/startup.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/ubuntu/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,40 +0,0 @@
-%STARTUP - Matlab startup script
-%
-% startup.m is a script run by matlab at the beginning of a session, just
-% before handing over the prompt to the user. This delivery startup.m script
-% has been customized here for the ISSM code. This startup script should be
-% run by users before trying to use ISSM. The best way to do that is to put
-% the startup file in the location where Matlab starts and established its
-% root directory.
-
-% clear the last warning to focus on the warnings of the ISSM path
-lastwarn('');
-
-%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
-ISSM_TIER=getenv('ISSM_TIER');
-
-if (isempty(ISSM_TIER)),
- error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
-end
-
-%Now add all issm code paths necessary to run issm smoothly.
-%We capture the error output, so that we can warn the user to update
-%the variable ISSM_TIER in this file, in case it is not correctly setup.
-
-%ISSM path
-addpath(ISSM_TIER);
-addpath([ISSM_TIER '/bin']);
-
-%Check on any warning messages that might indicate that the paths were not correct.
-if ~isempty(lastwarn),
- fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
- fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
-else
- fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
-end
-
-%disable matlab bell!
-beep off;
-
-% no warning if we try to plot while in nojvm (will not be supported in future releases)
-warning off MATLAB:HandleGraphics:noJVM
Copied: issm/trunk/packagers/ubuntu/startup.m (from rev 11994, issm/trunk-jpl/packagers/ubuntu/startup.m)
===================================================================
--- issm/trunk/packagers/ubuntu/startup.m (rev 0)
+++ issm/trunk/packagers/ubuntu/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,40 @@
+%STARTUP - Matlab startup script
+%
+% startup.m is a script run by matlab at the beginning of a session, just
+% before handing over the prompt to the user. This delivery startup.m script
+% has been customized here for the ISSM code. This startup script should be
+% run by users before trying to use ISSM. The best way to do that is to put
+% the startup file in the location where Matlab starts and established its
+% root directory.
+
+% clear the last warning to focus on the warnings of the ISSM path
+lastwarn('');
+
+%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
+ISSM_TIER=getenv('ISSM_TIER');
+
+if (isempty(ISSM_TIER)),
+ error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
+end
+
+%Now add all issm code paths necessary to run issm smoothly.
+%We capture the error output, so that we can warn the user to update
+%the variable ISSM_TIER in this file, in case it is not correctly setup.
+
+%ISSM path
+addpath(ISSM_TIER);
+addpath([ISSM_TIER '/bin']);
+
+%Check on any warning messages that might indicate that the paths were not correct.
+if ~isempty(lastwarn),
+ fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
+ fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
+else
+ fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
+end
+
+%disable matlab bell!
+beep off;
+
+% no warning if we try to plot while in nojvm (will not be supported in future releases)
+warning off MATLAB:HandleGraphics:noJVM
Deleted: issm/trunk/packagers/win7/ISSM.initial.aip
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/win7/ISSM.initial.aip (from rev 11994, issm/trunk-jpl/packagers/win7/ISSM.initial.aip)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/win7/ISSMlogo.ico
===================================================================
(Binary files differ)
Copied: issm/trunk/packagers/win7/ISSMlogo.ico (from rev 11994, issm/trunk-jpl/packagers/win7/ISSMlogo.ico)
===================================================================
(Binary files differ)
Deleted: issm/trunk/packagers/win7/package.sh
===================================================================
--- issm/trunk-jpl/packagers/win7/package.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/win7/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-#get brand new project:
-rm -rf ISSM.aip ISSM-SetupFiles ISSM.msi
-cp ISSM.initial.aip ISSM.aip
-
-#get windows style path to files
-ISSM_TIER_WIN=`cygpath -m "$ISSM_TIER"`
-
-#build list of files to put into the installer:
-rm -rf ISSM.aic
-cat << END > ISSM.aic
-;aic
-SetVersion "1.0"
-SetPackageName "ISSM.msi"
-END
-
-ls $ISSM_TIER_WIN/scripts/*.bat startup.m $ISSM_TIER_WIN/bin/*.h | awk '{printf("AddFile APPDIR %s\n",$1);}' | sed 's/\//\\/g' >> ISSM.aic
-
-cat << END >> ISSM.aic
-AddFolder PersonalFolder $ISSM_TIER_WIN\test
-AddFolder APPDIR $ISSM_TIER_WIN\bin
-DelEnvironment ISSM_TESTS
-NewEnvironment -name ISSM_TESTS -value [test_Dir]
-DelEnvironment ISSM_TIER
-NewEnvironment -name ISSM_TIER -value [APPDIR]
-DelEnvironment ISSM_TIER_WIN
-NewEnvironment -name ISSM_TIER_WIN -value [APPDIR]
-Save
-Rebuild
-END
-
-#Run installer:
-"C:/Program Files (x86)/Caphyon/Advanced Installer 8.9/bin/x86/AdvancedInstaller.com" /execute ./ISSM.aip ./ISSM.aic
-
-#Get rid of temporary files:
-cp ISSM-SetupFiles/ISSM.msi ./
-rm -rf ISSM.aip ISSM-SetupFiles ISSM.aic
Copied: issm/trunk/packagers/win7/package.sh (from rev 11994, issm/trunk-jpl/packagers/win7/package.sh)
===================================================================
--- issm/trunk/packagers/win7/package.sh (rev 0)
+++ issm/trunk/packagers/win7/package.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+#get brand new project:
+rm -rf ISSM.aip ISSM-SetupFiles ISSM.msi
+cp ISSM.initial.aip ISSM.aip
+
+#get windows style path to files
+ISSM_TIER_WIN=`cygpath -m "$ISSM_TIER"`
+
+#build list of files to put into the installer:
+rm -rf ISSM.aic
+cat << END > ISSM.aic
+;aic
+SetVersion "1.0"
+SetPackageName "ISSM.msi"
+END
+
+ls $ISSM_TIER_WIN/scripts/*.bat startup.m $ISSM_TIER_WIN/bin/*.h | awk '{printf("AddFile APPDIR %s\n",$1);}' | sed 's/\//\\/g' >> ISSM.aic
+
+cat << END >> ISSM.aic
+AddFolder PersonalFolder $ISSM_TIER_WIN\test
+AddFolder APPDIR $ISSM_TIER_WIN\bin
+DelEnvironment ISSM_TESTS
+NewEnvironment -name ISSM_TESTS -value [test_Dir]
+DelEnvironment ISSM_TIER
+NewEnvironment -name ISSM_TIER -value [APPDIR]
+DelEnvironment ISSM_TIER_WIN
+NewEnvironment -name ISSM_TIER_WIN -value [APPDIR]
+Save
+Rebuild
+END
+
+#Run installer:
+"C:/Program Files (x86)/Caphyon/Advanced Installer 8.9/bin/x86/AdvancedInstaller.com" /execute ./ISSM.aip ./ISSM.aic
+
+#Get rid of temporary files:
+cp ISSM-SetupFiles/ISSM.msi ./
+rm -rf ISSM.aip ISSM-SetupFiles ISSM.aic
Deleted: issm/trunk/packagers/win7/startup.m
===================================================================
--- issm/trunk-jpl/packagers/win7/startup.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/packagers/win7/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,46 +0,0 @@
-%STARTUP - Matlab startup script
-%
-% startup.m is a script run by matlab at the beginning of a session, just
-% before handing over the prompt to the user. This delivery startup.m script
-% has been customized here for the ISSM code. This startup script should be
-% run by users before trying to use ISSM. The best way to do that is to put
-% the startup file in the location where Matlab starts and established its
-% root directory.
-
-% clear the last warning to focus on the warnings of the ISSM path
-lastwarn('');
-
-%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
-ISSM_TIER=getenv('ISSM_TIER_WIN');
-
-if (isempty(ISSM_TIER)),
- error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
-end
-
-%Now add all issm code paths necessary to run issm smoothly.
-%We capture the error output, so that we can warn the user to update
-%the variable ISSM_TIER in this file, in case it is not correctly setup.
-
-%ISSM path
-addpath(pwd); %add current path first
-addpath([pwd '\bin']);
-
-%Check on any warning messages that might indicate that the paths were not correct.
-if ~isempty(lastwarn),
- fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
- fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
-else
- fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
-end
-
-%disable matlab bell!
-beep off;
-
-% no warning if we try to plot while in nojvm (will not be supported in future releases)
-warning off MATLAB:HandleGraphics:noJVM
-
-%at the end, get to tests directory if ISSM_TESTS exists:
-ISSM_TESTS=getenv('ISSM_TESTS');
-if ~isempty(ISSM_TESTS),
- cd(ISSM_TESTS);
-end
Copied: issm/trunk/packagers/win7/startup.m (from rev 11994, issm/trunk-jpl/packagers/win7/startup.m)
===================================================================
--- issm/trunk/packagers/win7/startup.m (rev 0)
+++ issm/trunk/packagers/win7/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,46 @@
+%STARTUP - Matlab startup script
+%
+% startup.m is a script run by matlab at the beginning of a session, just
+% before handing over the prompt to the user. This delivery startup.m script
+% has been customized here for the ISSM code. This startup script should be
+% run by users before trying to use ISSM. The best way to do that is to put
+% the startup file in the location where Matlab starts and established its
+% root directory.
+
+% clear the last warning to focus on the warnings of the ISSM path
+lastwarn('');
+
+%Recover ISSM_TIER , or if on a Windows machine, ISSM_TIER_WIN
+ISSM_TIER=getenv('ISSM_TIER_WIN');
+
+if (isempty(ISSM_TIER)),
+ error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
+end
+
+%Now add all issm code paths necessary to run issm smoothly.
+%We capture the error output, so that we can warn the user to update
+%the variable ISSM_TIER in this file, in case it is not correctly setup.
+
+%ISSM path
+addpath(pwd); %add current path first
+addpath([pwd '\bin']);
+
+%Check on any warning messages that might indicate that the paths were not correct.
+if ~isempty(lastwarn),
+ fprintf('\n Error trying to setup ''ISSM'' code paths. Try and update the ISSM_TIER variable in your .cshrc or .bashrc!\n');
+ fprintf(' ''ISSM'' will not work at all until this is resolved\n\n');
+else
+ fprintf('\n To get started with ISSM, type issmdoc at the command prompt.\n\n');
+end
+
+%disable matlab bell!
+beep off;
+
+% no warning if we try to plot while in nojvm (will not be supported in future releases)
+warning off MATLAB:HandleGraphics:noJVM
+
+%at the end, get to tests directory if ISSM_TESTS exists:
+ISSM_TESTS=getenv('ISSM_TESTS');
+if ~isempty(ISSM_TESTS),
+ cd(ISSM_TESTS);
+end
Modified: issm/trunk/scripts/historyISSM.m
===================================================================
--- issm/trunk/scripts/historyISSM.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/scripts/historyISSM.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,18 +1,13 @@
!vim runme.m
-md=runme('id',101);
runme('id',[101]);
-md.numberofelements
-md.numberofnodes
+md.mesh.numberofelements
md=mesh(md,'DomainOutline.exp',5000);
-md=geography(md,'','');
-md=geography(md,'Iceshelves.exp','Islands.exp');
-md=setelementstype(md,'macayeal','all');
-md=setelementstype(md,'pattyn','all','stokes','all');
-md=solve(md,ThermalSolutionEnum);
+md=setmask(md,'','');
+md=setflowequation(md,'macayeal','all');
+md=setflowequation(md,'pattyn','all','stokes','all');
+md=solve(md,TransientSolutionEnum);
md=solve(md,BalancedthicknessSolutionEnum);
md=solve(md,DiagnosticSolutionEnum);
md=loadresultsfromcluster(md);
-md=tres(md,ThermalSolutionEnum);
-md=tres(md,DiagnosticSolutionEnum);
plotmodel(md,'data',md.results.DiagnosticSolution.Vel)
plotmodel(md,'data',)
Copied: issm/trunk/scripts/issmconfiguration.sh (from rev 11994, issm/trunk-jpl/scripts/issmconfiguration.sh)
===================================================================
--- issm/trunk/scripts/issmconfiguration.sh (rev 0)
+++ issm/trunk/scripts/issmconfiguration.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,58 @@
+#/bin/bash
+#This script picks up whatever configuration files exists in trunk/configs,
+#and offers the user the choice to reconfigure the ISSM compilation using
+#a given configuration file:
+
+#keep track of present directory:
+presendir=`pwd`
+
+if test -d "$ISSM_TIER/configs" ; then
+ cd $ISSM_TIER/configs
+ LIST=`ls`
+
+ if [[ $# == "0" ]]; then
+ COUNT=0;
+ for STEP in $LIST
+ do
+ let COUNT=$COUNT+1
+ printf '%3i: %s\n' $COUNT $STEP
+ done
+
+ echo -n "Configuration choice: "
+ read choice
+ else
+ choice=$1
+ fi
+
+ #Now go backto the list and retrieve the name of the configuration file:
+ COUNT=0;
+ for STEP in $LIST
+ do
+ let COUNT=$COUNT+1
+ if [[ $COUNT == $choice ]]; then
+ configurename=$STEP
+ fi
+ done
+
+ #Now go ahead and configure:
+ echo ""
+ echo "Configuring ISSM with following configs: $configurename"
+ echo ""
+
+ cd $ISSM_TIER
+ source ./scripts/automakererun.sh
+ source configs/$configurename
+
+ #we are done, go back to original directory:
+ cd $presendir
+else
+ echo "Configuration directory does not exist!"
+ exit
+fi
+
+
+
+
+
+
+#alias aut='a=`pwd` && cd $ISSM_TIER && ./scripts/automakererun.sh && ./configs/config-macosx64-larour-nopetsc.sh'
Modified: issm/trunk/scripts/report.sh
===================================================================
--- issm/trunk/scripts/report.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/scripts/report.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -32,7 +32,7 @@
H2_FONT='style="color:#6495ed; font-family:Arial, Verdana, Tahoma; font-size:28px; font-weight: bold;" align="left"'
TABLE_STYLE='width="800px" rules=none bgcolor="#ffffdd" border=1 bordercolor="#000000" cellpadding="3"'
-TABLE_FONT='style="color:#404040; font-family:Arial, Verdana, Tahoma; font-size:14; font-weight: normal;" align="left"'
+TABLE_FONT='style="color:#404040; font-family:Arial, Verdana, Tahoma; font-size:14px; font-weight: normal;" align="left"'
MATLAB_STYLE='width="1000px" rules=none'
MATLAB_FONT='style="color:#404040; font-family:Arial, Verdana, Tahoma; font-size:12px; font-weight: normal;" align="left"'
Modified: issm/trunk/src/Makefile.am
===================================================================
--- issm/trunk/src/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,8 +1,2 @@
EXTRA_DIST = perl pro
SUBDIRS = c mex m
-
-if ADIC2
-SUBDIRS += ad
-endif
-
-
Deleted: issm/trunk/src/ad/Makefile.am
===================================================================
--- issm/trunk/src/ad/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/ad/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,630 +0,0 @@
-INCLUDES = @DAKOTAINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@
-
-#This Makefile.am is for automatic differentiation of the parallel version of ISSM.
-#We do not compile in serial mode
-#If user requests no parallel compilation, we compile an empty ISSM.
-#Compilation can still be blocked if user has not activated --with-adic compilation
-
-#Library declaration {{{1
-
-if NOPARALLEL
-lib_LIBRARIES =
-else
-lib_LIBRARIES = libpISSM.a libOverload.a
-endif
-
-if ADIC2
-lib_LIBRARIES += libAD.a libpISSMRose.a
-endif
-
-#}}}
-#Overload library, to overload any non-standard symbols. {{{1
-libOverload_a_SOURCES = ./shared/String/stricmp.c
-libOverload_a_CFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(COPTFLAGS)
-#}}}
-#ISSM library {{{1
-libpISSM_a_SOURCES = ./include/macros.h\
- ./include/typedefs.h\
- ./include/types.h\
- ./include/include.h\
- ./objects/objects.h\
- ./objects/Object.h\
- ./objects/Gauss/GaussTria.h\
- ./objects/Gauss/GaussTria.cpp\
- ./objects/Update.h\
- ./objects/Element.h\
- ./objects/FemModel.h\
- ./objects/FemModel.cpp\
- ./objects/Material.h\
- ./objects/Load.h\
- ./objects/Loads/Friction.h\
- ./objects/Loads/Friction.cpp\
- ./objects/Inputs/TransientInput.h\
- ./objects/Inputs/TransientInput.cpp\
- ./objects/Constraints/SpcTransient.cpp\
- ./objects/Constraints/SpcTransient.h\
- ./objects/DofIndexing.h\
- ./objects/DofIndexing.cpp\
- ./objects/IoModel.h\
- ./objects/IoModel.cpp\
- ./objects/Node.h\
- ./objects/Node.cpp\
- ./objects/Segment.h\
- ./objects/Segment.cpp\
- ./objects/Vertex.h\
- ./objects/Vertex.cpp\
- ./objects/Hook.h\
- ./objects/Hook.cpp\
- ./objects/Patch.h\
- ./objects/Patch.cpp\
- ./objects/ElementResults/ElementResultLocal.h\
- ./objects/ElementResults/DoubleElementResult.h\
- ./objects/ElementResults/DoubleElementResult.cpp\
- ./objects/ElementResults/TriaVertexElementResult.h\
- ./objects/ElementResults/TriaVertexElementResult.cpp\
- ./objects/ElementResults/BoolElementResult.h\
- ./objects/ElementResults/BoolElementResult.cpp\
- ./objects/ExternalResults/ExternalResult.h\
- ./objects/ExternalResults/BoolExternalResult.h\
- ./objects/ExternalResults/BoolExternalResult.cpp\
- ./objects/ExternalResults/DoubleExternalResult.h\
- ./objects/ExternalResults/DoubleExternalResult.cpp\
- ./objects/ExternalResults/DoubleVecExternalResult.h\
- ./objects/ExternalResults/DoubleVecExternalResult.cpp\
- ./objects/ExternalResults/DoubleMatExternalResult.h\
- ./objects/ExternalResults/DoubleMatExternalResult.cpp\
- ./objects/ExternalResults/IntExternalResult.h\
- ./objects/ExternalResults/IntExternalResult.cpp\
- ./objects/ExternalResults/StringExternalResult.h\
- ./objects/ExternalResults/StringExternalResult.cpp\
- ./objects/ExternalResults/PetscVecExternalResult.h\
- ./objects/ExternalResults/PetscVecExternalResult.cpp\
- ./objects/Elements/Tria.h\
- ./objects/Elements/Tria.cpp\
- ./objects/Elements/TriaHook.h\
- ./objects/Elements/TriaHook.cpp\
- ./objects/Elements/TriaRef.h\
- ./objects/Elements/TriaRef.cpp\
- ./objects/Inputs/Input.h\
- ./objects/Inputs/InputLocal.h\
- ./objects/Inputs/TriaVertexInput.h\
- ./objects/Inputs/TriaVertexInput.cpp\
- ./objects/Inputs/BoolInput.h\
- ./objects/Inputs/BoolInput.cpp\
- ./objects/Inputs/IntInput.h\
- ./objects/Inputs/IntInput.cpp\
- ./objects/Inputs/DoubleInput.h\
- ./objects/Inputs/DoubleInput.cpp\
- ./objects/Inputs/DatasetInput.h\
- ./objects/Inputs/DatasetInput.cpp\
- ./objects/Materials/Matice.h\
- ./objects/Materials/Matice.cpp\
- ./objects/Materials/Matpar.h\
- ./objects/Materials/Matpar.cpp\
- ./objects/Constraints/Constraint.h\
- ./objects/Constraints/SpcStatic.cpp\
- ./objects/Constraints/SpcStatic.h\
- ./objects/Constraints/SpcDynamic.cpp\
- ./objects/Constraints/SpcDynamic.h\
- ./objects/Loads/Penpair.cpp\
- ./objects/Loads/Penpair.h\
- ./objects/Loads/Pengrid.cpp\
- ./objects/Loads/Pengrid.h\
- ./objects/Loads/Icefront.cpp\
- ./objects/Loads/Icefront.h\
- ./objects/Loads/Numericalflux.cpp\
- ./objects/Loads/Numericalflux.h\
- ./objects/Numerics/ElementMatrix.h\
- ./objects/Numerics/ElementMatrix.cpp\
- ./objects/Numerics/ElementVector.h\
- ./objects/Numerics/ElementVector.cpp\
- ./objects/Params/Param.h\
- ./objects/Params/BoolParam.cpp\
- ./objects/Params/BoolParam.h\
- ./objects/Params/IntParam.cpp\
- ./objects/Params/IntParam.h\
- ./objects/Params/IntVecParam.cpp\
- ./objects/Params/IntVecParam.h\
- ./objects/Params/IntMatParam.cpp\
- ./objects/Params/IntMatParam.h\
- ./objects/Params/DoubleParam.cpp\
- ./objects/Params/DoubleParam.h\
- ./objects/Params/FileParam.cpp\
- ./objects/Params/FileParam.h\
- ./objects/Params/PetscMatParam.cpp\
- ./objects/Params/PetscMatParam.h\
- ./objects/Params/StringArrayParam.cpp\
- ./objects/Params/StringArrayParam.h\
- ./objects/Params/DoubleMatParam.cpp\
- ./objects/Params/DoubleMatParam.h\
- ./objects/Params/DoubleMatArrayParam.cpp\
- ./objects/Params/DoubleMatArrayParam.h\
- ./objects/Params/DoubleVecParam.cpp\
- ./objects/Params/DoubleVecParam.h\
- ./objects/Params/PetscVecParam.cpp\
- ./objects/Params/PetscVecParam.h\
- ./objects/Params/StringParam.cpp\
- ./objects/Params/StringParam.h\
- ./Container/Container.h\
- ./Container/Constraints.h\
- ./Container/Constraints.cpp\
- ./Container/DataSet.h\
- ./Container/DataSet.cpp\
- ./Container/Elements.h\
- ./Container/Elements.cpp\
- ./Container/Inputs.h\
- ./Container/Inputs.cpp\
- ./Container/Loads.h\
- ./Container/Loads.cpp\
- ./Container/Materials.h\
- ./Container/Materials.cpp\
- ./Container/Nodes.h\
- ./Container/Nodes.cpp\
- ./Container/Parameters.h\
- ./Container/Parameters.cpp\
- ./Container/Results.h\
- ./Container/Results.cpp\
- ./Container/Vertices.h\
- ./Container/Vertices.cpp\
- ./shared/shared.h\
- ./shared/Alloc/alloc.h\
- ./shared/Alloc/alloc.cpp\
- ./shared/Matrix/matrix.h\
- ./shared/Matrix/MatrixUtils.cpp\
- ./shared/Dofs/dofs.h\
- ./shared/Dofs/dofsetgen.cpp\
- ./shared/Numerics/numerics.h\
- ./shared/Numerics/Verbosity.h\
- ./shared/Numerics/Verbosity.cpp\
- ./shared/Numerics/IsInputConverged.cpp\
- ./shared/Numerics/GaussPoints.h\
- ./shared/Numerics/GaussPoints.cpp\
- ./shared/Numerics/cross.cpp\
- ./shared/Numerics/extrema.cpp\
- ./shared/Numerics/UnitConversion.cpp\
- ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
- ./shared/Exceptions/exceptions.h\
- ./shared/Exceptions/Exceptions.cpp\
- ./shared/Exceptions/exprintf.cpp\
- ./shared/Sorting/binary_search.cpp\
- ./shared/Sorting/sorting.h\
- ./shared/Elements/elements.h\
- ./shared/Elements/Paterson.cpp\
- ./shared/Elements/Arrhenius.cpp\
- ./shared/Elements/GetVerticesCoordinates.cpp\
- ./shared/Elements/GetLocalDofList.cpp\
- ./shared/Elements/GetGlobalDofList.cpp\
- ./shared/Elements/GetNumberOfDofs.cpp\
- ./shared/String/sharedstring.h\
- ./toolkits/petsc\
- ./toolkits/petsc/patches\
- ./toolkits/petsc/patches/SolverEnum.h\
- ./toolkits/petsc/patches/petscpatches.h\
- ./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
- ./toolkits/petsc/patches/MatlabVectorToPetscVector.cpp\
- ./toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp\
- ./toolkits/petsc/patches/PetscVectorToMatlabVector.cpp\
- ./toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp\
- ./toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp\
- ./toolkits/petsc/patches/PetscDetermineLocalSize.cpp\
- ./toolkits/petsc/patches/VecTranspose.cpp\
- ./toolkits/petsc/patches/VecToMPISerial.cpp\
- ./toolkits/petsc/patches/MatToSerial.cpp\
- ./toolkits/petsc/patches/VecMerge.cpp\
- ./toolkits/petsc/patches/NewVec.cpp\
- ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
- ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
- ./toolkits/petsc/patches/NewMat.cpp\
- ./toolkits/petsc/patches/SerialToVec.cpp\
- ./toolkits/petsc/patches/VecFree.cpp\
- ./toolkits/petsc/patches/VecDuplicatePatch.cpp\
- ./toolkits/petsc/patches/KSPFree.cpp\
- ./toolkits/petsc/patches/ISFree.cpp\
- ./toolkits/petsc/patches/MatFree.cpp\
- ./toolkits/petsc/patches/GetOwnershipBoundariesFromRange.cpp\
- ./toolkits/petsc/patches/VecPartition.cpp\
- ./toolkits/petsc/patches/MatPartition.cpp\
- ./toolkits/petsc/patches/MatInvert.cpp\
- ./toolkits/petsc/patches/MatMultPatch.cpp\
- ./toolkits/petsc/petscincludes.h\
- ./toolkits/mpi/mpiincludes.h\
- ./toolkits/mpi/patches/mpipatches.h\
- ./toolkits/mpi/patches/MPI_Upperrow.cpp\
- ./toolkits/mpi/patches/MPI_Lowerrow.cpp\
- ./toolkits/mpi/patches/MPI_Boundariesfromrange.cpp\
- ./toolkits/metis/metisincludes.h\
- ./toolkits/metis/patches/metispatches.h\
- ./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp\
- ./toolkits/triangle/triangleincludes.h\
- ./toolkits.h\
- ./io/io.h\
- ./io/Disk/diskio.h\
- ./io/Disk/pfopen.cpp\
- ./io/Disk/pfclose.cpp\
- ./io/PrintfFunction.cpp\
- ./EnumDefinitions/EnumDefinitions.h\
- ./EnumDefinitions/EnumToModelField.cpp\
- ./modules/ModelProcessorx/ModelProcessorx.h\
- ./modules/ModelProcessorx/ModelProcessorx.cpp\
- ./modules/ModelProcessorx/DistributeNumDofs.cpp\
- ./modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp\
- ./modules/ModelProcessorx/NodesPartitioning.cpp\
- ./modules/ModelProcessorx/SortDataSets.cpp\
- ./modules/ModelProcessorx/UpdateCounters.cpp\
- ./modules/ModelProcessorx/CreateDataSets.cpp\
- ./modules/ModelProcessorx/CreateParameters.cpp\
- ./modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp\
- ./modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp\
- ./modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp\
- ./modules/ParsePetscOptionsx/ParsePetscOptionsx.h\
- ./modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp\
- ./modules/NodesDofx/NodesDofx.h\
- ./modules/NodesDofx/NodesDofx.cpp\
- ./modules/VerticesDofx/VerticesDofx.h\
- ./modules/VerticesDofx/VerticesDofx.cpp\
- ./modules/OutputResultsx/OutputResultsx.h\
- ./modules/OutputResultsx/OutputResultsx.cpp\
- ./modules/InputDuplicatex/InputDuplicatex.h\
- ./modules/InputDuplicatex/InputDuplicatex.cpp\
- ./modules/InputScalex/InputScalex.h\
- ./modules/InputScalex/InputScalex.cpp\
- ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h\
- ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp\
- ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h\
- ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp\
- ./modules/IoModelToConstraintsx/IoModelToConstraintsx.h\
- ./modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\
- ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h\
- ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp\
- ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h\
- ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp\
- ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h\
- ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp\
- ./modules/GetVectorFromInputsx/GetVectorFromInputsx.h\
- ./modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp\
- ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h\
- ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp\
- ./modules/InputArtificialNoisex/InputArtificialNoisex.h\
- ./modules/InputArtificialNoisex/InputArtificialNoisex.cpp\
- ./modules/TimeAdaptx/TimeAdaptx.h\
- ./modules/TimeAdaptx/TimeAdaptx.cpp\
- ./modules/UpdateVertexPositionsx/UpdateVertexPositionsx.h\
- ./modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp\
- ./modules/ConfigureObjectsx/ConfigureObjectsx.h\
- ./modules/ConfigureObjectsx/ConfigureObjectsx.cpp\
- ./modules/ComputeBasalStressx/ComputeBasalStressx.h\
- ./modules/ComputeBasalStressx/ComputeBasalStressx.cpp\
- ./modules/ComputeStrainRatex/ComputeStrainRatex.h\
- ./modules/ComputeStrainRatex/ComputeStrainRatex.cpp\
- ./modules/SpcNodesx/SpcNodesx.h\
- ./modules/SpcNodesx/SpcNodesx.cpp\
- ./modules/UpdateConstraintsx/UpdateConstraintsx.h\
- ./modules/UpdateConstraintsx/UpdateConstraintsx.cpp\
- ./modules/MeshPartitionx/MeshPartitionx.cpp\
- ./modules/MeshPartitionx/MeshPartitionx.h\
- ./modules/Reducevectorgtofx/Reducevectorgtofx.cpp\
- ./modules/Reducevectorgtofx/Reducevectorgtofx.h\
- ./modules/Reduceloadx/Reduceloadx.h\
- ./modules/Reduceloadx/Reduceloadx.cpp\
- ./modules/EnumToStringx/EnumToStringx.cpp\
- ./modules/EnumToStringx/EnumToStringx.h\
- ./modules/StringToEnumx/StringToEnumx.cpp\
- ./modules/StringToEnumx/StringToEnumx.h\
- ./modules/SystemMatricesx/SystemMatricesx.cpp\
- ./modules/SystemMatricesx/SystemMatricesx.h\
- ./modules/ConstraintsStatex/ConstraintsStatex.cpp\
- ./modules/ConstraintsStatex/ConstraintsStatex.h\
- ./modules/ConstraintsStatex/ConstraintsStateLocal.h\
- ./modules/RequestedOutputsx/RequestedOutputsx.h\
- ./modules/RequestedOutputsx/RequestedOutputsx.cpp\
- ./modules/ResetConstraintsx/ResetConstraintsx.h\
- ./modules/ResetConstraintsx/ResetConstraintsx.cpp\
- ./modules/Solverx/Solverx.cpp\
- ./modules/Solverx/Solverx.h\
- ./modules/Solverx/DofTypesToIndexSet.cpp\
- ./modules/VecMergex/VecMergex.cpp\
- ./modules/VecMergex/VecMergex.h\
- ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp\
- ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h\
- ./modules/InputToResultx/InputToResultx.cpp\
- ./modules/InputToResultx/InputToResultx.h\
- ./modules/InputConvergencex/InputConvergencex.cpp\
- ./modules/InputConvergencex/InputConvergencex.h\
- ./solutions/convergence.cpp\
- ./solutions/WriteLockFile.cpp\
- ./solutions/ResetBoundaryConditions.cpp\
- ./solutions/AnalysisConfiguration.cpp\
- ./solutions/CorePointerFromSolutionEnum.cpp\
- ./solvers/solver_linear.cpp\
- ./solvers/solver_nonlinear.cpp
-
-
-libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS)
-#}}}
-#DAKOTA sources {{{1
-if DAKOTA
-libpISSM_a_SOURCES += ./objects/DakotaPlugin.h\
- ./objects/DakotaPlugin.cpp\
- ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.h\
- ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp\
- ./modules/DakotaResponsesx/DakotaResponsesx.h\
- ./modules/DakotaResponsesx/DakotaResponsesx.cpp\
- ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h\
- ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp\
- ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\
- ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h\
- ./modules/Dakotax/Dakotax.h\
- ./modules/Dakotax/Dakotax.cpp\
- ./modules/Dakotax/DakotaMPI_Bcast.cpp\
- ./modules/Dakotax/DakotaFree.cpp\
- ./modules/Dakotax/SpawnCore.cpp\
- ./modules/Dakotax/SpawnCoreParallel.cpp\
- ./modules/Dakotax/DescriptorIndex.cpp\
- ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp\
- ./modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp\
- ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h
-endif
-#}}}
-#Transient sources {{{1
-if TRANSIENT
-libpISSM_a_SOURCES += ./solutions/transient_core.cpp\
- ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp
-endif
-#}}}
-#Steadystate sources {{{1
-if STEADYSTATE
-libpISSM_a_SOURCES += ./solutions/steadystate_core.cpp\
- ./solutions/steadystateconvergence.cpp
-endif
-#}}}
-#Prognostic sources {{{1
-if PROGNOSTIC
-libpISSM_a_SOURCES += ./solutions/prognostic_core.cpp\
- ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp\
- ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp\
- ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp\
- ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
-
-endif
-#}}}
-#Thermal sources {{{1
-if THERMAL
-libpISSM_a_SOURCES += ./solutions/thermal_core.cpp\
- ./solutions/thermal_core_step.cpp\
- ./solutions/enthalpy_core.cpp\
- ./solvers/solver_thermal_nonlinear.cpp\
- ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp\
- ./modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp\
- ./modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp\
- ./modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp\
- ./modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp\
- ./modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp\
- ./modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp\
- ./modules/ModelProcessorx/Enthalpy/CreateLoadsEnthalpy.cpp\
- ./modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp\
- ./modules/ModelProcessorx/Melting/CreateNodesMelting.cpp\
- ./modules/ModelProcessorx/Melting/CreateConstraintsMelting.cpp\
- ./modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp\
- ./modules/ConstraintsStatex/ThermalConstraintsState.cpp\
- ./modules/ConstraintsStatex/ThermalIsPresent.cpp\
- ./modules/ResetConstraintsx/ThermalConstraintsReset.cpp
-endif
-#}}}
-#Control sources {{{1
-if CONTROL
-libpISSM_a_SOURCES += ./solutions/control_core.cpp\
- ./solutions/controltao_core.cpp\
- ./solutions/controlrestart.cpp\
- ./solutions/controlconvergence.cpp\
- ./solutions/objectivefunctionC.cpp\
- ./solutions/gradient_core.cpp\
- ./solutions/adjointdiagnostic_core.cpp\
- ./solutions/adjointbalancethickness_core.cpp\
- ./solutions/AdjointCorePointerFromSolutionEnum.cpp\
- ./solvers/solver_adjoint_linear.cpp\
- ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp\
- ./modules/ControlInputGetGradientx/ControlInputGetGradientx.h\
- ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp\
- ./modules/ControlInputSetGradientx/ControlInputSetGradientx.h\
- ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp\
- ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.h\
- ./modules/ModelProcessorx/Control/CreateParametersControl.cpp\
- ./modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp\
- ./modules/InputControlUpdatex/InputControlUpdatex.h\
- ./modules/InputControlUpdatex/InputControlUpdatex.cpp\
- ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h\
- ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp\
- ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h\
- ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp\
- ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h\
- ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp\
- ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h\
- ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp\
- ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h\
- ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp\
- ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h\
- ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp\
- ./modules/CostFunctionx/CostFunctionx.h\
- ./modules/CostFunctionx/CostFunctionx.cpp\
- ./modules/Orthx/Orthx.h\
- ./modules/Orthx/Orthx.cpp\
- ./modules/Gradjx/Gradjx.h\
- ./modules/Gradjx/Gradjx.cpp\
- ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp\
- ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h\
- ./modules/ThicknessAbsGradientx/ThicknessAbsGradientx.cpp\
- ./modules/ThicknessAbsGradientx/ThicknessAbsGradientx.h\
- ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp\
- ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h\
- ./objects/Inputs/ControlInput.h\
- ./objects/Inputs/ControlInput.cpp\
- ./shared/Numerics/BrentSearch.cpp\
- ./shared/Numerics/OptimalSearch.cpp\
- ./shared/Numerics/OptFunc.cpp\
- ./objects/OptArgs.h\
- ./objects/OptPars.h
-
-endif
-#}}}
-#Hydrology sources {{{1
-if HYDROLOGY
-libpISSM_a_SOURCES += ./modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp\
- ./modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp\
- ./modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp\
- ./modules/ModelProcessorx/Hydrology/CreateLoadsHydrology.cpp\
- ./solutions/hydrology_core.cpp\
- ./solutions/hydrology_core_step.cpp
-endif
-#}}}
-#Diagnostic sources {{{1
-if DIAGNOSTIC
-libpISSM_a_SOURCES += ./modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp\
- ./modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp \
- ./modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp \
- ./modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp\
- ./modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp\
- ./modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp \
- ./modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp \
- ./modules/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp\
- ./modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp\
- ./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp \
- ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp \
- ./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp\
- ./solutions/diagnostic_core.cpp\
- ./solvers/solver_stokescoupling_nonlinear.cpp
-endif
-#}}}
-#Balanced sources {{{1
-if BALANCED
-libpISSM_a_SOURCES += ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp\
- ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp\
- ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp\
- ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp\
- ./solutions/balancethickness_core.cpp
-endif
-#}}}
-#Responses sources {{{1
-if RESPONSES
-libpISSM_a_SOURCES += ./modules/MinVelx/MinVelx.h\
- ./modules/MinVelx/MinVelx.cpp\
- ./modules/MaxVelx/MaxVelx.h\
- ./modules/MaxVelx/MaxVelx.cpp\
- ./modules/MaxAbsVxx/MaxAbsVxx.h\
- ./modules/MaxAbsVxx/MaxAbsVxx.cpp\
- ./modules/MaxAbsVyx/MaxAbsVyx.h\
- ./modules/MaxAbsVyx/MaxAbsVyx.cpp\
- ./modules/MaxAbsVzx/MaxAbsVzx.h\
- ./modules/MaxAbsVzx/MaxAbsVzx.cpp\
- ./modules/MaxVxx/MaxVxx.h\
- ./modules/MaxVxx/MaxVxx.cpp\
- ./modules/MaxVyx/MaxVyx.h\
- ./modules/MaxVyx/MaxVyx.cpp\
- ./modules/MaxVzx/MaxVzx.h\
- ./modules/MaxVzx/MaxVzx.cpp\
- ./modules/MinVxx/MinVxx.h\
- ./modules/MinVxx/MinVxx.cpp\
- ./modules/MinVyx/MinVyx.h\
- ./modules/MinVyx/MinVyx.cpp\
- ./modules/MinVzx/MinVzx.h\
- ./modules/MinVzx/MinVzx.cpp\
- ./modules/RheologyBbarx/RheologyBbarx.cpp\
- ./modules/RheologyBbarx/RheologyBbarx.h\
- ./modules/MassFluxx/MassFluxx.cpp\
- ./modules/MassFluxx/MassFluxx.h\
- ./modules/NodalValuex/NodalValuex.h\
- ./modules/NodalValuex/NodalValuex.cpp\
- ./modules/SurfaceAreax/SurfaceAreax.h\
- ./modules/SurfaceAreax/SurfaceAreax.cpp\
- ./modules/Responsex/Responsex.h\
- ./modules/Responsex/Responsex.cpp
-endif
-#}}}
-#Slope sources {{{1
-if SLOPE
-libpISSM_a_SOURCES += ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp\
- ./modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp \
- ./modules/ModelProcessorx/BedSlope/CreateConstraintsBedSlope.cpp\
- ./modules/ModelProcessorx/BedSlope/CreateLoadsBedSlope.cpp\
- ./modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp\
- ./modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp \
- ./modules/ModelProcessorx/SurfaceSlope/CreateConstraintsSurfaceSlope.cpp\
- ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp\
- ./solutions/surfaceslope_core.cpp\
- ./solutions/bedslope_core.cpp
-endif
-#}}}
-#GroundingLine sources {{{1
-if GROUNDINGLINE
-libpISSM_a_SOURCES += ./modules/GroundingLineMigrationx/GroundingLineMigrationx.cpp\
- ./modules/GroundingLineMigrationx/GroundingLineMigrationx.h\
- ./modules/GroundingLineMigrationx/GroundingLineMigrationxLocal.h\
- ./modules/GroundingLineMigrationx/GroundingLineMigrationxUtils.cpp\
- ./solutions/groundinglinemigration2d_core.cpp
-endif
-#}}}
-#Rifts sources {{{1
-if RIFTS
-libpISSM_a_SOURCES += ./objects/Loads/Riftfront.cpp\
- ./objects/Loads/Riftfront.h\
- ./modules/ConstraintsStatex/RiftConstraintsState.cpp
-endif
-#}}}
-#3D sources {{{1
-if THREED
-libpISSM_a_SOURCES += ./objects/Gauss/GaussPenta.h\
- ./objects/Gauss/GaussPenta.cpp\
- ./objects/ElementResults/PentaVertexElementResult.h\
- ./objects/ElementResults/PentaVertexElementResult.cpp\
- ./objects/Inputs/PentaVertexInput.h\
- ./objects/Inputs/PentaVertexInput.cpp\
- ./objects/Elements/Penta.h\
- ./objects/Elements/Penta.cpp\
- ./objects/Elements/PentaHook.h\
- ./objects/Elements/PentaHook.cpp\
- ./objects/Elements/PentaRef.h\
- ./objects/Elements/PentaRef.cpp
-endif
-#}}}
-
-#ADIC2 library, for automatic differentiation {{{1
-if ADIC2
-#libAD_a_SOURCES = ./mini1.ad.c
-libAD_a_SOURCES =
-libAD_a_CFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(COPTFLAGS)
-
-#test rose preprocessing
-%.r2cpp.cpp : %.cpp
- testTranslator -rose:o $@ -rose:skipfinalCompileStep -DHAVE_CONFIG_H -D_PARALLEL_ -D_C_ -I. -I../.. $(INCLUDES) $<
-
-libpISSMRose_a_SOURCES = $(libpISSM_a_SOURCES:.cpp=.r2cpp.cpp)
-libpISSMRose_a_CXXFLAGS= -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS)
-#Automatic differentiation rules:
-%.ad.c: %.c
- adic2 -mforward $< --nary
-endif
-#}}}
-#Executable {{{1
-
-if NOPARALLEL
-bin_PROGRAMS =
-else
-bin_PROGRAMS = issm.exe issmRose.exe
-endif
-
-#Standard libraries
-LDADD = ./libOverload.a
-issm_exe_LDADD = ./libpISSM.a $(LDADD)
-if ADIC2
-issmRose_exe_LDADD = ./libpISSMRose.a $(LDADD)
-endif
-
-#External packages
-LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(ADIC2LIB)
-
-
-issm_exe_SOURCES = solutions/issm.cpp
-issm_exe_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXOPTFLAGS) $(COPTFLAGS)
-issmRose_exe_SOURCES = solutions/issm.cpp
-issmRose_exe_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXOPTFLAGS) $(COPTFLAGS)
-
-#}}}
Deleted: issm/trunk/src/ad/eraselinks.sh
===================================================================
--- issm/trunk/src/ad/eraselinks.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/ad/eraselinks.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-#/bin/bash
-#This script soflinks all files in trunk/src/c/ directory necessary for compilation
-#of trunk/src/ad/
-rm include
-rm objects
-rm Container
-rm shared
-rm toolkits
-rm io
-rm EnumDefinitions
-rm modules
-rm solutions
-rm solvers
-rm issm.h
Deleted: issm/trunk/src/ad/softlink.sh
===================================================================
--- issm/trunk/src/ad/softlink.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/ad/softlink.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-#/bin/bash
-#This script soflinks all files in trunk/src/c/ directory necessary for compilation
-#of trunk/src/ad/
-ln -s ../c/include
-ln -s ../c/objects
-ln -s ../c/Container
-ln -s ../c/shared
-ln -s ../c/toolkits
-ln -s ../c/io
-ln -s ../c/EnumDefinitions
-ln -s ../c/modules
-ln -s ../c/solutions
-ln -s ../c/solvers
-ln -s ../c/issm.h
Deleted: issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/AndroidManifest.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.helloworld"
- android:versionCode="1"
- android:versionName="1.0">
- <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
- <activity android:name="HelloWorldActivity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
-</manifest>
Copied: issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/AndroidManifest.xml)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.helloworld"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
+ <activity android:name="HelloWorldActivity"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
Deleted: issm/trunk/src/android/HelloWorldProject/ant.properties
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/ant.properties 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/ant.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,17 +0,0 @@
-# This file is used to override default values used by the Ant build system.
-#
-# This file must be checked in Version Control Systems, as it is
-# integral to the build system of your project.
-
-# This file is only used by the Ant script.
-
-# You can use this to override default values such as
-# 'source.dir' for the location of your java source folder and
-# 'out.dir' for the location of your output folder.
-
-# You can also use it define how the release builds are signed by declaring
-# the following properties:
-# 'key.store' for the location of your keystore and
-# 'key.alias' for the name of the key to use.
-# The password will be asked during the build when you use the 'release' target.
-
Copied: issm/trunk/src/android/HelloWorldProject/ant.properties (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/ant.properties)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/ant.properties (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/ant.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,17 @@
+# This file is used to override default values used by the Ant build system.
+#
+# This file must be checked in Version Control Systems, as it is
+# integral to the build system of your project.
+
+# This file is only used by the Ant script.
+
+# You can use this to override default values such as
+# 'source.dir' for the location of your java source folder and
+# 'out.dir' for the location of your output folder.
+
+# You can also use it define how the release builds are signed by declaring
+# the following properties:
+# 'key.store' for the location of your keystore and
+# 'key.alias' for the name of the key to use.
+# The password will be asked during the build when you use the 'release' target.
+
Deleted: issm/trunk/src/android/HelloWorldProject/build.xml
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/build.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/build.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="HelloWorldProject" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
- unless="sdk.dir"
- />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- /* This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir} */
- <target name="-post-compile">
- </target>
--->
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
Copied: issm/trunk/src/android/HelloWorldProject/build.xml (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/build.xml)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/build.xml (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/build.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="HelloWorldProject" default="help">
+
+ <!-- The local.properties file is created and updated by the 'android' tool.
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <property file="local.properties" />
+
+ <!-- The ant.properties file can be created by you. It is only edited by the
+ 'android' tool to add properties to it.
+ This is the place to change some Ant specific build properties.
+ Here are some properties you may want to change/update:
+
+ source.dir
+ The name of the source directory. Default is 'src'.
+ out.dir
+ The name of the output directory. Default is 'bin'.
+
+ For other overridable properties, look at the beginning of the rules
+ files in the SDK, at tools/ant/build.xml
+
+ Properties related to the SDK location or the project target should
+ be updated using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
+
+ -->
+ <property file="ant.properties" />
+
+ <!-- The project.properties file is created and updated by the 'android'
+ tool, as well as ADT.
+
+ This contains project specific properties such as project target, and library
+ dependencies. Lower level build properties are stored in ant.properties
+ (or in .classpath for Eclipse projects).
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems. -->
+ <loadproperties srcFile="project.properties" />
+
+ <!-- quick check on sdk.dir -->
+ <fail
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
+ unless="sdk.dir"
+ />
+
+
+<!-- extension targets. Uncomment the ones where you want to do custom work
+ in between standard targets -->
+<!--
+ <target name="-pre-build">
+ </target>
+ <target name="-pre-compile">
+ </target>
+
+ /* This is typically used for code obfuscation.
+ Compiled code location: ${out.classes.absolute.dir}
+ If this is not done in place, override ${out.dex.input.absolute.dir} */
+ <target name="-post-compile">
+ </target>
+-->
+
+ <!-- Import the actual build file.
+
+ To customize existing targets, there are two options:
+ - Customize only one target:
+ - copy/paste the target into this file, *before* the
+ <import> task.
+ - customize it to your needs.
+ - Customize the whole content of build.xml
+ - copy/paste the content of the rules files (minus the top node)
+ into this file, replacing the <import> task.
+ - customize to your needs.
+
+ ***********************
+ ****** IMPORTANT ******
+ ***********************
+ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+ in order to avoid having your file be overridden by tools such as "android update project"
+ -->
+ <!-- version-tag: 1 -->
+ <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
Deleted: issm/trunk/src/android/HelloWorldProject/gen/R.java.d
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/gen/R.java.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/gen/R.java.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +0,0 @@
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/gen/com/example/helloworld/R.java \
- : /Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/layout/main.xml \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/values/strings.xml \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-hdpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-ldpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-mdpi/ic_launcher.png \
-/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/AndroidManifest.xml \
Copied: issm/trunk/src/android/HelloWorldProject/gen/R.java.d (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/gen/R.java.d)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/gen/R.java.d (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/gen/R.java.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,10 @@
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/gen/com/example/helloworld/R.java \
+ : /Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/layout/main.xml \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/res/values/strings.xml \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-hdpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-ldpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/bin/res/drawable-mdpi/ic_launcher.png \
+/Users/gperez/issm/trunk-jpl/src/android/HelloWorldProject/AndroidManifest.xml \
Deleted: issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/gen/com/example/helloworld/R.java 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +0,0 @@
-/* AUTO-GENERATED FILE. DO NOT MODIFY.
- *
- * This class was automatically generated by the
- * aapt tool from the resource data it found. It
- * should not be modified by hand.
- */
-
-package com.example.helloworld;
-
-public final class R {
- public static final class attr {
- }
- public static final class drawable {
- public static final int ic_launcher=0x7f020000;
- }
- public static final class layout {
- public static final int main=0x7f030000;
- }
- public static final class string {
- public static final int app_name=0x7f040000;
- }
-}
Copied: issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/gen/com/example/helloworld/R.java)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/gen/com/example/helloworld/R.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,22 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.example.helloworld;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class drawable {
+ public static final int ic_launcher=0x7f020000;
+ }
+ public static final class layout {
+ public static final int main=0x7f030000;
+ }
+ public static final class string {
+ public static final int app_name=0x7f040000;
+ }
+}
Deleted: issm/trunk/src/android/HelloWorldProject/makefile
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/makefile 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/makefile 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,7 +0,0 @@
-.PHONY build :
- # $(ANDROID_SDK_DIR)/tools/emulator -avd Android-4.0.3
- $(ANDROID_ANT_DIR)/bin/ant debug
- # $(ANDROID_SDK_DIR)/platform-tools/adb install ./bin/HelloWorldProject-debug.apk
-
-clean :
- rm -rf bin
Copied: issm/trunk/src/android/HelloWorldProject/makefile (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/makefile)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/makefile (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/makefile 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,7 @@
+.PHONY build :
+ # $(ANDROID_SDK_DIR)/tools/emulator -avd Android-4.0.3
+ $(ANDROID_ANT_DIR)/bin/ant debug
+ # $(ANDROID_SDK_DIR)/platform-tools/adb install ./bin/HelloWorldProject-debug.apk
+
+clean :
+ rm -rf bin
Deleted: issm/trunk/src/android/HelloWorldProject/proguard.cfg
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/proguard.cfg 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/proguard.cfg 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,40 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
Copied: issm/trunk/src/android/HelloWorldProject/proguard.cfg (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/proguard.cfg)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/proguard.cfg (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/proguard.cfg 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,40 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers class * extends android.app.Activity {
+ public void *(android.view.View);
+}
+
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+ public static final android.os.Parcelable$Creator *;
+}
Deleted: issm/trunk/src/android/HelloWorldProject/project.properties
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/project.properties 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/project.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-15
Copied: issm/trunk/src/android/HelloWorldProject/project.properties (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/project.properties)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/project.properties (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/project.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-15
Deleted: issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-hdpi/ic_launcher.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-ldpi/ic_launcher.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/res/drawable-mdpi/ic_launcher.png)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/HelloWorldProject/res/layout/main.xml
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/res/layout/main.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/res/layout/main.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
-<TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Hello World, HelloWorldActivity"
- />
-</LinearLayout>
-
Copied: issm/trunk/src/android/HelloWorldProject/res/layout/main.xml (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/res/layout/main.xml)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/res/layout/main.xml (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/res/layout/main.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ >
+<TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="Hello World, HelloWorldActivity"
+ />
+</LinearLayout>
+
Deleted: issm/trunk/src/android/HelloWorldProject/res/values/strings.xml
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/res/values/strings.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/res/values/strings.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">HelloWorldActivity</string>
-</resources>
Copied: issm/trunk/src/android/HelloWorldProject/res/values/strings.xml (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/res/values/strings.xml)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/res/values/strings.xml (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/res/values/strings.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">HelloWorldActivity</string>
+</resources>
Deleted: issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java
===================================================================
--- issm/trunk-jpl/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-package com.example.helloworld;
-
-import android.app.Activity;
-import android.os.Bundle;
-
-public class HelloWorldActivity extends Activity
-{
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
-}
Copied: issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java (from rev 11994, issm/trunk-jpl/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java)
===================================================================
--- issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java (rev 0)
+++ issm/trunk/src/android/HelloWorldProject/src/com/example/helloworld/HelloWorldActivity.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,15 @@
+package com.example.helloworld;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class HelloWorldActivity extends Activity
+{
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+ }
+}
Deleted: issm/trunk/src/android/two-libs/AndroidManifest.xml
===================================================================
--- issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.twolibs"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="3" />
- <application android:label="@string/app_name">
- <activity android:name=".TwoLibs"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
-</manifest>
Copied: issm/trunk/src/android/two-libs/AndroidManifest.xml (from rev 11994, issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml)
===================================================================
--- issm/trunk/src/android/two-libs/AndroidManifest.xml (rev 0)
+++ issm/trunk/src/android/two-libs/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.twolibs"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <uses-sdk android:minSdkVersion="3" />
+ <application android:label="@string/app_name">
+ <activity android:name=".TwoLibs"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+</manifest>
Deleted: issm/trunk/src/android/two-libs/bin/build.prop
===================================================================
--- issm/trunk-jpl/src/android/two-libs/bin/build.prop 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/bin/build.prop 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +0,0 @@
-#Last build type
-#Wed, 21 Mar 2012 11:35:09 -0700
-
-build.last.target=debug
-
-build.last.is.instrumented=false
-
-build.last.is.packaging.debug=true
-
-build.last.is.signing.debug=true
Copied: issm/trunk/src/android/two-libs/bin/build.prop (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/build.prop)
===================================================================
--- issm/trunk/src/android/two-libs/bin/build.prop (rev 0)
+++ issm/trunk/src/android/two-libs/bin/build.prop 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,10 @@
+#Last build type
+#Wed, 21 Mar 2012 11:35:09 -0700
+
+build.last.target=debug
+
+build.last.is.instrumented=false
+
+build.last.is.packaging.debug=true
+
+build.last.is.signing.debug=true
Deleted: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$attr.class
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$attr.class (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes/com/example/twolibs/R$attr.class)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$string.class
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R$string.class (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes/com/example/twolibs/R$string.class)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R.class
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/R.class (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes/com/example/twolibs/R.class)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/TwoLibs.class
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/classes/com/example/twolibs/TwoLibs.class (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes/com/example/twolibs/TwoLibs.class)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/classes.dex
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/classes.dex (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes.dex)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/classes.dex.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/bin/classes.dex.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/bin/classes.dex.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/classes.dex : \
Copied: issm/trunk/src/android/two-libs/bin/classes.dex.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/classes.dex.d)
===================================================================
--- issm/trunk/src/android/two-libs/bin/classes.dex.d (rev 0)
+++ issm/trunk/src/android/two-libs/bin/classes.dex.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1 @@
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/classes.dex : \
Deleted: issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug-unaligned.apk)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +0,0 @@
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug-unaligned.apk : \
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_ \
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/classes.dex \
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/libs/armeabi/libtwolib-second.so \
Copied: issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d)
===================================================================
--- issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d (rev 0)
+++ issm/trunk/src/android/two-libs/bin/two-libs-debug-unaligned.apk.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,4 @@
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug-unaligned.apk : \
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_ \
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/classes.dex \
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/libs/armeabi/libtwolib-second.so \
Deleted: issm/trunk/src/android/two-libs/bin/two-libs-debug.apk
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/two-libs-debug.apk (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/two-libs-debug.apk)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/two-libs.ap_
===================================================================
(Binary files differ)
Copied: issm/trunk/src/android/two-libs/bin/two-libs.ap_ (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_)
===================================================================
(Binary files differ)
Deleted: issm/trunk/src/android/two-libs/bin/two-libs.ap_.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/bin/two-libs.ap_.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_ \
- : /Users/gperez/issm/trunk-jpl/src/android/two-libs/res/values/strings.xml \
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml \
Copied: issm/trunk/src/android/two-libs/bin/two-libs.ap_.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_.d)
===================================================================
--- issm/trunk/src/android/two-libs/bin/two-libs.ap_.d (rev 0)
+++ issm/trunk/src/android/two-libs/bin/two-libs.ap_.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,3 @@
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/bin/two-libs.ap_ \
+ : /Users/gperez/issm/trunk-jpl/src/android/two-libs/res/values/strings.xml \
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml \
Deleted: issm/trunk/src/android/two-libs/build.xml
===================================================================
--- issm/trunk-jpl/src/android/two-libs/build.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/build.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="two-libs" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
- unless="sdk.dir"
- />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-<!--
- <target name="-pre-build">
- </target>
- <target name="-pre-compile">
- </target>
-
- /* This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir} */
- <target name="-post-compile">
- </target>
--->
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
Copied: issm/trunk/src/android/two-libs/build.xml (from rev 11994, issm/trunk-jpl/src/android/two-libs/build.xml)
===================================================================
--- issm/trunk/src/android/two-libs/build.xml (rev 0)
+++ issm/trunk/src/android/two-libs/build.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="two-libs" default="help">
+
+ <!-- The local.properties file is created and updated by the 'android' tool.
+ It contains the path to the SDK. It should *NOT* be checked into
+ Version Control Systems. -->
+ <property file="local.properties" />
+
+ <!-- The ant.properties file can be created by you. It is only edited by the
+ 'android' tool to add properties to it.
+ This is the place to change some Ant specific build properties.
+ Here are some properties you may want to change/update:
+
+ source.dir
+ The name of the source directory. Default is 'src'.
+ out.dir
+ The name of the output directory. Default is 'bin'.
+
+ For other overridable properties, look at the beginning of the rules
+ files in the SDK, at tools/ant/build.xml
+
+ Properties related to the SDK location or the project target should
+ be updated using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems.
+
+ -->
+ <property file="ant.properties" />
+
+ <!-- The project.properties file is created and updated by the 'android'
+ tool, as well as ADT.
+
+ This contains project specific properties such as project target, and library
+ dependencies. Lower level build properties are stored in ant.properties
+ (or in .classpath for Eclipse projects).
+
+ This file is an integral part of the build system for your
+ application and should be checked into Version Control Systems. -->
+ <loadproperties srcFile="project.properties" />
+
+ <!-- quick check on sdk.dir -->
+ <fail
+ message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
+ unless="sdk.dir"
+ />
+
+
+<!-- extension targets. Uncomment the ones where you want to do custom work
+ in between standard targets -->
+<!--
+ <target name="-pre-build">
+ </target>
+ <target name="-pre-compile">
+ </target>
+
+ /* This is typically used for code obfuscation.
+ Compiled code location: ${out.classes.absolute.dir}
+ If this is not done in place, override ${out.dex.input.absolute.dir} */
+ <target name="-post-compile">
+ </target>
+-->
+
+ <!-- Import the actual build file.
+
+ To customize existing targets, there are two options:
+ - Customize only one target:
+ - copy/paste the target into this file, *before* the
+ <import> task.
+ - customize it to your needs.
+ - Customize the whole content of build.xml
+ - copy/paste the content of the rules files (minus the top node)
+ into this file, replacing the <import> task.
+ - customize to your needs.
+
+ ***********************
+ ****** IMPORTANT ******
+ ***********************
+ In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
+ in order to avoid having your file be overridden by tools such as "android update project"
+ -->
+ <!-- version-tag: 1 -->
+ <import file="${sdk.dir}/tools/ant/build.xml" />
+
+</project>
Deleted: issm/trunk/src/android/two-libs/gen/R.java.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/gen/R.java.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/gen/R.java.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/gen/com/example/twolibs/R.java \
- : /Users/gperez/issm/trunk-jpl/src/android/two-libs/res/values/strings.xml \
-/Users/gperez/issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml \
Copied: issm/trunk/src/android/two-libs/gen/R.java.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/gen/R.java.d)
===================================================================
--- issm/trunk/src/android/two-libs/gen/R.java.d (rev 0)
+++ issm/trunk/src/android/two-libs/gen/R.java.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,3 @@
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/gen/com/example/twolibs/R.java \
+ : /Users/gperez/issm/trunk-jpl/src/android/two-libs/res/values/strings.xml \
+/Users/gperez/issm/trunk-jpl/src/android/two-libs/AndroidManifest.xml \
Deleted: issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java
===================================================================
--- issm/trunk-jpl/src/android/two-libs/gen/com/example/twolibs/R.java 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +0,0 @@
-/* AUTO-GENERATED FILE. DO NOT MODIFY.
- *
- * This class was automatically generated by the
- * aapt tool from the resource data it found. It
- * should not be modified by hand.
- */
-
-package com.example.twolibs;
-
-public final class R {
- public static final class attr {
- }
- public static final class string {
- public static final int app_name=0x7f020000;
- }
-}
Copied: issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java (from rev 11994, issm/trunk-jpl/src/android/two-libs/gen/com/example/twolibs/R.java)
===================================================================
--- issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java (rev 0)
+++ issm/trunk/src/android/two-libs/gen/com/example/twolibs/R.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,16 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package com.example.twolibs;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class string {
+ public static final int app_name=0x7f020000;
+ }
+}
Deleted: issm/trunk/src/android/two-libs/jni/Android.mk
===================================================================
--- issm/trunk-jpl/src/android/two-libs/jni/Android.mk 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/jni/Android.mk 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,42 +0,0 @@
-# Copyright (C) 2009 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# the purpose of this sample is to demonstrate how one can
-# generate two distinct shared libraries and have them both
-# uploaded in
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-# first lib, which will be built statically
-#
-include $(CLEAR_VARS)
-
-# TEST := $(shell echo $(origin CLEAR_VARS))
-LOCAL_MODULE := libtwolib-first
-LOCAL_SRC_FILES := first.c
-
-include $(BUILD_STATIC_LIBRARY)
-
-# second lib, which will depend on and include the first one
-#
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libtwolib-second
-LOCAL_SRC_FILES := second.c
-
-LOCAL_STATIC_LIBRARIES := libtwolib-first
-
-include $(BUILD_SHARED_LIBRARY)
Copied: issm/trunk/src/android/two-libs/jni/Android.mk (from rev 11994, issm/trunk-jpl/src/android/two-libs/jni/Android.mk)
===================================================================
--- issm/trunk/src/android/two-libs/jni/Android.mk (rev 0)
+++ issm/trunk/src/android/two-libs/jni/Android.mk 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,42 @@
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# the purpose of this sample is to demonstrate how one can
+# generate two distinct shared libraries and have them both
+# uploaded in
+#
+
+LOCAL_PATH:= $(call my-dir)
+
+# first lib, which will be built statically
+#
+include $(CLEAR_VARS)
+
+# TEST := $(shell echo $(origin CLEAR_VARS))
+LOCAL_MODULE := libtwolib-first
+LOCAL_SRC_FILES := first.c
+
+include $(BUILD_STATIC_LIBRARY)
+
+# second lib, which will depend on and include the first one
+#
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libtwolib-second
+LOCAL_SRC_FILES := second.c
+
+LOCAL_STATIC_LIBRARIES := libtwolib-first
+
+include $(BUILD_SHARED_LIBRARY)
Deleted: issm/trunk/src/android/two-libs/jni/first.c
===================================================================
--- issm/trunk-jpl/src/android/two-libs/jni/first.c 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/jni/first.c 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-#include "first.h"
-
-int first(int x, int y)
-{
- return x + y;
-}
Copied: issm/trunk/src/android/two-libs/jni/first.c (from rev 11994, issm/trunk-jpl/src/android/two-libs/jni/first.c)
===================================================================
--- issm/trunk/src/android/two-libs/jni/first.c (rev 0)
+++ issm/trunk/src/android/two-libs/jni/first.c 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include "first.h"
+
+int first(int x, int y)
+{
+ return x + y;
+}
Deleted: issm/trunk/src/android/two-libs/jni/first.h
===================================================================
--- issm/trunk-jpl/src/android/two-libs/jni/first.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/jni/first.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-#ifndef FIRST_H
-#define FIRST_H
-
-extern int first(int x, int y);
-
-#endif /* FIRST_H */
Copied: issm/trunk/src/android/two-libs/jni/first.h (from rev 11994, issm/trunk-jpl/src/android/two-libs/jni/first.h)
===================================================================
--- issm/trunk/src/android/two-libs/jni/first.h (rev 0)
+++ issm/trunk/src/android/two-libs/jni/first.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#ifndef FIRST_H
+#define FIRST_H
+
+extern int first(int x, int y);
+
+#endif /* FIRST_H */
Deleted: issm/trunk/src/android/two-libs/jni/second.c
===================================================================
--- issm/trunk-jpl/src/android/two-libs/jni/second.c 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/jni/second.c 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-#include "first.h"
-#include <jni.h>
-
-jint
-Java_com_example_twolibs_TwoLibs_add( JNIEnv* env,
- jobject this,
- jint x,
- jint y )
-{
- return first(x, y);
-}
Copied: issm/trunk/src/android/two-libs/jni/second.c (from rev 11994, issm/trunk-jpl/src/android/two-libs/jni/second.c)
===================================================================
--- issm/trunk/src/android/two-libs/jni/second.c (rev 0)
+++ issm/trunk/src/android/two-libs/jni/second.c 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include "first.h"
+#include <jni.h>
+
+jint
+Java_com_example_twolibs_TwoLibs_add( JNIEnv* env,
+ jobject this,
+ jint x,
+ jint y )
+{
+ return first(x, y);
+}
Deleted: issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,3 +0,0 @@
-obj/local/armeabi/objs/twolib-first/first.o: jni/first.c jni/first.h
-
-jni/first.h:
Copied: issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d)
===================================================================
--- issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d (rev 0)
+++ issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-first/first.o.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,3 @@
+obj/local/armeabi/objs/twolib-first/first.o: jni/first.c jni/first.h
+
+jni/first.h:
Deleted: issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d
===================================================================
--- issm/trunk-jpl/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,6 +0,0 @@
-obj/local/armeabi/objs/twolib-second/second.o: jni/second.c jni/first.h \
- /Users/gperez/issm/trunk-jpl/externalpackages/android-ndk/install/platforms/android-3/arch-arm/usr/include/jni.h
-
-jni/first.h:
-
-/Users/gperez/issm/trunk-jpl/externalpackages/android-ndk/install/platforms/android-3/arch-arm/usr/include/jni.h:
Copied: issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d (from rev 11994, issm/trunk-jpl/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d)
===================================================================
--- issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d (rev 0)
+++ issm/trunk/src/android/two-libs/obj/local/armeabi/objs/twolib-second/second.o.d 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,6 @@
+obj/local/armeabi/objs/twolib-second/second.o: jni/second.c jni/first.h \
+ /Users/gperez/issm/trunk-jpl/externalpackages/android-ndk/install/platforms/android-3/arch-arm/usr/include/jni.h
+
+jni/first.h:
+
+/Users/gperez/issm/trunk-jpl/externalpackages/android-ndk/install/platforms/android-3/arch-arm/usr/include/jni.h:
Deleted: issm/trunk/src/android/two-libs/proguard.cfg
===================================================================
--- issm/trunk-jpl/src/android/two-libs/proguard.cfg 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/proguard.cfg 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,40 +0,0 @@
--optimizationpasses 5
--dontusemixedcaseclassnames
--dontskipnonpubliclibraryclasses
--dontpreverify
--verbose
--optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-
--keep public class * extends android.app.Activity
--keep public class * extends android.app.Application
--keep public class * extends android.app.Service
--keep public class * extends android.content.BroadcastReceiver
--keep public class * extends android.content.ContentProvider
--keep public class * extends android.app.backup.BackupAgentHelper
--keep public class * extends android.preference.Preference
--keep public class com.android.vending.licensing.ILicensingService
-
--keepclasseswithmembernames class * {
- native <methods>;
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
-}
-
--keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
-}
-
--keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
-}
-
--keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
-}
-
--keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
-}
Copied: issm/trunk/src/android/two-libs/proguard.cfg (from rev 11994, issm/trunk-jpl/src/android/two-libs/proguard.cfg)
===================================================================
--- issm/trunk/src/android/two-libs/proguard.cfg (rev 0)
+++ issm/trunk/src/android/two-libs/proguard.cfg 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,40 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+ native <methods>;
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers class * extends android.app.Activity {
+ public void *(android.view.View);
+}
+
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+ public static final android.os.Parcelable$Creator *;
+}
Deleted: issm/trunk/src/android/two-libs/project.properties
===================================================================
--- issm/trunk-jpl/src/android/two-libs/project.properties 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/project.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-15
Copied: issm/trunk/src/android/two-libs/project.properties (from rev 11994, issm/trunk-jpl/src/android/two-libs/project.properties)
===================================================================
--- issm/trunk/src/android/two-libs/project.properties (rev 0)
+++ issm/trunk/src/android/two-libs/project.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "ant.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-15
Deleted: issm/trunk/src/android/two-libs/res/values/strings.xml
===================================================================
--- issm/trunk-jpl/src/android/two-libs/res/values/strings.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/res/values/strings.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">TwoLib</string>
-</resources>
Copied: issm/trunk/src/android/two-libs/res/values/strings.xml (from rev 11994, issm/trunk-jpl/src/android/two-libs/res/values/strings.xml)
===================================================================
--- issm/trunk/src/android/two-libs/res/values/strings.xml (rev 0)
+++ issm/trunk/src/android/two-libs/res/values/strings.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">TwoLib</string>
+</resources>
Deleted: issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java
===================================================================
--- issm/trunk-jpl/src/android/two-libs/src/com/example/twolibs/TwoLibs.java 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.example.twolibs;
-
-import android.app.Activity;
-import android.widget.TextView;
-import android.os.Bundle;
-
-public class TwoLibs extends Activity
-{
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
-
- TextView tv = new TextView(this);
- int x = 1000;
- int y = 42;
-
- // here, we dynamically load the library at runtime
- // before calling the native method.
- //
- System.loadLibrary("twolib-second");
-
- int z = add(x, y);
-
- tv.setText( "The sum of " + x + " and " + y + " is " + z );
- setContentView(tv);
- }
-
- public native int add(int x, int y);
-}
Copied: issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java (from rev 11994, issm/trunk-jpl/src/android/two-libs/src/com/example/twolibs/TwoLibs.java)
===================================================================
--- issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java (rev 0)
+++ issm/trunk/src/android/two-libs/src/com/example/twolibs/TwoLibs.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.twolibs;
+
+import android.app.Activity;
+import android.widget.TextView;
+import android.os.Bundle;
+
+public class TwoLibs extends Activity
+{
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+
+ TextView tv = new TextView(this);
+ int x = 1000;
+ int y = 42;
+
+ // here, we dynamically load the library at runtime
+ // before calling the native method.
+ //
+ System.loadLibrary("twolib-second");
+
+ int z = add(x, y);
+
+ tv.setText( "The sum of " + x + " and " + y + " is " + z );
+ setContentView(tv);
+ }
+
+ public native int add(int x, int y);
+}
Deleted: issm/trunk/src/android/two-libs/tests/AndroidManifest.xml
===================================================================
--- issm/trunk-jpl/src/android/two-libs/tests/AndroidManifest.xml 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/tests/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.example.TwoLib.tests"
- android:versionCode="1"
- android:versionName="1.0">
- <!-- We add an application tag here just so that we can indicate that
- this package needs to link against the android.test library,
- which is needed when building test cases. -->
- <application>
- <uses-library android:name="android.test.runner" />
- </application>
- <!--
- This declares that this application uses the instrumentation test runner targeting
- the package of com.example.TwoLib. To run the tests use the command:
- "adb shell am instrument -w com.example.TwoLib.tests/android.test.InstrumentationTestRunner"
- -->
- <instrumentation android:name="android.test.InstrumentationTestRunner"
- android:targetPackage="com.example.TwoLib"
- android:label="Tests for TwoLib"/>
-</manifest>
Copied: issm/trunk/src/android/two-libs/tests/AndroidManifest.xml (from rev 11994, issm/trunk-jpl/src/android/two-libs/tests/AndroidManifest.xml)
===================================================================
--- issm/trunk/src/android/two-libs/tests/AndroidManifest.xml (rev 0)
+++ issm/trunk/src/android/two-libs/tests/AndroidManifest.xml 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.TwoLib.tests"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <!-- We add an application tag here just so that we can indicate that
+ this package needs to link against the android.test library,
+ which is needed when building test cases. -->
+ <application>
+ <uses-library android:name="android.test.runner" />
+ </application>
+ <!--
+ This declares that this application uses the instrumentation test runner targeting
+ the package of com.example.TwoLib. To run the tests use the command:
+ "adb shell am instrument -w com.example.TwoLib.tests/android.test.InstrumentationTestRunner"
+ -->
+ <instrumentation android:name="android.test.InstrumentationTestRunner"
+ android:targetPackage="com.example.TwoLib"
+ android:label="Tests for TwoLib"/>
+</manifest>
Deleted: issm/trunk/src/android/two-libs/tests/default.properties
===================================================================
--- issm/trunk-jpl/src/android/two-libs/tests/default.properties 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/tests/default.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system use,
-# "build.properties", and override values to adapt the script to your
-# project structure.
-
-# Project target.
-target=android-3
Copied: issm/trunk/src/android/two-libs/tests/default.properties (from rev 11994, issm/trunk-jpl/src/android/two-libs/tests/default.properties)
===================================================================
--- issm/trunk/src/android/two-libs/tests/default.properties (rev 0)
+++ issm/trunk/src/android/two-libs/tests/default.properties 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "build.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-3
Deleted: issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java
===================================================================
--- issm/trunk-jpl/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,21 +0,0 @@
-package com.example.TwoLib;
-
-import android.test.ActivityInstrumentationTestCase;
-
-/**
- * This is a simple framework for a test of an Application. See
- * {@link android.test.ApplicationTestCase ApplicationTestCase} for more information on
- * how to write and extend Application tests.
- * <p/>
- * To run this test, you can type:
- * adb shell am instrument -w \
- * -e class com.example.TwoLib.TwoLibTest \
- * com.example.TwoLib.tests/android.test.InstrumentationTestRunner
- */
-public class TwoLibTest extends ActivityInstrumentationTestCase<TwoLib> {
-
- public TwoLibTest() {
- super("com.example.TwoLib", TwoLib.class);
- }
-
-}
Copied: issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java (from rev 11994, issm/trunk-jpl/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java)
===================================================================
--- issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java (rev 0)
+++ issm/trunk/src/android/two-libs/tests/src/com/example/TwoLib/TwoLibTest.java 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,21 @@
+package com.example.TwoLib;
+
+import android.test.ActivityInstrumentationTestCase;
+
+/**
+ * This is a simple framework for a test of an Application. See
+ * {@link android.test.ApplicationTestCase ApplicationTestCase} for more information on
+ * how to write and extend Application tests.
+ * <p/>
+ * To run this test, you can type:
+ * adb shell am instrument -w \
+ * -e class com.example.TwoLib.TwoLibTest \
+ * com.example.TwoLib.tests/android.test.InstrumentationTestRunner
+ */
+public class TwoLibTest extends ActivityInstrumentationTestCase<TwoLib> {
+
+ public TwoLibTest() {
+ super("com.example.TwoLib", TwoLib.class);
+ }
+
+}
Modified: issm/trunk/src/c/Container/DataSet.cpp
===================================================================
--- issm/trunk/src/c/Container/DataSet.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/DataSet.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -229,7 +229,7 @@
triavertexinput->Demarshall(&marshalled_dataset);
dataset->AddObject(triavertexinput);}
break;
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
case PentaP1InputEnum:{
PentaP1Input* pentavertexinput=NULL;
pentavertexinput=new PentaP1Input();
@@ -263,7 +263,7 @@
triavertexelementresult->Demarshall(&marshalled_dataset);
dataset->AddObject(triavertexelementresult);}
break;
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
case PentaP1ElementResultEnum:{
PentaP1ElementResult* pentavertexelementresult=NULL;
pentavertexelementresult=new PentaP1ElementResult();
Modified: issm/trunk/src/c/Container/Elements.cpp
===================================================================
--- issm/trunk/src/c/Container/Elements.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Elements.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -174,7 +174,7 @@
int *resultssteps = NULL;
double *resultstimes = NULL;
double *vector_serial= NULL;
- Vec vector = NULL;
+ Vector* vector = NULL;
bool io_gather;
bool results_as_patches;
int numberofvertices,numberofelements;
@@ -224,24 +224,23 @@
if(resultssizes[i]==P1Enum) vectorsize=numberofvertices;
else if(resultssizes[i]==P0Enum) vectorsize=numberofelements;
else _error_("Unkown result size: %s",EnumToStringx(resultssizes[i]));
- vector=NewVec(vectorsize);
+ vector=new Vector(vectorsize);
for(int j=0;j<this->Size();j++){
Element* element=(Element*)this->GetObjectByOffset(j);
element->GetVectorFromResults(vector,i,resultssizes[i]);
}
- VecAssemblyBegin(vector);
- VecAssemblyEnd(vector);
+ vector->Assemble();
/*Serialize and add to results*/
- VecToMPISerial(&vector_serial,vector);
+ vector_serial=vector->ToMPISerial();
if(my_rank==0){
/*No need to add this vector for all cpus*/
results->AddObject(new DoubleVecExternalResult(results->Size()+1,resultsenums[i],vector_serial,vectorsize,resultssteps[i],resultstimes[i]));
}
/*clean up*/
- VecFree(&vector);
+ xdelete(&vector);
xfree((void**)&vector_serial);
}
}
Modified: issm/trunk/src/c/Container/Options.cpp
===================================================================
--- issm/trunk/src/c/Container/Options.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Options.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -19,7 +19,7 @@
#include "../include/include.h"
#include "../shared/shared.h"
#include "../EnumDefinitions/EnumDefinitions.h"
-#ifdef _SERIAL_
+#if _SERIAL_
#include "../io/io.h"
#endif
/*}}}*/
@@ -30,7 +30,7 @@
return;
}
/*}}}*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*FUNCTION Options::Options(int istart, int nrhs, const mxArray* prhs[]){{{1*/
Options::Options(int istart, int nrhs, const mxArray* prhs[]){
@@ -42,7 +42,7 @@
for (i=istart; i<nrhs; i=i+2){
if (!mxIsClass(prhs[i],"char")) _error_("Argument %d must be name of option.",i+1);
- FetchMatlabData(&name,prhs[i]);
+ FetchData(&name,prhs[i]);
if (i+1 == nrhs) _error_("Argument %d must exist and be value of option \"%s\".",i+2,name);
//_printf_(true," Processing option \"%s\" of class \"%s\".\n",name,mxGetClassName(prhs[i+1]));
Modified: issm/trunk/src/c/Container/Options.h
===================================================================
--- issm/trunk/src/c/Container/Options.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Options.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
/*constructors, destructors*/
Options();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
Options(int istart, int nrhs, const mxArray* prhs[]);
#endif
~Options();
Modified: issm/trunk/src/c/Container/Parameters.cpp
===================================================================
--- issm/trunk/src/c/Container/Parameters.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Parameters.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -226,8 +226,8 @@
_error_("could not find parameter %s",EnumToStringx(enum_type));
}
/*}}}*/
-/*FUNCTION Parameters::FindParam(Vec* pvec,int enum_type){{{1*/
-void Parameters::FindParam(Vec* pvec,int enum_type){ _assert_(this);
+/*FUNCTION Parameters::FindParam(Vector** pvec,int enum_type){{{1*/
+void Parameters::FindParam(Vector** pvec,int enum_type){ _assert_(this);
vector<Object*>::iterator object;
Param* param=NULL;
@@ -244,8 +244,8 @@
}
/*}}}*/
-/*FUNCTION Parameters::FindParam(Mat* pmat,int enum_type){{{1*/
-void Parameters::FindParam(Mat* pmat,int enum_type){ _assert_(this);
+/*FUNCTION Parameters::FindParam(Matrix** pmat,int enum_type){{{1*/
+void Parameters::FindParam(Matrix** pmat,int enum_type){ _assert_(this);
vector<Object*>::iterator object;
Param* param=NULL;
@@ -388,8 +388,8 @@
else this->AddObject(new IntMatParam(enum_type,intarray,M,N)); //just add the new parameter.
}
/*}}}*/
-/*FUNCTION Parameters::SetParam(Vec vector,int enum_type);{{{1*/
-void Parameters::SetParam(Vec vector,int enum_type){
+/*FUNCTION Parameters::SetParam(Vector* vector,int enum_type);{{{1*/
+void Parameters::SetParam(Vector* vector,int enum_type){
Param* param=NULL;
@@ -397,11 +397,11 @@
param=(Param*)this->FindParamObject(enum_type);
if(param) param->SetValue(vector); //already exists, just set it.
- else this->AddObject(new PetscVecParam(enum_type,vector)); //just add the new parameter.
+ else this->AddObject(new VectorParam(enum_type,vector)); //just add the new parameter.
}
/*}}}*/
-/*FUNCTION Parameters::SetParam(Mat matrix,int enum_type);{{{1*/
-void Parameters::SetParam(Mat matrix,int enum_type){
+/*FUNCTION Parameters::SetParam(Matrix* matrix,int enum_type);{{{1*/
+void Parameters::SetParam(Matrix* matrix,int enum_type){
Param* param=NULL;
@@ -409,7 +409,7 @@
param=(Param*)this->FindParamObject(enum_type);
if(param) param->SetValue(matrix); //already exists, just set it.
- else this->AddObject(new PetscMatParam(enum_type,matrix)); //just add the new parameter.
+ else this->AddObject(new MatrixParam(enum_type,matrix)); //just add the new parameter.
}
/*}}}*/
/*FUNCTION Parameters::SetParam(FILE* fid,int enum_type);{{{1*/
Modified: issm/trunk/src/c/Container/Parameters.h
===================================================================
--- issm/trunk/src/c/Container/Parameters.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Parameters.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,6 +6,8 @@
#define _CONTAINER_PARAMETERS_H_
/*forward declarations */
+class Matrix;
+class Vector;
class Materials;
class Parameters;
class Elements;
@@ -36,8 +38,8 @@
void FindParam(double** pdoublearray,int* pM,int enum_type);
void FindParam(double** pdoublearray,int* pM,int* pN,int enum_type);
void FindParam(double*** parray,int* pM, int** pmdims_array,int** pndims_array,int enum_type);
- void FindParam(Vec* pvec,int enum_type);
- void FindParam(Mat* pmat,int enum_type);
+ void FindParam(Vector** pvec,int enum_type);
+ void FindParam(Matrix** pmat,int enum_type);
void FindParam(FILE** pfid,int enum_type);
void SetParam(bool boolean,int enum_type);
@@ -49,8 +51,8 @@
void SetParam(double* doublearray,int M,int N,int enum_type);
void SetParam(int* intarray,int M,int enum_type);
void SetParam(int* intarray,int M,int N,int enum_type);
- void SetParam(Vec vec,int enum_type);
- void SetParam(Mat mat,int enum_type);
+ void SetParam(Vector* vec,int enum_type);
+ void SetParam(Matrix* mat,int enum_type);
void SetParam(FILE* fid,int enum_type);
void UnitConversion(int direction_enum);
Modified: issm/trunk/src/c/Container/Results.cpp
===================================================================
--- issm/trunk/src/c/Container/Results.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Results.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -64,7 +64,7 @@
}
/*}}}*/
/*FUNCTION Results::Write{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void Results::Write(mxArray** pdataref){
int i,j;
Modified: issm/trunk/src/c/Container/Results.h
===================================================================
--- issm/trunk/src/c/Container/Results.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Container/Results.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -25,7 +25,7 @@
/*}}}*/
/*numerics: {{{1*/
Results* SpawnTriaResults(int* indices);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void Write(mxArray** pdataref);
#else
void Write(Parameters* parameters);
Modified: issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
===================================================================
--- issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -147,6 +147,10 @@
SettingsOutputFrequencyEnum,
SettingsResultsAsPatchesEnum,
SettingsWaitonlockEnum,
+ DebugPetscProfilingEnum,
+ PetscProfilingCurrentMemEnum,
+ PetscProfilingCurrentFlopsEnum,
+ PetscProfilingSolutionTimeEnum,
SteadystateMaxiterEnum,
SteadystateNumRequestedOutputsEnum,
SteadystateReltolEnum,
@@ -162,8 +166,9 @@
ThermalStabilizationEnum,
ThermalIsenthalpyEnum,
ThicknessEnum,
+ TimesteppingStartTimeEnum,
+ TimesteppingFinalTimeEnum,
TimesteppingCflCoefficientEnum,
- TimesteppingFinalTimeEnum,
TimesteppingTimeAdaptEnum,
TimesteppingTimeStepEnum,
TransientIsdiagnosticEnum,
@@ -233,6 +238,7 @@
/*Objects {{{1*/
BoolInputEnum,
BoolParamEnum,
+ ContourEnum,
ControlInputEnum,
DatasetInputEnum,
DofIndexingEnum,
@@ -263,8 +269,8 @@
PenpairEnum,
PentaEnum,
PentaP1InputEnum,
- PetscMatParamEnum,
- PetscVecParamEnum,
+ MatrixParamEnum,
+ VectorParamEnum,
RiftfrontEnum,
SegmentEnum,
SegmentRiftfrontEnum,
@@ -383,6 +389,7 @@
P1DGEnum,
/*}}}*/
/*Results{{{1*/
+ SaveResultsEnum,
BoolElementResultEnum,
BoolExternalResultEnum,
DoubleElementResultEnum,
@@ -397,6 +404,7 @@
PentaP1ElementResultEnum,
PetscVecExternalResultEnum,
StringExternalResultEnum,
+ StepEnum,
TimeEnum,
TriaP1ElementResultEnum,
WaterColumnOldEnum,
@@ -479,7 +487,4 @@
MaximumNumberOfEnums
};
-/*Functions on enums: */
-const char *EnumToModelField(int en);
-
#endif
Deleted: issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
===================================================================
--- issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-/*\file EnumToModelField.cpp:
-* \brief: output string associated with enum, that corresponds to a model field
-* for example: ThicknessEnum corresponds to model field thickness
-* FrictionCoefficientEnum corresponds to model field drag
-*/
-
-#include "../shared/shared.h"
-#include "../include/include.h"
-#include "./EnumDefinitions.h"
-
-const char* EnumToModelField(int en){
-
- switch(en){
-
- case ThicknessEnum : return "thickness";
- case FrictionCoefficientEnum : return "drag_coefficient";
- case MaterialsRheologyBEnum : return "rheology_B";
- case MaterialsRheologyBbarEnum : return "rheology_B";
- case BalancethicknessThickeningRateEnum: return "dhdt";
- case VxEnum : return "vx";
- case InversionVxObsEnum : return "vx_obs";
- case VyEnum : return "vy";
- case InversionVyObsEnum : return "vy_obs";
- case BasalforcingsMeltingRateEnum : return "basal_melting_rate";
- case SurfaceforcingsMassBalanceEnum : return "surface_mass_balance";
- default : _error_("No model field is associated to enum %s",EnumToStringx(en));
- }
-}
Modified: issm/trunk/src/c/EnumDefinitions/README
===================================================================
--- issm/trunk/src/c/EnumDefinitions/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/EnumDefinitions/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,7 +3,7 @@
- StringToEnumx.cpp
- EnumToStringx.cpp
- src/m/enum/*
-all these files are automatically synchronized with EnumDefinitions.h and EnumToModelField.cpp
+all these files are automatically synchronized with EnumDefinitions.h
TO ADD AN ENUM:
add the corresponding lines to EnumDefinitions.h
Modified: issm/trunk/src/c/EnumDefinitions/Synchronize.sh
===================================================================
--- issm/trunk/src/c/EnumDefinitions/Synchronize.sh 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/EnumDefinitions/Synchronize.sh 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,31 +12,6 @@
#Get number of enums
NUMENUMS=$(wc -l temp | awk '{printf("%s",$1);}');
-#Take care of EnumToModelField.m first (easy)
-#Build EnumToModelField.m {{{1
-cat <<END > $ISSM_TIER/src/m/enum/EnumToModelField.m
-function string=EnumToModelField(enum)
-%ENUMTOMODELFIELD - output string of model field associated to enum
-%
-% WARNING: DO NOT MODIFY THIS FILE
-% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-% Please read src/c/EnumDefinitions/README for more information
-%
-% Usage:
-% string=EnumToModelField(enum)
-
-switch enum,
-
-END
-
-cat EnumToModelField.cpp | grep "case" | sed -e "s/Enum :/Enum(),/g" -e "s/\"/'/g" -e "s/return /string=/g" -e "s/;/; return/g" >> $ISSM_TIER/src/m/enum/EnumToModelField.m
-
-cat <<END >> $ISSM_TIER/src/m/enum/EnumToModelField.m
- otherwise, error(['Enum ' num2str(enum) ' not found associated to any model field']);
-
-end
-END
-#}}}
#Build EnumToStringx.cpp {{{1
#Header
cat <<END > $ISSM_TIER/src/c/modules/EnumToStringx/EnumToStringx.cpp
Modified: issm/trunk/src/c/Makefile.am
===================================================================
--- issm/trunk/src/c/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,5 @@
-INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@
+INCLUDES = @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @MPIINCL@ @MATLABINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @HYPREINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @GSLINCL@ @BOOSTINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@
+
EXEEXT=$(ISSMEXT)
#Library declaration {{{1
@@ -11,7 +12,7 @@
endif
else
if NOPARALLEL
-lib_LIBRARIES = libISSM.a libOverload.a
+lib_LIBRARIES = libISSM.a libOverload.a
else
lib_LIBRARIES = libISSM.a libpISSM.a libOverload.a
endif
@@ -20,7 +21,7 @@
#sources
#Core sources{{{1
-core_sources = ./include/macros.h\
+core_sources = ./include/macros.h\
./include/typedefs.h\
./include/types.h\
./include/include.h\
@@ -78,8 +79,6 @@
./objects/ExternalResults/IntExternalResult.cpp\
./objects/ExternalResults/StringExternalResult.h\
./objects/ExternalResults/StringExternalResult.cpp\
- ./objects/ExternalResults/PetscVecExternalResult.h\
- ./objects/ExternalResults/PetscVecExternalResult.cpp\
./objects/Elements/Tria.h\
./objects/Elements/Tria.cpp\
./objects/Elements/TriaHook.h\
@@ -119,6 +118,10 @@
./objects/Numerics/ElementMatrix.cpp\
./objects/Numerics/ElementVector.h\
./objects/Numerics/ElementVector.cpp\
+ ./objects/Numerics/Matrix.h\
+ ./objects/Numerics/Matrix.cpp\
+ ./objects/Numerics/Vector.h\
+ ./objects/Numerics/Vector.cpp\
./objects/Params/Param.h\
./objects/Params/BoolParam.cpp\
./objects/Params/BoolParam.h\
@@ -132,8 +135,6 @@
./objects/Params/DoubleParam.h\
./objects/Params/FileParam.cpp\
./objects/Params/FileParam.h\
- ./objects/Params/PetscMatParam.cpp\
- ./objects/Params/PetscMatParam.h\
./objects/Params/StringArrayParam.cpp\
./objects/Params/StringArrayParam.h\
./objects/Params/DoubleMatParam.cpp\
@@ -144,10 +145,12 @@
./objects/Params/DoubleMatArrayParam.h\
./objects/Params/DoubleVecParam.cpp\
./objects/Params/DoubleVecParam.h\
- ./objects/Params/PetscVecParam.cpp\
- ./objects/Params/PetscVecParam.h\
./objects/Params/StringParam.cpp\
./objects/Params/StringParam.h\
+ ./objects/Params/MatrixParam.h\
+ ./objects/Params/MatrixParam.cpp\
+ ./objects/Params/VectorParam.h\
+ ./objects/Params/VectorParam.cpp\
./Container/Container.h\
./Container/Constraints.h\
./Container/Constraints.cpp\
@@ -190,7 +193,7 @@
./shared/Numerics/extrema.cpp\
./shared/Numerics/XZvectorsToCoordinateSystem.cpp\
./shared/Numerics/UnitConversion.cpp\
- ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
+ ./shared/Numerics/OptionsFromAnalysis.cpp\
./shared/Exceptions/exceptions.h\
./shared/Exceptions/Exceptions.cpp\
./shared/Exceptions/exprintf.cpp\
@@ -203,48 +206,26 @@
./shared/Elements/GetLocalDofList.cpp\
./shared/Elements/GetGlobalDofList.cpp\
./shared/Elements/GetNumberOfDofs.cpp\
- ./shared/Elements/CoordinateSystemTransform.cpp\
./shared/String/sharedstring.h\
- ./toolkits/petsc\
- ./toolkits/petsc/patches\
- ./toolkits/petsc/patches/SolverEnum.h\
- ./toolkits/petsc/patches/petscpatches.h\
- ./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
- ./toolkits/petsc/patches/MatlabVectorToPetscVector.cpp\
- ./toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp\
- ./toolkits/petsc/patches/PetscVectorToMatlabVector.cpp\
- ./toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp\
- ./toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp\
- ./toolkits/petsc/patches/PetscDetermineLocalSize.cpp\
- ./toolkits/petsc/patches/VecTranspose.cpp\
- ./toolkits/petsc/patches/VecToMPISerial.cpp\
- ./toolkits/petsc/patches/MatToSerial.cpp\
- ./toolkits/petsc/patches/VecMerge.cpp\
- ./toolkits/petsc/patches/NewVec.cpp\
- ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
- ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
- ./toolkits/petsc/patches/NewMat.cpp\
- ./toolkits/petsc/patches/SerialToVec.cpp\
- ./toolkits/petsc/patches/VecFree.cpp\
- ./toolkits/petsc/patches/VecDuplicatePatch.cpp\
- ./toolkits/petsc/patches/KSPFree.cpp\
- ./toolkits/petsc/patches/ISFree.cpp\
- ./toolkits/petsc/patches/MatFree.cpp\
- ./toolkits/petsc/patches/GetOwnershipBoundariesFromRange.cpp\
- ./toolkits/petsc/patches/VecPartition.cpp\
- ./toolkits/petsc/patches/MatPartition.cpp\
- ./toolkits/petsc/patches/MatInvert.cpp\
- ./toolkits/petsc/patches/MatMultPatch.cpp\
- ./toolkits/petsc/petscincludes.h\
+ ./shared/Wrapper/wrappershared.h\
+ ./shared/Wrapper/ModuleBoot.cpp\
+ ./shared/Wrapper/ModuleEnd.cpp\
./toolkits/mpi/mpiincludes.h\
./toolkits/mpi/patches/mpipatches.h\
+ ./toolkits/mpi/patches/DetermineLocalSize.cpp\
./toolkits/mpi/patches/MPI_Upperrow.cpp\
./toolkits/mpi/patches/MPI_Lowerrow.cpp\
./toolkits/mpi/patches/MPI_Boundariesfromrange.cpp\
./toolkits/metis/metisincludes.h\
+ ./toolkits/issm/issmtoolkit.h\
+ ./toolkits/issm/SeqVec.h\
+ ./toolkits/issm/SeqVec.cpp\
+ ./toolkits/issm/SeqMat.h\
+ ./toolkits/issm/SeqMat.cpp\
./toolkits/metis/patches/metispatches.h\
./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp\
./toolkits/triangle/triangleincludes.h\
+ ./toolkitsenums.h\
./toolkits.h\
./io/io.h\
./io/Disk/diskio.h\
@@ -252,7 +233,6 @@
./io/Disk/pfclose.cpp\
./io/PrintfFunction.cpp\
./EnumDefinitions/EnumDefinitions.h\
- ./EnumDefinitions/EnumToModelField.cpp\
./modules/ModelProcessorx/ModelProcessorx.h\
./modules/ModelProcessorx/ModelProcessorx.cpp\
./modules/ModelProcessorx/DistributeNumDofs.cpp\
@@ -342,7 +322,6 @@
./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp\
./modules/Solverx/Solverx.cpp\
./modules/Solverx/Solverx.h\
- ./modules/Solverx/DofTypesToIndexSet.cpp\
./modules/VecMergex/VecMergex.cpp\
./modules/VecMergex/VecMergex.h\
./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp\
@@ -418,9 +397,7 @@
./modules/ResetConstraintsx/ThermalConstraintsReset.cpp
thermal_psources = ./solutions/thermal_core.cpp\
- ./solutions/thermal_core_step.cpp\
./solutions/enthalpy_core.cpp\
- ./solutions/enthalpy_core_step.cpp\
./solvers/solver_thermal_nonlinear.cpp
#}}}
#Control sources {{{1
@@ -472,7 +449,7 @@
./solutions/controltao_core.cpp\
./solutions/controlrestart.cpp\
./solutions/controlconvergence.cpp\
- ./solutions/objectivefunctionC.cpp\
+ ./solutions/objectivefunction.cpp\
./solutions/gradient_core.cpp\
./solutions/adjointdiagnostic_core.cpp\
./solutions/adjointbalancethickness_core.cpp\
@@ -502,6 +479,7 @@
./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp \
./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp \
./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp \
+ ./shared/Elements/CoordinateSystemTransform.cpp\
./shared/Elements/TransformLoadVectorCoord.cpp \
./shared/Elements/TransformStiffnessMatrixCoord.cpp \
./shared/Elements/TransformInvStiffnessMatrixCoord.cpp \
@@ -716,19 +694,65 @@
./objects/KML/KMLFileReadUtils.h
#}}}
#Matlab sources {{{1
-matlab_sources= ./shared/Matlab/matlabshared.h\
- ./shared/Matlab/ModuleBoot.cpp\
- ./shared/Matlab/ModuleEnd.cpp\
- ./shared/Matlab/mxGetAssignedField.cpp\
- ./shared/Matlab/mxGetField.cpp\
- ./shared/Matlab/CheckNumMatlabArguments.cpp\
- ./toolkits/matlab/matlabincludes.h\
+matlab_sources= ./toolkits/matlab/matlabincludes.h\
./toolkits/matlab/MatlabNArrayToNArray.cpp\
+ ./toolkits/double/MatlabVectorToDoubleVector.cpp\
+ ./toolkits/double/double.h\
+ ./toolkits/double/MatlabMatrixToDoubleMatrix.cpp\
./io/Matlab/matlabio.h\
+ ./io/Matlab/CheckNumMatlabArguments.cpp\
+ ./io/Matlab/mxGetAssignedField.cpp\
./io/Matlab/WriteMatlabData.cpp\
./io/Matlab/FetchMatlabData.cpp\
./io/Matlab/OptionParse.cpp
#}}}
+#Python sources {{{1
+python_sources= ./io/Python/pythonio.h\
+ ./io/Python/WritePythonData.cpp\
+ ./io/Python/CheckNumPythonArguments.cpp\
+ ./io/Python/FetchPythonData.cpp
+#}}}
+#Petsc sources {{{1
+petsc_sources= ./toolkits/petsc\
+ ./toolkits/petsc/patches\
+ ./toolkits/petsc/patches/SolverEnum.h\
+ ./toolkits/petsc/patches/petscpatches.h\
+ ./toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp\
+ ./toolkits/petsc/patches/MatlabVectorToPetscVector.cpp\
+ ./toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp\
+ ./toolkits/petsc/patches/PetscVectorToMatlabVector.cpp\
+ ./toolkits/petsc/patches/VecTranspose.cpp\
+ ./toolkits/petsc/patches/VecToMPISerial.cpp\
+ ./toolkits/petsc/patches/MatToSerial.cpp\
+ ./toolkits/petsc/patches/VecMerge.cpp\
+ ./toolkits/petsc/patches/NewVec.cpp\
+ ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp\
+ ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp\
+ ./toolkits/petsc/patches/NewMat.cpp\
+ ./toolkits/petsc/patches/SerialToVec.cpp\
+ ./toolkits/petsc/patches/VecFree.cpp\
+ ./toolkits/petsc/patches/VecDuplicatePatch.cpp\
+ ./toolkits/petsc/patches/KSPFree.cpp\
+ ./toolkits/petsc/patches/ISFree.cpp\
+ ./toolkits/petsc/patches/MatFree.cpp\
+ ./toolkits/petsc/patches/GetOwnershipBoundariesFromRange.cpp\
+ ./toolkits/petsc/patches/VecPartition.cpp\
+ ./toolkits/petsc/patches/MatPartition.cpp\
+ ./toolkits/petsc/patches/MatInvert.cpp\
+ ./toolkits/petsc/patches/MatMultPatch.cpp\
+ ./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp\
+ ./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp\
+ ./toolkits/petsc/patches/ISSMToPetscNormMode.cpp\
+ ./toolkits/petsc/petscincludes.h\
+ ./shared/Numerics/PetscOptionsFromAnalysis.cpp\
+ ./modules/Solverx/SolverxPetsc.cpp\
+ ./modules/Solverx/DofTypesToIndexSet.cpp
+
+#}}}
+#Gsl sources {{{1
+gsl_sources= ./modules/Solverx/SolverxGsl.cpp
+
+#}}}
#Serialsources {{{1
serial_sources= ./objects/Options/Option.cpp\
./objects/Options/Option.h\
@@ -768,6 +792,8 @@
./modules/Dakotax/SpawnCoreSerial.cpp\
./modules/TriaSearchx/TriaSearchx.h\
./modules/TriaSearchx/TriaSearchx.cpp\
+ ./modules/TriMeshx/TriMeshx.h\
+ ./modules/TriMeshx/TriMeshx.cpp\
./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h\
./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp\
./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp\
@@ -815,7 +841,8 @@
#}}}
#ISSM sources are a combination of core sources and sources related to specific capabilities (which can
-#be activated by autotools conditionals {{{1
+#be activated by autotools conditionals
+#{{{1
#First the core
issm_sources = $(core_sources)
@@ -827,6 +854,17 @@
issm_psources += $(dakota_psources)
endif
+if PETSC
+issm_sources += $(petsc_sources)
+issm_psources += $(petsc_psources)
+endif
+
+if GSL
+issm_sources += $(gsl_sources)
+issm_psources += $(gsl_psources)
+endif
+
+
if TRANSIENT
issm_sources += $(transient_sources)
issm_psources += $(transient_psources)
@@ -890,23 +928,31 @@
#}}}
#ISSM serial library {{{1
+if SERIAL
libISSM_a_SOURCES = $(issm_sources)
libISSM_a_SOURCES += $(serial_sources)
libISSM_a_SOURCES += $(bamg_sources)
libISSM_a_SOURCES += $(kml_sources)
+libISSM_a_CXXFLAGS = -fPIC -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ $(CXXFLAGS) $(CXXOPTFLAGS)
+#libISSM_a_CXXFLAGS = -D_SERIAL_ -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER $(CXXFLAGS) $(CXXOPTFLAGS)
+
+if PYTHON
+libISSM_a_CXXFLAGS+= -DNPY_NO_DEPRECATED_API
+libISSM_a_SOURCES += $(python_sources)
+endif
+
+if MATLAB
libISSM_a_SOURCES += $(matlab_sources)
+endif
-libISSM_a_CXXFLAGS = -fPIC -DMATLAB -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ $(CXXFLAGS) $(CXXOPTFLAGS)
-if LARGEARRAYS
-libISSM_a_CXXFLAGS += -D__GCC4BUILD__
-else
-libISSM_a_CXXFLAGS += -DMX_COMPAT_32
endif
#}}}
#ISSM parallel library {{{1
+if PARALLEL
libpISSM_a_SOURCES = $(issm_sources)
libpISSM_a_SOURCES += $(issm_psources)
libpISSM_a_CXXFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(CXXFLAGS) $(CXXOPTFLAGS)
+endif
#}}}
#Overload library, to overload any non-standard symbols. {{{1
libOverload_a_SOURCES = ./shared/String/stricmp.c
@@ -917,15 +963,48 @@
if NOPARALLEL
bin_PROGRAMS =
else
-bin_PROGRAMS = issm
+bin_PROGRAMS = issm
endif
#Standard libraries
-LDADD = ./libpISSM.a ./libOverload.a
+LDADD = ./libpISSM.a ./libOverload.a
#External packages
-LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(ADIC2LIB) $(OSLIBS)
+LDADD += $(PETSCLIB) $(TAOLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB)
issm_SOURCES = solutions/issm.cpp
-issm_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS)
+issm_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS)
#}}}
+#Automatic differentiation: append this fold to the end of the src/c/Makefile.am to get this Makefile.am {{{
+if ADIC2
+lib_LIBRARIES += libAD.a libpISSMRose.a
+
+#ADIC2 library, for automatic differentiation
+#libAD_a_SOURCES = ./mini1.ad.c
+libAD_a_SOURCES =
+libAD_a_CFLAGS = -fPIC -D_PARALLEL_ -D_C_ $(COPTFLAGS)
+
+
+
+#test rose preprocessing
+%.r2cpp.cpp : %.cpp
+ testTranslator -rose:o $@ -rose:skipfinalCompileStep -DHAVE_CONFIG_H -D_PARALLEL_ -D_C_ -I. -I../.. $(INCLUDES) $<
+libpISSMRose_a_SOURCES = $(libpISSM_a_SOURCES:.cpp=.r2cpp.cpp)
+libpISSMRose_a_CXXFLAGS= -fPIC -D_PARALLEL_ -D_C_ $(CXXOPTFLAGS)
+
+
+
+#Automatic differentiation rules:
+%.ad.c: %.c
+ adic2 -mforward $< --nary
+
+
+
+#Executable
+bin_PROGRAMS += issmRose.exe
+issmRose_exe_LDADD = ./libpISSMRose.a $(LDADD)
+issmRose_exe_SOURCES = solutions/issm.cpp
+issmRose_exe_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXOPTFLAGS) $(COPTFLAGS)
+LDADD += $(ADIC2LIB)
+
+endif #}}}
Modified: issm/trunk/src/c/include/globals.h
===================================================================
--- issm/trunk/src/c/include/globals.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/include/globals.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,7 @@
#ifndef GLOBALS_H_
#define GLOBALS_H_
-int my_rank;
-int num_procs;
+int my_rank=0;
+int num_procs=1;
#endif
Modified: issm/trunk/src/c/include/macros.h
===================================================================
--- issm/trunk/src/c/include/macros.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/include/macros.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -33,18 +33,21 @@
/*Assertion macro: do nothing if macro _ISSM_DEBUG_ undefined*/
#ifdef _ISSM_DEBUG_
#define _assert_(statement)\
- if (!(statement)) _error_("Assertion \"%s\" failed, please report bug to ISSM developers",#statement)
+ if (!(statement)) _error_("Assertion \"%s\" failed, please report bug to %s",#statement,PACKAGE_BUGREPORT)
#else
#define _assert_(ignore)\
((void) 0)
#endif
/*}}}*/
+
/* MODULEBOOT/MODULEEND {{{1*/
+
/*The following macros hide the error exception handling in a matlab module. Just put
* MODULEBOOT(); and MODULEEND(); at the beginning and end of a module, and c++ exceptions
* will be trapped. Really nifty!*/
+
#ifdef _SERIAL_
-
+#ifdef _HAVE_MATLAB_ //{{{2
#define MODULEBOOT(); ModuleBoot(); \
try{
@@ -57,9 +60,16 @@
_printf_(true,"Standard exception: %s\n",e.what());\
mexErrMsgTxt(" ");\
}
+#endif //}}}
+#ifdef _HAVE_PYTHON_ //{{{2
+#define MODULEBOOT(); ModuleBoot(); \
+ PyObject* output = PyTuple_New(NLHS); if (!output) return NULL;
+#define MODULEEND(); ModuleEnd(); \
+ return output;
+#endif //}}}
#else
-
+//{{{2
#define MODULEBOOT(); \
try{
@@ -72,7 +82,50 @@
_printf_(true,"Standard exception: %s\n",e.what());\
return 1;\
}
+//}}}
#endif
/*}}}*/
+/* WRAPPER {{{1*/
+#ifdef _HAVE_MATLAB_
+#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
+#endif
+#ifdef _HAVE_PYTHON_
+#define WRAPPER(modulename,...) \
+\
+static PyObject* modulename(PyObject* self,PyObject* args);\
+static PyMethodDef modulename##_funcs[] = {\
+ {#modulename, (PyCFunction)modulename, METH_VARARGS, ""},\
+ {NULL,NULL,0,NULL}\
+};\
+\
+static struct PyModuleDef modulename##module= {\
+ PyModuleDef_HEAD_INIT,\
+ #modulename, /* name of module */\
+ NULL, /* module documentation, may be NULL */\
+ -1, /* size of per-interpreter state of the module,\
+ or -1 if the module keeps state in global variables. */\
+ modulename##_funcs\
+};\
+\
+PyMODINIT_FUNC PyInit_##modulename(void){\
+\
+ import_array();\
+ return PyModule_Create(&modulename##module);\
+}\
+\
+static PyObject* modulename(PyObject* self,PyObject* args)
#endif
+
+/*}}}*/
+/* CHECKARGUMENTS {{{1*/
+#ifdef _HAVE_MATLAB_
+#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,functionpointer)
+#endif
+#ifdef _HAVE_PYTHON_
+#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumPythonArguments(args, NRHS,functionpointer)
+#endif
+/*}}}*/
+
+
+#endif
Modified: issm/trunk/src/c/include/types.h
===================================================================
--- issm/trunk/src/c/include/types.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/include/types.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#include <stdio.h>
/*Define abstract type for I/O: */
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
typedef const mxArray* ConstDataHandle; //serially, we are reading data from a matlab array.
typedef mxArray* DataHandle;
Copied: issm/trunk/src/c/io/Matlab/CheckNumMatlabArguments.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Matlab/CheckNumMatlabArguments.cpp)
===================================================================
--- issm/trunk/src/c/io/Matlab/CheckNumMatlabArguments.cpp (rev 0)
+++ issm/trunk/src/c/io/Matlab/CheckNumMatlabArguments.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,35 @@
+/*!\file CheckNumMatlabArguments.cpp:
+ * \brief: check number of arguments and report an usage error message.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+
+#include "../../shared/Exceptions/exceptions.h"
+#include "../../include/include.h"
+#include "mex.h"
+
+int CheckNumMatlabArguments(int nlhs,int NLHS, int nrhs,int NRHS, const char* __FUNCT__, void (*function)( void )){
+
+ /*checks on arguments on the matlab side: */
+ if (nrhs==0 && nlhs==0) {
+ /*unless NLHS=0 and NRHS=0, we are just asking for documentation: */
+ if (NRHS==0 && NLHS==0)return 1;
+ /* special case: */
+ function();
+ _error_("usage: see above");
+ }
+ else if (nlhs!=NLHS || nrhs!=NRHS ) {
+ function();
+ _error_("usage error.");
+ }
+ return 1;
+}
+
+#endif
Modified: issm/trunk/src/c/io/Matlab/FetchMatlabData.cpp
===================================================================
--- issm/trunk/src/c/io/Matlab/FetchMatlabData.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Matlab/FetchMatlabData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-/*\file FetchMatlabData.cpp:
+/*\file FetchData.cpp:
* \brief: general I/O interface to fetch data in matlab
*/
@@ -11,10 +11,10 @@
#include "../../shared/shared.h"
#include "../../include/include.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
-/*FUNCTION FetchMatlabData(DataSet** pdataset,const mxArray* dataref){{{1*/
-void FetchMatlabData(DataSet** pdataset,const mxArray* dataref){
+/*FUNCTION FetchData(DataSet** pdataset,const mxArray* dataref){{{1*/
+void FetchData(DataSet** pdataset,const mxArray* dataref){
/*output*/
DataSet* outdataset=NULL;
@@ -47,8 +47,8 @@
*pdataset=outdataset;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(double** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
-void FetchMatlabData(double** pmatrix,int* pM,int *pN,const mxArray* dataref){
+/*FUNCTION FetchData(double** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
+void FetchData(double** pmatrix,int* pM,int *pN,const mxArray* dataref){
double* outmatrix=NULL;
int outmatrix_rows,outmatrix_cols;
@@ -59,8 +59,7 @@
outmatrix_cols=0;
outmatrix=NULL;
}
- else if (mxIsClass(dataref,"double") ){
-
+ else if(mxIsClass(dataref,"double") || mxIsClass(dataref,"single")){
/*Check dataref is not pointing to NaN: */
if ( mxIsNaN(*(mxGetPr(dataref))) && (mxGetM(dataref)==1) && (mxGetN(dataref)==1) ){
outmatrix_rows=0;
@@ -68,7 +67,6 @@
outmatrix=NULL;
}
else{
-
/*Convert matlab matrix to double* matrix: */
MatlabMatrixToDoubleMatrix(&outmatrix,&outmatrix_rows,&outmatrix_cols,dataref);
}
@@ -85,8 +83,8 @@
}
/*}}}*/
-/*FUNCTION FetchMatlabData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
-void FetchMatlabData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
+/*FUNCTION FetchData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
+void FetchData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
double* outmatrix=NULL;
int outmatrix_numel,outmatrix_ndims;
@@ -128,8 +126,8 @@
}
/*}}}*/
-/*FUNCTION FetchMatlabData(int** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
-void FetchMatlabData(int** pmatrix,int* pM,int *pN,const mxArray* dataref){
+/*FUNCTION FetchData(int** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
+void FetchData(int** pmatrix,int* pM,int *pN,const mxArray* dataref){
int i,outmatrix_rows,outmatrix_cols;
double *doublematrix=NULL;
@@ -170,8 +168,8 @@
if (pN)*pN=outmatrix_cols;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
-void FetchMatlabData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref){
+/*FUNCTION FetchData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref){{{1*/
+void FetchData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref){
int i,outmatrix_rows,outmatrix_cols;
double *doublematrix=NULL;
@@ -212,8 +210,8 @@
if (pN)*pN=outmatrix_cols;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
-void FetchMatlabData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
+/*FUNCTION FetchData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
+void FetchData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
int i;
int outmatrix_numel,outmatrix_ndims;
@@ -277,23 +275,17 @@
}
/*}}}*/
-/*FUNCTION FetchMatlabData(Mat* pmatrix,const mxArray* dataref){{{1*/
-void FetchMatlabData(Mat* pmatrix,const mxArray* dataref){
+/*FUNCTION FetchData(Matrix** pmatrix,const mxArray* dataref){{{1*/
+void FetchData(Matrix** pmatrix,const mxArray* dataref){
- Mat outmatrix=NULL;
+ Matrix* outmatrix=NULL;
int dummy=0;
if (mxIsClass(dataref,"double") ){
+
+ /*Convert matlab matrix to matrix: */
+ outmatrix=MatlabMatrixToMatrix(dataref);
- /*Check dataref is not pointing to NaN: */
- if ( mxIsNaN(*(mxGetPr(dataref))) && (mxGetM(dataref)==1) && (mxGetN(dataref)==1) ){
- outmatrix=NULL;
- }
- else{
-
- /*Convert matlab matrix to petsc matrix: */
- MatlabMatrixToPetscMatrix(&outmatrix,&dummy,&dummy,dataref);
- }
}
else{
/*This is an error: we don't have the correct input!: */
@@ -304,8 +296,8 @@
*pmatrix=outmatrix;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(double** pvector,int* pM,const mxArray* dataref){{{1*/
-void FetchMatlabData(double** pvector,int* pM,const mxArray* dataref){
+/*FUNCTION FetchData(double** pvector,int* pM,const mxArray* dataref){{{1*/
+void FetchData(double** pvector,int* pM,const mxArray* dataref){
double* outvector=NULL;
int outvector_rows;
@@ -331,8 +323,8 @@
if (pM)*pM=outvector_rows;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(int** pvector,int* pM,const mxArray* dataref){{{1*/
-void FetchMatlabData(int** pvector,int* pM,const mxArray* dataref){
+/*FUNCTION FetchData(int** pvector,int* pM,const mxArray* dataref){{{1*/
+void FetchData(int** pvector,int* pM,const mxArray* dataref){
int i;
double *doublevector = NULL;
@@ -363,8 +355,8 @@
if (pM)*pM=outvector_rows;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(bool** pvector,int* pM,const mxArray* dataref){{{1*/
-void FetchMatlabData(bool** pvector,int* pM,const mxArray* dataref){
+/*FUNCTION FetchData(bool** pvector,int* pM,const mxArray* dataref){{{1*/
+void FetchData(bool** pvector,int* pM,const mxArray* dataref){
int i;
double *doublevector = NULL;
@@ -395,8 +387,8 @@
if (pM)*pM=outvector_rows;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(float** pvector,int* pM,const mxArray* dataref){{{1*/
-void FetchMatlabData(float** pvector,int* pM,const mxArray* dataref){
+/*FUNCTION FetchData(float** pvector,int* pM,const mxArray* dataref){{{1*/
+void FetchData(float** pvector,int* pM,const mxArray* dataref){
int i;
double *doublevector = NULL;
@@ -427,20 +419,20 @@
if (pM)*pM=outvector_rows;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(Vec* pvector,const mxArray* dataref){{{1*/
-void FetchMatlabData(Vec* pvector,const mxArray* dataref){
-
- Vec vector=NULL;
+/*FUNCTION FetchData(Vector** pvector,const mxArray* dataref){{{1*/
+void FetchData(Vector** pvector,const mxArray* dataref){
+
+ Vector* vector=NULL;
int dummy;
if(mxIsEmpty(dataref)){
/*Nothing to pick up. Just initialize matrix pointer to NULL: */
- vector=NULL;
+ vector=new Vector(0);
}
else if (mxIsClass(dataref,"double") ){
/*Convert matlab vector to petsc vector: */
- MatlabVectorToPetscVector(&vector,&dummy,dataref);
+ vector=MatlabVectorToVector(dataref);
}
else{
/*This is an error: we don't have the correct input!: */
@@ -451,8 +443,8 @@
*pvector=vector;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(char** pstring,const mxArray* dataref){{{1*/
-void FetchMatlabData(char** pstring,const mxArray* dataref){
+/*FUNCTION FetchData(char** pstring,const mxArray* dataref){{{1*/
+void FetchData(char** pstring,const mxArray* dataref){
char* outstring=NULL;
@@ -473,8 +465,8 @@
/*Assign output pointers:*/
*pstring=outstring;
}
-/*FUNCTION FetchMatlabData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
-void FetchMatlabData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
+/*FUNCTION FetchData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){{{1*/
+void FetchData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref){
int outmatrix_numel,outmatrix_ndims;
int* outmatrix_size=NULL;
@@ -516,8 +508,8 @@
}
/*}}}*/
-/*FUNCTION FetchMatlabData(double* pscalar,const mxArray* dataref){{{1*/
-void FetchMatlabData(double* pscalar,const mxArray* dataref){
+/*FUNCTION FetchData(double* pscalar,const mxArray* dataref){{{1*/
+void FetchData(double* pscalar,const mxArray* dataref){
double scalar;
@@ -533,8 +525,8 @@
*pscalar=scalar;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(int* pinteger,const mxArray* dataref){{{1*/
-void FetchMatlabData(int* pinteger,const mxArray* dataref){
+/*FUNCTION FetchData(int* pinteger,const mxArray* dataref){{{1*/
+void FetchData(int* pinteger,const mxArray* dataref){
int integer;
@@ -550,8 +542,8 @@
*pinteger=integer;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(bool* pboolean,const mxArray* dataref){{{1*/
-void FetchMatlabData(bool* pboolean,const mxArray* dataref){
+/*FUNCTION FetchData(bool* pboolean,const mxArray* dataref){{{1*/
+void FetchData(bool* pboolean,const mxArray* dataref){
bool* mxbool_ptr=NULL;
@@ -567,8 +559,8 @@
*pboolean=*mxbool_ptr;
}
/*}}}*/
-/*FUNCTION FetchMatlabData(Parameters** pparameters, DataHandle dataref){{{1*/
-void FetchMatlabData(Parameters** pparameters, DataHandle dataref){
+/*FUNCTION FetchData(Parameters** pparameters, DataHandle dataref){{{1*/
+void FetchData(Parameters** pparameters, DataHandle dataref){
int i,j;
int count;
@@ -610,12 +602,11 @@
/*Check type of field: */
if (mxIsClass(pfield,"double")){
- /*could be DOUBLE, DOUBLEVEC or DOUBLEMAT, depends on dimensions: */
M=mxGetM(pfield);
N=mxGetN(pfield);
if (M==0 | N==0){
- _error_("%s%i (%s) %s%i%s%i%s","array in parameters structure field ",count,name," is of size (",M,",",N,")");
+ _error_("array in parameters structure field %s is of size 0",name);
}
if (M==1 && N==1){
/*we have a simple scalar: */
@@ -650,6 +641,24 @@
}
}
+ else if (mxIsClass(pfield,"logical")){
+
+ M=mxGetM(pfield);
+ N=mxGetN(pfield);
+
+ if (M==0 | N==0){
+ _error_("array in parameters structure field %s is of size 0",name);
+ }
+ if (M==1 && N==1){
+ /*we have a simple bool: */
+ param= new BoolParam(enum_type,*mxGetLogicals(pfield));
+ parameters->AddObject(param);
+
+ }
+ else{
+ _error_("Matrices of Booleans not supported yet in parameters");
+ }
+ }
else if (mxIsClass(pfield,"char")){
/* we have a string parameter:*/
@@ -679,7 +688,7 @@
for(i=0;i<M;i++){
char* descriptor=NULL;
pfield2=mxGetCell(pfield,i);
- FetchMatlabData(&descriptor,pfield2);
+ FetchData(&descriptor,pfield2);
stringarray[i]=descriptor;
}
@@ -706,7 +715,7 @@
double* matrix=NULL;
int m,n;
pfield2=mxGetCell(pfield,i);
- FetchMatlabData(&matrix,&m,&n,pfield2);
+ FetchData(&matrix,&m,&n,pfield2);
array[i]=matrix;
mdims_array[i]=m;
ndims_array[i]=n;
@@ -725,12 +734,11 @@
xfree((void**)&ndims_array);
}
}
- else _error_("%s%i","unknow type in parameters structure field ",i);
+ else _error_("Parameters structure field %s has a format that is not supported: %s",name,mxGetClassName(pfield));
}
/*Assign output pointers:*/
*pparameters=parameters;
-
}
/*}}}*/
#endif
Modified: issm/trunk/src/c/io/Matlab/OptionParse.cpp
===================================================================
--- issm/trunk/src/c/io/Matlab/OptionParse.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Matlab/OptionParse.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
#include "../../include/include.h"
#include "./matlabio.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
/*FUNCTION OptionDoubleParse {{{1*/
@@ -30,7 +30,7 @@
_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",odouble->name,"double",odouble->name,mxGetClassName(prhs[0]));
}
- FetchMatlabData(&odouble->values,&odouble->numel,&odouble->ndims,&odouble->size,prhs[0]);
+ FetchData(&odouble->values,&odouble->numel,&odouble->ndims,&odouble->size,prhs[0]);
return(odouble);
}/*}}}*/
@@ -49,7 +49,7 @@
_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ological->name,"logical",ological->name,mxGetClassName(prhs[0]));
}
- FetchMatlabData(&ological->values,&ological->numel,&ological->ndims,&ological->size,prhs[0]);
+ FetchData(&ological->values,&ological->numel,&ological->ndims,&ological->size,prhs[0]);
return(ological);
}/*}}}*/
@@ -68,7 +68,7 @@
_error_("Value of option \"%s\" must be class \"%s\", not class \"%s\".",ochar->name,"char",ochar->name,mxGetClassName(prhs[0]));
}
- FetchMatlabData(&ochar->values,&ochar->numel,&ochar->ndims,&ochar->size,prhs[0]);
+ FetchData(&ochar->values,&ochar->numel,&ochar->ndims,&ochar->size,prhs[0]);
return(ochar);
}/*}}}*/
Copied: issm/trunk/src/c/io/Matlab/PrintfFunction.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Matlab/PrintfFunction.cpp)
===================================================================
--- issm/trunk/src/c/io/Matlab/PrintfFunction.cpp (rev 0)
+++ issm/trunk/src/c/io/Matlab/PrintfFunction.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,64 @@
+/*\file PrintfFunction.c
+ *\brief: this function is used by the _printf_ macro, to take into account the
+ *fact we may be running on a cluster.
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+#endif
+
+int PrintfFunction(char* format,...){
+ /*http://linux.die.net/man/3/vsnprintf*/
+
+ /*string to be printed: */
+ char *buffer = NULL;
+ int n,size = 100;
+ int string_size;
+ extern int my_rank;
+ extern int num_procs;
+
+ //variable list of arguments
+ va_list args;
+
+ while(true){
+
+ /*allocate buffer for given string size*/
+ buffer=(char*)xmalloc(size*sizeof(char));
+
+ /* Try to print in the allocated space. */
+ va_start(args, format);
+#ifndef WIN32
+ n=vsnprintf(buffer,size,format,args);
+#else
+ n=vsnprintf(buffer,size,format,args);
+#endif
+ va_end(args);
+
+ /* If that worked, return the string. */
+ if(n>-1 && n<size) break;
+
+ /* Else try again with more space. */
+ if(n>-1) /* glibc 2.1 */
+ size=n+1; /* precisely what is needed */
+ else /* glibc 2.0 */
+ size*=2; /* twice the old size */
+
+ xfree((void**)&buffer);
+ }
+
+ /*Ok, if we are running in parallel, get node 0 to print*/
+#if defined(_PARALLEL_)
+ if(my_rank==0)printf(buffer);
+#else
+ mexPrintf(buffer);
+#endif
+
+ /*Clean up and return*/
+ xfree((void**)&buffer);
+ return 1;
+}
Modified: issm/trunk/src/c/io/Matlab/WriteMatlabData.cpp
===================================================================
--- issm/trunk/src/c/io/Matlab/WriteMatlabData.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Matlab/WriteMatlabData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-/* \file WriteMatlabData.c:
+/* \file WriteData.c:
* \brief: general interface for writing data
*/
@@ -11,11 +11,11 @@
#include "../../include/include.h"
#include "../../shared/shared.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
-/*FUNCTION WriteMatlabData(mxArray** pdataref,DataSet* dataset){{{1*/
-void WriteMatlabData(mxArray** pdataref,DataSet* dataset){
+/*FUNCTION WriteData(mxArray** pdataref,DataSet* dataset){{{1*/
+void WriteData(mxArray** pdataref,DataSet* dataset){
mxArray* dataref=NULL;
char* marshalled_dataset=NULL;
@@ -40,15 +40,15 @@
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,Mat matrix){{{1*/
-void WriteMatlabData(mxArray** pdataref,Mat matrix){
+/*FUNCTION WriteData(mxArray** pdataref,Matrix* matrix){{{1*/
+void WriteData(mxArray** pdataref,Matrix* matrix){
mxArray* dataref=NULL;
if(matrix){
/*call toolkit routine: */
- PetscMatrixToMatlabMatrix(&dataref,matrix);
+ dataref=matrix->ToMatlabMatrix();
}
else{
dataref = mxCreateDoubleMatrix(0,0,mxREAL);
@@ -57,8 +57,8 @@
*pdataref=dataref;
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,double* matrix, int M,int N){{{1*/
-void WriteMatlabData(mxArray** pdataref,double* matrix, int M,int N){
+/*FUNCTION WriteData(mxArray** pdataref,double* matrix, int M,int N){{{1*/
+void WriteData(mxArray** pdataref,double* matrix, int M,int N){
mxArray* dataref=NULL;
mxArray* tdataref=NULL;
@@ -80,8 +80,8 @@
*pdataref=dataref;
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,int* matrix, int M,int N){{{1*/
-void WriteMatlabData(mxArray** pdataref,int* matrix, int M,int N){
+/*FUNCTION WriteData(mxArray** pdataref,int* matrix, int M,int N){{{1*/
+void WriteData(mxArray** pdataref,int* matrix, int M,int N){
mxArray* dataref=NULL;
mxArray* tdataref=NULL;
@@ -107,15 +107,14 @@
*pdataref=dataref;
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,Vec vector){{{1*/
-void WriteMatlabData(mxArray** pdataref,Vec vector){
+/*FUNCTION WriteData(mxArray** pdataref,Vector* vector){{{1*/
+void WriteData(mxArray** pdataref,Vector* vector){
mxArray* dataref=NULL;
if(vector){
-
/*call toolkit routine: */
- PetscVectorToMatlabVector(&dataref,vector);
+ dataref=vector->ToMatlabVector();
}
else{
dataref = mxCreateDoubleMatrix(0,0,mxREAL);
@@ -124,8 +123,8 @@
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,double* vector, int M){{{1*/
-void WriteMatlabData(mxArray** pdataref,double* vector, int M){
+/*FUNCTION WriteData(mxArray** pdataref,double* vector, int M){{{1*/
+void WriteData(mxArray** pdataref,double* vector, int M){
mxArray* dataref=NULL;
@@ -144,34 +143,34 @@
*pdataref=dataref;
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,double scalar){{{1*/
-void WriteMatlabData(mxArray** pdataref,double scalar){
+/*FUNCTION WriteData(mxArray** pdataref,double scalar){{{1*/
+void WriteData(mxArray** pdataref,double scalar){
*pdataref=mxCreateDoubleScalar(scalar);
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,int integer){{{1*/
-void WriteMatlabData(mxArray** pdataref,int integer){
+/*FUNCTION WriteData(mxArray** pdataref,int integer){{{1*/
+void WriteData(mxArray** pdataref,int integer){
*pdataref=mxCreateDoubleScalar((double)integer);
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,int boolean){{{1*/
-void WriteMatlabData(mxArray** pdataref,bool boolean){
+/*FUNCTION WriteData(mxArray** pdataref,int boolean){{{1*/
+void WriteData(mxArray** pdataref,bool boolean){
*pdataref=mxCreateDoubleScalar((double)boolean);
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,char* string){{{1*/
-void WriteMatlabData(mxArray** pdataref,char* string){
+/*FUNCTION WriteData(mxArray** pdataref,char* string){{{1*/
+void WriteData(mxArray** pdataref,char* string){
*pdataref=mxCreateString(string);
}
/*}}}*/
-/*FUNCTION WriteMatlabData(mxArray** pdataref,Parameters* parameters){{{1*/
-void WriteMatlabData(mxArray** pdataref,Parameters* parameters){
+/*FUNCTION WriteData(mxArray** pdataref,Parameters* parameters){{{1*/
+void WriteData(mxArray** pdataref,Parameters* parameters){
int i;
Modified: issm/trunk/src/c/io/Matlab/matlabio.h
===================================================================
--- issm/trunk/src/c/io/Matlab/matlabio.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Matlab/matlabio.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,6 +5,12 @@
#ifndef _MATLAB_IO_H_
#define _MATLAB_IO_H_
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
#include "../../objects/objects.h"
#include "../../Container/Container.h"
#include "../../include/include.h"
@@ -12,38 +18,38 @@
class DataSet;
class Parameters;
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
-void WriteMatlabData(mxArray** pdataref,DataSet* dataset);
-void WriteMatlabData(mxArray** pdataref,Mat matrix);
-void WriteMatlabData(mxArray** pdataref,double* matrix, int M,int N);
-void WriteMatlabData(mxArray** pdataref,int* matrix, int M,int N);
-void WriteMatlabData(mxArray** pdataref,Vec vector);
-void WriteMatlabData(mxArray** pdataref,double* vector, int M);
-void WriteMatlabData(mxArray** pdataref,int integer);
-void WriteMatlabData(mxArray** pdataref,bool boolean);
-void WriteMatlabData(mxArray** pdataref,double scalar);
-void WriteMatlabData(mxArray** pdataref,char* string);
-void WriteMatlabData(DataHandle* pdataref,Parameters* parameters);
+void WriteData(mxArray** pdataref,DataSet* dataset);
+void WriteData(mxArray** pdataref,Matrix* matrix);
+void WriteData(mxArray** pdataref,double* matrix, int M,int N);
+void WriteData(mxArray** pdataref,int* matrix, int M,int N);
+void WriteData(mxArray** pdataref,Vector* vector);
+void WriteData(mxArray** pdataref,double* vector, int M);
+void WriteData(mxArray** pdataref,int integer);
+void WriteData(mxArray** pdataref,bool boolean);
+void WriteData(mxArray** pdataref,double scalar);
+void WriteData(mxArray** pdataref,char* string);
+void WriteData(DataHandle* pdataref,Parameters* parameters);
-void FetchMatlabData(DataSet** pdataset,const mxArray* dataref);
-void FetchMatlabData(double** pmatrix,int* pM,int *pN,const mxArray* dataref);
-void FetchMatlabData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-void FetchMatlabData(int** pmatrix,int* pM,int *pN,const mxArray* dataref);
-void FetchMatlabData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref);
-void FetchMatlabData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-void FetchMatlabData(Mat* pmatrix,const mxArray* dataref);
-void FetchMatlabData(int** pvector,int* pM,const mxArray* dataref);
-void FetchMatlabData(float** pvector,int* pM,const mxArray* dataref);
-void FetchMatlabData(double** pvector,int* pM,const mxArray* dataref);
-void FetchMatlabData(bool** pvector,int* pM,const mxArray* dataref);
-void FetchMatlabData(Vec* pvector,const mxArray* dataref);
-void FetchMatlabData(char** pstring,const mxArray* dataref);
-void FetchMatlabData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-void FetchMatlabData(double* pscalar,const mxArray* dataref);
-void FetchMatlabData(int* pinteger,const mxArray* dataref);
-void FetchMatlabData(bool* pbool,const mxArray* dataref);
-void FetchMatlabData(Parameters** pparameters, DataHandle dataref);
+void FetchData(DataSet** pdataset,const mxArray* dataref);
+void FetchData(double** pmatrix,int* pM,int *pN,const mxArray* dataref);
+void FetchData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+void FetchData(int** pmatrix,int* pM,int *pN,const mxArray* dataref);
+void FetchData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref);
+void FetchData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+void FetchData(Matrix** pmatrix,const mxArray* dataref);
+void FetchData(int** pvector,int* pM,const mxArray* dataref);
+void FetchData(float** pvector,int* pM,const mxArray* dataref);
+void FetchData(double** pvector,int* pM,const mxArray* dataref);
+void FetchData(bool** pvector,int* pM,const mxArray* dataref);
+void FetchData(Vector** pvector,const mxArray* dataref);
+void FetchData(char** pstring,const mxArray* dataref);
+void FetchData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+void FetchData(double* pscalar,const mxArray* dataref);
+void FetchData(int* pinteger,const mxArray* dataref);
+void FetchData(bool* pbool,const mxArray* dataref);
+void FetchData(Parameters** pparameters, DataHandle dataref);
Option* OptionParse(char* name, const mxArray* prhs[]);
OptionDouble* OptionDoubleParse( char* name, const mxArray* prhs[]);
@@ -51,5 +57,9 @@
OptionChar* OptionCharParse( char* name, const mxArray* prhs[]);
OptionStruct* OptionStructParse( char* name, const mxArray* prhs[]);
OptionCell* OptionCellParse( char* name, const mxArray* prhs[]);
+
+mxArray* mxGetAssignedField(const mxArray* pmxa_array,int number, const char* field);
+int CheckNumMatlabArguments(int nlhs,int NLHS, int nrhs,int NRHS, const char* THISFUNCTION, void (*function)( void ));
+
#endif
#endif /* _IO_H_ */
Copied: issm/trunk/src/c/io/Matlab/mxGetAssignedField.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Matlab/mxGetAssignedField.cpp)
===================================================================
--- issm/trunk/src/c/io/Matlab/mxGetAssignedField.cpp (rev 0)
+++ issm/trunk/src/c/io/Matlab/mxGetAssignedField.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,47 @@
+/*!\file: mxGetAssignedField.c:
+ * \brief: abstract interface on parallel side for i/o, so it ressembles the serial i/o.
+ *
+ * In serial mode, this routine takes care of returning the field coming
+ * from the model. If largesize is 1, we are running out of core models in
+ * matlab, and we need to call the subsref private method from the model object
+ * in order to correctly load the data from disk.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#else
+#error "Cannot compile without HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+
+mxArray* mxGetAssignedField(const mxArray* pmxa_array,int number,const char* field){
+
+ //output
+ mxArray* mxfield=NULL;
+
+ //input
+ mxArray *inputs[2];
+ mxArray *pindex = NULL;
+ const char *fnames[2];
+ mwSize ndim = 2;
+ mwSize onebyone[2] = {1,1};
+
+ //We want to call the subsasgn method, and get the returned array.This ensures that if we are running
+ //large sized problems, the data is truly loaded from disk by the model subsasgn class method.
+ inputs[0]=(mxArray*)pmxa_array; //this is the model
+
+ //create index structure used in the assignment (index.type='.' and index.subs='x' for field x for ex)
+ fnames[0] = "type";
+ fnames[1] = "subs";
+ pindex=mxCreateStructArray( ndim,onebyone,2,fnames);
+ mxSetField( pindex, 0, "type",mxCreateString("."));
+ mxSetField( pindex, 0, "subs",mxCreateString(field));
+ inputs[1]=pindex;
+
+ mexCallMATLAB( 1, &mxfield, 2, (mxArray**)inputs, "subsref");
+
+ return mxfield;
+}
+#endif
Modified: issm/trunk/src/c/io/PrintfFunction.cpp
===================================================================
--- issm/trunk/src/c/io/PrintfFunction.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/PrintfFunction.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../shared/shared.h"
#include "../include/include.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "mex.h"
#endif
@@ -52,10 +52,10 @@
}
/*Ok, if we are running in parallel, get node 0 to print*/
-#if defined(_PARALLEL_)
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mexPrintf(buffer);
+#else
if(my_rank==0)printf(buffer);
-#else
- mexPrintf(buffer);
#endif
/*Clean up and return*/
Deleted: issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp
===================================================================
--- issm/trunk-jpl/src/c/io/Python/CheckNumPythonArguments.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,40 +0,0 @@
-/*!\file CheckNumPythonArguments.cpp:
- * \brief: check number of arguments and report an usage error message.
- */
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
-
-#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
-#define NO_IMPORT
-
-#include "../../toolkits/toolkits.h"
-#include "../../shared/Exceptions/exceptions.h"
-#include "../../include/include.h"
-
-int CheckNumPythonArguments(PyObject* inputs,int NRHS, void (*function)( void )){
-
- Py_ssize_t size=0;
-
- /*figure out size of tuple in input: */
- size=PyTuple_Size(inputs);
-
- /*check on requested size: */
- if (size==0){
- function();
- _error_("usage: see above");
- }
- else if (size!=NRHS ) {
- function();
- _error_("usage error.");
- }
- return 1;
-}
-
-#endif
Copied: issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Python/CheckNumPythonArguments.cpp)
===================================================================
--- issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp (rev 0)
+++ issm/trunk/src/c/io/Python/CheckNumPythonArguments.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,40 @@
+/*!\file CheckNumPythonArguments.cpp:
+ * \brief: check number of arguments and report an usage error message.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+
+#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
+#define NO_IMPORT
+
+#include "../../toolkits/toolkits.h"
+#include "../../shared/Exceptions/exceptions.h"
+#include "../../include/include.h"
+
+int CheckNumPythonArguments(PyObject* inputs,int NRHS, void (*function)( void )){
+
+ Py_ssize_t size=0;
+
+ /*figure out size of tuple in input: */
+ size=PyTuple_Size(inputs);
+
+ /*check on requested size: */
+ if (size==0){
+ function();
+ _error_("usage: see above");
+ }
+ else if (size!=NRHS ) {
+ function();
+ _error_("usage error.");
+ }
+ return 1;
+}
+
+#endif
Deleted: issm/trunk/src/c/io/Python/FetchPythonData.cpp
===================================================================
--- issm/trunk-jpl/src/c/io/Python/FetchPythonData.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Python/FetchPythonData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,74 +0,0 @@
-/*\file FetchData.cpp:
- * \brief: general I/O interface to fetch data in python
- */
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
-#define NO_IMPORT
-
-#include "../../toolkits/toolkits.h"
-#include "../../include/include.h"
-#include "../../shared/shared.h"
-
-#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
-/*FUNCTION FetchData(char** pstring,PyObject* py_unicode){{{1*/
-void FetchData(char** pstring,PyObject* py_unicode){
-
- PyObject* py_bytes;
- char* string=NULL;
-
-
- /*convert to bytes format: */
- PyUnicode_FSConverter(py_unicode,&py_bytes);
-
- /*convert from bytes to string: */
- string=PyBytes_AS_STRING(py_bytes);
-
- *pstring=string;
-}
-/*FUNCTION FetchData(double* pscalar,PyObject* py_float){{{1*/
-void FetchData(double* pscalar,PyObject* py_float){
-
- double scalar;
-
- /*return internal value: */
- scalar=PyFloat_AsDouble(py_float);
-
- /*output: */
- *pscalar=scalar;
-}
-/*}}}*/
-/*FUNCTION FetchData(int* pinteger,PyObject* py_long){{{1*/
-void FetchData(int* pinteger, PyObject* py_long){
-
- int integer;
-
- /*return internal value: */
- integer=(int)PyLong_AsLong(py_long);
-
- /*output: */
- *pinteger=integer;
-}
-/*}}}*/
-/*FUNCTION FetchData(bool* pboolean,PyObject* py_boolean){{{1*/
-void FetchData(bool* pboolean,PyObject* py_boolean){
-
- bool boolean;
-
- /*check this is indeed a subtype of long type: */
- if(!PyBool_Check(py_boolean))_error_("expecting a boolean in input!");
-
- /*extract boolean: */
- boolean=(bool)PyLong_AsLong(py_boolean);
-
- /*simple copy: */
- *pboolean=boolean;
-
-}
-/*}}}*/
-#endif
Copied: issm/trunk/src/c/io/Python/FetchPythonData.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Python/FetchPythonData.cpp)
===================================================================
--- issm/trunk/src/c/io/Python/FetchPythonData.cpp (rev 0)
+++ issm/trunk/src/c/io/Python/FetchPythonData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,74 @@
+/*\file FetchData.cpp:
+ * \brief: general I/O interface to fetch data in python
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
+#define NO_IMPORT
+
+#include "../../toolkits/toolkits.h"
+#include "../../include/include.h"
+#include "../../shared/shared.h"
+
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+/*FUNCTION FetchData(char** pstring,PyObject* py_unicode){{{1*/
+void FetchData(char** pstring,PyObject* py_unicode){
+
+ PyObject* py_bytes;
+ char* string=NULL;
+
+
+ /*convert to bytes format: */
+ PyUnicode_FSConverter(py_unicode,&py_bytes);
+
+ /*convert from bytes to string: */
+ string=PyBytes_AS_STRING(py_bytes);
+
+ *pstring=string;
+}
+/*FUNCTION FetchData(double* pscalar,PyObject* py_float){{{1*/
+void FetchData(double* pscalar,PyObject* py_float){
+
+ double scalar;
+
+ /*return internal value: */
+ scalar=PyFloat_AsDouble(py_float);
+
+ /*output: */
+ *pscalar=scalar;
+}
+/*}}}*/
+/*FUNCTION FetchData(int* pinteger,PyObject* py_long){{{1*/
+void FetchData(int* pinteger, PyObject* py_long){
+
+ int integer;
+
+ /*return internal value: */
+ integer=(int)PyLong_AsLong(py_long);
+
+ /*output: */
+ *pinteger=integer;
+}
+/*}}}*/
+/*FUNCTION FetchData(bool* pboolean,PyObject* py_boolean){{{1*/
+void FetchData(bool* pboolean,PyObject* py_boolean){
+
+ bool boolean;
+
+ /*check this is indeed a subtype of long type: */
+ if(!PyBool_Check(py_boolean))_error_("expecting a boolean in input!");
+
+ /*extract boolean: */
+ boolean=(bool)PyLong_AsLong(py_boolean);
+
+ /*simple copy: */
+ *pboolean=boolean;
+
+}
+/*}}}*/
+#endif
Deleted: issm/trunk/src/c/io/Python/WritePythonData.cpp
===================================================================
--- issm/trunk-jpl/src/c/io/Python/WritePythonData.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Python/WritePythonData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,69 +0,0 @@
-/* \file WriteData.c:
- * \brief: general interface for writing data
- */
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
-
-#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
-#define NO_IMPORT
-
-#include "../../toolkits/toolkits.h"
-#include "../../include/include.h"
-#include "../../modules/modules.h"
-#include "../../Container/Container.h"
-#include "../../shared/shared.h"
-#include "../../io/io.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-
-
-/*FUNCTION WriteData(PyObject* py_tuple,int index,char* string){{{1*/
-void WriteData(PyObject* py_tuple, int index, char* string){
-
- PyTuple_SetItem(py_tuple, index, PyUnicode_FromString(string));
-
-}
-/*}}}*/
-/*FUNCTION WriteData(PyObject* tuple,int index,Matrix* matrix){{{1*/
-void WriteData(PyObject* tuple,int index,Matrix* matrix){
-
- int M,N;
- double* buffer=NULL;
- npy_intp dims[2]={0,0};
- PyObject* array=NULL;
-
- buffer=matrix->ToSerial();
- matrix->GetSize(&M,&N);
- dims[0]=(npy_intp)M;
- dims[1]=(npy_intp)N;
- array=PyArray_SimpleNewFromData(2,dims,NPY_DOUBLE,buffer);
-
- PyTuple_SetItem(tuple, index, array);
-
-
-}
-/*FUNCTION WriteData(PyObject* py_tuple,int index,Vector* vector){{{1*/
-void WriteData(PyObject* tuple,int index,Vector* vector){
-
- int M;
- double* buffer=NULL;
- npy_intp dim=10;
- PyObject* array=NULL;
-
- buffer=vector->ToMPISerial();
- vector->GetSize(&M);
- dim=(npy_intp)M;
- array=PyArray_SimpleNewFromData(1,&dim,NPY_DOUBLE,buffer);
-
- PyTuple_SetItem(tuple, index, array);
-
-
-}
-/*}}}*/
-
-#endif
Copied: issm/trunk/src/c/io/Python/WritePythonData.cpp (from rev 11994, issm/trunk-jpl/src/c/io/Python/WritePythonData.cpp)
===================================================================
--- issm/trunk/src/c/io/Python/WritePythonData.cpp (rev 0)
+++ issm/trunk/src/c/io/Python/WritePythonData.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,69 @@
+/* \file WriteData.c:
+ * \brief: general interface for writing data
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+
+#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
+#define NO_IMPORT
+
+#include "../../toolkits/toolkits.h"
+#include "../../include/include.h"
+#include "../../modules/modules.h"
+#include "../../Container/Container.h"
+#include "../../shared/shared.h"
+#include "../../io/io.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+
+/*FUNCTION WriteData(PyObject* py_tuple,int index,char* string){{{1*/
+void WriteData(PyObject* py_tuple, int index, char* string){
+
+ PyTuple_SetItem(py_tuple, index, PyUnicode_FromString(string));
+
+}
+/*}}}*/
+/*FUNCTION WriteData(PyObject* tuple,int index,Matrix* matrix){{{1*/
+void WriteData(PyObject* tuple,int index,Matrix* matrix){
+
+ int M,N;
+ double* buffer=NULL;
+ npy_intp dims[2]={0,0};
+ PyObject* array=NULL;
+
+ buffer=matrix->ToSerial();
+ matrix->GetSize(&M,&N);
+ dims[0]=(npy_intp)M;
+ dims[1]=(npy_intp)N;
+ array=PyArray_SimpleNewFromData(2,dims,NPY_DOUBLE,buffer);
+
+ PyTuple_SetItem(tuple, index, array);
+
+
+}
+/*FUNCTION WriteData(PyObject* py_tuple,int index,Vector* vector){{{1*/
+void WriteData(PyObject* tuple,int index,Vector* vector){
+
+ int M;
+ double* buffer=NULL;
+ npy_intp dim=10;
+ PyObject* array=NULL;
+
+ buffer=vector->ToMPISerial();
+ vector->GetSize(&M);
+ dim=(npy_intp)M;
+ array=PyArray_SimpleNewFromData(1,&dim,NPY_DOUBLE,buffer);
+
+ PyTuple_SetItem(tuple, index, array);
+
+
+}
+/*}}}*/
+
+#endif
Deleted: issm/trunk/src/c/io/Python/pythonio.h
===================================================================
--- issm/trunk-jpl/src/c/io/Python/pythonio.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/Python/pythonio.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,60 +0,0 @@
-/*\file pythonio.h
- *\brief: I/O for ISSM in python mode
- */
-
-#ifndef _PYTHON_IO_H_
-#define _PYTHON_IO_H_
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#include "../../objects/objects.h"
-#include "../../Container/Container.h"
-#include "../../include/include.h"
-
-class DataSet;
-class Parameters;
-
-#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
-
-//void WriteData(mxArray** pdataref,DataSet* dataset);
-//void WriteData(mxArray** pdataref,double* matrix, int M,int N);
-//void WriteData(mxArray** pdataref,int* matrix, int M,int N);
-//void WriteData(mxArray** pdataref,double* vector, int M);
-//void WriteData(mxArray** pdataref,int integer);
-//void WriteData(mxArray** pdataref,bool boolean);
-//void WriteData(mxArray** pdataref,double scalar);
-//void WriteData(DataHandle* pdataref,Parameters* parameters);
-void WriteData(PyObject* py_tuple, int index, char* string);
-void WriteData(PyObject* py_tuple, int index, Matrix* matrix);
-void WriteData(PyObject* py_tuple, int index, Vector* vector);
-
-
-//void FetchData(DataSet** pdataset,const mxArray* dataref);
-//void FetchData(double** pmatrix,int* pM,int *pN,const mxArray* dataref);
-//void FetchData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-//void FetchData(int** pmatrix,int* pM,int *pN,const mxArray* dataref);
-//void FetchData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref);
-//void FetchData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-//void FetchData(Matrix** pmatrix,const mxArray* dataref);
-//void FetchData(int** pvector,int* pM,const mxArray* dataref);
-//void FetchData(float** pvector,int* pM,const mxArray* dataref);
-//void FetchData(double** pvector,int* pM,const mxArray* dataref);
-//void FetchData(bool** pvector,int* pM,const mxArray* dataref);
-//void FetchData(Vector** pvector,const mxArray* dataref);
-//void FetchData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
-//void FetchData(Parameters** pparameters, DataHandle dataref);
-void FetchData(char** pstring,PyObject* py_unicode);
-void FetchData(double* pscalar,PyObject* py_float);
-void FetchData(int* pinteger,PyObject* py_long);
-void FetchData(bool* pbool,PyObject* py_boolean);
-
-int CheckNumPythonArguments(PyObject* inputs,int NRHS, void (*function)( void ));
-
-#endif
-
-#endif /* _IO_H_ */
Copied: issm/trunk/src/c/io/Python/pythonio.h (from rev 11994, issm/trunk-jpl/src/c/io/Python/pythonio.h)
===================================================================
--- issm/trunk/src/c/io/Python/pythonio.h (rev 0)
+++ issm/trunk/src/c/io/Python/pythonio.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,60 @@
+/*\file pythonio.h
+ *\brief: I/O for ISSM in python mode
+ */
+
+#ifndef _PYTHON_IO_H_
+#define _PYTHON_IO_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#include "../../objects/objects.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+
+class DataSet;
+class Parameters;
+
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+
+//void WriteData(mxArray** pdataref,DataSet* dataset);
+//void WriteData(mxArray** pdataref,double* matrix, int M,int N);
+//void WriteData(mxArray** pdataref,int* matrix, int M,int N);
+//void WriteData(mxArray** pdataref,double* vector, int M);
+//void WriteData(mxArray** pdataref,int integer);
+//void WriteData(mxArray** pdataref,bool boolean);
+//void WriteData(mxArray** pdataref,double scalar);
+//void WriteData(DataHandle* pdataref,Parameters* parameters);
+void WriteData(PyObject* py_tuple, int index, char* string);
+void WriteData(PyObject* py_tuple, int index, Matrix* matrix);
+void WriteData(PyObject* py_tuple, int index, Vector* vector);
+
+
+//void FetchData(DataSet** pdataset,const mxArray* dataref);
+//void FetchData(double** pmatrix,int* pM,int *pN,const mxArray* dataref);
+//void FetchData(double** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+//void FetchData(int** pmatrix,int* pM,int *pN,const mxArray* dataref);
+//void FetchData(bool** pmatrix,int* pM,int *pN,const mxArray* dataref);
+//void FetchData(bool** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+//void FetchData(Matrix** pmatrix,const mxArray* dataref);
+//void FetchData(int** pvector,int* pM,const mxArray* dataref);
+//void FetchData(float** pvector,int* pM,const mxArray* dataref);
+//void FetchData(double** pvector,int* pM,const mxArray* dataref);
+//void FetchData(bool** pvector,int* pM,const mxArray* dataref);
+//void FetchData(Vector** pvector,const mxArray* dataref);
+//void FetchData(char** pmatrix,int* pnumel,int* pndims,int** psize,const mxArray* dataref);
+//void FetchData(Parameters** pparameters, DataHandle dataref);
+void FetchData(char** pstring,PyObject* py_unicode);
+void FetchData(double* pscalar,PyObject* py_float);
+void FetchData(int* pinteger,PyObject* py_long);
+void FetchData(bool* pbool,PyObject* py_boolean);
+
+int CheckNumPythonArguments(PyObject* inputs,int NRHS, void (*function)( void ));
+
+#endif
+
+#endif /* _IO_H_ */
Modified: issm/trunk/src/c/io/io.h
===================================================================
--- issm/trunk/src/c/io/io.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/io/io.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -2,8 +2,8 @@
*\brief: I/O for ISSM
*/
-#ifndef _IO_H_
-#define _IO_H_
+#ifndef _ISSM_IO_H_
+#define _ISSM_IO_H_
#ifdef HAVE_CONFIG_H //config.h {{{1
#include <config.h>
@@ -14,10 +14,14 @@
#include "./Disk/diskio.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "./Matlab/matlabio.h"
#endif
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+#include "./Python/pythonio.h"
+#endif
+
/*printf: */
int PrintfFunction(const char* format,...);
Modified: issm/trunk/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
===================================================================
--- issm/trunk/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -28,9 +28,9 @@
int numberofvertices;
/*output: */
- Vec partition_contributions=NULL;
- Vec partition_areas=NULL;
- Vec vec_average=NULL;
+ Vector* partition_contributions=NULL;
+ Vector* partition_areas=NULL;
+ Vector* vec_average=NULL;
double* average=NULL;
/*First, recover qmu partition of vertices: */
@@ -43,9 +43,9 @@
/*average onto the separate areas. The result will be a npart sized vector. */
/*allocate: */
- partition_contributions=NewVec(npart);
- partition_areas=NewVec(npart);
- vec_average=NewVec(npart);
+ partition_contributions=new Vector(npart);
+ partition_areas=new Vector(npart);
+ vec_average=new Vector(npart);
/*loop on each element, and add contribution of the element to the partition (surface weighted average): */
for(i=0;i<elements->Size();i++){
@@ -54,23 +54,20 @@
}
/*Assemble: */
- VecAssemblyBegin(partition_contributions);
- VecAssemblyEnd(partition_contributions);
+ partition_contributions->Assemble();
+ partition_areas->Assemble();
- VecAssemblyBegin(partition_areas);
- VecAssemblyEnd(partition_areas);
-
/*We have the partition_areas and the partition_contributions for each partition -> compute the surfae weighted average: */
- VecPointwiseDivide(vec_average,partition_contributions,partition_areas);
+ vec_average->PointwiseDivide(partition_contributions,partition_areas);
/*serialize:*/
- VecToMPISerial(&average,vec_average);
+ average=vec_average->ToMPISerial();
/*Free ressources:*/
xfree((void**)&qmu_part);
- VecFree(&partition_contributions);
- VecFree(&partition_areas);
- VecFree(&vec_average);
+ xdelete(&partition_contributions);
+ xdelete(&partition_areas);
+ xdelete(&vec_average);
/*Assign output pointers:*/
*paverage=average;
Modified: issm/trunk/src/c/modules/Bamgx/Bamgx.cpp
===================================================================
--- issm/trunk/src/c/modules/Bamgx/Bamgx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Bamgx/Bamgx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -144,7 +144,7 @@
if (!isnan(bamgopts->hmaxVertices[i])){
Metric M=BTh.vertices[i].m;
EigenMetric Vp(M/coef);
- Vp.Minh(bamgopts->hmaxVertices[i]);
+ Vp.Maxh(bamgopts->hmaxVertices[i]);
BTh.vertices[i].m=Vp;
}
}
Modified: issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
===================================================================
--- issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void ComputeBasalStressx( Vec* psigma,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
+void ComputeBasalStressx( Vector** psigma,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
/*Intermediary*/
int i;
@@ -18,13 +18,13 @@
Element* element=NULL;
/*output: */
- Vec sigma=NULL;
+ Vector* sigma=NULL;
/*Recover numberofelements: */
parameters->FindParam(&numberofelements,MeshNumberofelementsEnum);
/*Allocate sigma on numberofelements: */
- sigma=NewVec((int)numberofelements);
+ sigma=new Vector((int)numberofelements);
/*Compute basal stress for each element: */
for (i=0;i<elements->Size();i++){
@@ -33,8 +33,7 @@
}
/*Assemble vector: */
- VecAssemblyBegin(sigma);
- VecAssemblyEnd(sigma);
+ sigma->Assemble();
/*Assign output pointers: */
*psigma=sigma;
Modified: issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h
===================================================================
--- issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void ComputeBasalStressx( Vec* pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
+void ComputeBasalStressx( Vector** pp_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
#endif /* _COMPUTEBASALSTRESSX_H */
Modified: issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
===================================================================
--- issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void ComputeStrainRatex( Vec* peps,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
+void ComputeStrainRatex( Vector** peps,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials,Parameters* parameters){
/*Intermediary*/
int i;
@@ -18,13 +18,13 @@
Element* element=NULL;
/*output: */
- Vec eps=NULL;
+ Vector* eps=NULL;
/*Recover numberofelements: */
parameters->FindParam(&numberofelements,MeshNumberofelementsEnum);
/*Allocate eps on numberofelements (only 1 dof): */
- eps=NewVec(numberofelements);
+ eps=new Vector(numberofelements);
/*Compute basal stress for each element: */
for (i=0;i<elements->Size();i++){
@@ -33,8 +33,7 @@
}
/*Assemble vector: */
- VecAssemblyBegin(eps);
- VecAssemblyEnd(eps);
+ eps->Assemble();
/*Assign output pointers: */
*peps=eps;
Modified: issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h
===================================================================
--- issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void ComputeStrainRatex(Vec* eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
+void ComputeStrainRatex(Vector** eps_g,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
#endif /* _COMPUTESTRAINRATEX_H */
Modified: issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.cpp
===================================================================
--- issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#include "./ContourToMeshx.h"
-int ContourToMeshx( Vec* pin_nod,Vec* pin_elem, double* index, double* x, double* y,Contour** contours,int numcontours,char* interptype,int nel,int nods, int edgevalue) {
+int ContourToMeshx( Vector** pin_nod,Vector** pin_elem, double* index, double* x, double* y,Contour** contours,int numcontours,char* interptype,int nel,int nods, int edgevalue) {
int noerr=1;
int i;
@@ -29,11 +29,11 @@
/*output: */
- Vec in_nod=NULL;
- Vec in_elem=NULL;
+ Vector* in_nod=NULL;
+ Vector* in_elem=NULL;
- in_nod=NewVec(nods);
- in_elem=NewVec(nel);
+ in_nod=new Vector(nods);
+ in_elem=new Vector(nel);
/*initialize thread parameters: */
gate.numcontours=numcontours;
@@ -48,24 +48,22 @@
LaunchThread(ContourToMeshxt,(void*)&gate,num);
/*Assemble in_nod: */
- VecAssemblyBegin(in_nod);
- VecAssemblyEnd(in_nod);
+ in_nod->Assemble();
/*Get in_nod serialised for next operation: */
- VecToMPISerial(&in_nod_serial,in_nod);
+ in_nod_serial=in_nod->ToMPISerial();
/*Take care of the case where an element interpolation has been requested: */
if ((strcmp(interptype,"element")==0) || (strcmp(interptype,"element and node")==0)){
for (n=0;n<nel;n++){
if ( (in_nod_serial[ (int)*(index+3*n+0) -1] == 1) && (in_nod_serial[ (int)*(index+3*n+1) -1] == 1) && (in_nod_serial[ (int)*(index+3*n+2) -1] == 1) ){
- value=1; VecSetValues(in_elem,1,&n,&value,INSERT_VALUES);
+ value=1; in_elem->SetValue(n,value,INS_VAL);
}
}
}
/*Assemble vectors: */
- VecAssemblyBegin(in_elem);
- VecAssemblyEnd(in_elem);
+ in_elem->Assemble();
/*Assign output pointers: */
*pin_nod=in_nod;
Modified: issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.h
===================================================================
--- issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
Contour** contours;
int nods;
int edgevalue;
- Vec in_nod;
+ Vector* in_nod;
double* x;
double* y;
@@ -24,7 +24,7 @@
/* local prototypes: */
-int ContourToMeshx( Vec* pin_nods,Vec* pin_elem, double* index, double* x, double* y,Contour** contours,int numcontours,char* interptype,int nel,int nods, int edgevalue);
+int ContourToMeshx( Vector** pin_nods,Vector** pin_elem, double* index, double* x, double* y,Contour** contours,int numcontours,char* interptype,int nel,int nods, int edgevalue);
void* ContourToMeshxt(void* vContourToMeshxThreadStruct);
Modified: issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp
===================================================================
--- issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ContourToMeshx/ContourToMeshxt.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -38,7 +38,7 @@
int edgevalue;
double* x=NULL;
double* y=NULL;
- Vec in_nod=NULL;
+ Vector* in_nod=NULL;
/*recover handle and gate: */
Modified: issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp
===================================================================
--- issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,7 +3,7 @@
#include "./ContourToNodesx.h"
-int ContourToNodesx( Vec* pflags,double* x, double* y, int nods, Contour** contours,int numcontours,int edgevalue){
+int ContourToNodesx( Vector** pflags,double* x, double* y, int nods, Contour** contours,int numcontours,int edgevalue){
int i;
int m,n;
@@ -16,9 +16,9 @@
double value;
/*output: */
- Vec flags=NULL;
+ Vector* flags=NULL;
- flags=NewVec(nods);
+ flags=new Vector(nods);
/*Loop through all contours: */
for (i=0;i<numcontours;i++){
@@ -30,8 +30,7 @@
}
/*Assemble vector: */
- VecAssemblyBegin(flags);
- VecAssemblyEnd(flags);
+ flags->Assemble();
/*Assign output pointers: */
*pflags=flags;
Modified: issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.h
===================================================================
--- issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ContourToNodesx/ContourToNodesx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-int ContourToNodesx( Vec* pflags,double* x, double* y, int nods, Contour** contours,int numcontours,int edgevalue);
+int ContourToNodesx( Vector** pflags,double* x, double* y, int nods, Contour** contours,int numcontours,int edgevalue);
#endif /* _CONTOURTONODESX_H */
Modified: issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp
===================================================================
--- issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,19 +8,19 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void ControlInputGetGradientx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
+void ControlInputGetGradientx( Vector** pgradient, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
/*Intermediaries*/
int num_controls;
int *control_type = NULL;
- Vec gradient=NULL;
+ Vector* gradient=NULL;
/*Retrieve some parameters*/
parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
parameters->FindParam(&control_type,NULL,InversionControlParametersEnum);
/*Allocate and populate gradient*/
- gradient=NewVec(num_controls*vertices->NumberOfVertices());
+ gradient=new Vector(num_controls*vertices->NumberOfVertices());
for(int i=0;i<num_controls;i++){
for(int j=0;j<elements->Size();j++){
@@ -29,8 +29,7 @@
}
}
- VecAssemblyBegin(gradient);
- VecAssemblyEnd(gradient);
+ gradient->Assemble();
/*Clean up and return*/
xfree((void**)&control_type);
Modified: issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.h
===================================================================
--- issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ControlInputGetGradientx/ControlInputGetGradientx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,6 +7,6 @@
#include "../../objects/objects.h"
#include "../../Container/Container.h"
-void ControlInputGetGradientx( Vec* pgradient, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
+void ControlInputGetGradientx( Vector** pgradient, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
#endif
Modified: issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp
===================================================================
--- issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -29,11 +29,11 @@
xfree((void**)&control_type);
}
-void ControlInputSetGradientx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec gradient){
+void ControlInputSetGradientx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector* gradient){
/*Serialize gradient*/
double* serial_gradient=NULL;
- VecToMPISerial(&serial_gradient,gradient);
+ serial_gradient=gradient->ToMPISerial();
ControlInputSetGradientx(elements,nodes,vertices, loads, materials, parameters,serial_gradient);
Modified: issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.h
===================================================================
--- issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ControlInputSetGradientx/ControlInputSetGradientx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,6 @@
#include "../../Container/Container.h"
void ControlInputSetGradientx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,double* gradient);
-void ControlInputSetGradientx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec gradient);
+void ControlInputSetGradientx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* gradient);
#endif
Modified: issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp
===================================================================
--- issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/CostFunctionx/CostFunctionx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,14 +10,14 @@
#include "../../EnumDefinitions/EnumDefinitions.h"
#include "../Responsex/Responsex.h"
-void CostFunctionx( double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
+void CostFunctionx(double* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters){
/*Intermediary*/
- int i;
- int num_responses;
- double S;
- Element* element=NULL;
- int* responses=NULL;
+ int i;
+ int num_responses;
+ double S;
+ Element *element = NULL;
+ int *responses = NULL;
/*output: */
double J,Jplus;
Modified: issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp
===================================================================
--- issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,14 +9,14 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void CreateJacobianMatrixx(Mat* pJff,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,double kmax){
+void CreateJacobianMatrixx(Matrix** pJff,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,double kmax){
int i,connectivity;
int numberofdofspernode;
int fsize,configuration_type;
Element *element = NULL;
Load *load = NULL;
- Mat Jff = NULL;
+ Matrix* Jff = NULL;
/*Checks*/
_assert_(nodes && elements);
@@ -28,7 +28,7 @@
numberofdofspernode=nodes->MaxNumDofs(configuration_type,GsetEnum);
/*Initialize Jacobian Matrix*/
- Jff=NewMat(fsize,fsize,connectivity,numberofdofspernode);
+ Jff=new Matrix(fsize,fsize,connectivity,numberofdofspernode);
/*Create and assemble matrix*/
for(i=0;i<elements->Size();i++){
@@ -40,8 +40,7 @@
if(load->InAnalysis(configuration_type)) load->CreateJacobianMatrix(Jff);
if(load->InAnalysis(configuration_type)) load->PenaltyCreateJacobianMatrix(Jff,kmax);
}
- MatAssemblyBegin(Jff,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(Jff,MAT_FINAL_ASSEMBLY);
+ Jff->Assemble();
/*Assign output pointer*/
*pJff=Jff;
Modified: issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h
===================================================================
--- issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,6 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void CreateJacobianMatrixx(Mat* pJff,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,double kmax);
+void CreateJacobianMatrixx(Matrix** pJff,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,double kmax);
#endif /* _CREATEJACOBIANMATRIXX_H */
Modified: issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp
===================================================================
--- issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void CreateNodalConstraintsx( Vec* pys, Nodes* nodes,int configuration_type){
+void CreateNodalConstraintsx( Vector** pys, Nodes* nodes,int configuration_type){
int i;
@@ -17,13 +17,13 @@
int numberofdofs;
/*output: */
- Vec ys=NULL;
+ Vector* ys=NULL;
/*figure out how many dofs we have: */
numberofdofs=nodes->NumberOfDofs(configuration_type,SsetEnum);
/*allocate:*/
- ys=NewVec(numberofdofs);
+ ys=new Vector(numberofdofs);
/*go through all nodes, and for the ones corresponding to this configuration_type, fill the
* constraints vector with the constraint values: */
@@ -35,8 +35,7 @@
}
/*Assemble: */
- VecAssemblyBegin(ys);
- VecAssemblyEnd(ys);
+ ys->Assemble();
/*Assign output pointers: */
*pys=ys;
Modified: issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h
===================================================================
--- issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,6 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void CreateNodalConstraintsx( Vec* pys, Nodes* nodes,int configuration_type);
+void CreateNodalConstraintsx( Vector** pys, Nodes* nodes,int configuration_type);
#endif /* _CREATENODALCONSTRAINTSX_H */
Modified: issm/trunk/src/c/modules/Dakotax/Dakotax.cpp
===================================================================
--- issm/trunk/src/c/modules/Dakotax/Dakotax.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Dakotax/Dakotax.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -50,7 +50,7 @@
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void Dakotax(mxArray* femmodel){
#else
void Dakotax(FemModel* femmodel){
@@ -68,8 +68,8 @@
Parameters* parameters = NULL;
/*Retrieve parameters: */
- #ifdef _SERIAL_
- FetchMatlabData((Parameters**)¶meters,mxGetField((mxArray*)femmodel,0,"parameters"));
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ FetchData((Parameters**)¶meters,mxGetField((mxArray*)femmodel,0,"parameters"));
#else
parameters=femmodel->parameters;
#endif
@@ -85,7 +85,7 @@
// Instantiate/initialize the parallel library and problem description
// database objects.
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
Dakota::ParallelLibrary parallel_lib; //use Dakota's standard library mode constructor
#else
Dakota::ParallelLibrary parallel_lib("serial"); //use our own ISSM Dakota library mode constructor, which only fires up Dakota on CPU 0.
@@ -142,7 +142,7 @@
xfree((void**)&dakota_error_file);
xfree((void**)&dakota_output_file);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
delete parameters;
#endif
Modified: issm/trunk/src/c/modules/Dakotax/Dakotax.h
===================================================================
--- issm/trunk/src/c/modules/Dakotax/Dakotax.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Dakotax/Dakotax.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
int SpawnCore(double* responses, int numresponses, double* variables, char** variables_descriptors,int numvariables, void* femmodel,int counter);
int DescriptorIndex(char* root, int* pindex,char* descriptor);
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void Dakotax(mxArray* femmodel);
void SpawnCoreSerial(double* responses, int numresponses, double* variables, char** variables_descriptors,int numvariables, mxArray* femmodel,int counter);
#else
Modified: issm/trunk/src/c/modules/Dakotax/SpawnCore.cpp
===================================================================
--- issm/trunk/src/c/modules/Dakotax/SpawnCore.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Dakotax/SpawnCore.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,7 +20,7 @@
/*Branch into a serial SpawnCore and a parallel SpawnCore: */
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
SpawnCoreSerial(responses, numresponses, variables, variables_descriptors,numvariables, (mxArray*)femmodel, counter);
#else
/*Call SpawnCoreParallel unless counter=-1 on cpu0, in which case, bail out and return 0: */
Modified: issm/trunk/src/c/modules/Dakotax/SpawnCoreSerial.cpp
===================================================================
--- issm/trunk/src/c/modules/Dakotax/SpawnCoreSerial.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Dakotax/SpawnCoreSerial.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,6 +17,7 @@
#include "./Dakotax.h"
#include "../../include/include.h"
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SpawnCoreSerial(double* responses, int numresponses, double* variables, char** variables_descriptors,int numvariables, mxArray* femmodel, int counter){
int i;
@@ -67,3 +68,4 @@
mxDestroyArray(mxcounter);
}
+#endif
Modified: issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
===================================================================
--- issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -151,6 +151,10 @@
case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency";
case SettingsResultsAsPatchesEnum : return "SettingsResultsAsPatches";
case SettingsWaitonlockEnum : return "SettingsWaitonlock";
+ case DebugPetscProfilingEnum : return "DebugPetscProfiling";
+ case PetscProfilingCurrentMemEnum : return "PetscProfilingCurrentMem";
+ case PetscProfilingCurrentFlopsEnum : return "PetscProfilingCurrentFlops";
+ case PetscProfilingSolutionTimeEnum : return "PetscProfilingSolutionTime";
case SteadystateMaxiterEnum : return "SteadystateMaxiter";
case SteadystateNumRequestedOutputsEnum : return "SteadystateNumRequestedOutputs";
case SteadystateReltolEnum : return "SteadystateReltol";
@@ -166,8 +170,9 @@
case ThermalStabilizationEnum : return "ThermalStabilization";
case ThermalIsenthalpyEnum : return "ThermalIsenthalpy";
case ThicknessEnum : return "Thickness";
+ case TimesteppingStartTimeEnum : return "TimesteppingStartTime";
+ case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime";
case TimesteppingCflCoefficientEnum : return "TimesteppingCflCoefficient";
- case TimesteppingFinalTimeEnum : return "TimesteppingFinalTime";
case TimesteppingTimeAdaptEnum : return "TimesteppingTimeAdapt";
case TimesteppingTimeStepEnum : return "TimesteppingTimeStep";
case TransientIsdiagnosticEnum : return "TransientIsdiagnostic";
@@ -229,6 +234,7 @@
case ResultsEnum : return "Results";
case BoolInputEnum : return "BoolInput";
case BoolParamEnum : return "BoolParam";
+ case ContourEnum : return "Contour";
case ControlInputEnum : return "ControlInput";
case DatasetInputEnum : return "DatasetInput";
case DofIndexingEnum : return "DofIndexing";
@@ -259,8 +265,8 @@
case PenpairEnum : return "Penpair";
case PentaEnum : return "Penta";
case PentaP1InputEnum : return "PentaP1Input";
- case PetscMatParamEnum : return "PetscMatParam";
- case PetscVecParamEnum : return "PetscVecParam";
+ case MatrixParamEnum : return "MatrixParam";
+ case VectorParamEnum : return "VectorParam";
case RiftfrontEnum : return "Riftfront";
case SegmentEnum : return "Segment";
case SegmentRiftfrontEnum : return "SegmentRiftfront";
@@ -369,6 +375,7 @@
case P0Enum : return "P0";
case P1Enum : return "P1";
case P1DGEnum : return "P1DG";
+ case SaveResultsEnum : return "SaveResults";
case BoolElementResultEnum : return "BoolElementResult";
case BoolExternalResultEnum : return "BoolExternalResult";
case DoubleElementResultEnum : return "DoubleElementResult";
@@ -383,6 +390,7 @@
case PentaP1ElementResultEnum : return "PentaP1ElementResult";
case PetscVecExternalResultEnum : return "PetscVecExternalResult";
case StringExternalResultEnum : return "StringExternalResult";
+ case StepEnum : return "Step";
case TimeEnum : return "Time";
case TriaP1ElementResultEnum : return "TriaP1ElementResult";
case WaterColumnOldEnum : return "WaterColumnOld";
Modified: issm/trunk/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp
===================================================================
--- issm/trunk/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -47,6 +47,7 @@
KML_Polygon* kpoly =NULL;
KML_LinearRing* kring =NULL;
KML_LineString* kline =NULL;
+ KML_Point* kpoint=NULL;
FILE* fid=NULL;
@@ -59,8 +60,11 @@
/* read exp file */
- if (!DomainOutlineRead(&nprof,&pnvert,&pprofx,&pprofy,&closed,filexp,false))
+ if (!DomainOutlineRead(&nprof,&pnvert,&pprofx,&pprofy,&closed,filexp,true))
_error_("Error reading exp file.");
+ _printf_(true,"Exp2Kmlx -- Reading %d exp profiles from file \"%s\".\n",nprof,filexp);
+// for (i=0; i<nprof; i++)
+// printf("i=%d; nvert=%d, closed=%d\n",i,pnvert[i],closed[i]);
/* construct kml file */
@@ -122,7 +126,7 @@
/* polygon with multiple holes */
- if (holes && nprof && !closed[0]) {
+ if (holes && nprof && (pnvert[0] <= 1 || pprofx[0][pnvert[0]-1] != pprofx[0][0] || pprofy[0][pnvert[0]-1] != pprofy[0][0])) {
_printf_(true,"Warning -- Outer profile is not closed, so \"holes\" option will be ignored.\n");
holes=false;
}
@@ -137,13 +141,12 @@
kpoly =new KML_Polygon();
kring =new KML_LinearRing();
- lat=(double *) xmalloc(pnvert[i]*sizeof(double));
- lon=(double *) xmalloc(pnvert[i]*sizeof(double));
- Xy2llx(lat,lon,pprofx[i],pprofy[i],pnvert[i],sgn,cm,sp);
-
- kring->ncoord =pnvert[i];
- kring->coords =(double (*)[3]) xmalloc(pnvert[i]*3*sizeof(double));
- for (j=0; j<pnvert[i]; j++) {
+ kring->ncoord =pnvert[i]-1;
+ lat=(double *) xmalloc(kring->ncoord*sizeof(double));
+ lon=(double *) xmalloc(kring->ncoord*sizeof(double));
+ Xy2llx(lat,lon,pprofx[i],pprofy[i],kring->ncoord,sgn,cm,sp);
+ kring->coords =(double (*)[3]) xmalloc(kring->ncoord*3*sizeof(double));
+ for (j=0; j<kring->ncoord; j++) {
kring->coords[j][0]=lon[j];
kring->coords[j][1]=lat[j];
kring->coords[j][2]=0.;
@@ -155,19 +158,19 @@
kring =NULL;
for (i=1; i<nprof; i++) {
- if (!closed[i]) {
+ if (pnvert[i] <= 1 || pprofx[i][pnvert[i]-1] != pprofx[i][0] || pprofy[i][pnvert[i]-1] != pprofy[i][0]) {
_printf_(true,"Warning -- Inner profile %d is not closed with \"holes\" specified, so it will be ignored.\n",i+1);
continue;
}
kring =new KML_LinearRing();
- lat=(double *) xmalloc(pnvert[i]*sizeof(double));
- lon=(double *) xmalloc(pnvert[i]*sizeof(double));
- Xy2llx(lat,lon,pprofx[i],pprofy[i],pnvert[i],sgn,cm,sp);
- kring->ncoord =pnvert[i];
- kring->coords =(double (*)[3]) xmalloc(pnvert[i]*3*sizeof(double));
- for (j=0; j<pnvert[i]; j++) {
+ kring->ncoord =pnvert[i]-1;
+ lat=(double *) xmalloc(kring->ncoord*sizeof(double));
+ lon=(double *) xmalloc(kring->ncoord*sizeof(double));
+ Xy2llx(lat,lon,pprofx[i],pprofy[i],kring->ncoord,sgn,cm,sp);
+ kring->coords =(double (*)[3]) xmalloc(kring->ncoord*3*sizeof(double));
+ for (j=0; j<kring->ncoord; j++) {
kring->coords[j][0]=lon[j];
kring->coords[j][1]=lat[j];
kring->coords[j][2]=0.;
@@ -191,7 +194,7 @@
for (i=0; i<nprof; i++) {
kplace=new KML_Placemark();
- if (closed[i]) {
+ if (pnvert[i] > 1 && pprofx[i][pnvert[i]-1] == pprofx[i][0] && pprofy[i][pnvert[i]-1] == pprofy[i][0]) {
sprintf(kplace->name ,"Polygon %d",i+1);
kplace->visibility=true;
sprintf(kplace->styleurl ,"#BlackLineRandomPoly");
@@ -199,13 +202,12 @@
kpoly =new KML_Polygon();
kring =new KML_LinearRing();
- lat=(double *) xmalloc(pnvert[i]*sizeof(double));
- lon=(double *) xmalloc(pnvert[i]*sizeof(double));
- Xy2llx(lat,lon,pprofx[i],pprofy[i],pnvert[i],sgn,cm,sp);
-
- kring->ncoord =pnvert[i];
- kring->coords =(double (*)[3]) xmalloc(pnvert[i]*3*sizeof(double));
- for (j=0; j<pnvert[i]; j++) {
+ kring->ncoord =pnvert[i]-1;
+ lat=(double *) xmalloc(kring->ncoord*sizeof(double));
+ lon=(double *) xmalloc(kring->ncoord*sizeof(double));
+ Xy2llx(lat,lon,pprofx[i],pprofy[i],kring->ncoord,sgn,cm,sp);
+ kring->coords =(double (*)[3]) xmalloc(kring->ncoord*3*sizeof(double));
+ for (j=0; j<kring->ncoord; j++) {
kring->coords[j][0]=lon[j];
kring->coords[j][1]=lat[j];
kring->coords[j][2]=0.;
@@ -220,20 +222,19 @@
kpoly =NULL;
}
- else {
+ else if (pnvert[i] > 1) {
sprintf(kplace->name ,"LineString %d",i+1);
kplace->visibility=true;
sprintf(kplace->styleurl ,"#RandomLineEmptyPoly");
kline =new KML_LineString();
- lat=(double *) xmalloc(pnvert[i]*sizeof(double));
- lon=(double *) xmalloc(pnvert[i]*sizeof(double));
- Xy2llx(lat,lon,pprofx[i],pprofy[i],pnvert[i],sgn,cm,sp);
-
kline->ncoord =pnvert[i];
- kline->coords =(double (*)[3]) xmalloc(pnvert[i]*3*sizeof(double));
- for (j=0; j<pnvert[i]; j++) {
+ lat=(double *) xmalloc(kline->ncoord*sizeof(double));
+ lon=(double *) xmalloc(kline->ncoord*sizeof(double));
+ Xy2llx(lat,lon,pprofx[i],pprofy[i],kline->ncoord,sgn,cm,sp);
+ kline->coords =(double (*)[3]) xmalloc(kline->ncoord*3*sizeof(double));
+ for (j=0; j<kline->ncoord; j++) {
kline->coords[j][0]=lon[j];
kline->coords[j][1]=lat[j];
kline->coords[j][2]=0.;
@@ -245,6 +246,26 @@
kline =NULL;
}
+ else if (pnvert[i]) {
+ sprintf(kplace->name ,"Point %d",i+1);
+ kplace->visibility=true;
+ sprintf(kplace->styleurl ,"#RandomLineEmptyPoly");
+
+ kpoint=new KML_Point();
+
+ lat=(double *) xmalloc(sizeof(double));
+ lon=(double *) xmalloc(sizeof(double));
+ Xy2llx(lat,lon,pprofx[i],pprofy[i],1,sgn,cm,sp);
+ kpoint->coords[0]=lon[0];
+ kpoint->coords[1]=lat[0];
+ kpoint->coords[2]=0.;
+ xfree((void**)&lon);
+ xfree((void**)&lat);
+
+ (kplace->geometry )->AddObject((Object*)kpoint);
+ kpoint =NULL;
+ }
+
(kfold ->feature )->AddObject((Object*)kplace);
kplace=NULL;
}
@@ -259,7 +280,7 @@
/* write kml file */
- _printf_(true,"Writing kml document to file.\n");
+ _printf_(true,"Exp2Kmlx -- Writing kml document to file \"%s\".\n",filkml);
fid=fopen(filkml,"w");
fprintf(fid,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
kfile->Write(fid,indent);
Modified: issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
===================================================================
--- issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters){
+void GetSolutionFromInputsx( Vector** psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters){
/*intermediary: */
int gsize;
@@ -18,7 +18,7 @@
int configuration_type;
/*output: */
- Vec solution=NULL;
+ Vector* solution=NULL;
/*retrive parameters: */
parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
@@ -28,7 +28,7 @@
if (gsize==0) _error_("Allocating a Vec of size 0 as gsize=0 for configuration: %s",EnumToStringx(configuration_type));
/*Initialize solution: */
- solution=NewVec(gsize);
+ solution=new Vector(gsize);
/*Go through elements and plug solution: */
for (i=0;i<elements->Size();i++){
@@ -37,8 +37,7 @@
}
/*Assemble vector: */
- VecAssemblyBegin(solution);
- VecAssemblyEnd(solution);
+ solution->Assemble();
/*Assign output pointers:*/
*psolution=solution;
Modified: issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h
===================================================================
--- issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void GetSolutionFromInputsx( Vec* psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
+void GetSolutionFromInputsx( Vector** psolution, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters);
#endif /* _GETSOLUTIONFROMINPUTSXX_H */
Modified: issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp
===================================================================
--- issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,18 +8,18 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void GetVectorFromControlInputsx(Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,const char* data){
+void GetVectorFromControlInputsx(Vector** pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,const char* data){
int num_controls;
int *control_type = NULL;
- Vec vector=NULL;
+ Vector* vector=NULL;
/*Retrieve some parameters*/
parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
parameters->FindParam(&control_type,NULL,InversionControlParametersEnum);
/*Allocate and populate gradient*/
- vector=NewVec(num_controls*vertices->NumberOfVertices());
+ vector=new Vector(num_controls*vertices->NumberOfVertices());
for(int i=0;i<num_controls;i++){
for(int j=0;j<elements->Size();j++){
@@ -28,8 +28,7 @@
}
}
- VecAssemblyBegin(vector);
- VecAssemblyEnd(vector);
+ vector->Assemble();
/*Assign output pointers:*/
xfree((void**)&control_type);
@@ -42,13 +41,13 @@
double* vector=NULL;
/*intermediary: */
- Vec vec_vector=NULL;
+ Vector* vec_vector=NULL;
GetVectorFromControlInputsx( &vec_vector, elements,nodes, vertices, loads, materials, parameters,data);
- VecToMPISerial(&vector,vec_vector);
+ vector=vec_vector->ToMPISerial();
/*Free ressources:*/
- VecFree(&vec_vector);
+ xdelete(&vec_vector);
/*Assign output pointers:*/
*pvector=vector;
Modified: issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h
===================================================================
--- issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void GetVectorFromControlInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,const char* data="value");
+void GetVectorFromControlInputsx( Vector** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,const char* data="value");
void GetVectorFromControlInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,const char* data="value");
#endif /* _GETVECTORFROMCONTROLINPUTSXX_H */
Modified: issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
===================================================================
--- issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,15 +8,15 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, int name, int type){
+void GetVectorFromInputsx( Vector** pvector, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, int name, int type){
int i;
- Vec vector=NULL;
+ Vector* vector=NULL;
if(type==VertexEnum){
/*Allocate vector*/
- vector=NewVec(vertices->NumberOfVertices());
+ vector=new Vector(vertices->NumberOfVertices());
/*Look up in elements*/
for(i=0;i<elements->Size();i++){
@@ -34,8 +34,7 @@
_error_("%s%s%s"," vector type: ",EnumToStringx(type)," not supported yet!");
}
- VecAssemblyBegin(vector);
- VecAssemblyEnd(vector);
+ vector->Assemble();
/*Assign output pointers:*/
*pvector=vector;
@@ -47,13 +46,13 @@
double* vector=NULL;
/*intermediary: */
- Vec vec_vector=NULL;
+ Vector* vec_vector=NULL;
GetVectorFromInputsx( &vec_vector, elements,nodes, vertices, loads, materials, parameters, name, type);
- VecToMPISerial(&vector,vec_vector);
+ vector=vec_vector->ToMPISerial();
/*Free ressources:*/
- VecFree(&vec_vector);
+ xdelete(&vec_vector);
/*Assign output pointers:*/
*pvector=vector;
Modified: issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h
===================================================================
--- issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GetVectorFromInputsx/GetVectorFromInputsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void GetVectorFromInputsx( Vec* pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,int name,int type);
+void GetVectorFromInputsx( Vector** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,int name,int type);
void GetVectorFromInputsx( double** pvector, Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,int name,int type);
#endif /* _GETVECTORFROMINPUTSXX_H */
Modified: issm/trunk/src/c/modules/Gradjx/Gradjx.cpp
===================================================================
--- issm/trunk/src/c/modules/Gradjx/Gradjx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Gradjx/Gradjx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,15 +9,15 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void Gradjx(Vec* pgradient,double** pnorm_list, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
+void Gradjx(Vector** pgradient,double** pnorm_list, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){
int i,j,numberofvertices;
int num_controls;
double norm_inf;
double *norm_list = NULL;
int *control_type = NULL;
- Vec gradient = NULL;
- Vec *gradient_list = NULL;
+ Vector* gradient = NULL;
+ Vector* *gradient_list = NULL;
/*retrieve some parameters: */
parameters->FindParam(&num_controls,InversionNumControlParametersEnum); _assert_(num_controls);
@@ -25,12 +25,12 @@
numberofvertices=vertices->NumberOfVertices();
/*Allocate gradient_list */
- gradient_list = (Vec*)xmalloc(num_controls*sizeof(Vec));
+ gradient_list = (Vector**)xmalloc(num_controls*sizeof(Vector*));
norm_list = (double*)xmalloc(num_controls*sizeof(double));
for(i=0;i<num_controls;i++){
- gradient_list[i]=NewVec(num_controls*numberofvertices);
+ gradient_list[i]=new Vector(num_controls*numberofvertices);
}
- gradient=NewVec(num_controls*numberofvertices);
+ gradient=new Vector(num_controls*numberofvertices);
/*Compute all gradient_list*/
for(i=0;i<num_controls;i++){
@@ -40,20 +40,19 @@
element->Gradj(gradient_list[i],control_type[i],i);
}
- VecAssemblyBegin(gradient_list[i]);
- VecAssemblyEnd(gradient_list[i]);
+ gradient_list[i]->Assemble();
- VecNorm(gradient_list[i],NORM_INFINITY,&norm_list[i]);
+ norm_list[i]=gradient_list[i]->Norm(NORM_INF);
}
/*Add all gradient_list together*/
for(i=0;i<num_controls;i++){
- VecAXPY(gradient,1.,gradient_list[i]);
- VecFree(&gradient_list[i]);
+ gradient->AXPY(gradient_list[i],1.0);
+ xdelete(&gradient_list[i]);
}
/*Check that gradient is clean*/
- VecNorm(gradient,NORM_INFINITY,&norm_inf);
+ norm_inf=gradient->Norm(NORM_INF);
if(norm_inf<=0) _error_("||âJ/âα||â = 0 gradient norm is zero");
if(isnan(norm_inf))_error_("||âJ/âα||â = NaN gradient norm is NaN");
Modified: issm/trunk/src/c/modules/Gradjx/Gradjx.h
===================================================================
--- issm/trunk/src/c/modules/Gradjx/Gradjx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Gradjx/Gradjx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,6 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void Gradjx(Vec* pgrad_g,double** pgrad_norm,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters);
+void Gradjx(Vector** pgrad_g,double** pgrad_norm,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters);
#endif /* _GRADJX_H */
Modified: issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
===================================================================
--- issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
double* vertices_potentially_ungrounding = NULL;
double* vertices_ungrounding = NULL;
double* old_floatingice = NULL;
- Vec vec_old_floatingice = NULL;
+ Vector* vec_old_floatingice = NULL;
Element* element = NULL;
_printf_(VerboseModule()," Migrating grounding line\n");
@@ -38,7 +38,7 @@
/*Create vector with vertices initially floating and serialize*/
vec_old_floatingice=CreateNodesOnFloatingIce(nodes,analysis_type);
- VecToMPISerial(&old_floatingice,vec_old_floatingice);
+ old_floatingice=vec_old_floatingice->ToMPISerial();
/*Migrate grounding line : */
for(i=0;i<elements->Size();i++){
@@ -47,36 +47,35 @@
}
/*free ressouces: */
- VecFree(&vec_old_floatingice);
+ xdelete(&vec_old_floatingice);
xfree((void**)&vertices_potentially_ungrounding);
xfree((void**)&vertices_ungrounding);
xfree((void**)&old_floatingice);
}
/*FUNCTION CreateNodesOnFloatingIce {{{1*/
-Vec CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type){
+Vector* CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type){
int i,numnods;
- Vec vec_nodes_on_floatingice = NULL;
+ Vector* vec_nodes_on_floatingice = NULL;
Node *node = NULL;
/*First, initialize nodes_on_floatingice, which will track which nodes have changed status: */
numnods=nodes->NumberOfNodes(configuration_type);
- vec_nodes_on_floatingice=NewVec(numnods);
+ vec_nodes_on_floatingice=new Vector(numnods);
/*Loop through nodes, and fill vec_nodes_on_floatingice: */
for(i=0;i<nodes->Size();i++){
node=(Node*)nodes->GetObjectByOffset(i);
if(node->InAnalysis(configuration_type)){
if(node->IsFloating()){
- VecSetValue(vec_nodes_on_floatingice,node->Sid(),1.0,INSERT_VALUES);
+ vec_nodes_on_floatingice->SetValue(node->Sid(),1.0,INS_VAL);
}
}
}
/*Assemble vector: */
- VecAssemblyBegin(vec_nodes_on_floatingice);
- VecAssemblyEnd(vec_nodes_on_floatingice);
+ vec_nodes_on_floatingice->Assemble();
return vec_nodes_on_floatingice;
}
@@ -86,12 +85,12 @@
int i,numberofvertices;
double* vertices_potentially_ungrounding = NULL;
- Vec vec_vertices_potentially_ungrounding = NULL;
+ Vector* vec_vertices_potentially_ungrounding = NULL;
Element* element = NULL;
/*Initialize vector with number of vertices*/
numberofvertices=vertices->NumberOfVertices();
- vec_vertices_potentially_ungrounding=NewVec(numberofvertices); //grounded vertex that could start floating
+ vec_vertices_potentially_ungrounding=new Vector(numberofvertices); //grounded vertex that could start floating
/*Fill vector vertices_potentially_floating: */
for(i=0;i<elements->Size();i++){
@@ -100,12 +99,11 @@
}
/*Assemble vector and serialize */
- VecAssemblyBegin(vec_vertices_potentially_ungrounding);
- VecAssemblyEnd(vec_vertices_potentially_ungrounding);
- VecToMPISerial(&vertices_potentially_ungrounding,vec_vertices_potentially_ungrounding);
+ vec_vertices_potentially_ungrounding->Assemble();
+ vertices_potentially_ungrounding=vec_vertices_potentially_ungrounding->ToMPISerial();
/*free ressouces and return: */
- VecFree(&vec_vertices_potentially_ungrounding);
+ xdelete(&vec_vertices_potentially_ungrounding);
return vertices_potentially_ungrounding;
}
/*}}}*/
@@ -117,8 +115,8 @@
int nflipped,local_nflipped;
double* nodes_on_floatingice = NULL;
double* elements_neighboring_floatingce = NULL;
- Vec vec_elements_neighboring_floatingice = NULL;
- Vec vec_nodes_on_floatingice = NULL;
+ Vector* vec_elements_neighboring_floatingice = NULL;
+ Vector* vec_nodes_on_floatingice = NULL;
Node* node = NULL;
Element* element = NULL;
@@ -129,24 +127,23 @@
/*recover vec_nodes_on_floatingice*/
vec_nodes_on_floatingice=CreateNodesOnFloatingIce(nodes,analysis_type);
- VecToMPISerial(&nodes_on_floatingice,vec_nodes_on_floatingice);
+ nodes_on_floatingice=vec_nodes_on_floatingice->ToMPISerial();
nflipped=1; //bootstrap
while(nflipped){
/*Vector of size number of elements*/
- vec_elements_neighboring_floatingice=NewVec(elements->NumberOfElements(),true);
+ vec_elements_neighboring_floatingice=new Vector(elements->NumberOfElements(),true);
/*Figure out if any of the nodes of the element will be floating -> elements neighbouting the floating ice*/
for(i=0;i<elements->Size();i++){
element=(Element*)elements->GetObjectByOffset(i);
- VecSetValue(vec_elements_neighboring_floatingice,element->Sid(),element->IsNodeOnShelfFromFlags(nodes_on_floatingice)?1.0:0.0,INSERT_VALUES);
+ vec_elements_neighboring_floatingice->SetValue(element->Sid(),element->IsNodeOnShelfFromFlags(nodes_on_floatingice)?1.0:0.0,INS_VAL);
}
/*Assemble vector and serialize: */
- VecAssemblyBegin(vec_elements_neighboring_floatingice);
- VecAssemblyEnd(vec_elements_neighboring_floatingice);
- VecToMPISerial(&elements_neighboring_floatingce,vec_elements_neighboring_floatingice);
+ vec_elements_neighboring_floatingice->Assemble();
+ elements_neighboring_floatingce=vec_elements_neighboring_floatingice->ToMPISerial();
/*Go through elements_neighboring_floatingce, and update vector of the nodes that will start floating*/
local_nflipped=0;
@@ -156,8 +153,7 @@
local_nflipped+=element->UpdatePotentialSheetUngrounding(vertices_potentially_ungrounding,vec_nodes_on_floatingice,nodes_on_floatingice);
}
}
- VecAssemblyBegin(vec_nodes_on_floatingice);
- VecAssemblyEnd(vec_nodes_on_floatingice);
+ vec_nodes_on_floatingice->Assemble();
MPI_Allreduce(&local_nflipped,&nflipped,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);
_printf_(VerboseConvergence()," Additional number of vertices allowed to unground: %i\n",nflipped);
@@ -167,12 +163,12 @@
xfree((void**)&nodes_on_floatingice);
/*Assemble and serialize:*/
- VecFree(&vec_elements_neighboring_floatingice);
- VecToMPISerial(&nodes_on_floatingice,vec_nodes_on_floatingice);
+ xdelete(&vec_elements_neighboring_floatingice);
+ nodes_on_floatingice=vec_nodes_on_floatingice->ToMPISerial();
}
/*Free ressources:*/
- VecFree(&vec_nodes_on_floatingice);
+ xdelete(&vec_nodes_on_floatingice);
xfree((void**)&elements_neighboring_floatingce);
return nodes_on_floatingice;
Modified: issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h
===================================================================
--- issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,7 +13,7 @@
/* local prototypes: */
void GroundinglineMigrationx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters);
-Vec CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type);
+Vector* CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type);
double* PotentialSheetUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters);
double* PropagateFloatingiceToGroundedNeighbors(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,double* vertices_potentially_ungrounding);
#endif /* _GROUNDINGLINEMIGRATIONX_H */
Modified: issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp
===================================================================
--- issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputToResultx/InputToResultx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,14 +8,19 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step, double time){
+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type){
/*intermediary:*/
- int i;
+ int step;
+ double time;
Element *element = NULL;
+ /*Get time and step*/
+ parameters->FindParam(&step,StepEnum);
+ parameters->FindParam(&time,TimeEnum);
+
/*Go through elemnets, and ask each element to transfer the enum_type input into the results dataset, with step and time information: */
- for(i=0;i<elements->Size();i++){
+ for(int i=0;i<elements->Size();i++){
element=(Element*)elements->GetObjectByOffset(i);
element->InputToResult(enum_type,step,time);
Modified: issm/trunk/src/c/modules/InputToResultx/InputToResultx.h
===================================================================
--- issm/trunk/src/c/modules/InputToResultx/InputToResultx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputToResultx/InputToResultx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,6 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
+void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type);
#endif /* _INPUTTORESULTX_H */
-
Modified: issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,12 +8,12 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec solution){
+void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector* solution){
double* serial_solution=NULL;
/*Serialize solution, so that elements can index into it on every CPU: */
- VecToMPISerial(&serial_solution,solution);
+ serial_solution=solution->ToMPISerial();
/*Call overloaded form of InputUpdateFromSolutionx: */
InputUpdateFromSolutionx( elements, nodes, vertices, loads, materials, parameters,serial_solution);
Modified: issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,11 +9,11 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec solution);
+void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* solution);
void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,double* solution);
//with timestep
-void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec solution,int timestep);
+void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* solution,int timestep);
void InputUpdateFromSolutionx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,double* solution, int timestep);
#endif /* _UPDATEINPUTSFROMSOLUTIONXX_H */
Modified: issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,11 +8,11 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec vector, int name, int type){
+void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector* vector, int name, int type){
double* serial_vector=NULL;
- VecToMPISerial(&serial_vector,vector);
+ serial_vector=vector->ToMPISerial();
InputUpdateFromVectorDakotax( elements,nodes, vertices, loads, materials, parameters,serial_vector,name, type);
Modified: issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec vector, int name,int type);
+void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* vector, int name,int type);
void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,double* vector, int name,int type);
void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,int* vector, int name,int type);
void InputUpdateFromVectorDakotax( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,bool* vector, int name,int type);
Modified: issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,11 +8,11 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec vector, int name, int type){
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector* vector, int name, int type){
double* serial_vector=NULL;
- VecToMPISerial(&serial_vector,vector);
+ serial_vector=vector->ToMPISerial();
InputUpdateFromVectorx( elements,nodes, vertices, loads, materials, parameters,serial_vector,name, type);
Modified: issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h
===================================================================
--- issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec vector, int name,int type);
+void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* vector, int name,int type);
void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,double* vector, int name,int type);
void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,int* vector, int name,int type);
void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,bool* vector, int name,int type);
Modified: issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,10 +15,10 @@
/*}}}*/
/*InterpFromGridToMeshx{{{*/
-int InterpFromGridToMeshx( Vec* pdata_mesh,double* x_in, int x_rows, double* y_in, int y_rows, double* data, int M, int N, double* x_mesh, double* y_mesh, int nods,double default_value, int interpenum){
+int InterpFromGridToMeshx( Vector** pdata_mesh,double* x_in, int x_rows, double* y_in, int y_rows, double* data, int M, int N, double* x_mesh, double* y_mesh, int nods,double default_value, int interpenum){
/*output: */
- Vec data_mesh=NULL;
+ Vector* data_mesh=NULL;
/*Intermediary*/
double* x=NULL;
@@ -45,7 +45,7 @@
}
/*Allocate output vector: */
- data_mesh=NewVec(nods);
+ data_mesh=new Vector(nods);
/*Find out what kind of coordinates (x_in,y_in) have been given is input*/
if(N==(x_rows-1) && M==(y_rows-1)){
@@ -123,7 +123,7 @@
double *x = gate->x;
double *y = gate->y;
int nods = gate->nods;
- Vec data_mesh = gate->data_mesh;
+ Vector* data_mesh = gate->data_mesh;
double *data = gate->data;
double default_value = gate->default_value;
int interpenum = gate->interp;
@@ -178,7 +178,7 @@
data_value=default_value;
}
- VecSetValue(data_mesh,i,data_value,INSERT_VALUES);
+ data_mesh->SetValue(i,data_value,INS_VAL);
}
}/*}}}*/
Modified: issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h
===================================================================
--- issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,6 +5,7 @@
#ifndef _INTERPFROMGRIDTOMESHX_H
#define _INTERPFROMGRIDTOMESHX_H
+#include "../../objects/objects.h"
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
@@ -22,10 +23,10 @@
int nods;
double* x_mesh;
double* y_mesh;
- Vec data_mesh;
+ Vector* data_mesh;
} InterpFromGridToMeshxThreadStruct;
-int InterpFromGridToMeshx( Vec* pdata_mesh,double* x, int x_rows, double* y, int y_rows, double* data, int M, int N, double* x_mesh, double* y_mesh, int nods, double default_value, int interpenum=BilinearInterpEnum);
+int InterpFromGridToMeshx( Vector** pdata_mesh,double* x, int x_rows, double* y, int y_rows, double* data, int M, int N, double* x_mesh, double* y_mesh, int nods, double default_value, int interpenum=BilinearInterpEnum);
void* InterpFromGridToMeshxt(void* vInterpFromGridToMeshxThreadStruct);
bool findindices(int* pn,int* pm,double* x,int x_rows, double* y,int y_rows, double xgrid,double ygrid);
double triangleinterp(double x1,double x2,double y1,double y2,double Q11,double Q12,double Q21,double Q22,double x,double y);
Modified: issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,12 +9,12 @@
#include "../../objects/objects.h"
#include "../modules.h"
-int InterpFromMesh2dx( Vec* pdata_prime,double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
+int InterpFromMesh2dx( Vector** pdata_prime,double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
double* default_values,int num_default_values,Contour** contours,int numcontours){
/*Output*/
- Vec data_prime=NULL;
+ Vector* data_prime=NULL;
/*Intermediary*/
int i,j;
@@ -27,7 +27,7 @@
double ymin,ymax;
/*contours: */
- Vec vec_incontour=NULL;
+ Vector* vec_incontour=NULL;
double* incontour=NULL;
/*threading: */
@@ -71,16 +71,16 @@
}
/*Initialize output*/
- data_prime=NewVec(nods_prime);
+ data_prime=new Vector(nods_prime);
if(num_default_values){
- if(num_default_values==1)for (i=0;i<nods_prime;i++) VecSetValue(data_prime,i,default_values[0],INSERT_VALUES);
- else for (i=0;i<nods_prime;i++) VecSetValue(data_prime,i,default_values[i],INSERT_VALUES);
+ if(num_default_values==1)for (i=0;i<nods_prime;i++) data_prime->SetValue(i,default_values[0],INS_VAL);
+ else for (i=0;i<nods_prime;i++) data_prime->SetValue(i,default_values[i],INS_VAL);
}
/*Build indices of contour: */
if(numcontours){
ContourToNodesx( &vec_incontour,x_prime,y_prime,nods_prime,contours,numcontours,1);
- VecToMPISerial(&incontour,vec_incontour);
+ incontour=vec_incontour->ToMPISerial();
}
else{
incontour=(double*)xmalloc(nods_prime*sizeof(double));
Modified: issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.h
===================================================================
--- issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -22,7 +22,7 @@
double xmin,xmax;
double ymin,ymax;
int nods_prime;
- Vec data_prime;
+ Vector* data_prime;
double* x_prime;
double* y_prime;
double* default_values;
@@ -32,7 +32,7 @@
} InterpFromMesh2dxThreadStruct;
-int InterpFromMesh2dx( Vec* pdata_prime,double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
+int InterpFromMesh2dx( Vector** pdata_prime,double* index_data, double* x_data, double* y_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, int nods_prime,
double* default_values,int num_default_values,Contour** contours,int numcontours);
void* InterpFromMesh2dxt(void* vInterpFromMesh2dxThreadStruct);
Modified: issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,7 +23,7 @@
double xmin,xmax;
double ymin,ymax;
int nods_prime;
- Vec data_prime=NULL;
+ Vector* data_prime=NULL;
double* x_prime=NULL;
double* y_prime=NULL;
double* default_values=NULL;
@@ -119,7 +119,7 @@
}
/*insert value and go to the next point*/
- VecSetValue(data_prime,j,data_value,INSERT_VALUES);
+ data_prime->SetValue(j,data_value,INS_VAL);
}
}
}
Modified: issm/trunk/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -49,7 +49,7 @@
y_grid=(double*)xcalloc(nlines,sizeof(double));
/*Set debug to 1 if there are lots of elements*/
- debug=(bool)((double)ncols*nlines*nels >= pow((double)10,(double)10));
+ debug=(bool)((double)ncols*nlines*nels >= 5*pow(10.,10.));
/*figure out if x or y are flipped*/
if (xposting<0) xflip=1;
Modified: issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -31,7 +31,7 @@
int verbose=0;
/*default values: */
- Vec vec_incontour=NULL;
+ Vector* vec_incontour=NULL;
double* incontour=NULL;
bool skip_bamg=false;
@@ -50,7 +50,7 @@
/*If default values supplied, figure out which nodes are inside the contour, including the border of the contour: */
if(num_default_values){
ContourToNodesx( &vec_incontour,x_interp,y_interp,nods_interp,contours,numcontours,1);
- VecToMPISerial(&incontour,vec_incontour);
+ incontour=vec_incontour->ToMPISerial();
}
/*Initialize output*/
Modified: issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
===================================================================
--- issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,10 +6,10 @@
#include "../../shared/shared.h"
#include "../../include/include.h"
-int InterpFromMeshToMesh3dx( Vec* pdata_prime,double* index_data, double* x_data, double* y_data, double* z_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, double* z_prime, int nods_prime,double default_value) {
+int InterpFromMeshToMesh3dx( Vector** pdata_prime,double* index_data, double* x_data, double* y_data, double* z_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, double* z_prime, int nods_prime,double default_value) {
/*Output*/
- Vec data_prime=NULL;
+ Vector* data_prime=NULL;
/*Intermediary*/
int i,j;
@@ -53,8 +53,8 @@
}
/*Initialize output*/
- data_prime=NewVec(nods_prime);
- for (i=0;i<nods_prime;i++) VecSetValue(data_prime,i,default_value,INSERT_VALUES);
+ data_prime=new Vector(nods_prime);
+ for (i=0;i<nods_prime;i++) data_prime->SetValue(i,default_value,INS_VAL);
/*Loop over the elements*/
if (debug) printf(" interpolation progress: %5.2lf %%",0.0);
@@ -126,7 +126,7 @@
if (isnan(data_value)) data_value=default_value;
/*insert value and go to the next point*/
- VecSetValue(data_prime,j,data_value,INSERT_VALUES);
+ data_prime->SetValue(j,data_value,INS_VAL);
}
}
}
Modified: issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h
===================================================================
--- issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,8 +6,9 @@
#define _INTERPFROMMESHTOMESH3DX_H
#include "../../toolkits/toolkits.h"
+#include "../../objects/objects.h"
-int InterpFromMeshToMesh3dx( Vec* pdata_prime,double* index_data, double* x_data, double* y_data, double* z_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, double* z_prime, int nods_prime,double default_value);
+int InterpFromMeshToMesh3dx( Vector** pdata_prime,double* index_data, double* x_data, double* y_data, double* z_data, int nods_data,int nels_data, double* data, int data_length, double* x_prime, double* y_prime, double* z_prime, int nods_prime,double default_value);
#endif /* _INTERPFROMMESHTOMESH3DX_H */
Modified: issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
===================================================================
--- issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,10 +6,10 @@
#include "../../io/io.h"
#include "./Mergesolutionfromftogx.h"
-void Mergesolutionfromftogx( Vec* pug, Vec uf, Vec ys, Nodes* nodes, Parameters* parameters, bool flag_ys0){
+void Mergesolutionfromftogx( Vector** pug, Vector* uf, Vector* ys, Nodes* nodes, Parameters* parameters, bool flag_ys0){
/*output: */
- Vec ug=NULL;
+ Vector* ug=NULL;
/*intermediary: */
int configuration_type;
@@ -28,12 +28,12 @@
*that know which values should be plugged into ug and where: */
if(ssize){
if(flag_ys0){
- VecSet(ys,0.0);
+ ys->Set(0.0);
}
}
/*initialize ug: */
- ug=NewVec(gsize);
+ ug=new Vector(gsize);
/*Merge f set back into g set: */
if(fsize){
Modified: issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h
===================================================================
--- issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void Mergesolutionfromftogx( Vec* pug, Vec uf, Vec ys, Nodes* nodes, Parameters* parameters, bool flag_ys0=false);
+void Mergesolutionfromftogx( Vector** pug, Vector* uf, Vector* ys, Nodes* nodes, Parameters* parameters, bool flag_ys0=false);
#endif /* _MERGESOLUTIONFROMFTOGX_H */
Modified: issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -45,7 +45,7 @@
/*Fetch data needed: */
iomodel->FetchData(4,MeshElementsEnum,MeshElementconnectivityEnum,MaterialsRheologyBEnum,MaterialsRheologyNEnum);
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
if(dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
#endif
if(control_analysis)iomodel->FetchData(3,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum);
@@ -56,7 +56,7 @@
/*Create and add tria element to elements dataset: */
if(dim==2) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
else elements->AddObject(new Penta(i+1,i,i,iomodel,nummodels));
#endif
Modified: issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -44,9 +44,10 @@
parameters->AddObject(iomodel->CopyConstantObject(SteadystateReltolEnum));
parameters->AddObject(iomodel->CopyConstantObject(SteadystateMaxiterEnum));
parameters->AddObject(iomodel->CopyConstantObject(ConstantsYtsEnum));
- parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeStepEnum));
+ parameters->AddObject(iomodel->CopyConstantObject(TimesteppingStartTimeEnum));
parameters->AddObject(iomodel->CopyConstantObject(TimesteppingFinalTimeEnum));
parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeAdaptEnum));
+ parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeStepEnum));
parameters->AddObject(iomodel->CopyConstantObject(TimesteppingCflCoefficientEnum));
parameters->AddObject(iomodel->CopyConstantObject(PrognosticHydrostaticAdjustmentEnum));
parameters->AddObject(iomodel->CopyConstantObject(PrognosticStabilizationEnum));
@@ -55,6 +56,7 @@
parameters->AddObject(iomodel->CopyConstantObject(PrognosticPenaltyFactorEnum));
parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyFactorEnum));
parameters->AddObject(iomodel->CopyConstantObject(SettingsLowmemEnum));
+ parameters->AddObject(iomodel->CopyConstantObject(DebugPetscProfilingEnum));
parameters->AddObject(iomodel->CopyConstantObject(MeshAverageVertexConnectivityEnum));
parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
parameters->AddObject(iomodel->CopyConstantObject(BalancethicknessStabilizationEnum));
@@ -91,9 +93,13 @@
parameters->AddObject(new IntParam(SolutionTypeEnum,solution_type));
parameters->AddObject(new IntParam(AnalysisTypeEnum,analysis_type));
parameters->AddObject(new IntParam(AnalysisCounterEnum,analysis_counter));
- parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions
+ parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions FIXME: to be deleted
+ parameters->AddObject(new IntParam(StepEnum,1)); //start at time 0 by default for all solutions FIXME: to be deleted
- /*Requested output?*/
+ /*By default, save all results*/
+ parameters->AddObject(new BoolParam(SaveResultsEnum,true));
+
+ /*Requested outputs*/
iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,DiagnosticRequestedOutputsEnum);
parameters->AddObject(new IntParam(DiagnosticNumRequestedOutputsEnum,numoutputs));
if(numoutputs)parameters->AddObject(new IntVecParam(DiagnosticRequestedOutputsEnum,requestedoutputs,numoutputs));
Modified: issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ModelProcessorx/ModelProcessorx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -63,6 +63,9 @@
if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticHorizAnalysisEnum && isdiagnostic==false) continue;
if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticVertAnalysisEnum && isdiagnostic==false) continue;
if(solution_type==TransientSolutionEnum && analysis_type==DiagnosticHutterAnalysisEnum && isdiagnostic==false) continue;
+ if(solution_type==SteadystateSolutionEnum && analysis_type==ThermalAnalysisEnum && isenthalpy==true) continue;
+ if(solution_type==SteadystateSolutionEnum && analysis_type==MeltingAnalysisEnum && isenthalpy==true) continue;
+ if(solution_type==SteadystateSolutionEnum && analysis_type==EnthalpyAnalysisEnum && isenthalpy==false) continue;
_printf_(VerboseMProcessor()," creating datasets for analysis %s\n",EnumToStringx(analysis_type));
CreateDataSets(&elements,&nodes,&vertices,&materials,&constraints,&loads,¶meters,iomodel,solution_type,analysis_type,nummodels,i);
Modified: issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
===================================================================
--- issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -43,7 +43,6 @@
iomodel->FetchDataToInput(elements,BathymetryEnum);
iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum);
iomodel->FetchDataToInput(elements,MaskElementonwaterEnum);
- iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum);
iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum);
iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateCorrectionEnum);
Modified: issm/trunk/src/c/modules/Orthx/Orthx.cpp
===================================================================
--- issm/trunk/src/c/modules/Orthx/Orthx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Orthx/Orthx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,26 +4,26 @@
#include "./Orthx.h"
-void Orthx( Vec* pnewgradj, Vec gradj, Vec oldgradj){
+void Orthx( Vector** pnewgradj, Vector* gradj, Vector* oldgradj){
/*output: */
- Vec newgradj=NULL;
+ Vector* newgradj=NULL;
/*intermediary:*/
double norm_new,norm_old,dot_product;;
/*Initialize output*/
- VecDuplicate(gradj,&newgradj);
- VecCopy(gradj,newgradj);
+ newgradj=gradj->Duplicate();
+ gradj->Copy(newgradj);
/*rough orthagonalization
gradient=gradient-(gradient'*oldgradient)*oldgradient /norm(oldgradient)^2; */
if(oldgradj){
- VecNorm(oldgradj,NORM_2,&norm_old);
+ norm_old=oldgradj->Norm(NORM_TWO);
_assert_(norm_old!=0);
- VecDot(newgradj,oldgradj,&dot_product);
+ dot_product=newgradj->Dot(oldgradj);
_assert_(dot_product!=NAN);
- VecAXPY(newgradj, -dot_product/pow(norm_old,2), oldgradj);
+ newgradj->AXPY(oldgradj,-dot_product/pow(norm_old,2));
}
/*Assign correct pointer*/
Modified: issm/trunk/src/c/modules/Orthx/Orthx.h
===================================================================
--- issm/trunk/src/c/modules/Orthx/Orthx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Orthx/Orthx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#include "../../shared/shared.h"
/* local prototypes: */
-void Orthx( Vec* pnewgradj, Vec gradj, Vec oldgradj);
+void Orthx( Vector** pnewgradj, Vector* gradj, Vector* oldgradj);
#endif /* _ORTHX_H */
Modified: issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp
===================================================================
--- issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,10 +15,10 @@
#include "../../io/io.h"
#include "../../objects/objects.h"
-#ifdef _SERIAL_
-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
#else
-void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
+void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
#endif
extern int my_rank;
@@ -28,25 +28,21 @@
bool io_gather;
int solutiontype;
char* solutiontypestring = NULL;
- Results *results = NULL;
bool dakota_analysis = false;
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
const char **fnames = NULL;
mwSize onebyone[2] = {0,0};
mwSize ndim = 2;
int nfields=0;
#endif
- /*recover results dataset: */
- results=*presults;
-
/*retrieve parameters: */
parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
if(dakota_analysis){
//no need to output anything, Dakota analysis has different outputs
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
*pdataref=mxCreateStructArray( ndim,onebyone,nfields,fnames);
#endif
return;
@@ -94,7 +90,7 @@
#endif
/*Write results to disk (in parallel), or to memory (in serial mode): */
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
results->Write(pdataref);
#else
results->Write(parameters);
@@ -102,7 +98,7 @@
/*Delete and reinitialize results, in parallel: */
#ifdef _PARALLEL_
- delete results; results=new Results();
+ results->clear();
/*Close output file? :*/
/*WARNING: issm.cpp is taking care of it for now (quick fix)
@@ -114,7 +110,4 @@
}
*/
#endif
-
- /*Assign output pointers:*/
- *presults=results;
}
Modified: issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h
===================================================================
--- issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/OutputResultsx/OutputResultsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,11 +13,11 @@
#include "../../Container/Container.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
-void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
+void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
#else
-void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
+void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
#endif
#endif /* _OUTPUTRESULTS_H */
Modified: issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp
===================================================================
--- issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/ParsePetscOptionsx/ParsePetscOptionsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -101,6 +101,9 @@
MPI_Bcast(analyses,numanalyses,MPI_DOUBLE,0,MPI_COMM_WORLD);
for(i=0;i<numanalyses;i++){
char* string=strings[i];
+ if(my_rank==0){
+ if(string==NULL) _error_("PETSc options for analysis %s have been declared but were not found",EnumToStringx((int)analyses[i]));
+ }
if(my_rank==0)stringlength=(strlen(string)+1)*sizeof(char);
MPI_Bcast(&stringlength,1,MPI_INT,0,MPI_COMM_WORLD);
if(my_rank!=0)string=(char*)xmalloc(stringlength);
Modified: issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp
===================================================================
--- issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,11 +3,11 @@
#include "./PointCloudFindNeighborsx.h"
-int PointCloudFindNeighborsx( Vec* pflags,double* x, double* y, int nods, double mindistance,double multithread){
+int PointCloudFindNeighborsx( Vector** pflags,double* x, double* y, int nods, double mindistance,double multithread){
/*output: */
- Vec flags=NULL;
- flags=NewVec(nods);
+ Vector* flags=NULL;
+ flags=new Vector(nods);
/*threading: */
PointCloudFindNeighborsThreadStruct gate;
@@ -30,8 +30,7 @@
LaunchThread(PointCloudFindNeighborsxt,(void*)&gate,num);
/*Assemble vector: */
- VecAssemblyBegin(flags);
- VecAssemblyEnd(flags);
+ flags->Assemble();
/*Assign output pointers: */
*pflags=flags;
Modified: issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h
===================================================================
--- issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-int PointCloudFindNeighborsx( Vec* pflags,double* x, double* y, int nods, double mindistance,double multithread);
+int PointCloudFindNeighborsx( Vector** pflags,double* x, double* y, int nods, double mindistance,double multithread);
/*threading: */
typedef struct{
@@ -19,7 +19,7 @@
double* y;
int nods;
double mindistance;
- Vec flags;
+ Vector* flags;
} PointCloudFindNeighborsThreadStruct;
Modified: issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
===================================================================
--- issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
double* y;
int nods;
double mindistance;
- Vec flags;
+ Vector* flags;
/*recover handle and gate: */
handle=(pthread_handle*)vpthread_handle;
@@ -61,8 +61,8 @@
if(distance<=mindistance){
/*insert value and go to the next point*/
- if(!already[i]) VecSetValue(flags,i,1,INSERT_VALUES);
- if(!already[j]) VecSetValue(flags,j,2,INSERT_VALUES);
+ if(!already[i]) flags->SetValue(i,1,INS_VAL);
+ if(!already[j]) flags->SetValue(j,2,INS_VAL);
already[i]=true;
already[j]=true;
break;
Modified: issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.cpp
===================================================================
--- issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,49 +11,46 @@
#include "./Reduceloadx.h"
#include "../../io/io.h"
-void Reduceloadx( Vec pf, Mat Kfs, Vec y_s,bool flag_ys0){
+void Reduceloadx( Vector* pf, Matrix* Kfs, Vector* y_s,bool flag_ys0){
/*intermediary*/
- Vec y_s0 = NULL;
- Vec Kfsy_s = NULL;
+ Vector* y_s0 = NULL;
+ Vector* Kfsy_s = NULL;
int Kfsm,Kfsn;
int global_m,global_n;
- PetscScalar a;
bool fromlocalsize = true;
int verbose;
_printf_(VerboseModule()," Dirichlet lifting applied to load vector\n");
- MatGetSize(Kfs,&global_m,&global_n);
+ Kfs->GetSize(&global_m,&global_n);
if(pf && global_m*global_n){
/*Some checks in debugging mode*/
_assert_(y_s);
/*pf = pf - Kfs * y_s;*/
- MatGetLocalSize(Kfs,&Kfsm,&Kfsn);
- Kfsy_s=NewVec(Kfsm,fromlocalsize);
+ Kfs->GetLocalSize(&Kfsm,&Kfsn);
+ Kfsy_s=new Vector(Kfsm,fromlocalsize);
if (flag_ys0){
/*Create y_s0, full of 0: */
- VecDuplicate(y_s,&y_s0);
- VecSet(y_s0,0.0);
- VecAssemblyBegin(y_s0);
- VecAssemblyEnd(y_s0);
+ y_s0=y_s->Duplicate();
+ y_s0->Set(0.0);
+ y_s0->Assemble();
- MatMultPatch(Kfs,y_s0,Kfsy_s);
+ Kfs->MatMult(y_s0,Kfsy_s);
}
else{
- MatMultPatch(Kfs,y_s,Kfsy_s);
+ Kfs->MatMult(y_s,Kfsy_s);
}
- a=-1;
- VecAXPY(pf,a,Kfsy_s);
+ pf->AXPY(Kfsy_s,-1.);
}
/*Free ressources and return*/
- VecFree(&y_s0);
- VecFree(&Kfsy_s);
+ xdelete(&y_s0);
+ xdelete(&Kfsy_s);
}
Modified: issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.h
===================================================================
--- issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reduceloadx/Reduceloadx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,6 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void Reduceloadx( Vec pf, Mat Kfs, Vec ys,bool flag_ys0=false);
+void Reduceloadx( Vector* pf, Matrix* Kfs, Vector* ys,bool flag_ys0=false);
#endif /* _REDUCELOADX_H */
Modified: issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp
===================================================================
--- issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,10 +5,10 @@
#include "./Reducevectorgtofx.h"
-void Reducevectorgtofx(Vec* puf, Vec ug, Nodes* nodes,Parameters* parameters){
+void Reducevectorgtofx(Vector** puf, Vector* ug, Nodes* nodes,Parameters* parameters){
/*output: */
- Vec uf=NULL;
+ Vector* uf=NULL;
/*variables: */
int i;
@@ -25,12 +25,12 @@
}
else{
/*allocate: */
- uf=NewVec(fsize);
+ uf=new Vector(fsize);
if(nodes->NumberOfNodes(configuration_type)){
/*serialize ug, so nodes can index into it: */
- VecToMPISerial(&ug_serial,ug);
+ ug_serial=ug->ToMPISerial();
/*Go through all nodes, and ask them to retrieve values from ug, and plug them into uf: */
for(i=0;i<nodes->Size();i++){
@@ -46,8 +46,7 @@
}
}
/*Assemble vector: */
- VecAssemblyBegin(uf);
- VecAssemblyEnd(uf);
+ uf->Assemble();
}
/*Free ressources:*/
Modified: issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.h
===================================================================
--- issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void Reducevectorgtofx(Vec* puf, Vec ug, Nodes* nodes,Parameters* parameters);
+void Reducevectorgtofx(Vector** puf, Vector* ug, Nodes* nodes,Parameters* parameters);
#endif /* _REDUCEVECTORGTOFX_H */
Modified: issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.cpp
===================================================================
--- issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,10 +5,10 @@
#include "./Reducevectorgtosx.h"
-void Reducevectorgtosx(Vec* pys, Vec yg, Nodes* nodes,Parameters* parameters){
+void Reducevectorgtosx(Vector** pys, Vector* yg, Nodes* nodes,Parameters* parameters){
/*output: */
- Vec ys=NULL;
+ Vector* ys=NULL;
/*variables: */
int i;
@@ -25,12 +25,12 @@
}
else{
/*allocate: */
- ys=NewVec(ssize);
+ ys=new Vector(ssize);
if(nodes->NumberOfNodes(configuration_type)){
/*serialize yg, so nodes can index into it: */
- VecToMPISerial(&yg_serial,yg);
+ yg_serial=yg->ToMPISerial();
/*Go throygh all nodes, and ask them to retrieve values from yg, and plyg them into ys: */
for(i=0;i<nodes->Size();i++){
@@ -46,8 +46,7 @@
}
}
/*Assemble vector: */
- VecAssemblyBegin(ys);
- VecAssemblyEnd(ys);
+ ys->Assemble();
}
/*Free ressources:*/
Modified: issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.h
===================================================================
--- issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Reducevectorgtosx/Reducevectorgtosx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void Reducevectorgtosx(Vec* pys, Vec yg, Nodes* nodes,Parameters* parameters);
+void Reducevectorgtosx(Vector** pys, Vector* yg, Nodes* nodes,Parameters* parameters);
#endif /* _REDUCEVECTORGTOSX_H */
Modified: issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp
===================================================================
--- issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,16 +8,21 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step, double time){
+void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs){
- int i,j;
- int output_enum;
- double output_value;
- Element* element=NULL;
+ int output_enum;
+ int step;
+ double time;
+ double output_value;
+ Element *element = NULL;
- /*retrieve parameters: */
+ /*Get time and step*/
+ parameters->FindParam(&step,StepEnum);
+ parameters->FindParam(&time,TimeEnum);
+
+ /*retrieve Inputs*/
if(numoutputs){
- for(i=0;i<numoutputs;i++){
+ for(int i=0;i<numoutputs;i++){
output_enum=requested_outputs[i];
switch(output_enum){
@@ -28,7 +33,7 @@
break;
default:
/*create this output in the element inputs, and then transfer to results:*/
- for(j=0;j<elements->Size();j++){
+ for(int j=0;j<elements->Size();j++){
element=(Element*)elements->GetObjectByOffset(j);
element->RequestedOutput(output_enum,step,time);
}
Modified: issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.h
===================================================================
--- issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/RequestedOutputsx/RequestedOutputsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step=1, double time=0);
+void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs);
#endif /* _INPUTTORESULTX_H */
Modified: issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp
===================================================================
--- issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,11 +27,11 @@
xfree((void**)&control_type);
}
-void SetControlInputsFromVectorx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vec vector){
+void SetControlInputsFromVectorx(Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector* vector){
double* serial_vector=NULL;
- VecToMPISerial(&serial_vector,vector);
+ serial_vector=vector->ToMPISerial();
SetControlInputsFromVectorx(elements,nodes, vertices, loads, materials, parameters,serial_vector);
Modified: issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h
===================================================================
--- issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,7 @@
#include "../../Container/Container.h"
/* local prototypes: */
-void SetControlInputsFromVectorx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vec vector);
+void SetControlInputsFromVectorx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,Vector* vector);
void SetControlInputsFromVectorx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads, Materials* materials, Parameters* parameters,double* vector);
#endif
Modified: issm/trunk/src/c/modules/Solverx/Solverx.cpp
===================================================================
--- issm/trunk/src/c/modules/Solverx/Solverx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Solverx/Solverx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,168 +13,55 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-void Solverx(Vec* puf, Mat Kff, Vec pf, Vec uf0,Vec df, Parameters* parameters){
+void Solverx(Vector** puf, Matrix* Kff, Vector* pf, Vector* uf0,Vector* df, Parameters* parameters){
- /*Output: */
- Vec uf = NULL;
-
/*Intermediary: */
- int local_m,local_n,global_m,global_n;
- int analysis_type;
+ int analysis_type;
- /*Solver */
- KSP ksp = NULL;
- PC pc = NULL;
- int iteration_number;
- int solver_type;
- bool fromlocalsize = true;
- #if _PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2)
- PetscTruth flag,flg;
- #else
- PetscBool flag,flg;
- #endif
+ /*output: */
+ Vector *uf=NULL;
- /*Stokes: */
- IS isv=NULL;
- IS isp=NULL;
+ /*In debugging mode, check that stiffness matrix and load vectors are not NULL (they can be empty)*/
+ _assert_(Kff);
+ _assert_(pf);
- #if _PETSC_MAJOR_ >= 3
- char ksp_type[50];
- #endif
+ #ifdef _HAVE_PETSC_
+ Vec uf0_vector = NULL;
+ Vec df_vector = NULL;
+ Vec uf_vector = NULL;
+ if(uf0) uf0_vector = uf0->vector;
+ if(df) df_vector = df->vector;
+ /*In serial mode, the Petsc Options database has not been initialized properly: */
+ #ifdef _SERIAL_
+ parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+ PetscOptionsFromAnalysis(parameters,analysis_type);
+ #endif
- /*Display message*/
- _printf_(VerboseModule()," Solving\n");
- #if _PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2)
- if(VerboseSolver())PetscOptionsPrint(stdout);
- #else
- if(VerboseSolver())PetscOptionsView(PETSC_VIEWER_STDOUT_WORLD);
- #endif
+ SolverxPetsc(&uf_vector,Kff->matrix,pf->vector,uf0_vector,df_vector,parameters);
- /*First, check that f-set is not NULL, i.e. model is fully constrained: {{{*/
- _assert_(Kff);
- MatGetSize(Kff,&global_m,&global_n); _assert_(global_m==global_m);
- if(!global_n){
- *puf=NULL; return;
- }
- /*}}}*/
- /*Initial guess logic here: {{{1*/
- /*Now, check that we are not giving an initial guess to the solver, if we are running a direct solver: */
- #if _PETSC_MAJOR_ >= 3
- PetscOptionsGetString(PETSC_NULL,"-ksp_type",ksp_type,49,&flg);
- if (strcmp(ksp_type,"preonly")==0)uf0=NULL;
- #endif
+ /*Create vector out of petsc vector: */
+ uf=new Vector(uf_vector);
- /*If initial guess for the solution exists, use it to create uf, otherwise,
- * duplicate the right hand side so that the solution vector has the same structure*/
- if(uf0){
- VecDuplicate(uf0,&uf); VecCopy(uf0,uf);
- }
- else{
- MatGetLocalSize(Kff,&local_m,&local_n);uf=NewVec(local_n,fromlocalsize);
- }
- /*}}}*/
- /*Process petsc options to see if we are using special types of external solvers: {{{1*/
- PetscOptionsDetermineSolverType(&solver_type);
+ /*Free ressources: */
+ VecFree(&uf_vector);
+ #else
+ #ifdef _HAVE_GSL_
+ SeqVec* uf_vector=NULL;
- /*In serial mode, the matrices have been loaded as MPIAIJ or AIJ matrices.
- We need to convert them if we are going to run the solvers successfully: */
- #ifdef _SERIAL_
- #if _PETSC_MAJOR_ == 2
- if (solver_type==MUMPSPACKAGE_LU){
- /*Convert Kff to MATTAIJMUMPS: */
- MatConvert(Kff,MATAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
- }
- if (solver_type==MUMPSPACKAGE_CHOL){
- /*Convert Kff to MATTSBAIJMUMPS: */
- MatConvert(Kff,MATSBAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
- }
- if (solver_type==SPOOLESPACKAGE_LU){
- /*Convert Kff to MATTSBAIJMUMPS: */
- MatConvert(Kff,MATAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
- }
- if (solver_type==SPOOLESPACKAGE_CHOL){
- /*Convert Kff to MATTSBAIJMUMPS: */
- MatConvert(Kff,MATSBAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
- }
- if (solver_type==SUPERLUDISTPACKAGE){
- /*Convert Kff to MATTSBAIJMUMPS: */
- MatConvert(Kff,MATSUPERLU_DIST,MAT_REUSE_MATRIX,&Kff);
- }
- if (solver_type==StokesSolverEnum){
- _error_("Petsc 2 does not support multi-physics solvers");
- }
- #endif
- #endif
- /*}}}*/
- /*Check the solver is available: {{{1*/
- if(solver_type==MUMPSPACKAGE_LU || solver_type==MUMPSPACKAGE_CHOL){
- #if _PETSC_MAJOR_ >=3
- #ifndef _HAVE_MUMPS_
- _error_("requested MUMPS solver, which was not compiled into ISSM!\n");
- #endif
+ SolverxGsl(&uf_vector,Kff->matrix,pf->vector);
- #endif
- }
- /*}}}*/
- /*Prepare solver:{{{1*/
- KSPCreate(MPI_COMM_WORLD,&ksp);
- KSPSetOperators(ksp,Kff,Kff,DIFFERENT_NONZERO_PATTERN);
- KSPSetFromOptions(ksp);
+ /*Create vector out of SeqVec vector: */
+ uf=new Vector(uf_vector);
- #if defined(_SERIAL_) && _PETSC_MAJOR_==3
- /*Specific solver?: */
- KSPGetPC(ksp,&pc);
- if (solver_type==MUMPSPACKAGE_LU){
- #if _PETSC_MINOR_==1
- PCFactorSetMatSolverPackage(pc,MAT_SOLVER_MUMPS);
- #else
- PCFactorSetMatSolverPackage(pc,MATSOLVERMUMPS);
- #endif
- }
- #endif
+ /*Free ressources: */
+ delete uf_vector;
- #if defined(_PARALLEL_) && _PETSC_MAJOR_==3
- /*Stokes: */
- if (solver_type==StokesSolverEnum){
- /*Make indices out of doftypes: */
- if(!df)_error_("need doftypes for Stokes solver!\n");
- DofTypesToIndexSet(&isv,&isp,df,StokesSolverEnum);
-
- /*Set field splits: */
- KSPGetPC(ksp,&pc);
- #if _PETSC_MINOR_==1
- PCFieldSplitSetIS(pc,isv);
- PCFieldSplitSetIS(pc,isp);
#else
- PCFieldSplitSetIS(pc,PETSC_NULL,isv);
- PCFieldSplitSetIS(pc,PETSC_NULL,isp);
+ _error_("GSL support not compiled in!");
#endif
-
- }
#endif
- /*}}}*/
- /*If there is an initial guess for the solution, use it, except if we are using the MUMPS direct solver, where any initial guess will crash Petsc: {{{1*/
- if (uf0){
- if( (solver_type!=MUMPSPACKAGE_LU) && (solver_type!=MUMPSPACKAGE_CHOL) && (solver_type!=SPOOLESPACKAGE_LU) && (solver_type!=SPOOLESPACKAGE_CHOL) && (solver_type!=SUPERLUDISTPACKAGE)){
- KSPSetInitialGuessNonzero(ksp,PETSC_TRUE);
- }
- }
- /*}}}*/
-
- if(VerboseSolver())KSPView(ksp,PETSC_VIEWER_STDOUT_WORLD);
-
- /*Solve: */
- KSPSolve(ksp,pf,uf);
-
- /*Check convergence*/
- KSPGetIterationNumber(ksp,&iteration_number);
- if (iteration_number<0) _error_("%s%i"," Solver diverged at iteration number: ",-iteration_number);
-
- /*Free resources:*/
- KSPFree(&ksp);
-
- /*Assign output pointers:*/
+ /*Assign output pointers: */
*puf=uf;
}
Modified: issm/trunk/src/c/modules/Solverx/Solverx.h
===================================================================
--- issm/trunk/src/c/modules/Solverx/Solverx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/Solverx/Solverx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,10 +5,25 @@
#ifndef _SOLVERX_H
#define _SOLVERX_H
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
#include "../../objects/objects.h"
/* local prototypes: */
-void Solverx( Vec* puf, Mat Kff, Vec pf, Vec uf0,Vec df,Parameters* parameters);
+void Solverx(Vector** puf, Matrix* Kff, Vector* pf, Vector* uf0,Vector* df, Parameters* parameters);
+
+#ifdef _HAVE_PETSC_
+void SolverxPetsc(Vec* puf, Mat Kff, Vec pf, Vec uf0,Vec df, Parameters* parameters);
void DofTypesToIndexSet(IS* pisv, IS* pisp, Vec df,int typeenum);
+#endif
+
+#ifdef _HAVE_GSL_
+void SolverxGsl(SeqVec** puf,SeqMat* Kff, SeqVec* pf);
+#endif
+
#endif /* _SOLVERX_H */
Copied: issm/trunk/src/c/modules/Solverx/SolverxGsl.cpp (from rev 11994, issm/trunk-jpl/src/c/modules/Solverx/SolverxGsl.cpp)
===================================================================
--- issm/trunk/src/c/modules/Solverx/SolverxGsl.cpp (rev 0)
+++ issm/trunk/src/c/modules/Solverx/SolverxGsl.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,71 @@
+/*!\file SolverxGsl
+ * \brief Gsl implementation of solver
+ */
+
+#include "./Solverx.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../io/io.h"
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <gsl/gsl_linalg.h>
+
+void SolverxGsl(SeqVec** puf,SeqMat* Kff, SeqVec* pf){
+
+ /*intermediary: */
+ SeqMat* KffCopy=NULL;
+
+ /*Output: */
+ SeqVec* uf = NULL;
+
+
+ /*GSL Matrices and vectors: */
+ gsl_matrix_view m;
+ gsl_vector_view b;
+ gsl_vector* x=NULL;
+ gsl_permutation* p=NULL;
+
+ /*We are going to do an in place LU decomp, so we need to save the matrix with its original structure: */
+ KffCopy=Kff->Duplicate();
+
+
+ /*Intermediary: */
+ int M,N,N2,s;
+
+ Kff->GetSize(&M,&N);
+ pf->GetSize(&N2);
+
+ if(N!=N2)_error_("Right hand side vector of size %i, when matrix is of size %i-%i !",N2,M,N);
+ if(M!=N)_error_("Stiffness matrix should be square!");
+
+ /*Initialize gsl matrices and vectors: */
+ m = gsl_matrix_view_array (KffCopy->matrix, M, N);
+ b = gsl_vector_view_array (pf->vector, N);
+ x = gsl_vector_alloc (N);
+
+ /*Run LU and solve: */
+ p = gsl_permutation_alloc (N);
+ gsl_linalg_LU_decomp (&m.matrix, p, &s);
+ gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x);
+
+ //printf ("x = \n");
+ //gsl_vector_fprintf (stdout, x, "%g");
+
+ /*Get uf initialized with the results: */
+ uf=new SeqVec(gsl_vector_ptr(x,0),M);
+
+ /*Free resources:*/
+ gsl_permutation_free (p);
+ gsl_vector_free (x);
+
+ delete KffCopy;
+
+
+ /*Assign output pointers:*/
+ *puf=uf;
+}
Copied: issm/trunk/src/c/modules/Solverx/SolverxPetsc.cpp (from rev 11994, issm/trunk-jpl/src/c/modules/Solverx/SolverxPetsc.cpp)
===================================================================
--- issm/trunk/src/c/modules/Solverx/SolverxPetsc.cpp (rev 0)
+++ issm/trunk/src/c/modules/Solverx/SolverxPetsc.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,180 @@
+/*!\file SolverxPetsc
+ * \brief Petsc implementation of solver
+ */
+
+#include "./Solverx.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../io/io.h"
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+void SolverxPetsc(Vec* puf, Mat Kff, Vec pf, Vec uf0,Vec df, Parameters* parameters){
+
+ /*Output: */
+ Vec uf = NULL;
+
+ /*Intermediary: */
+ int local_m,local_n,global_m,global_n;
+ int analysis_type;
+
+ /*Solver */
+ KSP ksp = NULL;
+ PC pc = NULL;
+ int iteration_number;
+ int solver_type;
+ bool fromlocalsize = true;
+ #if _PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2)
+ PetscTruth flag,flg;
+ #else
+ PetscBool flag,flg;
+ #endif
+
+ /*Stokes: */
+ IS isv=NULL;
+ IS isp=NULL;
+
+ #if _PETSC_MAJOR_ >= 3
+ char ksp_type[50];
+ #endif
+
+
+ /*Display message*/
+ _printf_(VerboseModule()," Solving\n");
+ #if _PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2)
+ if(VerboseSolver())PetscOptionsPrint(stdout);
+ #else
+ if(VerboseSolver())PetscOptionsView(PETSC_VIEWER_STDOUT_WORLD);
+ #endif
+
+ /*First, check that f-set is not NULL, i.e. model is fully constrained: {{{*/
+ _assert_(Kff);
+ MatGetSize(Kff,&global_m,&global_n); _assert_(global_m==global_m);
+ if(!global_n){
+ *puf=NULL; return;
+ }
+ /*}}}*/
+ /*Initial guess logic here: {{{1*/
+ /*Now, check that we are not giving an initial guess to the solver, if we are running a direct solver: */
+ #if _PETSC_MAJOR_ >= 3
+ PetscOptionsGetString(PETSC_NULL,"-ksp_type",ksp_type,49,&flg);
+ if (strcmp(ksp_type,"preonly")==0)uf0=NULL;
+ #endif
+
+ /*If initial guess for the solution exists, use it to create uf, otherwise,
+ * duplicate the right hand side so that the solution vector has the same structure*/
+ if(uf0){
+ VecDuplicate(uf0,&uf); VecCopy(uf0,uf);
+ }
+ else{
+ MatGetLocalSize(Kff,&local_m,&local_n);uf=NewVec(local_n,fromlocalsize);
+ }
+ /*}}}*/
+ /*Process petsc options to see if we are using special types of external solvers: {{{1*/
+ PetscOptionsDetermineSolverType(&solver_type);
+
+ /*In serial mode, the matrices have been loaded as MPIAIJ or AIJ matrices.
+ We need to convert them if we are going to run the solvers successfully: */
+ #ifdef _SERIAL_
+ #if _PETSC_MAJOR_ == 2
+ if (solver_type==MUMPSPACKAGE_LU){
+ /*Convert Kff to MATTAIJMUMPS: */
+ MatConvert(Kff,MATAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
+ }
+ if (solver_type==MUMPSPACKAGE_CHOL){
+ /*Convert Kff to MATTSBAIJMUMPS: */
+ MatConvert(Kff,MATSBAIJMUMPS,MAT_REUSE_MATRIX,&Kff);
+ }
+ if (solver_type==SPOOLESPACKAGE_LU){
+ /*Convert Kff to MATTSBAIJMUMPS: */
+ MatConvert(Kff,MATAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
+ }
+ if (solver_type==SPOOLESPACKAGE_CHOL){
+ /*Convert Kff to MATTSBAIJMUMPS: */
+ MatConvert(Kff,MATSBAIJSPOOLES,MAT_REUSE_MATRIX,&Kff);
+ }
+ if (solver_type==SUPERLUDISTPACKAGE){
+ /*Convert Kff to MATTSBAIJMUMPS: */
+ MatConvert(Kff,MATSUPERLU_DIST,MAT_REUSE_MATRIX,&Kff);
+ }
+ if (solver_type==StokesSolverEnum){
+ _error_("Petsc 2 does not support multi-physics solvers");
+ }
+ #endif
+ #endif
+ /*}}}*/
+ /*Check the solver is available: {{{1*/
+ if(solver_type==MUMPSPACKAGE_LU || solver_type==MUMPSPACKAGE_CHOL){
+ #if _PETSC_MAJOR_ >=3
+ #ifndef _HAVE_MUMPS_
+ _error_("requested MUMPS solver, which was not compiled into ISSM!\n");
+ #endif
+
+ #endif
+ }
+ /*}}}*/
+ /*Prepare solver:{{{1*/
+ KSPCreate(MPI_COMM_WORLD,&ksp);
+ KSPSetOperators(ksp,Kff,Kff,DIFFERENT_NONZERO_PATTERN);
+ KSPSetFromOptions(ksp);
+
+ #if defined(_SERIAL_) && _PETSC_MAJOR_==3
+ /*Specific solver?: */
+ KSPGetPC(ksp,&pc);
+ if (solver_type==MUMPSPACKAGE_LU){
+ #if _PETSC_MINOR_==1
+ PCFactorSetMatSolverPackage(pc,MAT_SOLVER_MUMPS);
+ #else
+ PCFactorSetMatSolverPackage(pc,MATSOLVERMUMPS);
+ #endif
+ }
+ #endif
+
+ #if defined(_PARALLEL_) && _PETSC_MAJOR_==3
+ /*Stokes: */
+ if (solver_type==StokesSolverEnum){
+ /*Make indices out of doftypes: */
+ if(!df)_error_("need doftypes for Stokes solver!\n");
+ DofTypesToIndexSet(&isv,&isp,df,StokesSolverEnum);
+
+ /*Set field splits: */
+ KSPGetPC(ksp,&pc);
+ #if _PETSC_MINOR_==1
+ PCFieldSplitSetIS(pc,isv);
+ PCFieldSplitSetIS(pc,isp);
+ #else
+ PCFieldSplitSetIS(pc,PETSC_NULL,isv);
+ PCFieldSplitSetIS(pc,PETSC_NULL,isp);
+ #endif
+
+ }
+ #endif
+
+ /*}}}*/
+ /*If there is an initial guess for the solution, use it, except if we are using the MUMPS direct solver, where any initial guess will crash Petsc: {{{1*/
+ if (uf0){
+ if( (solver_type!=MUMPSPACKAGE_LU) && (solver_type!=MUMPSPACKAGE_CHOL) && (solver_type!=SPOOLESPACKAGE_LU) && (solver_type!=SPOOLESPACKAGE_CHOL) && (solver_type!=SUPERLUDISTPACKAGE)){
+ KSPSetInitialGuessNonzero(ksp,PETSC_TRUE);
+ }
+ }
+ /*}}}*/
+
+ if(VerboseSolver())KSPView(ksp,PETSC_VIEWER_STDOUT_WORLD);
+
+ /*Solve: */
+ KSPSolve(ksp,pf,uf);
+
+ /*Check convergence*/
+ KSPGetIterationNumber(ksp,&iteration_number);
+ if (iteration_number<0) _error_("%s%i"," Solver diverged at iteration number: ",-iteration_number);
+
+ /*Free resources:*/
+ KSPFree(&ksp);
+
+ /*Assign output pointers:*/
+ *puf=uf;
+}
Modified: issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
===================================================================
--- issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -155,6 +155,10 @@
else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum;
else if (strcmp(name,"SettingsResultsAsPatches")==0) return SettingsResultsAsPatchesEnum;
else if (strcmp(name,"SettingsWaitonlock")==0) return SettingsWaitonlockEnum;
+ else if (strcmp(name,"DebugPetscProfiling")==0) return DebugPetscProfilingEnum;
+ else if (strcmp(name,"PetscProfilingCurrentMem")==0) return PetscProfilingCurrentMemEnum;
+ else if (strcmp(name,"PetscProfilingCurrentFlops")==0) return PetscProfilingCurrentFlopsEnum;
+ else if (strcmp(name,"PetscProfilingSolutionTime")==0) return PetscProfilingSolutionTimeEnum;
else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
else if (strcmp(name,"SteadystateNumRequestedOutputs")==0) return SteadystateNumRequestedOutputsEnum;
else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum;
@@ -170,8 +174,9 @@
else if (strcmp(name,"ThermalStabilization")==0) return ThermalStabilizationEnum;
else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum;
else if (strcmp(name,"Thickness")==0) return ThicknessEnum;
+ else if (strcmp(name,"TimesteppingStartTime")==0) return TimesteppingStartTimeEnum;
+ else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum;
- else if (strcmp(name,"TimesteppingFinalTime")==0) return TimesteppingFinalTimeEnum;
else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum;
else if (strcmp(name,"TimesteppingTimeStep")==0) return TimesteppingTimeStepEnum;
else if (strcmp(name,"TransientIsdiagnostic")==0) return TransientIsdiagnosticEnum;
@@ -233,6 +238,7 @@
else if (strcmp(name,"Results")==0) return ResultsEnum;
else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
else if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
+ else if (strcmp(name,"Contour")==0) return ContourEnum;
else if (strcmp(name,"ControlInput")==0) return ControlInputEnum;
else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum;
else if (strcmp(name,"DofIndexing")==0) return DofIndexingEnum;
@@ -253,21 +259,21 @@
else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum;
else if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
- else if (strcmp(name,"Matice")==0) return MaticeEnum;
+ else stage=3;
+ }
+ if(stage==3){
+ if (strcmp(name,"Matice")==0) return MaticeEnum;
else if (strcmp(name,"Matpar")==0) return MatparEnum;
else if (strcmp(name,"Node")==0) return NodeEnum;
else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
else if (strcmp(name,"Param")==0) return ParamEnum;
else if (strcmp(name,"PattynIceFront")==0) return PattynIceFrontEnum;
- else stage=3;
- }
- if(stage==3){
- if (strcmp(name,"Pengrid")==0) return PengridEnum;
+ else if (strcmp(name,"Pengrid")==0) return PengridEnum;
else if (strcmp(name,"Penpair")==0) return PenpairEnum;
else if (strcmp(name,"Penta")==0) return PentaEnum;
else if (strcmp(name,"PentaP1Input")==0) return PentaP1InputEnum;
- else if (strcmp(name,"PetscMatParam")==0) return PetscMatParamEnum;
- else if (strcmp(name,"PetscVecParam")==0) return PetscVecParamEnum;
+ else if (strcmp(name,"MatrixParam")==0) return MatrixParamEnum;
+ else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
else if (strcmp(name,"Segment")==0) return SegmentEnum;
else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
@@ -376,16 +382,17 @@
else if (strcmp(name,"P0")==0) return P0Enum;
else if (strcmp(name,"P1")==0) return P1Enum;
else if (strcmp(name,"P1DG")==0) return P1DGEnum;
+ else stage=4;
+ }
+ if(stage==4){
+ if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
else if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
else if (strcmp(name,"DoubleVecExternalResult")==0) return DoubleVecExternalResultEnum;
- else stage=4;
- }
- if(stage==4){
- if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
+ else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
else if (strcmp(name,"J")==0) return JEnum;
else if (strcmp(name,"Patch")==0) return PatchEnum;
else if (strcmp(name,"PatchNodes")==0) return PatchNodesEnum;
@@ -393,6 +400,7 @@
else if (strcmp(name,"PentaP1ElementResult")==0) return PentaP1ElementResultEnum;
else if (strcmp(name,"PetscVecExternalResult")==0) return PetscVecExternalResultEnum;
else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
+ else if (strcmp(name,"Step")==0) return StepEnum;
else if (strcmp(name,"Time")==0) return TimeEnum;
else if (strcmp(name,"TriaP1ElementResult")==0) return TriaP1ElementResultEnum;
else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
Modified: issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp
===================================================================
--- issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void SystemMatricesx(Mat* pKff, Mat* pKfs, Vec* ppf, Vec* pdf, double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,bool kflag,bool pflag,bool penalty_kflag,bool penalty_pflag){
+void SystemMatricesx(Matrix** pKff, Matrix** pKfs, Vector** ppf, Vector** pdf, double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,bool kflag,bool pflag,bool penalty_kflag,bool penalty_pflag){
/*intermediary: */
int i,j;
@@ -20,10 +20,10 @@
Load *load = NULL;
/*output: */
- Mat Kff = NULL;
- Mat Kfs = NULL;
- Vec pf = NULL;
- Vec df=NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Vector* pf = NULL;
+ Vector* df=NULL;
double kmax = 0;
/*Display message*/
@@ -48,9 +48,9 @@
/*Compute penalty free mstiffness matrix and load vector*/
if(kflag){
- Kff=NewMat(fsize,fsize,connectivity,numberofdofspernode);
- Kfs=NewMat(fsize,ssize,connectivity,numberofdofspernode);
- df=NewVec(fsize);
+ Kff=new Matrix(fsize,fsize,connectivity,numberofdofspernode);
+ Kfs=new Matrix(fsize,ssize,connectivity,numberofdofspernode);
+ df=new Vector(fsize);
/*Fill stiffness matrix from elements: */
for (i=0;i<elements->Size();i++){
@@ -65,25 +65,14 @@
}
/*Assemble matrix and doftypes and compress matrix to save memory: */
- MatAssemblyBegin(Kff,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(Kff,MAT_FINAL_ASSEMBLY);
- #if _PETSC_MAJOR_ == 2
- MatCompress(Kff);
- #endif
-
- MatAssemblyBegin(Kfs,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(Kfs,MAT_FINAL_ASSEMBLY);
- #if _PETSC_MAJOR_ == 2
- MatCompress(Kfs);
- #endif
- VecAssemblyBegin(df);
- VecAssemblyEnd(df);
-
+ Kff->Assemble();
+ Kfs->Assemble();
+ df->Assemble();
}
if(pflag){
- pf=NewVec(fsize);
+ pf=new Vector(fsize);
/*Fill right hand side vector, from elements: */
for (i=0;i<elements->Size();i++){
@@ -96,13 +85,11 @@
load=(Load*)loads->GetObjectByOffset(i);
if (load->InAnalysis(configuration_type)) load->CreatePVector(pf);
}
-
- VecAssemblyBegin(pf);
- VecAssemblyEnd(pf);
+ pf->Assemble();
}
/*Now, figure out maximum value of K_gg, so that we can penalize it correctly: */
- MatNorm(Kff,NORM_INFINITY,&kmax);
+ kmax=Kff->Norm(NORM_INF);
/*Now, deal with penalties*/
if(penalty_kflag){
@@ -114,17 +101,8 @@
}
/*Assemble matrix and compress matrix to save memory: */
- MatAssemblyBegin(Kff,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(Kff,MAT_FINAL_ASSEMBLY);
- #if _PETSC_MAJOR_ == 2
- MatCompress(Kff);
- #endif
-
- MatAssemblyBegin(Kfs,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(Kfs,MAT_FINAL_ASSEMBLY);
- #if _PETSC_MAJOR_ == 2
- MatCompress(Kfs);
- #endif
+ Kff->Assemble();
+ Kfs->Assemble();
}
@@ -136,18 +114,17 @@
if (load->InAnalysis(configuration_type)) load->PenaltyCreatePVector(pf,kmax);
}
- VecAssemblyBegin(pf);
- VecAssemblyEnd(pf);
+ pf->Assemble();
}
/*Assign output pointers: */
if(pKff) *pKff=Kff;
- else MatFree(&Kff);
+ else xdelete(&Kff);
if(pKfs) *pKfs=Kfs;
- else MatFree(&Kfs);
+ else xdelete(&Kfs);
if(ppf) *ppf=pf;
- else VecFree(&pf);
+ else xdelete(&pf);
if(pdf) *pdf=df;
- else VecFree(&df);
+ else xdelete(&df);
if(pkmax) *pkmax=kmax;
}
Modified: issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h
===================================================================
--- issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/SystemMatricesx/SystemMatricesx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void SystemMatricesx(Mat* pKff, Mat* pKfs, Vec* ppf, Vec* pdf, double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,
+void SystemMatricesx(Matrix** pKff, Matrix** pKfs, Vector** ppf, Vector** pdf, double* pkmax,Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters,
bool kflag=true,bool pflag=true,bool penalty_kflag=true,bool penalty_pflag=true);
#endif /* _SYSTEMMATRICESX_H */
Deleted: issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp
===================================================================
--- issm/trunk-jpl/src/c/modules/TriMeshx/TriMeshx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,182 +0,0 @@
-/*!\file TriMeshx
- * \brief: x code for TriMesh mesher
- */
-
-/*Header files: {{{*/
-#include "./TriMeshx.h"
-#include "../../shared/shared.h"
-#include "../../include/include.h"
-#include "../../io/io.h"
-#include "../../toolkits/toolkits.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-/*}}}*/
-
-
-void TriMeshx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order){
-
- /*indexing: */
- int i,j;
-
- /*output: */
- double* index=NULL;
- Matrix* index_matrix=NULL;
- double* x=NULL;
- double* y=NULL;
- double* segments=NULL;
- Matrix* segments_matrix=NULL;
- double* segmentmarkerlist=NULL;
-
- /*intermediary: */
- int counter,backcounter;
- Contour* contour=NULL;
-
- /* Triangle structures needed to call Triangle library routines: */
- struct triangulateio in,out;
- char options[256];
-
- /*Create initial triangulation to call triangulate(). First number of points:*/
- in.numberofpoints=0;
- for (i=0;i<domain->Size();i++){
- contour=(Contour*)domain->GetObjectByOffset(i);
- in.numberofpoints+=contour->nods;
- }
- /*number of point attributes: */
- in.numberofpointattributes=1;
-
- /*fill in the point list: */
- in.pointlist = (REAL *) xmalloc(in.numberofpoints * 2 * sizeof(REAL));
-
- counter=0;
- for (i=0;i<domain->Size();i++){
- contour=(Contour*)domain->GetObjectByOffset(i);
- for (j=0;j<contour->nods;j++){
- in.pointlist[2*counter+0]=contour->x[j];
- in.pointlist[2*counter+1]=contour->y[j];
- counter++;
- }
- }
-
- /*fill in the point attribute list: */
- in.pointattributelist = (REAL *) xmalloc(in.numberofpoints * in.numberofpointattributes * sizeof(REAL));
- for (i=0;i<in.numberofpoints;i++) in.pointattributelist[i] = 0.0;
-
- /*fill in the point marker list: */
- in.pointmarkerlist = (int *) xmalloc(in.numberofpoints * sizeof(int));
- for(i=0;i<in.numberofpoints;i++) in.pointmarkerlist[i] = 0;
-
-
- /*Build segments. First figure out number of segments: holes and closed outlines have as many segments as vertices: */
- in.numberofsegments=0;
- for (i=0;i<domain->Size();i++){
- contour=(Contour*)domain->GetObjectByOffset(i);
- in.numberofsegments+=contour->nods;
- }
-
- in.segmentlist = (int *) xmalloc(in.numberofsegments * 2 * sizeof(int));
- in.segmentmarkerlist = (int *) xcalloc(in.numberofsegments,sizeof(int));
- counter=0;
- backcounter=0;
- for (i=0;i<domain->Size();i++){
- contour=(Contour*)domain->GetObjectByOffset(i);
- for (j=0;j<contour->nods-1;j++){
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=counter+1;
- in.segmentmarkerlist[counter]=0;
- counter++;
- }
- /*Close this profile: */
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=backcounter;
- in.segmentmarkerlist[counter]=0;
- counter++;
- backcounter=counter;
- }
-
-
- /*Build regions: */
- in.numberofregions = 0;
-
- /*Build holes: */
- in.numberofholes = domain->Size()-1; /*everything is a hole, but for the first profile.*/
- if(in.numberofholes){
- in.holelist = (REAL *) xmalloc(in.numberofholes * 2 * sizeof(REAL));
- for (i=0;i<domain->Size()-1;i++){
- contour=(Contour*)domain->GetObjectByOffset(i+1);
- GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],contour->nods,contour->x,contour->y);
- }
- }
-
- /* Make necessary initializations so that Triangle can return a triangulation in `out': */
-
- out.pointlist = (REAL *) NULL;
- out.pointattributelist = (REAL *) NULL;
- out.pointmarkerlist = (int *) NULL;
- out.trianglelist = (int *) NULL;
- out.triangleattributelist = (REAL *) NULL;
- out.neighborlist = (int *) NULL;
- out.segmentlist = (int *) NULL;
- out.segmentmarkerlist = (int *) NULL;
- out.edgelist = (int *) NULL;
- out.edgemarkerlist = (int *) NULL;
-
- /* Triangulate the points:. Switches are chosen to read and write a */
- /* PSLG (p), preserve the convex hull (c), number everything from */
- /* zero (z), assign a regional attribute to each element (A), and */
- /* produce an edge list (e), a Voronoi diagram (v), and a triangle */
- /* neighbor list (n). */
-
- sprintf(options,"%s%lf","pQzDq30ia",area); /*replace V by Q to quiet down the logging*/
-
-
- triangulate(options, &in, &out, NULL);
-
- /*report(&out, 0, 1, 1, 1, 1, 0);*/
-
-
- /*Allocate index, x and y: */
- index=(double*)xmalloc(3*out.numberoftriangles*sizeof(double));
- x=(double*)xmalloc(out.numberofpoints*sizeof(double));
- y=(double*)xmalloc(out.numberofpoints*sizeof(double));
- segments=(double*)xmalloc(3*out.numberofsegments*sizeof(double));
- segmentmarkerlist=(double*)xmalloc(out.numberofsegments*sizeof(double));
-
- for (i = 0; i < out.numberoftriangles; i++) {
- for (j = 0; j < out.numberofcorners; j++) {
- *(index+3*i+j)=(double)out.trianglelist[i * out.numberofcorners + j]+1;
- }
- }
- for (i = 0; i < out.numberofpoints; i++) {
- x[i]=out.pointlist[i * 2 + 0];
- y[i]=out.pointlist[i * 2 + 1];
- }
-
- for (i = 0; i < out.numberofsegments; i++) {
- segments[3*i+0]=(double)out.segmentlist[i*2+0]+1;
- segments[3*i+1]=(double)out.segmentlist[i*2+1]+1;
- segmentmarkerlist[i]=(double)out.segmentmarkerlist[i];
- }
-
-
-
- /*Associate elements with segments: */
- AssociateSegmentToElement(&segments,out.numberofsegments,index,out.numberoftriangles);
-
- /*Order segments so that their normals point outside the domain: */
- if(order){
- OrderSegments(&segments,out.numberofsegments, index,out.numberoftriangles);
- }
-
-
- /*Output : */
- index_matrix=new Matrix(index,out.numberoftriangles,3,1);
- index_matrix->Convert(DENSE_SEQUENTIAL);
- *pindex=index_matrix;
-
- segments_matrix=new Matrix(segments,out.numberofsegments,3,1); segments_matrix->Convert(DENSE_SEQUENTIAL);
- *psegments=segments_matrix;
-
- *px=new Vector(x,out.numberofpoints);
- *py=new Vector(y,out.numberofpoints);
- *psegmentmarkerlist=new Vector(segmentmarkerlist,out.numberofsegments);
-
-}
Copied: issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp (from rev 11994, issm/trunk-jpl/src/c/modules/TriMeshx/TriMeshx.cpp)
===================================================================
--- issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp (rev 0)
+++ issm/trunk/src/c/modules/TriMeshx/TriMeshx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,182 @@
+/*!\file TriMeshx
+ * \brief: x code for TriMesh mesher
+ */
+
+/*Header files: {{{*/
+#include "./TriMeshx.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../io/io.h"
+#include "../../toolkits/toolkits.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+/*}}}*/
+
+
+void TriMeshx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order){
+
+ /*indexing: */
+ int i,j;
+
+ /*output: */
+ double* index=NULL;
+ Matrix* index_matrix=NULL;
+ double* x=NULL;
+ double* y=NULL;
+ double* segments=NULL;
+ Matrix* segments_matrix=NULL;
+ double* segmentmarkerlist=NULL;
+
+ /*intermediary: */
+ int counter,backcounter;
+ Contour* contour=NULL;
+
+ /* Triangle structures needed to call Triangle library routines: */
+ struct triangulateio in,out;
+ char options[256];
+
+ /*Create initial triangulation to call triangulate(). First number of points:*/
+ in.numberofpoints=0;
+ for (i=0;i<domain->Size();i++){
+ contour=(Contour*)domain->GetObjectByOffset(i);
+ in.numberofpoints+=contour->nods;
+ }
+ /*number of point attributes: */
+ in.numberofpointattributes=1;
+
+ /*fill in the point list: */
+ in.pointlist = (REAL *) xmalloc(in.numberofpoints * 2 * sizeof(REAL));
+
+ counter=0;
+ for (i=0;i<domain->Size();i++){
+ contour=(Contour*)domain->GetObjectByOffset(i);
+ for (j=0;j<contour->nods;j++){
+ in.pointlist[2*counter+0]=contour->x[j];
+ in.pointlist[2*counter+1]=contour->y[j];
+ counter++;
+ }
+ }
+
+ /*fill in the point attribute list: */
+ in.pointattributelist = (REAL *) xmalloc(in.numberofpoints * in.numberofpointattributes * sizeof(REAL));
+ for (i=0;i<in.numberofpoints;i++) in.pointattributelist[i] = 0.0;
+
+ /*fill in the point marker list: */
+ in.pointmarkerlist = (int *) xmalloc(in.numberofpoints * sizeof(int));
+ for(i=0;i<in.numberofpoints;i++) in.pointmarkerlist[i] = 0;
+
+
+ /*Build segments. First figure out number of segments: holes and closed outlines have as many segments as vertices: */
+ in.numberofsegments=0;
+ for (i=0;i<domain->Size();i++){
+ contour=(Contour*)domain->GetObjectByOffset(i);
+ in.numberofsegments+=contour->nods;
+ }
+
+ in.segmentlist = (int *) xmalloc(in.numberofsegments * 2 * sizeof(int));
+ in.segmentmarkerlist = (int *) xcalloc(in.numberofsegments,sizeof(int));
+ counter=0;
+ backcounter=0;
+ for (i=0;i<domain->Size();i++){
+ contour=(Contour*)domain->GetObjectByOffset(i);
+ for (j=0;j<contour->nods-1;j++){
+ in.segmentlist[2*counter+0]=counter;
+ in.segmentlist[2*counter+1]=counter+1;
+ in.segmentmarkerlist[counter]=0;
+ counter++;
+ }
+ /*Close this profile: */
+ in.segmentlist[2*counter+0]=counter;
+ in.segmentlist[2*counter+1]=backcounter;
+ in.segmentmarkerlist[counter]=0;
+ counter++;
+ backcounter=counter;
+ }
+
+
+ /*Build regions: */
+ in.numberofregions = 0;
+
+ /*Build holes: */
+ in.numberofholes = domain->Size()-1; /*everything is a hole, but for the first profile.*/
+ if(in.numberofholes){
+ in.holelist = (REAL *) xmalloc(in.numberofholes * 2 * sizeof(REAL));
+ for (i=0;i<domain->Size()-1;i++){
+ contour=(Contour*)domain->GetObjectByOffset(i+1);
+ GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],contour->nods,contour->x,contour->y);
+ }
+ }
+
+ /* Make necessary initializations so that Triangle can return a triangulation in `out': */
+
+ out.pointlist = (REAL *) NULL;
+ out.pointattributelist = (REAL *) NULL;
+ out.pointmarkerlist = (int *) NULL;
+ out.trianglelist = (int *) NULL;
+ out.triangleattributelist = (REAL *) NULL;
+ out.neighborlist = (int *) NULL;
+ out.segmentlist = (int *) NULL;
+ out.segmentmarkerlist = (int *) NULL;
+ out.edgelist = (int *) NULL;
+ out.edgemarkerlist = (int *) NULL;
+
+ /* Triangulate the points:. Switches are chosen to read and write a */
+ /* PSLG (p), preserve the convex hull (c), number everything from */
+ /* zero (z), assign a regional attribute to each element (A), and */
+ /* produce an edge list (e), a Voronoi diagram (v), and a triangle */
+ /* neighbor list (n). */
+
+ sprintf(options,"%s%lf","pQzDq30ia",area); /*replace V by Q to quiet down the logging*/
+
+
+ triangulate(options, &in, &out, NULL);
+
+ /*report(&out, 0, 1, 1, 1, 1, 0);*/
+
+
+ /*Allocate index, x and y: */
+ index=(double*)xmalloc(3*out.numberoftriangles*sizeof(double));
+ x=(double*)xmalloc(out.numberofpoints*sizeof(double));
+ y=(double*)xmalloc(out.numberofpoints*sizeof(double));
+ segments=(double*)xmalloc(3*out.numberofsegments*sizeof(double));
+ segmentmarkerlist=(double*)xmalloc(out.numberofsegments*sizeof(double));
+
+ for (i = 0; i < out.numberoftriangles; i++) {
+ for (j = 0; j < out.numberofcorners; j++) {
+ *(index+3*i+j)=(double)out.trianglelist[i * out.numberofcorners + j]+1;
+ }
+ }
+ for (i = 0; i < out.numberofpoints; i++) {
+ x[i]=out.pointlist[i * 2 + 0];
+ y[i]=out.pointlist[i * 2 + 1];
+ }
+
+ for (i = 0; i < out.numberofsegments; i++) {
+ segments[3*i+0]=(double)out.segmentlist[i*2+0]+1;
+ segments[3*i+1]=(double)out.segmentlist[i*2+1]+1;
+ segmentmarkerlist[i]=(double)out.segmentmarkerlist[i];
+ }
+
+
+
+ /*Associate elements with segments: */
+ AssociateSegmentToElement(&segments,out.numberofsegments,index,out.numberoftriangles);
+
+ /*Order segments so that their normals point outside the domain: */
+ if(order){
+ OrderSegments(&segments,out.numberofsegments, index,out.numberoftriangles);
+ }
+
+
+ /*Output : */
+ index_matrix=new Matrix(index,out.numberoftriangles,3,1);
+ index_matrix->Convert(DENSE_SEQUENTIAL);
+ *pindex=index_matrix;
+
+ segments_matrix=new Matrix(segments,out.numberofsegments,3,1); segments_matrix->Convert(DENSE_SEQUENTIAL);
+ *psegments=segments_matrix;
+
+ *px=new Vector(x,out.numberofpoints);
+ *py=new Vector(y,out.numberofpoints);
+ *psegmentmarkerlist=new Vector(segmentmarkerlist,out.numberofsegments);
+
+}
Deleted: issm/trunk/src/c/modules/TriMeshx/TriMeshx.h
===================================================================
--- issm/trunk-jpl/src/c/modules/TriMeshx/TriMeshx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/TriMeshx/TriMeshx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,27 +0,0 @@
-/*!\file: TriMeshx.h
- * \brief header file for TriMeshx module
- */
-
-#ifndef _TRIMESHX_H_
-#define _TRIMESHX_H_
-
-
-
-/*ANSI_DECLARATORS needed to call triangle library: */
-#ifndef ANSI_DECLARATORS
-#define ANSI_DECLARATORS
-#include "triangle.h"
-#undef ANSI_DECLARATORS
-#else
-#include "triangle.h"
-#endif
-
-#include "string.h"
-
-#include "../../Container/Container.h"
-#include "../../objects/objects.h"
-
-/* local prototypes: */
-void TriMeshx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order);
-
-#endif /* _TRIMESHX_H */
Copied: issm/trunk/src/c/modules/TriMeshx/TriMeshx.h (from rev 11994, issm/trunk-jpl/src/c/modules/TriMeshx/TriMeshx.h)
===================================================================
--- issm/trunk/src/c/modules/TriMeshx/TriMeshx.h (rev 0)
+++ issm/trunk/src/c/modules/TriMeshx/TriMeshx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,27 @@
+/*!\file: TriMeshx.h
+ * \brief header file for TriMeshx module
+ */
+
+#ifndef _TRIMESHX_H_
+#define _TRIMESHX_H_
+
+
+
+/*ANSI_DECLARATORS needed to call triangle library: */
+#ifndef ANSI_DECLARATORS
+#define ANSI_DECLARATORS
+#include "triangle.h"
+#undef ANSI_DECLARATORS
+#else
+#include "triangle.h"
+#endif
+
+#include "string.h"
+
+#include "../../Container/Container.h"
+#include "../../objects/objects.h"
+
+/* local prototypes: */
+void TriMeshx(Matrix** pindex,Vector** px,Vector** py,Matrix** psegments,Vector** psegmentmarkerlist,DataSet* domain,double area,bool order);
+
+#endif /* _TRIMESHX_H */
Modified: issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp
===================================================================
--- issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void UpdateDynamicConstraintsx(Constraints* constraints,Nodes* nodes,Parameters* parameters,Vec yg){
+void UpdateDynamicConstraintsx(Constraints* constraints,Nodes* nodes,Parameters* parameters,Vector* yg){
int configuration_type;
double* yg_serial=NULL;
@@ -18,7 +18,7 @@
parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
/*serialize yg, so nodes can index into it: */
- VecToMPISerial(&yg_serial,yg);
+ yg_serial=yg->ToMPISerial();
for(int i=0;i<constraints->Size();i++){
Modified: issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h
===================================================================
--- issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,6 @@
#include "../../Container/Container.h"
#include "../../objects/objects.h"
-void UpdateDynamicConstraintsx(Constraints* constraints,Nodes* nodes,Parameters* parameters,Vec yg);
+void UpdateDynamicConstraintsx(Constraints* constraints,Nodes* nodes,Parameters* parameters,Vector* yg);
#endif /* _UPDATESPCSX_H */
Modified: issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp
===================================================================
--- issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/UpdateVertexPositionsx/UpdateVertexPositionsx.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
int UpdateVertexPositionsx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters){
int i;
- Vec vz = NULL;
+ Vector* vz = NULL;
Vertex *vertex = NULL;
double *thickness = NULL;
double *bed = NULL;
@@ -22,7 +22,7 @@
GetVectorFromInputsx(&bed ,elements,nodes, vertices, loads, materials, parameters, BedEnum, VertexEnum);
/*Allocate vector*/
- vz=NewVec(vertices->NumberOfVertices());
+ vz=new Vector(vertices->NumberOfVertices());
/*Update verices new geometry: */
for (i=0;i<vertices->Size();i++){
@@ -31,8 +31,7 @@
}
/*Assemble mesh velocity*/
- VecAssemblyBegin(vz);
- VecAssemblyEnd(vz);
+ vz->Assemble();
/*Update element inputs*/
InputUpdateFromVectorx(elements,nodes,vertices,loads,materials,parameters,vz,VzMeshEnum,VertexEnum);
@@ -40,6 +39,6 @@
/*Free ressources:*/
xfree((void**)&thickness);
xfree((void**)&bed);
- VecFree(&vz);
+ xdelete(&vz);
return 1;
}
Modified: issm/trunk/src/c/modules/VecMergex/VecMergex.cpp
===================================================================
--- issm/trunk/src/c/modules/VecMergex/VecMergex.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/VecMergex/VecMergex.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,7 +9,7 @@
#include "../../toolkits/toolkits.h"
#include "../../EnumDefinitions/EnumDefinitions.h"
-void VecMergex(Vec ug, Vec uf, Nodes* nodes, Parameters* parameters, int SetEnum){
+void VecMergex(Vector* ug, Vector* uf, Nodes* nodes, Parameters* parameters, int SetEnum){
/*variables: */
int i;
@@ -20,8 +20,9 @@
parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
/*serialize uf: */
- VecToMPISerial(&uf_serial,uf);
+ uf_serial=uf->ToMPISerial();
+
/*Do we have any nodes for this configuration? :*/
if(nodes->NumberOfNodes(configuration_type)){
@@ -42,7 +43,5 @@
xfree((void**)&uf_serial);
/*Assemble vector: */
- VecAssemblyBegin(ug);
- VecAssemblyEnd(ug);
-
+ ug->Assemble();
}
Modified: issm/trunk/src/c/modules/VecMergex/VecMergex.h
===================================================================
--- issm/trunk/src/c/modules/VecMergex/VecMergex.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/VecMergex/VecMergex.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,6 @@
#include "../../objects/objects.h"
/* local prototypes: */
-void VecMergex(Vec ug, Vec uf, Nodes* nodes, Parameters* parameters, int SetEnum);
+void VecMergex(Vector* ug, Vector* uf, Nodes* nodes, Parameters* parameters, int SetEnum);
#endif /* _VECMERGEX_H */
Modified: issm/trunk/src/c/modules/modules.h
===================================================================
--- issm/trunk/src/c/modules/modules.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/modules/modules.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -110,6 +110,9 @@
#include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
#include "./TimeAdaptx/TimeAdaptx.h"
#include "./TriaSearchx/TriaSearchx.h"
+#ifdef _SERIAL_
+#include "./TriMeshx/TriMeshx.h"
+#endif
#include "./ThicknessAbsMisfitx/ThicknessAbsMisfitx.h"
#include "./ThicknessAbsGradientx/ThicknessAbsGradientx.h"
#include "./UpdateVertexPositionsx/UpdateVertexPositionsx.h"
Modified: issm/trunk/src/c/objects/Bamg/BamgGeom.cpp
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgGeom.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgGeom.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,6 +1,7 @@
#include <stdio.h>
#include "../objects.h"
#include "../../io/io.h"
+#include "../../shared/shared.h"
/*Constructors/Destructors*/
/*FUNCTION BamgGeom::BamgGeom(){{{1*/
@@ -18,17 +19,17 @@
}
/*}}}*/
/*FUNCTION BamgGeom::BamgGeom(mxArray* matlab_struct){{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgGeom::BamgGeom(mxArray* matlab_struct){
- FetchMatlabData(&this->Vertices, &this->VerticesSize[0], &this->VerticesSize[1], mxGetAssignedField(matlab_struct,0,"Vertices"));
- FetchMatlabData(&this->Edges, &this->EdgesSize[0], &this->EdgesSize[1], mxGetAssignedField(matlab_struct,0,"Edges"));
+ FetchData(&this->Vertices, &this->VerticesSize[0], &this->VerticesSize[1], mxGetAssignedField(matlab_struct,0,"Vertices"));
+ FetchData(&this->Edges, &this->EdgesSize[0], &this->EdgesSize[1], mxGetAssignedField(matlab_struct,0,"Edges"));
this->TangentAtEdgesSize[0]=0, this->TangentAtEdgesSize[1]=0; this->TangentAtEdges=NULL;
- FetchMatlabData(&this->Corners, &this->CornersSize[0], &this->CornersSize[1], mxGetAssignedField(matlab_struct,0,"Corners"));
- FetchMatlabData(&this->RequiredVertices,&this->RequiredVerticesSize[0],&this->RequiredVerticesSize[1],mxGetAssignedField(matlab_struct,0,"RequiredVertices"));
- FetchMatlabData(&this->RequiredEdges, &this->RequiredEdgesSize[0], &this->RequiredEdgesSize[1], mxGetAssignedField(matlab_struct,0,"RequiredEdges"));
- FetchMatlabData(&this->CrackedEdges, &this->CrackedEdgesSize[0], &this->CrackedEdgesSize[1], mxGetAssignedField(matlab_struct,0,"CrackedEdges"));
- FetchMatlabData(&this->SubDomains, &this->SubDomainsSize[0], &this->SubDomainsSize[1], mxGetAssignedField(matlab_struct,0,"SubDomains"));
+ FetchData(&this->Corners, &this->CornersSize[0], &this->CornersSize[1], mxGetAssignedField(matlab_struct,0,"Corners"));
+ FetchData(&this->RequiredVertices,&this->RequiredVerticesSize[0],&this->RequiredVerticesSize[1],mxGetAssignedField(matlab_struct,0,"RequiredVertices"));
+ FetchData(&this->RequiredEdges, &this->RequiredEdgesSize[0], &this->RequiredEdgesSize[1], mxGetAssignedField(matlab_struct,0,"RequiredEdges"));
+ FetchData(&this->CrackedEdges, &this->CrackedEdgesSize[0], &this->CrackedEdgesSize[1], mxGetAssignedField(matlab_struct,0,"CrackedEdges"));
+ FetchData(&this->SubDomains, &this->SubDomainsSize[0], &this->SubDomainsSize[1], mxGetAssignedField(matlab_struct,0,"SubDomains"));
}
#endif
@@ -50,7 +51,7 @@
/*Methods*/
/*FUNCTION BamgGeom::SetMatlabStructureFields{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BamgGeom::SetMatlabStructureFields(mxArray** matlab_struct){
/*Intermediary*/
@@ -93,7 +94,7 @@
#endif
/*}}}*/
/*FUNCTION BamgGeom::SetMatlabStructureField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BamgGeom::SetMatlabStructureField(mxArray* matlab_struct,const char* fieldname,int fieldrows,int fieldcols,double* fieldpointer){
/*Intermediary*/
Modified: issm/trunk/src/c/objects/Bamg/BamgGeom.h
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgGeom.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgGeom.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,7 +4,7 @@
#ifndef _BAMGGEOM_H_
#define _BAMGGEOM_H_
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -29,12 +29,12 @@
double* SubDomains;
BamgGeom();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgGeom(mxArray* matlab_struct);
#endif
~BamgGeom();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabStructureFields(mxArray** matlab_struct);
void SetMatlabStructureField(mxArray* matlab_struct,const char* fieldname,int fieldrows,int fieldcols,double* fieldpointer);
#endif
Modified: issm/trunk/src/c/objects/Bamg/BamgMesh.cpp
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgMesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgMesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,6 +1,7 @@
#include <stdio.h>
#include "../objects.h"
#include "../../io/io.h"
+#include "../../shared/shared.h"
/*Constructors/Destructors*/
/*FUNCTION BamgMesh::BamgMesh(){{{1*/
@@ -31,27 +32,27 @@
}
/*}}}*/
/*FUNCTION BamgMesh::BamgMesh(mxArray* matlab_struct){{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgMesh::BamgMesh(mxArray* matlab_struct){
int lines,cols;
- FetchMatlabData(&this->Vertices, &this->VerticesSize[0], &this->VerticesSize[1], mxGetAssignedField(matlab_struct,0,"Vertices"));
- FetchMatlabData(&this->Edges, &this->EdgesSize[0], &this->EdgesSize[1], mxGetAssignedField(matlab_struct,0,"Edges"));
- FetchMatlabData(&this->Triangles, &this->TrianglesSize[0], &this->TrianglesSize[1], mxGetAssignedField(matlab_struct,0,"Triangles"));
+ FetchData(&this->Vertices, &this->VerticesSize[0], &this->VerticesSize[1], mxGetAssignedField(matlab_struct,0,"Vertices"));
+ FetchData(&this->Edges, &this->EdgesSize[0], &this->EdgesSize[1], mxGetAssignedField(matlab_struct,0,"Edges"));
+ FetchData(&this->Triangles, &this->TrianglesSize[0], &this->TrianglesSize[1], mxGetAssignedField(matlab_struct,0,"Triangles"));
this->QuadrilateralsSize[0]=0, this->QuadrilateralsSize[1]=0; this->Quadrilaterals=NULL;
this->SubDomainsSize[0]=0, this->SubDomainsSize[1]=0; this->SubDomains=NULL;
this->SubDomainsFromGeomSize[0]=0, this->SubDomainsFromGeomSize[1]=0; this->SubDomainsFromGeom=NULL;
this->CrackedVerticesSize[0]=0, this->CrackedVerticesSize[1]=0; this->CrackedVertices=NULL;
- FetchMatlabData(&this->CrackedEdges, &this->CrackedEdgesSize[0], &this->CrackedEdgesSize[1], mxGetAssignedField(matlab_struct,0,"CrackedEdges"));
+ FetchData(&this->CrackedEdges, &this->CrackedEdgesSize[0], &this->CrackedEdgesSize[1], mxGetAssignedField(matlab_struct,0,"CrackedEdges"));
- FetchMatlabData(&this->VerticesOnGeomEdge, &this->VerticesOnGeomEdgeSize[0], &this->VerticesOnGeomEdgeSize[1], mxGetAssignedField(matlab_struct,0,"VerticesOnGeomEdge"));
- FetchMatlabData(&this->VerticesOnGeomVertex,&this->VerticesOnGeomVertexSize[0],&this->VerticesOnGeomVertexSize[1],mxGetAssignedField(matlab_struct,0,"VerticesOnGeomVertex"));
- FetchMatlabData(&this->EdgesOnGeomEdge, &this->EdgesOnGeomEdgeSize[0], &this->EdgesOnGeomEdgeSize[1], mxGetAssignedField(matlab_struct,0,"EdgesOnGeomEdge"));
+ FetchData(&this->VerticesOnGeomEdge, &this->VerticesOnGeomEdgeSize[0], &this->VerticesOnGeomEdgeSize[1], mxGetAssignedField(matlab_struct,0,"VerticesOnGeomEdge"));
+ FetchData(&this->VerticesOnGeomVertex,&this->VerticesOnGeomVertexSize[0],&this->VerticesOnGeomVertexSize[1],mxGetAssignedField(matlab_struct,0,"VerticesOnGeomVertex"));
+ FetchData(&this->EdgesOnGeomEdge, &this->EdgesOnGeomEdgeSize[0], &this->EdgesOnGeomEdgeSize[1], mxGetAssignedField(matlab_struct,0,"EdgesOnGeomEdge"));
this->IssmEdgesSize[0]=0, this->IssmEdgesSize[1]=0; this->IssmEdges=NULL;
- FetchMatlabData(&this->IssmSegments, &this->IssmSegmentsSize[0], &this->IssmSegmentsSize[1], mxGetAssignedField(matlab_struct,0,"IssmSegments"));
+ FetchData(&this->IssmSegments, &this->IssmSegmentsSize[0], &this->IssmSegmentsSize[1], mxGetAssignedField(matlab_struct,0,"IssmSegments"));
this->ElementConnectivitySize[0]=0, this->ElementConnectivitySize[1]=0; this->ElementConnectivity=NULL;
this->NodalConnectivitySize[0]=0, this->NodalConnectivitySize[1]=0; this->NodalConnectivity=NULL;
@@ -90,7 +91,7 @@
/*Methods*/
/*FUNCTION BamgMesh::SetMatlabStructureFields{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BamgMesh::SetMatlabStructureFields(mxArray** matlab_struct){
/*Intermediary*/
@@ -151,7 +152,7 @@
#endif
/*}}}*/
/*FUNCTION BamgMesh::SetMatlabStructureField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BamgMesh::SetMatlabStructureField(mxArray* matlab_struct,const char* fieldname,int fieldrows,int fieldcols,double* fieldpointer){
/*Intermediary*/
Modified: issm/trunk/src/c/objects/Bamg/BamgMesh.h
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgMesh.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgMesh.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,7 +4,7 @@
#ifndef _BAMGMESH_H_
#define _BAMGMESH_H_
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -50,12 +50,12 @@
double* NodalElementConnectivity;
BamgMesh();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgMesh(mxArray* matlab_struct);
#endif
~BamgMesh();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabStructureFields(mxArray** matlab_struct);
void SetMatlabStructureField(mxArray* matlab_struct,const char* fieldname,int fieldrows,int fieldcols,double* fieldpointer);
#endif
Modified: issm/trunk/src/c/objects/Bamg/BamgOpts.cpp
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgOpts.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgOpts.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -41,38 +41,38 @@
}
/*}}}*/
/*FUNCTION BamgOpts::BamgOpts(mxArray* matlab_struct){{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgOpts::BamgOpts(mxArray* matlab_struct){
- FetchMatlabData(&this->anisomax,mxGetField(matlab_struct,0,"anisomax"));
- FetchMatlabData(&this->cutoff,mxGetField(matlab_struct,0,"cutoff"));
- FetchMatlabData(&this->coeff,mxGetField(matlab_struct,0,"coeff"));
- FetchMatlabData(&this->errg,mxGetField(matlab_struct,0,"errg"));
- FetchMatlabData(&this->gradation,mxGetField(matlab_struct,0,"gradation"));
- FetchMatlabData(&this->Hessiantype,mxGetField(matlab_struct,0,"Hessiantype"));
- FetchMatlabData(&this->MaxCornerAngle,mxGetField(matlab_struct,0,"MaxCornerAngle"));
- FetchMatlabData(&this->maxnbv,mxGetField(matlab_struct,0,"maxnbv"));
- FetchMatlabData(&this->maxsubdiv,mxGetField(matlab_struct,0,"maxsubdiv"));
- FetchMatlabData(&this->Metrictype,mxGetField(matlab_struct,0,"Metrictype"));
- FetchMatlabData(&this->nbjacobi,mxGetField(matlab_struct,0,"nbjacobi"));
- FetchMatlabData(&this->nbsmooth,mxGetField(matlab_struct,0,"nbsmooth"));
- FetchMatlabData(&this->omega,mxGetField(matlab_struct,0,"omega"));
- FetchMatlabData(&this->power,mxGetField(matlab_struct,0,"power"));
- FetchMatlabData(&this->verbose,mxGetField(matlab_struct,0,"verbose"));
+ FetchData(&this->anisomax,mxGetField(matlab_struct,0,"anisomax"));
+ FetchData(&this->cutoff,mxGetField(matlab_struct,0,"cutoff"));
+ FetchData(&this->coeff,mxGetField(matlab_struct,0,"coeff"));
+ FetchData(&this->errg,mxGetField(matlab_struct,0,"errg"));
+ FetchData(&this->gradation,mxGetField(matlab_struct,0,"gradation"));
+ FetchData(&this->Hessiantype,mxGetField(matlab_struct,0,"Hessiantype"));
+ FetchData(&this->MaxCornerAngle,mxGetField(matlab_struct,0,"MaxCornerAngle"));
+ FetchData(&this->maxnbv,mxGetField(matlab_struct,0,"maxnbv"));
+ FetchData(&this->maxsubdiv,mxGetField(matlab_struct,0,"maxsubdiv"));
+ FetchData(&this->Metrictype,mxGetField(matlab_struct,0,"Metrictype"));
+ FetchData(&this->nbjacobi,mxGetField(matlab_struct,0,"nbjacobi"));
+ FetchData(&this->nbsmooth,mxGetField(matlab_struct,0,"nbsmooth"));
+ FetchData(&this->omega,mxGetField(matlab_struct,0,"omega"));
+ FetchData(&this->power,mxGetField(matlab_struct,0,"power"));
+ FetchData(&this->verbose,mxGetField(matlab_struct,0,"verbose"));
- FetchMatlabData(&this->Crack,mxGetField(matlab_struct,0,"Crack"));
- FetchMatlabData(&this->geometricalmetric,mxGetField(matlab_struct,0,"geometricalmetric"));
- FetchMatlabData(&this->KeepVertices,mxGetField(matlab_struct,0,"KeepVertices"));
- FetchMatlabData(&this->splitcorners,mxGetField(matlab_struct,0,"splitcorners"));
+ FetchData(&this->Crack,mxGetField(matlab_struct,0,"Crack"));
+ FetchData(&this->geometricalmetric,mxGetField(matlab_struct,0,"geometricalmetric"));
+ FetchData(&this->KeepVertices,mxGetField(matlab_struct,0,"KeepVertices"));
+ FetchData(&this->splitcorners,mxGetField(matlab_struct,0,"splitcorners"));
- FetchMatlabData(&this->hmin,mxGetField(matlab_struct,0,"hmin"));
- FetchMatlabData(&this->hmax,mxGetField(matlab_struct,0,"hmax"));
- FetchMatlabData(&this->hminVertices,&this->hminVerticesSize[0],&this->hminVerticesSize[1],mxGetField(matlab_struct,0,"hminVertices"));
- FetchMatlabData(&this->hmaxVertices,&this->hmaxVerticesSize[0],&this->hmaxVerticesSize[1],mxGetField(matlab_struct,0,"hmaxVertices"));
- FetchMatlabData(&this->hVertices,&this->hVerticesSize[0],&this->hVerticesSize[1],mxGetField(matlab_struct,0,"hVertices"));
- FetchMatlabData(&this->metric,&this->metricSize[0],&this->metricSize[1],mxGetField(matlab_struct,0,"metric"));
- FetchMatlabData(&this->field,&this->fieldSize[0],&this->fieldSize[1],mxGetField(matlab_struct,0,"field"));
- FetchMatlabData(&this->err,&this->errSize[0],&this->errSize[1],mxGetField(matlab_struct,0,"err"));
+ FetchData(&this->hmin,mxGetField(matlab_struct,0,"hmin"));
+ FetchData(&this->hmax,mxGetField(matlab_struct,0,"hmax"));
+ FetchData(&this->hminVertices,&this->hminVerticesSize[0],&this->hminVerticesSize[1],mxGetField(matlab_struct,0,"hminVertices"));
+ FetchData(&this->hmaxVertices,&this->hmaxVerticesSize[0],&this->hmaxVerticesSize[1],mxGetField(matlab_struct,0,"hmaxVertices"));
+ FetchData(&this->hVertices,&this->hVerticesSize[0],&this->hVerticesSize[1],mxGetField(matlab_struct,0,"hVertices"));
+ FetchData(&this->metric,&this->metricSize[0],&this->metricSize[1],mxGetField(matlab_struct,0,"metric"));
+ FetchData(&this->field,&this->fieldSize[0],&this->fieldSize[1],mxGetField(matlab_struct,0,"field"));
+ FetchData(&this->err,&this->errSize[0],&this->errSize[1],mxGetField(matlab_struct,0,"err"));
/*Additional checks*/
this->Check();
Modified: issm/trunk/src/c/objects/Bamg/BamgOpts.h
===================================================================
--- issm/trunk/src/c/objects/Bamg/BamgOpts.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/BamgOpts.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,7 @@
#ifndef _BAMGOPTS_H_
#define _BAMGOPTS_H_
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -53,7 +53,7 @@
double* err;
BamgOpts();
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
BamgOpts(mxArray* matlab_struct);
#endif
~BamgOpts();
Modified: issm/trunk/src/c/objects/Bamg/Mesh.cpp
===================================================================
--- issm/trunk/src/c/objects/Bamg/Mesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/Mesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1027,17 +1027,19 @@
for (i=0;i<nbt;i++){
Triangle &t=triangles[i];
if (t.det>0 && !(t.Hidden(0)||t.Hidden(1) || t.Hidden(2) )){
- index[num*3+0]=GetId(t[0])+1; //back to M indexing
- index[num*3+1]=GetId(t[1])+1; //back to M indexing
- index[num*3+2]=GetId(t[2])+1; //back to M indexing
- num=num+1;
+ if(t.Anisotropy()<2 & t.Length()<1.e+5){
+ index[num*3+0]=GetId(t[0])+1; //back to M indexing
+ index[num*3+1]=GetId(t[1])+1; //back to M indexing
+ index[num*3+2]=GetId(t[2])+1; //back to M indexing
+ num=num+1;
+ }
}
}
}
/*Assign output pointers*/
*pindex=index;
- *pnels=k;
+ *pnels=num;
}
/*}}}1*/
Modified: issm/trunk/src/c/objects/Bamg/Triangle.cpp
===================================================================
--- issm/trunk/src/c/objects/Bamg/Triangle.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/Triangle.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -50,6 +50,57 @@
AdjacentTriangle Triangle::Adj(int i) const {
return AdjacentTriangle(adj[i],AdjEdgeIndex[i]&3);
};/*}}}*/
+ /*FUNCTION Triangle::Anisotropy{{{1*/
+ double Triangle::Anisotropy() const{
+
+ double lmin,lmax;
+
+ /*Get three vertices A,B and C*/
+ R2 A=*this->vertices[0];
+ R2 B=*this->vertices[1];
+ R2 C=*this->vertices[2];
+
+ /*Compute edges*/
+ R2 e1=B-A;
+ R2 e2=C-A;
+ R2 e3=B-C;
+
+ /*Compute edge length*/
+ double l1=Norme2(e1);
+ double l2=Norme2(e2);
+ double l3=Norme2(e3);
+
+ lmin=l1;
+ lmin=min(lmin,l2);
+ lmin=min(lmin,l3);
+ lmax=l1;
+ lmax=max(lmax,l2);
+ lmax=max(lmax,l3);
+
+ return lmax/lmin;
+ };/*}}}*/
+ /*FUNCTION Triangle::Length{{{1*/
+ double Triangle::Length() const{
+
+ double l;
+
+ /*Get three vertices A,B and C*/
+ R2 A=*this->vertices[0];
+ R2 B=*this->vertices[1];
+ R2 C=*this->vertices[2];
+
+ /*Compute edges*/
+ R2 e1=B-A;
+ R2 e2=C-A;
+ R2 e3=B-C;
+
+ /*Compute edge length*/
+ l=Norme2(e1);
+ l=max(l,Norme2(e2));
+ l=max(l,Norme2(e3));
+
+ return l;
+ };/*}}}*/
/*FUNCTION Triangle::Echo {{{1*/
void Triangle::Echo(void){
Modified: issm/trunk/src/c/objects/Bamg/Triangle.h
===================================================================
--- issm/trunk/src/c/objects/Bamg/Triangle.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Bamg/Triangle.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -40,6 +40,8 @@
//Methods
void Echo();
+ double Anisotropy() const;
+ double Length() const;
int swap(short a1,int=0);
long Optim(short a,int =0);
int Locked(int a)const;
Modified: issm/trunk/src/c/objects/Contour.cpp
===================================================================
--- issm/trunk/src/c/objects/Contour.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Contour.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,13 +12,150 @@
#include "../include/include.h"
#include "../io/io.h"
-void ContourEcho(Contour* contour){
+/*Contour constructors and destructors:*/
+/*FUNCTION Contour::Contour() default constructor {{{1*/
+Contour::Contour(){
+ this->id=0;
+ this->nods=0;
+ this->x=NULL;
+ this->y=NULL;
+ this->closed=false;
+}
+/*}}}*/
+/*FUNCTION Contour::Contour(int pid, int nods, double* x, double* y,bool closed) {{{1*/
+Contour::Contour(int pid,int pnods, double* px, double* py,bool pclosed){
+
+ this->id=pid;
+ this->nods=pnods;
+ this->closed=pclosed;
+ if(nods){
+ this->x=(double*)xmalloc(nods*sizeof(double));
+ memcpy(this->x,px,nods*sizeof(double));
+ this->y=(double*)xmalloc(nods*sizeof(double));
+ memcpy(this->y,py,nods*sizeof(double));
+ }
+}
+/*}}}*/
+/*FUNCTION Contour::Contour() default constructor {{{1*/
+Contour::~Contour(){
+ xfree((void**)&this->x);
+ xfree((void**)&this->y);
+}
+/*}}}*/
+
+/*Object virtual function resolutoin: */
+/*FUNCTION Contour::Echo(){{{1*/
+void Contour::Echo(void){
+
int i;
- _printf_(true,"Number of nodes in contour: %i\n",contour->nods);
- _printf_(true,"Node coordinates: \n");
- for (i=0;i<contour->nods;i++){
- _printf_(true,"%lf %lf\n",*(contour->x+i),*(contour->y+i));
+ printf("Contour: %i:\n",id);
+ printf(" nods: %i\n",nods);
+ printf(" closed: %s\n",closed?"true":"false");
+ if(nods){
+ printf(" x,y:\n");
+ for(i=0;i<nods;i++){
+ printf("%i: %g|%g\n",i,x[i],y[i]);
+ }
}
}
+/*}}}*/
+/*FUNCTION Contour::DeepEcho(){{{1*/
+void Contour::DeepEcho(void){
+ this->Echo();
+}
+/*}}}*/
+/*FUNCTION Contour::Id(){{{1*/
+int Contour::Id(void){
+ return id;
+}
+/*}}}*/
+/*FUNCTION Contour::MyRank{{{1*/
+int Contour::MyRank(void){
+ extern int my_rank;
+
+ return my_rank;
+}
+/*}}}*/
+#ifdef _SERIAL_
+/*FUNCTION Contour::Marshall{{{1*/
+void Contour::Marshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+ int enum_type=0;
+ char* marshalled_inputs=NULL;
+ int marshalled_inputssize;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*get enum type of Contour: */
+ enum_type=ContourEnum;
+
+ /*marshall enum: */
+ memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
+
+ /*marshall Contour data: */
+ memcpy(marshalled_dataset,&id,sizeof(id));marshalled_dataset+=sizeof(id);
+ memcpy(marshalled_dataset,&nods,sizeof(nods));marshalled_dataset+=sizeof(nods);
+ memcpy(marshalled_dataset,&closed,sizeof(closed));marshalled_dataset+=sizeof(closed);
+ memcpy(marshalled_dataset,x,nods*sizeof(double));marshalled_dataset+=nods*sizeof(double);
+ memcpy(marshalled_dataset,y,nods*sizeof(double));marshalled_dataset+=nods*sizeof(double);
+
+ *pmarshalled_dataset=marshalled_dataset;
+ return;
+}
+/*}}}*/
+/*FUNCTION Contour::MarshallSize{{{1*/
+int Contour::MarshallSize(){
+
+ return sizeof(id)+
+ sizeof(nods)+
+ sizeof(closed)+
+ 2*nods*sizeof(double)+
+ sizeof(int); //sizeof(int) for enum type
+}
+/*}}}*/
+/*FUNCTION Contour::Demarshall{{{1*/
+void Contour::Demarshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*this time, no need to get enum type, the pointer directly points to the beginning of the
+ *object data (thanks to DataSet::Demarshall):*/
+
+ memcpy(&id,marshalled_dataset,sizeof(id));marshalled_dataset+=sizeof(id);
+ memcpy(&nods,marshalled_dataset,sizeof(nods));marshalled_dataset+=sizeof(nods);
+ memcpy(&closed,marshalled_dataset,sizeof(closed));marshalled_dataset+=sizeof(closed);
+
+ if(nods){
+ this->x=(double*)xmalloc(nods*sizeof(double));
+ this->y=(double*)xmalloc(nods*sizeof(double));
+ memcpy(x,marshalled_dataset,nods*sizeof(double));marshalled_dataset+=nods*sizeof(double);
+ memcpy(y,marshalled_dataset,nods*sizeof(double));marshalled_dataset+=nods*sizeof(double);
+ }
+
+ /*return: */
+ *pmarshalled_dataset=marshalled_dataset;
+ return;
+}
+/*}}}*/
+#endif
+/*FUNCTION Contour::ObjectEnum{{{1*/
+int Contour::ObjectEnum(void){
+
+ return ContourEnum;
+
+}
+/*}}}*/
+/*FUNCTION Contour::copy {{{1*/
+Object* Contour::copy() {
+
+ return new Contour(*this);
+
+}
+/*}}}*/
Modified: issm/trunk/src/c/objects/Contour.h
===================================================================
--- issm/trunk/src/c/objects/Contour.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Contour.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,19 +1,48 @@
-/*! \file Contour.h
- * \brief structure object to hold contour profiles from an
- * Argus domain outline file, or from any cad system.
+/*!\file Contour.h
+ * \brief: header file for Contour object
*/
#ifndef _CONTOUR_H_
#define _CONTOUR_H_
-/*!Contour declaration: */
-struct Contour {
- int nods;
- double* x;
- double* y;
+/*Headers:*/
+/*{{{1*/
+#include "./Object.h"
+#include "../shared/Exceptions/exceptions.h"
+#include "../toolkits/toolkits.h"
+#include "../include/include.h"
+/*}}}*/
+
+class Contour: public Object{
+
+ public:
+
+ int id;
+ int nods; //number of vertices in the contour
+ double* x;
+ double* y;
+ bool closed; //is this contour closed?
+
+ /*Contour constructors, destructors {{{1*/
+ Contour();
+ Contour(int id, int nods, double* x, double* y,bool closed);
+ ~Contour();
+ /*}}}*/
+ /*Object virtual functions{{{1*/
+ void Echo(void);
+ void DeepEcho(void);
+ int Id(void);
+ int MyRank(void);
+ #ifdef _SERIAL_
+ void Marshall(char** pmarshalled_dataset);
+ int MarshallSize(void);
+ void Demarshall(char** pmarshalled_dataset);
+ #endif
+ int ObjectEnum(void);
+ Object* copy(void);
+ /*}}}*/
+
+
};
-/*!Methods: */
-void ContourEcho(Contour* contour);
-
-#endif /* CONTOUR_H_ */
+#endif /* _CONTOUR_H_ */
Modified: issm/trunk/src/c/objects/ElementResults/BoolElementResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ElementResults/BoolElementResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/BoolElementResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -184,12 +184,12 @@
}
/*}}}*/
/*FUNCTION BoolElementResult::GetVectorFromResults{{{1*/
-void BoolElementResult::GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs){
+void BoolElementResult::GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){
_error_("cannot return vector on vertices");
} /*}}}*/
/*FUNCTION BoolElementResult::GetElementVectorFromResults{{{1*/
-void BoolElementResult::GetElementVectorFromResults(Vec vector,int dof){
+void BoolElementResult::GetElementVectorFromResults(Vector* vector,int dof){
- VecSetValue(vector,dof,(double)value,INSERT_VALUES);
+ vector->SetValue(dof,value,INS_VAL);
} /*}}}*/
Modified: issm/trunk/src/c/objects/ElementResults/BoolElementResult.h
===================================================================
--- issm/trunk/src/c/objects/ElementResults/BoolElementResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/BoolElementResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -52,8 +52,8 @@
/*}}}*/
/*BoolElementResult management: {{{1*/
int InstanceEnum();
- void GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs);
- void GetElementVectorFromResults(Vec vector,int dof);
+ void GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs);
+ void GetElementVectorFromResults(Vector* vector,int dof);
/*}}}*/
};
#endif /* _BOOLELEMENTRESULT_H */
Modified: issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h
===================================================================
--- issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/DoubleElementResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -52,8 +52,8 @@
/*}}}*/
/*DoubleElementResult management: {{{1*/
int InstanceEnum();
- void GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs){_error_("not implemented");};
- void GetElementVectorFromResults(Vec vector,int dof){_error_("not implemented");};
+ void GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){_error_("not implemented");};
+ void GetElementVectorFromResults(Vector* vector,int dof){_error_("not implemented");};
/*}}}*/
};
#endif /* _DOUBLEELEMENTRESULT_H */
Modified: issm/trunk/src/c/objects/ElementResults/ElementResult.h
===================================================================
--- issm/trunk/src/c/objects/ElementResults/ElementResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/ElementResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,8 +24,8 @@
virtual int NumberOfNodalValues(void)=0;
virtual void PatchFill(int row, Patch* patch)=0;
virtual int InstanceEnum()=0;
- virtual void GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdof)=0;
- virtual void GetElementVectorFromResults(Vec vector,int dof)=0;
+ virtual void GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdof)=0;
+ virtual void GetElementVectorFromResults(Vector* vector,int dof)=0;
};
Modified: issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -194,17 +194,17 @@
}
/*}}}*/
/*FUNCTION PentaP1ElementResult::GetVectorFromResults{{{1*/
-void PentaP1ElementResult::GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs){
+void PentaP1ElementResult::GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){
double data[6];
if(numdofs!=6)_error_("Result %s is a PentaP1ElementResult and cannot write vector of %i dofs",numdofs);
for(int i=0;i<6;i++) data[i]=this->values[i]/(double)connectivitylist[i];
- VecSetValues(vector,numdofs,doflist,(const double*)&data,ADD_VALUES);
+ vector->SetValues(numdofs,doflist,&data[0],ADD_VAL);
} /*}}}*/
/*FUNCTION PentaP1ElementResult::GetElementVectorFromResults{{{1*/
-void PentaP1ElementResult::GetElementVectorFromResults(Vec vector,int dof){
+void PentaP1ElementResult::GetElementVectorFromResults(Vector* vector,int dof){
_error_("Result %s is a PentaP1ElementResult and should not write vector of size numberofelemenrs",EnumToStringx(enum_type));
} /*}}}*/
Modified: issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.h
===================================================================
--- issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/PentaP1ElementResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -51,8 +51,8 @@
/*}}}*/
/*PentaP1ElementResult management: {{{1*/
int InstanceEnum();
- void GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs);
- void GetElementVectorFromResults(Vec vector,int dof);
+ void GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs);
+ void GetElementVectorFromResults(Vector* vector,int dof);
/*}}}*/
};
Modified: issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -183,17 +183,16 @@
}
/*}}}*/
/*FUNCTION TriaP1ElementResult::GetVectorFromResults{{{1*/
-void TriaP1ElementResult::GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs){
+void TriaP1ElementResult::GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs){
double data[3];
if(numdofs!=3)_error_("Result %s is a TriaP1ElementResult and cannot write vector of %i dofs",numdofs);
for(int i=0;i<3;i++) data[i]=this->values[i]/(double)connectivitylist[i];
- VecSetValues(vector,numdofs,doflist,(const double*)&data,ADD_VALUES);
+ vector->SetValues(numdofs,doflist,&data[0],ADD_VAL);
} /*}}}*/
/*FUNCTION TriaP1ElementResult::GetElementVectorFromResults{{{1*/
-void TriaP1ElementResult::GetElementVectorFromResults(Vec vector,int dof){
-
+void TriaP1ElementResult::GetElementVectorFromResults(Vector* vector,int dof){
_error_("Result %s is a TriaP1ElementResult and should not write vector of size numberofelemenrs",EnumToStringx(enum_type));
} /*}}}*/
Modified: issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.h
===================================================================
--- issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ElementResults/TriaP1ElementResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -50,8 +50,8 @@
/*}}}*/
/*TriaP1ElementResult management: {{{1*/
int InstanceEnum();
- void GetVectorFromResults(Vec vector,int* doflist,int* connectivitylist,int numdofs);
- void GetElementVectorFromResults(Vec vector,int dof);
+ void GetVectorFromResults(Vector* vector,int* doflist,int* connectivitylist,int numdofs);
+ void GetElementVectorFromResults(Vector* vector,int dof);
/*}}}*/
};
Modified: issm/trunk/src/c/objects/Elements/Element.h
===================================================================
--- issm/trunk/src/c/objects/Elements/Element.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Elements/Element.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,6 +15,8 @@
class DataSet;
class Parameters;
class Patch;
+class Matrix;
+class Vector;
#include "../../toolkits/toolkits.h"
/*}}}*/
@@ -27,10 +29,10 @@
virtual void Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters)=0;
virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters)=0;
- virtual void CreateKMatrix(Mat Kff, Mat Kfs,Vec df)=0;
- virtual void CreatePVector(Vec pf)=0;
- virtual void CreateJacobianMatrix(Mat Jff)=0;
- virtual void GetSolutionFromInputs(Vec solution)=0;
+ virtual void CreateKMatrix(Matrix* Kff, Matrix* Kfs,Vector* df)=0;
+ virtual void CreatePVector(Vector* pf)=0;
+ virtual void CreateJacobianMatrix(Matrix* Jff)=0;
+ virtual void GetSolutionFromInputs(Vector* solution)=0;
virtual int GetNodeIndex(Node* node)=0;
virtual int Sid()=0;
virtual bool IsFloating()=0;
@@ -43,8 +45,8 @@
virtual double SurfaceArea(void)=0;
virtual void InputDepthAverageAtBase(int enum_type,int average_enum_type,int object_enum)=0;
- virtual void ComputeBasalStress(Vec sigma_b)=0;
- virtual void ComputeStrainRate(Vec eps)=0;
+ virtual void ComputeBasalStress(Vector* sigma_b)=0;
+ virtual void ComputeStrainRate(Vector* eps)=0;
virtual void PatchSize(int* pnumrows, int* pnumvertices,int* pnumnodes)=0;
virtual void PatchFill(int* pcount, Patch* patch)=0;
virtual void ListResultsInfo(int** results_enums,int** results_size,double** results_times,int** results_steps,int* num_results)=0;
@@ -57,20 +59,21 @@
virtual void ProcessResultsUnits(void)=0;
virtual void RequestedOutput(int output_enum,int step,double time)=0;
+ virtual int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units)=0;
virtual void InputScale(int enum_type,double scale_factor)=0;
- virtual void GetVectorFromInputs(Vec vector, int name_enum)=0;
- virtual void GetVectorFromResults(Vec vector,int id,int interp)=0;
+ virtual void GetVectorFromInputs(Vector* vector, int name_enum)=0;
+ virtual void GetVectorFromResults(Vector* vector,int id,int interp)=0;
virtual void InputArtificialNoise(int enum_type,double min,double max)=0;
virtual bool InputConvergence(double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums)=0;
- virtual void AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part)=0;
+ virtual void AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,double* vertex_response,double* qmu_part)=0;
virtual int* GetHorizontalNeighboorSids(void)=0;
virtual double TimeAdapt()=0;
virtual void MigrateGroundingLine(double* old_floating_ice,double* sheet_ungrounding)=0;
- virtual void PotentialSheetUngrounding(Vec potential_sheet_ungrounding)=0;
+ virtual void PotentialSheetUngrounding(Vector* potential_sheet_ungrounding)=0;
virtual void PositiveDegreeDay(double* pdds,double* pds,double signorm)=0;
- virtual int UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf)=0;
+ virtual int UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vector* vec_nodes_on_iceshelf,double* nodes_on_iceshelf)=0;
virtual void ResetCoordinateSystem()=0;
- virtual void SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius)=0;
+ virtual void SmearFunction(Vector* smearedvector,double (*WeightFunction)(double distance,double radius),double radius)=0;
#ifdef _HAVE_RESPONSES_
virtual void MinVel(double* pminvel, bool process_units)=0;
@@ -87,11 +90,10 @@
virtual double MassFlux(double* segment,bool process_units)=0;
virtual void ElementResponse(double* presponse,int response_enum,bool process_units)=0;
virtual double IceVolume(void)=0;
- virtual int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units)=0;
#endif
#ifdef _HAVE_CONTROL_
- virtual void Gradj(Vec gradient,int control_type,int control_index)=0;
+ virtual void Gradj(Vector* gradient,int control_type,int control_index)=0;
virtual double ThicknessAbsMisfit(bool process_units ,int weight_index)=0;
virtual double SurfaceAbsVelMisfit(bool process_units ,int weight_index)=0;
virtual double SurfaceRelVelMisfit(bool process_units ,int weight_index)=0;
@@ -101,10 +103,10 @@
virtual double ThicknessAbsGradient(bool process_units,int weight_index)=0;
virtual double RheologyBbarAbsGradient(bool process_units,int weight_index)=0;
virtual double DragCoefficientAbsGradient(bool process_units,int weight_index)=0;
- virtual void ControlInputGetGradient(Vec gradient,int enum_type,int control_index)=0;
+ virtual void ControlInputGetGradient(Vector* gradient,int enum_type,int control_index)=0;
virtual void ControlInputSetGradient(double* gradient,int enum_type,int control_index)=0;
virtual void ControlInputScaleGradient(int enum_type, double scale)=0;
- virtual void GetVectorFromControlInputs(Vec gradient,int control_enum,int control_index,const char* data)=0;
+ virtual void GetVectorFromControlInputs(Vector* gradient,int control_enum,int control_index,const char* data)=0;
virtual void SetControlInputsFromVector(double* vector,int control_enum,int control_index)=0;
virtual void InputControlUpdate(double scalar,bool save_parameter)=0;
#endif
Modified: issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- issm/trunk/src/c/objects/Elements/Penta.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Elements/Penta.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -301,7 +301,7 @@
/*Other*/
/*FUNCTION Penta::AverageOntoPartition {{{1*/
-void Penta::AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part){
+void Penta::AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,double* vertex_response,double* qmu_part){
_error_("Not supported yet!");
}
/*}}}*/
@@ -382,7 +382,7 @@
}
/*}}}*/
/*FUNCTION Penta::ComputeBasalStress {{{1*/
-void Penta::ComputeBasalStress(Vec sigma_b){
+void Penta::ComputeBasalStress(Vector* sigma_b){
int i,j,ig;
int dofv[3]={0,1,2};
@@ -416,7 +416,7 @@
if(!IsOnBed()){
//put zero
- VecSetValue(sigma_b,id-1,0.0,INSERT_VALUES);
+ sigma_b->SetValue(id-1,0.0,INS_VAL);
return;
}
@@ -468,11 +468,11 @@
value=value/surface;
/*Add value to output*/
- VecSetValue(sigma_b,id-1,value,INSERT_VALUES);
+ sigma_b->SetValue(id-1,value,INS_VAL);
}
/*}}}*/
/*FUNCTION Penta::ComputeStrainRate {{{1*/
-void Penta::ComputeStrainRate(Vec eps){
+void Penta::ComputeStrainRate(Vector* eps){
_error_("Not implemented yet");
@@ -566,7 +566,7 @@
}
/*}}}*/
/*FUNCTION Penta::CreateKMatrix {{{1*/
-void Penta::CreateKMatrix(Mat Kff, Mat Kfs,Vec df){
+void Penta::CreateKMatrix(Matrix* Kff, Matrix* Kfs,Vector* df){
/*retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -670,7 +670,7 @@
}
/*}}}*/
/*FUNCTION Penta::CreatePVector {{{1*/
-void Penta::CreatePVector(Vec pf){
+void Penta::CreatePVector(Vector* pf){
/*retrive parameters: */
ElementVector* pe=NULL;
@@ -772,7 +772,7 @@
}
/*}}}*/
/*FUNCTION Penta::CreateJacobianMatrix{{{1*/
-void Penta::CreateJacobianMatrix(Mat Jff){
+void Penta::CreateJacobianMatrix(Matrix* Jff){
/*retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -1090,7 +1090,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputs{{{1*/
-void Penta::GetSolutionFromInputs(Vec solution){
+void Penta::GetSolutionFromInputs(Vector* solution){
int analysis_type;
@@ -1217,7 +1217,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetVectorFromInputs{{{1*/
-void Penta::GetVectorFromInputs(Vec vector,int input_enum){
+void Penta::GetVectorFromInputs(Vector* vector,int input_enum){
int doflist1[NUMVERTICES];
@@ -1236,7 +1236,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetVectorFromResults{{{1*/
-void Penta::GetVectorFromResults(Vec vector,int offset,int interp){
+void Penta::GetVectorFromResults(Vector* vector,int offset,int interp){
/*Get result*/
ElementResult* elementresult=(ElementResult*)this->results->GetObjectByOffset(offset);
@@ -2326,6 +2326,37 @@
return my_rank;
}
/*}}}*/
+/*FUNCTION Penta::NodalValue {{{1*/
+int Penta::NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units){
+
+ int i;
+ int found=0;
+ double value;
+ Input* data=NULL;
+ GaussPenta* gauss=NULL;
+
+ /*First, serarch the input: */
+ data=inputs->GetInput(natureofdataenum);
+
+ /*figure out if we have the vertex id: */
+ found=0;
+ for(i=0;i<NUMVERTICES;i++){
+ if(index==nodes[i]->GetVertexId()){
+ /*Do we have natureofdataenum in our inputs? :*/
+ if(data){
+ /*ok, we are good. retrieve value of input at vertex :*/
+ gauss=new GaussPenta(); gauss->GaussVertex(i);
+ data->GetInputValue(&value,gauss);
+ found=1;
+ break;
+ }
+ }
+ }
+
+ if(found)*pvalue=value;
+ return found;
+}
+/*}}}*/
/*FUNCTION Penta::PatchFill{{{1*/
void Penta::PatchFill(int* pcount, Patch* patch){
@@ -2602,7 +2633,7 @@
}
/*}}}*/
/*FUNCTION Penta::PotentialSheetUngrounding{{{1*/
-void Penta::PotentialSheetUngrounding(Vec potential_sheet_ungrounding){
+void Penta::PotentialSheetUngrounding(Vector* potential_sheet_ungrounding){
int i;
double h[NUMVERTICES],ba[NUMVERTICES];
@@ -2624,7 +2655,7 @@
bed_hydro=-density*h[i];
if (bed_hydro>ba[i]){
/*Vertex that could potentially unground, flag it*/
- VecSetValue(potential_sheet_ungrounding,nodes[i]->Sid(),1,INSERT_VALUES);
+ potential_sheet_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
}
}
}
@@ -3122,7 +3153,7 @@
}
/*}}}*/
/*FUNCTION Penta::UpdatePotentialSheetUngrounding{{{1*/
-int Penta::UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
+int Penta::UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vector* vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
int i;
int nflipped=0;
@@ -3130,7 +3161,7 @@
/*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
for(i=0;i<NUMVERTICES;i++){
if (vertices_potentially_ungrounding[nodes[i]->Sid()]){
- VecSetValue(vec_nodes_on_iceshelf,nodes[i]->Sid(),1,INSERT_VALUES);
+ vec_nodes_on_iceshelf->SetValue(nodes[i]->Sid(),1,INS_VAL);
/*If node was not on ice shelf, we flipped*/
if(nodes_on_iceshelf[nodes[i]->Sid()]==0){
@@ -3190,7 +3221,7 @@
}
/*}}}*/
/*FUNCTION Penta::SmearFunction {{{1*/
-void Penta::SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
+void Penta::SmearFunction(Vector* smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
_error_("not implemented yet");
}
/*}}}1*/
@@ -3219,37 +3250,6 @@
return base*height;
}
/*}}}*/
-/*FUNCTION Penta::NodalValue {{{1*/
-int Penta::NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units){
-
- int i;
- int found=0;
- double value;
- Input* data=NULL;
- GaussPenta* gauss=NULL;
-
- /*First, serarch the input: */
- data=inputs->GetInput(natureofdataenum);
-
- /*figure out if we have the vertex id: */
- found=0;
- for(i=0;i<NUMVERTICES;i++){
- if(index==nodes[i]->GetVertexId()){
- /*Do we have natureofdataenum in our inputs? :*/
- if(data){
- /*ok, we are good. retrieve value of input at vertex :*/
- gauss=new GaussPenta(); gauss->GaussVertex(i);
- data->GetInputValue(&value,gauss);
- found=1;
- break;
- }
- }
- }
-
- if(found)*pvalue=value;
- return found;
-}
-/*}}}*/
/*FUNCTION Penta::MinVel{{{1*/
void Penta::MinVel(double* pminvel, bool process_units){
@@ -4397,7 +4397,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsThermal{{{1*/
-void Penta::GetSolutionFromInputsThermal(Vec solution){
+void Penta::GetSolutionFromInputsThermal(Vector* solution){
const int numdof=NDOF1*NUMVERTICES;
@@ -4420,7 +4420,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -4428,7 +4428,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsEnthalpy{{{1*/
-void Penta::GetSolutionFromInputsEnthalpy(Vec solution){
+void Penta::GetSolutionFromInputsEnthalpy(Vector* solution){
const int numdof=NDOF1*NUMVERTICES;
@@ -4451,7 +4451,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -4611,7 +4611,7 @@
#ifdef _HAVE_CONTROL_
/*FUNCTION Penta::ControlInputGetGradient{{{1*/
-void Penta::ControlInputGetGradient(Vec gradient,int enum_type,int control_index){
+void Penta::ControlInputGetGradient(Vector* gradient,int enum_type,int control_index){
int doflist1[NUMVERTICES];
Input* input=NULL;
@@ -4936,7 +4936,7 @@
}
/*}}}*/
/*FUNCTION Penta::Gradj {{{1*/
-void Penta::Gradj(Vec gradient,int control_type,int control_index){
+void Penta::Gradj(Vector* gradient,int control_type,int control_index){
/*dJ/dalpha = âL/âalpha = âJ/âalpha + â/âalpha(KU-F)*/
int i,approximation;
@@ -5027,7 +5027,7 @@
}
/*}}}*/
/*FUNCTION Penta::GradjDragMacAyeal {{{1*/
-void Penta::GradjDragMacAyeal(Vec gradient,int control_index){
+void Penta::GradjDragMacAyeal(Vector* gradient,int control_index){
/*Gradient is 0 if on shelf or not on bed*/
if(IsFloating() || !IsOnBed()) return;
@@ -5039,7 +5039,7 @@
} /*}}}*/
/*FUNCTION Penta::GradjDragPattyn {{{1*/
-void Penta::GradjDragPattyn(Vec gradient,int control_index){
+void Penta::GradjDragPattyn(Vector* gradient,int control_index){
int i,j,ig;
int analysis_type;
@@ -5102,7 +5102,7 @@
grade_g[i]+=grade_g_gaussian[i];
}
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
@@ -5110,7 +5110,7 @@
}
/*}}}*/
/*FUNCTION Penta::GradjDragStokes {{{1*/
-void Penta::GradjDragStokes(Vec gradient,int control_index){
+void Penta::GradjDragStokes(Vector* gradient,int control_index){
int i,j,ig;
int analysis_type;
@@ -5195,14 +5195,14 @@
for( i=0; i<NUMVERTICES; i++)grade_g[i]+=grade_g_gaussian[i];
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
delete friction;
delete gauss;
}
/*}}}*/
/*FUNCTION Penta::GradjBbarMacAyeal {{{1*/
-void Penta::GradjBbarMacAyeal(Vec gradient,int control_index){
+void Penta::GradjBbarMacAyeal(Vector* gradient,int control_index){
/*This element should be collapsed into a tria element at its base*/
if (!IsOnBed()) return;
@@ -5220,7 +5220,7 @@
} /*}}}*/
/*FUNCTION Penta::GradjBbarPattyn {{{1*/
-void Penta::GradjBbarPattyn(Vec gradient,int control_index){
+void Penta::GradjBbarPattyn(Vector* gradient,int control_index){
/*Gradient is computed on bed only (Bbar)*/
if (!IsOnBed()) return;
@@ -5237,7 +5237,7 @@
this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum);
} /*}}}*/
/*FUNCTION Penta::GradjBbarStokes {{{1*/
-void Penta::GradjBbarStokes(Vec gradient,int control_index){
+void Penta::GradjBbarStokes(Vector* gradient,int control_index){
/*Gradient is computed on bed only (Bbar)*/
if (!IsOnBed()) return;
@@ -5613,7 +5613,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetVectorFromControlInputs{{{1*/
-void Penta::GetVectorFromControlInputs(Vec vector,int control_enum,int control_index,const char* data){
+void Penta::GetVectorFromControlInputs(Vector* vector,int control_enum,int control_index,const char* data){
int doflist1[NUMVERTICES];
@@ -8057,7 +8057,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsDiagnosticHoriz{{{1*/
-void Penta::GetSolutionFromInputsDiagnosticHoriz(Vec solution){
+void Penta::GetSolutionFromInputsDiagnosticHoriz(Vector* solution){
const int numdof=NDOF2*NUMVERTICES;
@@ -8091,7 +8091,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -8099,7 +8099,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsDiagnosticHutter{{{1*/
-void Penta::GetSolutionFromInputsDiagnosticHutter(Vec solution){
+void Penta::GetSolutionFromInputsDiagnosticHutter(Vector* solution){
const int numdof=NDOF2*NUMVERTICES;
@@ -8127,7 +8127,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -8135,7 +8135,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsDiagnosticVert{{{1*/
-void Penta::GetSolutionFromInputsDiagnosticVert(Vec solution){
+void Penta::GetSolutionFromInputsDiagnosticVert(Vector* solution){
const int numdof=NDOF1*NUMVERTICES;
@@ -8160,7 +8160,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -8168,7 +8168,7 @@
}
/*}}}*/
/*FUNCTION Penta::GetSolutionFromInputsDiagnosticStokes{{{1*/
-void Penta::GetSolutionFromInputsDiagnosticStokes(Vec solution){
+void Penta::GetSolutionFromInputsDiagnosticStokes(Vector* solution){
const int numdof=NDOF4*NUMVERTICES;
@@ -8205,7 +8205,7 @@
}
/*Add value to global vector*/
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
Modified: issm/trunk/src/c/objects/Elements/Penta.h
===================================================================
--- issm/trunk/src/c/objects/Elements/Penta.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Elements/Penta.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -78,22 +78,22 @@
void InputUpdateFromIoModel(int index, IoModel* iomodel);
/*}}}*/
/*Element virtual functions definitions: {{{1*/
- void AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part);
+ void AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,double* vertex_response,double* qmu_part);
void BasalFrictionCreateInput(void);
- void ComputeBasalStress(Vec sigma_b);
- void ComputeStrainRate(Vec eps);
+ void ComputeBasalStress(Vector* sigma_b);
+ void ComputeStrainRate(Vector* eps);
void ComputeStressTensor();
void Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs,Vec df);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs,Vector* df);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff);
void DeleteResults(void);
int GetNodeIndex(Node* node);
- void GetSolutionFromInputs(Vec solution);
+ void GetSolutionFromInputs(Vector* solution);
double GetZcoord(GaussPenta* gauss);
- void GetVectorFromInputs(Vec vector,int name_enum);
- void GetVectorFromResults(Vec vector,int offset,int interp);
+ void GetVectorFromInputs(Vector* vector,int name_enum);
+ void GetVectorFromResults(Vector* vector,int offset,int interp);
int Sid();
void InputArtificialNoise(int enum_type,double min, double max);
@@ -106,7 +106,7 @@
void InputToResult(int enum_type,int step,double time);
void MigrateGroundingLine(double* old_floating_ice,double* sheet_ungrounding);
- void PotentialSheetUngrounding(Vec potential_sheet_ungrounding);
+ void PotentialSheetUngrounding(Vector* potential_sheet_ungrounding);
void RequestedOutput(int output_enum,int step,double time);
void ListResultsInfo(int** results_enums,int** results_size,double** results_times,int** results_steps,int* num_results);
void PatchFill(int* pcount, Patch* patch);
@@ -116,11 +116,12 @@
void ResetCoordinateSystem(void);
double SurfaceArea(void);
void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
- int UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
+ int UpdatePotentialSheetUngrounding(double* potential_sheet_ungrounding,Vector* vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
+ int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units);
double TimeAdapt();
int* GetHorizontalNeighboorSids(void);
void ViscousHeatingCreateInput(void);
- void SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
+ void SmearFunction(Vector* smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
#ifdef _HAVE_RESPONSES_
double IceVolume(void);
@@ -128,7 +129,6 @@
void MinVx(double* pminvx, bool process_units);
void MinVy(double* pminvy, bool process_units);
void MinVz(double* pminvz, bool process_units);
- int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units);
double MassFlux(double* segment,bool process_units);
void MaxAbsVx(double* pmaxabsvx, bool process_units);
void MaxAbsVy(double* pmaxabsvy, bool process_units);
@@ -143,16 +143,16 @@
#ifdef _HAVE_CONTROL_
double DragCoefficientAbsGradient(bool process_units,int weight_index);
void GradientIndexing(int* indexing,int control_index);
- void Gradj(Vec gradient,int control_type,int control_index);
- void GradjDragMacAyeal(Vec gradient,int control_index);
- void GradjDragPattyn(Vec gradient,int control_index);
- void GradjDragStokes(Vec gradient,int control_index);
- void GradjBbarMacAyeal(Vec gradient,int control_index);
- void GradjBbarPattyn(Vec gradient,int control_index);
- void GradjBbarStokes(Vec gradient,int control_index);
- void GetVectorFromControlInputs(Vec gradient,int control_enum,int control_index,const char* data);
+ void Gradj(Vector* gradient,int control_type,int control_index);
+ void GradjDragMacAyeal(Vector* gradient,int control_index);
+ void GradjDragPattyn(Vector* gradient,int control_index);
+ void GradjDragStokes(Vector* gradient,int control_index);
+ void GradjBbarMacAyeal(Vector* gradient,int control_index);
+ void GradjBbarPattyn(Vector* gradient,int control_index);
+ void GradjBbarStokes(Vector* gradient,int control_index);
+ void GetVectorFromControlInputs(Vector* gradient,int control_enum,int control_index,const char* data);
void SetControlInputsFromVector(double* vector,int control_enum,int control_index);
- void ControlInputGetGradient(Vec gradient,int enum_type,int control_index);
+ void ControlInputGetGradient(Vector* gradient,int enum_type,int control_index);
void ControlInputScaleGradient(int enum_type,double scale);
void ControlInputSetGradient(double* gradient,int enum_type,int control_index);
double RheologyBbarAbsGradient(bool process_units,int weight_index);
@@ -182,7 +182,7 @@
void GetInputListOnVertices(double* pvalue,int enumtype,double defaultvalue);
void GetInputValue(double* pvalue,Node* node,int enumtype);
void GetPhi(double* phi, double* epsilon, double viscosity);
- void GetSolutionFromInputsEnthalpy(Vec solutiong);
+ void GetSolutionFromInputsEnthalpy(Vector* solutiong);
double GetStabilizationParameter(double u, double v, double w, double diameter, double kappa);
void GetStrainRate3dPattyn(double* epsilon,double* xyz_list, GaussPenta* gauss, Input* vx_input, Input* vy_input);
void GetStrainRate3d(double* epsilon,double* xyz_list, GaussPenta* gauss, Input* vx_input, Input* vy_input, Input* vz_input);
@@ -249,10 +249,10 @@
void InputUpdateFromSolutionDiagnosticHutter( double* solutiong);
void InputUpdateFromSolutionDiagnosticVert( double* solutiong);
void InputUpdateFromSolutionDiagnosticStokes( double* solutiong);
- void GetSolutionFromInputsDiagnosticHoriz(Vec solutiong);
- void GetSolutionFromInputsDiagnosticHutter(Vec solutiong);
- void GetSolutionFromInputsDiagnosticStokes(Vec solutiong);
- void GetSolutionFromInputsDiagnosticVert(Vec solutiong);
+ void GetSolutionFromInputsDiagnosticHoriz(Vector* solutiong);
+ void GetSolutionFromInputsDiagnosticHutter(Vector* solutiong);
+ void GetSolutionFromInputsDiagnosticStokes(Vector* solutiong);
+ void GetSolutionFromInputsDiagnosticVert(Vector* solutiong);
ElementVector* CreatePVectorCouplingMacAyealStokes(void);
ElementVector* CreatePVectorCouplingMacAyealStokesViscous(void);
ElementVector* CreatePVectorCouplingMacAyealStokesFriction(void);
@@ -306,7 +306,7 @@
ElementVector* CreatePVectorThermalVolume(void);
ElementVector* CreatePVectorThermalShelf(void);
ElementVector* CreatePVectorThermalSheet(void);
- void GetSolutionFromInputsThermal(Vec solutiong);
+ void GetSolutionFromInputsThermal(Vector* solutiong);
void InputUpdateFromSolutionThermal( double* solutiong);
void InputUpdateFromSolutionEnthalpy( double* solutiong);
#endif
Modified: issm/trunk/src/c/objects/Elements/Tria.cpp
===================================================================
--- issm/trunk/src/c/objects/Elements/Tria.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Elements/Tria.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -278,7 +278,7 @@
/*Other*/
/*FUNCTION Tria::AverageOntoPartition {{{1*/
-void Tria::AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part){
+void Tria::AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,double* vertex_response,double* qmu_part){
bool already=false;
int i,j;
@@ -311,14 +311,14 @@
}
}
if(!already){
- VecSetValue(partition_contributions,partition[i],mean*area,ADD_VALUES);
- VecSetValue(partition_areas,partition[i],area,ADD_VALUES);
+ partition_contributions->SetValue(partition[i],mean*area,ADD_VAL);
+ partition_areas->SetValue(partition[i],area,ADD_VAL);
};
}
}
/*}}}*/
/*FUNCTION Tria::CreateKMatrix {{{1*/
-void Tria::CreateKMatrix(Mat Kff, Mat Kfs,Vec df){
+void Tria::CreateKMatrix(Matrix* Kff, Matrix* Kfs,Vector* df){
/*retreive parameters: */
ElementMatrix* Ke=NULL;
@@ -523,7 +523,7 @@
if(stabilization==2){
/*Streamline upwinding*/
- vel=sqrt(pow(vx,2.)+pow(vy,2.));
+ vel=sqrt(pow(vx,2.)+pow(vy,2.))+1.e-8;
K[0][0]=h/(2*vel)*vx*vx;
K[1][0]=h/(2*vel)*vy*vx;
K[0][1]=h/(2*vel)*vx*vy;
@@ -671,7 +671,7 @@
}
/*}}}*/
/*FUNCTION Tria::CreatePVector {{{1*/
-void Tria::CreatePVector(Vec pf){
+void Tria::CreatePVector(Vector* pf){
/*retrive parameters: */
ElementVector* pe=NULL;
@@ -891,7 +891,7 @@
}
/*}}}*/
/*FUNCTION Tria::CreateJacobianMatrix{{{1*/
-void Tria::CreateJacobianMatrix(Mat Jff){
+void Tria::CreateJacobianMatrix(Matrix* Jff){
/*retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -924,12 +924,12 @@
}
/*}}}*/
/*FUNCTION Tria::ComputeBasalStress {{{1*/
-void Tria::ComputeBasalStress(Vec eps){
+void Tria::ComputeBasalStress(Vector* eps){
_error_("Not Implemented yet");
}
/*}}}*/
/*FUNCTION Tria::ComputeStrainRate {{{1*/
-void Tria::ComputeStrainRate(Vec eps){
+void Tria::ComputeStrainRate(Vector* eps){
_error_("Not Implemented yet");
}
/*}}}*/
@@ -1273,7 +1273,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetSolutionFromInputs{{{1*/
-void Tria::GetSolutionFromInputs(Vec solution){
+void Tria::GetSolutionFromInputs(Vector* solution){
/*retrive parameters: */
int analysis_type;
@@ -1323,7 +1323,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetVectorFromInputs{{{1*/
-void Tria::GetVectorFromInputs(Vec vector,int input_enum){
+void Tria::GetVectorFromInputs(Vector* vector,int input_enum){
int doflist1[NUMVERTICES];
@@ -1342,7 +1342,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetVectorFromResults{{{1*/
-void Tria::GetVectorFromResults(Vec vector,int offset,int interp){
+void Tria::GetVectorFromResults(Vector* vector,int offset,int interp){
/*Get result*/
ElementResult* elementresult=(ElementResult*)this->results->GetObjectByOffset(offset);
@@ -1872,7 +1872,7 @@
}
this->inputs->AddInput(transientinput);
}
- else _error_("nodal vector is either numberofnodes (%i), or numberofnodes+1 long. Field provided is %i long",numberofvertices,M);
+ else _error_("nodal vector is either numberofnodes or numberofnodes+1 long. Field provided (%s) is %i long",EnumToStringx(vector_enum),M);
}
else if(vector_type==2){ //element vector
/*Are we in transient or static? */
@@ -2122,6 +2122,37 @@
return my_rank;
}
/*}}}*/
+/*FUNCTION Tria::NodalValue {{{1*/
+int Tria::NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units){
+
+ int i;
+ int found=0;
+ double value;
+ Input* data=NULL;
+ GaussTria *gauss = NULL;
+
+ /*First, serarch the input: */
+ data=inputs->GetInput(natureofdataenum);
+
+ /*figure out if we have the vertex id: */
+ found=0;
+ for(i=0;i<NUMVERTICES;i++){
+ if(index==nodes[i]->GetVertexId()){
+ /*Do we have natureofdataenum in our inputs? :*/
+ if(data){
+ /*ok, we are good. retrieve value of input at vertex :*/
+ gauss=new GaussTria(); gauss->GaussVertex(i);
+ data->GetInputValue(&value,gauss);
+ found=1;
+ break;
+ }
+ }
+ }
+
+ if(found)*pvalue=value;
+ return found;
+}
+/*}}}*/
/*FUNCTION Tria::PatchFill{{{1*/
void Tria::PatchFill(int* prow, Patch* patch){
@@ -2174,7 +2205,7 @@
}
/*}}}*/
/*FUNCTION Tria::PotentialSheetUngrounding{{{1*/
-void Tria::PotentialSheetUngrounding(Vec potential_sheet_ungrounding){
+void Tria::PotentialSheetUngrounding(Vector* potential_sheet_ungrounding){
int i;
double h[NUMVERTICES],ba[NUMVERTICES];
@@ -2196,7 +2227,7 @@
bed_hydro=-density*h[i];
if (bed_hydro>ba[i]){
/*Vertex that could potentially unground, flag it*/
- VecSetValue(potential_sheet_ungrounding,nodes[i]->Sid(),1,INSERT_VALUES);
+ potential_sheet_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
}
}
}
@@ -2471,7 +2502,7 @@
}
/*}}}1*/
/*FUNCTION Tria::SmearFunction {{{1*/
-void Tria::SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
+void Tria::SmearFunction(Vector* smearedvector,double (*WeightFunction)(double distance,double radius),double radius){
_error_("not implemented yet");
}
@@ -2692,7 +2723,7 @@
}
/*}}}*/
/*FUNCTION Tria::UpdatePotentialSheetUngrounding{{{1*/
-int Tria::UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
+int Tria::UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vector* vec_nodes_on_iceshelf,double* nodes_on_iceshelf){
int i;
int nflipped=0;
@@ -2700,7 +2731,7 @@
/*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
for(i=0;i<3;i++){
if (vertices_potentially_ungrounding[nodes[i]->Sid()]){
- VecSetValue(vec_nodes_on_iceshelf,nodes[i]->Sid(),1,INSERT_VALUES);
+ vec_nodes_on_iceshelf->SetValue(nodes[i]->Sid(),1,INS_VAL);
/*If node was not on ice shelf, we flipped*/
if(nodes_on_iceshelf[nodes[i]->Sid()]==0){
@@ -2955,37 +2986,6 @@
*pminvz=minvz;
}
/*}}}*/
-/*FUNCTION Tria::NodalValue {{{1*/
-int Tria::NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units){
-
- int i;
- int found=0;
- double value;
- Input* data=NULL;
- GaussTria *gauss = NULL;
-
- /*First, serarch the input: */
- data=inputs->GetInput(natureofdataenum);
-
- /*figure out if we have the vertex id: */
- found=0;
- for(i=0;i<NUMVERTICES;i++){
- if(index==nodes[i]->GetVertexId()){
- /*Do we have natureofdataenum in our inputs? :*/
- if(data){
- /*ok, we are good. retrieve value of input at vertex :*/
- gauss=new GaussTria(); gauss->GaussVertex(i);
- data->GetInputValue(&value,gauss);
- found=1;
- break;
- }
- }
- }
-
- if(found)*pvalue=value;
- return found;
-}
-/*}}}*/
/*FUNCTION Tria::ElementResponse{{{1*/
void Tria::ElementResponse(double* presponse,int response_enum,bool process_units){
@@ -3355,7 +3355,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetSolutionFromInputsDiagnosticHoriz{{{1*/
-void Tria::GetSolutionFromInputsDiagnosticHoriz(Vec solution){
+void Tria::GetSolutionFromInputsDiagnosticHoriz(Vector* solution){
const int numdof=NDOF2*NUMVERTICES;
@@ -3386,7 +3386,7 @@
values[i*NDOF2+1]=vy;
}
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -3394,7 +3394,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetSolutionFromInputsDiagnosticHutter{{{1*/
-void Tria::GetSolutionFromInputsDiagnosticHutter(Vec solution){
+void Tria::GetSolutionFromInputsDiagnosticHutter(Vector* solution){
const int numdof=NDOF2*NUMVERTICES;
@@ -3425,7 +3425,7 @@
values[i*NDOF2+1]=vy;
}
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
@@ -3593,7 +3593,7 @@
}
/*}}}*/
/*FUNCTION Tria::ControlInputGetGradient{{{1*/
-void Tria::ControlInputGetGradient(Vec gradient,int enum_type,int control_index){
+void Tria::ControlInputGetGradient(Vector* gradient,int enum_type,int control_index){
int doflist1[NUMVERTICES];
Input* input=NULL;
@@ -3652,7 +3652,7 @@
}/*}}}*/
/*FUNCTION Tria::Gradj {{{1*/
-void Tria::Gradj(Vec gradient,int control_type,int control_index){
+void Tria::Gradj(Vector* gradient,int control_type,int control_index){
/*dJ/dalpha = âL/âalpha = âJ/âalpha + â/âalpha(KU-F)*/
/*If on water, grad = 0: */
@@ -3711,7 +3711,7 @@
}
/*}}}*/
/*FUNCTION Tria::GradjBGradient{{{1*/
-void Tria::GradjBGradient(Vec gradient,int weight_index,int control_index){
+void Tria::GradjBGradient(Vector* gradient,int weight_index,int control_index){
int i,ig;
int doflist1[NUMVERTICES];
@@ -3744,14 +3744,14 @@
/*Build gradje_g_gaussian vector (actually -dJ/ddrag): */
for (i=0;i<NUMVERTICES;i++) grade_g[i]+=-weight*Jdet*gauss->weight*(dbasis[0][i]*dk[0]+dbasis[1][i]*dk[1]);
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
}
/*}}}*/
/*FUNCTION Tria::GradjBMacAyeal{{{1*/
-void Tria::GradjBMacAyeal(Vec gradient,int control_index){
+void Tria::GradjBMacAyeal(Vector* gradient,int control_index){
/*Intermediaries*/
int i,ig;
@@ -3801,18 +3801,19 @@
)*Jdet*gauss->weight*basis[i];
}
- VecSetValues(gradient,NUMVERTICES,doflist,(const double*)grad,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist,grad,ADD_VAL);
/*clean-up*/
delete gauss;
}
/*}}}*/
/*FUNCTION Tria::GradjDragMacAyeal {{{1*/
-void Tria::GradjDragMacAyeal(Vec gradient,int control_index){
+void Tria::GradjDragMacAyeal(Vector* gradient,int control_index){
int i,ig;
int analysis_type;
int doflist1[NUMVERTICES];
+ int connectivity[NUMVERTICES];
double vx,vy,lambda,mu,alpha_complement,Jdet;
double bed,thickness,Neff,drag;
double xyz_list[NUMVERTICES][3];
@@ -3830,6 +3831,7 @@
parameters->FindParam(&analysis_type,AnalysisTypeEnum);
GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
GradientIndexing(&doflist1[0],control_index);
+ this->GetConnectivityList(&connectivity[0]);
/*Build frictoin element, needed later: */
friction=new Friction("2d",inputs,matpar,analysis_type);
@@ -3882,12 +3884,11 @@
// adjointy_input->GetInputValue(&mu, gauss);
// vx_input->GetInputValue(&vx,gauss);
// vy_input->GetInputValue(&vy,gauss);
- // grade_g[iv]=-2*drag*alpha_complement*((lambda*vx+mu*vy));
- // VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,INSERT_VALUES);
+ // grade_g[iv] = -2*1.e+7*drag*alpha_complement*(lambda*vx+mu*vy)/((double)connectivity[iv]);
//}
/*End Analytical gradient*/
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
@@ -3895,7 +3896,7 @@
}
/*}}}*/
/*FUNCTION Tria::GradjDragGradient{{{1*/
-void Tria::GradjDragGradient(Vec gradient, int weight_index,int control_index){
+void Tria::GradjDragGradient(Vector* gradient, int weight_index,int control_index){
int i,ig;
int doflist1[NUMVERTICES];
@@ -3932,14 +3933,14 @@
_assert_(!isnan(grade_g[i]));
}
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
}
/*}}}*/
/*FUNCTION Tria::GradjDhDtBalancedthickness{{{1*/
-void Tria::GradjDhDtBalancedthickness(Vec gradient,int control_index){
+void Tria::GradjDhDtBalancedthickness(Vector* gradient,int control_index){
/*Intermediaries*/
int doflist1[NUMVERTICES];
@@ -3951,11 +3952,11 @@
GetInputListOnVertices(&lambda[0],AdjointEnum);
for(int i=0;i<NUMVERTICES;i++) gradient_g[i]=-lambda[i];
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)gradient_g,INSERT_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,gradient_g,INS_VAL);
}
/*}}}*/
/*FUNCTION Tria::GradjVxBalancedthickness{{{1*/
-void Tria::GradjVxBalancedthickness(Vec gradient,int control_index){
+void Tria::GradjVxBalancedthickness(Vector* gradient,int control_index){
/*Intermediaries*/
int i,ig;
@@ -3991,14 +3992,14 @@
for(i=0;i<NUMVERTICES;i++) grade_g[i]+=thickness*Dlambda[0]*Jdet*gauss->weight*basis[i];
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
}
/*}}}*/
/*FUNCTION Tria::GradjVyBalancedthickness{{{1*/
-void Tria::GradjVyBalancedthickness(Vec gradient,int control_index){
+void Tria::GradjVyBalancedthickness(Vector* gradient,int control_index){
/*Intermediaries*/
int i,ig;
@@ -4033,7 +4034,7 @@
for(i=0;i<NUMVERTICES;i++) grade_g[i]+=thickness*Dlambda[1]*Jdet*gauss->weight*basis[i];
}
- VecSetValues(gradient,NUMVERTICES,doflist1,(const double*)grade_g,ADD_VALUES);
+ gradient->SetValues(NUMVERTICES,doflist1,grade_g,ADD_VAL);
/*Clean up and return*/
delete gauss;
@@ -5096,6 +5097,7 @@
xfree((void**)&doflist);
}
/*}}}*/
+
/*FUNCTION Tria::InputUpdateFromSolutionAdjointBalancethickness {{{1*/
void Tria::InputUpdateFromSolutionAdjointBalancethickness(double* solution){
@@ -5126,7 +5128,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetVectorFromControlInputs{{{1*/
-void Tria::GetVectorFromControlInputs(Vec vector,int control_enum,int control_index,const char* data){
+void Tria::GetVectorFromControlInputs(Vector* vector,int control_enum,int control_index,const char* data){
int doflist1[NUMVERTICES];
Input *input=NULL;
@@ -5400,7 +5402,7 @@
}
/*}}}*/
/*FUNCTION Tria::GetSolutionFromInputsHydrology{{{1*/
-void Tria::GetSolutionFromInputsHydrology(Vec solution){
+void Tria::GetSolutionFromInputsHydrology(Vector* solution){
const int numdof=NDOF1*NUMVERTICES;
@@ -5428,7 +5430,7 @@
values[i]=watercolumn;
}
- VecSetValues(solution,numdof,doflist,(const double*)values,INSERT_VALUES);
+ solution->SetValues(numdof,doflist,values,INS_VAL);
/*Free ressources:*/
delete gauss;
Modified: issm/trunk/src/c/objects/Elements/Tria.h
===================================================================
--- issm/trunk/src/c/objects/Elements/Tria.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Elements/Tria.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -75,15 +75,15 @@
void InputUpdateFromIoModel(int index, IoModel* iomodel);
/*}}}*/
/*Element virtual functions definitions: {{{1*/
- void AverageOntoPartition(Vec partition_contributions,Vec partition_areas,double* vertex_response,double* qmu_part);
- void ComputeBasalStress(Vec sigma_b);
- void ComputeStrainRate(Vec eps);
+ void AverageOntoPartition(Vector* partition_contributions,Vector* partition_areas,double* vertex_response,double* qmu_part);
+ void ComputeBasalStress(Vector* sigma_b);
+ void ComputeStrainRate(Vector* eps);
void ComputeStressTensor();
void Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs,Vec df);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs,Vector* df);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff);
int GetNodeIndex(Node* node);
int Sid();
bool IsOnBed();
@@ -91,9 +91,9 @@
bool IsNodeOnShelf();
bool IsNodeOnShelfFromFlags(double* flags);
bool IsOnWater();
- void GetSolutionFromInputs(Vec solution);
- void GetVectorFromInputs(Vec vector, int name_enum);
- void GetVectorFromResults(Vec vector,int offset,int interp);
+ void GetSolutionFromInputs(Vector* solution);
+ void GetVectorFromInputs(Vector* vector, int name_enum);
+ void GetVectorFromResults(Vector* vector,int offset,int interp);
void InputArtificialNoise(int enum_type,double min, double max);
bool InputConvergence(double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums);
void InputCreate(double scalar,int name,int code);
@@ -105,7 +105,8 @@
void DeleteResults(void);
void MaterialUpdateFromTemperature(void){_error_("not implemented yet");};
void MigrateGroundingLine(double* oldfloating,double* sheet_ungrounding);
- void PotentialSheetUngrounding(Vec potential_sheet_ungrounding);
+ int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units);
+ void PotentialSheetUngrounding(Vector* potential_sheet_ungrounding);
void PositiveDegreeDay(double* pdds,double* pds,double signorm);
void RequestedOutput(int output_enum,int step,double time);
void ListResultsInfo(int** results_enums,int** results_size,double** results_times,int** results_steps,int* num_results);
@@ -115,10 +116,10 @@
void ResetCoordinateSystem(void){_error_("not implemented yet");};
double SurfaceArea(void);
void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
- int UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vec vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
+ int UpdatePotentialSheetUngrounding(double* vertices_potentially_ungrounding,Vector* vec_nodes_on_iceshelf,double* nodes_on_iceshelf);
double TimeAdapt();
int* GetHorizontalNeighboorSids(void);
- void SmearFunction(Vec smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
+ void SmearFunction(Vector* smearedvector,double (*WeightFunction)(double distance,double radius),double radius);
#ifdef _HAVE_RESPONSES_
double IceVolume(void);
@@ -126,7 +127,6 @@
void MinVx(double* pminvx, bool process_units);
void MinVy(double* pminvy, bool process_units);
void MinVz(double* pminvz, bool process_units);
- int NodalValue(double* pvalue, int index, int natureofdataenum,bool process_units);
double MassFlux(double* segment,bool process_units);
void MaxAbsVx(double* pmaxabsvx, bool process_units);
void MaxAbsVy(double* pmaxabsvy, bool process_units);
@@ -142,18 +142,18 @@
#ifdef _HAVE_CONTROL_
double DragCoefficientAbsGradient(bool process_units,int weight_index);
void GradientIndexing(int* indexing,int control_index);
- void Gradj(Vec gradient,int control_type,int control_index);
- void GradjBGradient(Vec gradient,int weight_index,int control_index);
- void GradjBMacAyeal(Vec gradient,int control_index);
- void GradjDragMacAyeal(Vec gradient,int control_index);
- void GradjDragStokes(Vec gradient,int control_index);
- void GradjDragGradient(Vec gradient,int weight_index,int control_index);
- void GradjDhDtBalancedthickness(Vec gradient,int control_index);
- void GradjVxBalancedthickness(Vec gradient,int control_index);
- void GradjVyBalancedthickness(Vec gradient,int control_index);
- void GetVectorFromControlInputs(Vec gradient,int control_enum,int control_index,const char* data);
+ void Gradj(Vector* gradient,int control_type,int control_index);
+ void GradjBGradient(Vector* gradient,int weight_index,int control_index);
+ void GradjBMacAyeal(Vector* gradient,int control_index);
+ void GradjDragMacAyeal(Vector* gradient,int control_index);
+ void GradjDragStokes(Vector* gradient,int control_index);
+ void GradjDragGradient(Vector* gradient,int weight_index,int control_index);
+ void GradjDhDtBalancedthickness(Vector* gradient,int control_index);
+ void GradjVxBalancedthickness(Vector* gradient,int control_index);
+ void GradjVyBalancedthickness(Vector* gradient,int control_index);
+ void GetVectorFromControlInputs(Vector* gradient,int control_enum,int control_index,const char* data);
void SetControlInputsFromVector(double* vector,int control_enum,int control_index);
- void ControlInputGetGradient(Vec gradient,int enum_type,int control_index);
+ void ControlInputGetGradient(Vector* gradient,int enum_type,int control_index);
void ControlInputScaleGradient(int enum_type,double scale);
void ControlInputSetGradient(double* gradient,int enum_type,int control_index);
double RheologyBbarAbsGradient(bool process_units,int weight_index);
@@ -209,8 +209,8 @@
ElementVector* CreatePVectorDiagnosticMacAyeal(void);
ElementVector* CreatePVectorDiagnosticHutter(void);
ElementMatrix* CreateJacobianDiagnosticMacayeal(void);
- void GetSolutionFromInputsDiagnosticHoriz(Vec solution);
- void GetSolutionFromInputsDiagnosticHutter(Vec solution);
+ void GetSolutionFromInputsDiagnosticHoriz(Vector* solution);
+ void GetSolutionFromInputsDiagnosticHutter(Vector* solution);
void InputUpdateFromSolutionDiagnosticHoriz( double* solution);
void InputUpdateFromSolutionDiagnosticHutter( double* solution);
#endif
@@ -229,7 +229,7 @@
ElementMatrix* CreateKMatrixHydrology(void);
ElementVector* CreatePVectorHydrology(void);
void CreateHydrologyWaterVelocityInput(void);
- void GetSolutionFromInputsHydrology(Vec solution);
+ void GetSolutionFromInputsHydrology(Vector* solution);
void InputUpdateFromSolutionHydrology(double* solution);
#endif
#ifdef _HAVE_BALANCED_
Modified: issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -185,7 +185,7 @@
}
/*}}}*/
/*FUNCTION BoolExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BoolExternalResult::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/BoolExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -58,7 +58,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -181,7 +181,7 @@
}
/*}}}*/
/*FUNCTION DoubleExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleExternalResult::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -59,7 +59,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -222,7 +222,7 @@
}
/*}}}*/
/*FUNCTION DoubleMatExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleMatExternalResult::SetMatlabField(mxArray* dataref){
mxArray* pfield=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleMatExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -60,7 +60,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -206,7 +206,7 @@
}
/*}}}*/
/*FUNCTION DoubleVecExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleVecExternalResult::SetMatlabField(mxArray* dataref){
mxArray *pfield = NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/DoubleVecExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -59,7 +59,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/ExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/ExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/ExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -32,7 +32,7 @@
virtual int InstanceEnum()=0;
virtual void WriteData(FILE* fid,bool io_gather)=0;
virtual void GetResultName(char**)=0;
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
virtual void SetMatlabField(mxArray* dataref)=0;
#endif
virtual int GetStep(void)=0;
Modified: issm/trunk/src/c/objects/ExternalResults/IntExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/IntExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/IntExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -185,7 +185,7 @@
}
/*}}}*/
/*FUNCTION IntExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void IntExternalResult::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/IntExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/IntExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/IntExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -57,7 +57,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -26,7 +26,7 @@
}
/*}}}*/
/*FUNCTION PetscVecExternalResult::PetscVecExternalResult(int enum_type,IssmPetscVec value){{{1*/
-PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vec in_value,int in_step, double in_time){
+PetscVecExternalResult::PetscVecExternalResult(int in_id, int in_enum_type,Vector* in_value,int in_step, double in_time){
id=in_id;
enum_type=in_enum_type;
@@ -34,8 +34,8 @@
value=NULL;
if(in_value){
- VecDuplicate(in_value,&value);
- VecCopy(in_value,value);
+ value=in_value->Duplicate();
+ in_value->Copy(value);
}
else value=NULL;
@@ -244,7 +244,7 @@
}
/*}}}*/
/*FUNCTION PetscVecExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void PetscVecExternalResult::SetMatlabField(mxArray* dataref){
mxArray* pfield=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/PetscVecExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -32,14 +32,14 @@
private:
int id;
int enum_type;
- Vec value;
+ Vector* value;
int step;
double time;
public:
/*PetscVecExternalResult constructors, destructors: {{{1*/
PetscVecExternalResult();
- PetscVecExternalResult(int id,int enum_type,Vec value, int step, double time);
+ PetscVecExternalResult(int id,int enum_type,Vector* value, int step, double time);
~PetscVecExternalResult();
/*}}}*/
/*Object virtual functions definitions:{{{1 */
@@ -59,7 +59,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/StringExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -197,7 +197,7 @@
}
/*}}}*/
/*FUNCTION StringExternalResult::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void StringExternalResult::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/ExternalResults/StringExternalResult.h
===================================================================
--- issm/trunk/src/c/objects/ExternalResults/StringExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/ExternalResults/StringExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -47,9 +47,11 @@
void DeepEcho();
int Id();
int MyRank();
+ #ifdef _SERIAL_
void Marshall(char** pmarshalled_dataset);
int MarshallSize();
void Demarshall(char** pmarshalled_dataset);
+ #endif
int ObjectEnum();
Object* copy();
/*}}}*/
@@ -57,7 +59,7 @@
int InstanceEnum(){return enum_type;}
void WriteData(FILE* fid,bool io_gather);
void GetResultName(char**);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
int GetStep(void);
Modified: issm/trunk/src/c/objects/FemModel.cpp
===================================================================
--- issm/trunk/src/c/objects/FemModel.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/FemModel.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -143,11 +143,13 @@
this->nodes->SetCurrentConfiguration(elements,loads, nodes,vertices, materials,parameters);
this->loads->SetCurrentConfiguration(elements, loads, nodes,vertices, materials,parameters);
+ #ifdef _HAVE_PETSC_
/*take care of petsc options, that depend on this analysis type (present only after model processor)*/
if(this->parameters->Exist(PetscOptionsStringsEnum)){
PetscOptionsFromAnalysis(this->parameters,analysis_type);
_printf_(VerboseSolver()," petsc Options set for analysis type: %s\n",EnumToStringx(analysis_type));
}
+ #endif
}
/*}}}1*/
Modified: issm/trunk/src/c/objects/Inputs/BoolInput.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/BoolInput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/BoolInput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -232,7 +232,7 @@
}
/*}}}*/
/*FUNCTION BoolInput::GetVectorFromInputs{{{1*/
-void BoolInput::GetVectorFromInputs(Vec vector,int* doflist){
+void BoolInput::GetVectorFromInputs(Vector* vector,int* doflist){
_error_(" not supporte yet!");
Modified: issm/trunk/src/c/objects/Inputs/BoolInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/BoolInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/BoolInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -80,7 +80,7 @@
void Constrain(double cm_min, double cm_max);
void Extrude(void);
void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values);
/*}}}*/
Modified: issm/trunk/src/c/objects/Inputs/ControlInput.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/ControlInput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/ControlInput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -354,7 +354,7 @@
//gradient->Extrude();
}/*}}}*/
/*FUNCTION ControlInput::GetGradient{{{1*/
-void ControlInput::GetGradient(Vec gradient_vec,int* doflist){
+void ControlInput::GetGradient(Vector* gradient_vec,int* doflist){
if(gradient) gradient->GetVectorFromInputs(gradient_vec,doflist);
}/*}}}*/
/*FUNCTION ControlInput::ScaleGradient{{{1*/
@@ -405,12 +405,12 @@
_assert_(gradient);
return gradient->SpawnResult(step,time);
}/*}}}*/
-/*FUNCTION ControlInput::GetVectorFromInputs(Vec vector,int* doflist){{{1*/
-void ControlInput::GetVectorFromInputs(Vec vector,int* doflist){
+/*FUNCTION ControlInput::GetVectorFromInputs(Vector* vector,int* doflist){{{1*/
+void ControlInput::GetVectorFromInputs(Vector* vector,int* doflist){
values->GetVectorFromInputs(vector,doflist);
}/*}}}*/
-/*FUNCTION ControlInput::GetVectorFromInputs(Vec vector,int* doflist,const char* data){{{1*/
-void ControlInput::GetVectorFromInputs(Vec vector,int* doflist,const char* data){
+/*FUNCTION ControlInput::GetVectorFromInputs(Vector* vector,int* doflist,const char* data){{{1*/
+void ControlInput::GetVectorFromInputs(Vector* vector,int* doflist,const char* data){
if(strcmp(data,"value")==0){
_assert_(values);
values->GetVectorFromInputs(vector,doflist);
Modified: issm/trunk/src/c/objects/Inputs/ControlInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/ControlInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/ControlInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -86,11 +86,11 @@
double MinAbs(void){_error_("not implemented yet");};
void Extrude(void);
void VerticallyIntegrate(Input* thickness_input);
- void GetVectorFromInputs(Vec vector,int* doflist,const char* data);
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist,const char* data);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values){_error_("not implemented yet");};
ElementResult* SpawnGradient(int step, double time);
- void GetGradient(Vec gradient_vec,int* doflist);
+ void GetGradient(Vector* gradient_vec,int* doflist);
void ScaleGradient(double scale);
void SetGradient(Input* gradient_in);
void UpdateValue(double scalar);
Modified: issm/trunk/src/c/objects/Inputs/DatasetInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/DatasetInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/DatasetInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -81,10 +81,10 @@
double MinAbs(void){_error_("not implemented yet");};
void Extrude(void){_error_("not implemented yet");};
void VerticallyIntegrate(Input* thickness_input){_error_("not implemented yet");};
- void GetVectorFromInputs(Vec vector,int* doflist){_error_("not implemented yet");};
+ void GetVectorFromInputs(Vector* vector,int* doflist){_error_("not implemented yet");};
void GetValuesPtr(double** pvalues,int* pnum_values){_error_("not implemented yet");};
ElementResult* SpawnGradient(int step, double time){_error_("not implemented yet");};
- void GetGradient(Vec gradient_vec,int* doflist){_error_("not implemented yet");};
+ void GetGradient(Vector* gradient_vec,int* doflist){_error_("not implemented yet");};
void ScaleGradient(double scale){_error_("not implemented yet");};
void SetGradient(Input* gradient_in){_error_("not implemented yet");};
void UpdateValue(double scalar){_error_("not implemented yet");};
Modified: issm/trunk/src/c/objects/Inputs/DoubleInput.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/DoubleInput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/DoubleInput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -309,7 +309,7 @@
}
/*}}}*/
/*FUNCTION DoubleInput::GetVectorFromInputs{{{1*/
-void DoubleInput::GetVectorFromInputs(Vec vector,int* doflist){
+void DoubleInput::GetVectorFromInputs(Vector* vector,int* doflist){
_error_(" not supporte yet!");
Modified: issm/trunk/src/c/objects/Inputs/DoubleInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/DoubleInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/DoubleInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -79,7 +79,7 @@
double MinAbs(void);
void Extrude(void){_error_("not supported yet");};
void VerticallyIntegrate(Input* thickness_input);
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values);
/*}}}*/
Modified: issm/trunk/src/c/objects/Inputs/Input.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/Input.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/Input.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -55,7 +55,7 @@
virtual void Constrain(double cm_min, double cm_max)=0;
virtual void VerticallyIntegrate(Input* thickness_input)=0;
virtual void Extrude()=0;
- virtual void GetVectorFromInputs(Vec vector,int* doflist)=0;
+ virtual void GetVectorFromInputs(Vector* vector,int* doflist)=0;
virtual void GetValuesPtr(double** pvalues,int* pnum_values)=0;
virtual Input* SpawnTriaInput(int* indices)=0;
Modified: issm/trunk/src/c/objects/Inputs/IntInput.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/IntInput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/IntInput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -230,7 +230,7 @@
}
/*}}}*/
/*FUNCTION IntInput::GetVectorFromInputs{{{1*/
-void IntInput::GetVectorFromInputs(Vec vector,int* doflist){
+void IntInput::GetVectorFromInputs(Vector* vector,int* doflist){
_error_(" not supporte yet!");
Modified: issm/trunk/src/c/objects/Inputs/IntInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/IntInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/IntInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -80,7 +80,7 @@
double MinAbs(void){_error_("Min not implemented for integers");};
void Extrude(void){_error_("not supported yet");};
void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values);
/*}}}*/
Modified: issm/trunk/src/c/objects/Inputs/PentaP1Input.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/PentaP1Input.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/PentaP1Input.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -659,10 +659,10 @@
}
/*}}}*/
/*FUNCTION PentaP1Input::GetVectorFromInputs{{{1*/
-void PentaP1Input::GetVectorFromInputs(Vec vector,int* doflist){
+void PentaP1Input::GetVectorFromInputs(Vector* vector,int* doflist){
const int numvertices=6;
- VecSetValues(vector,numvertices,doflist,(const double*)this->values,INSERT_VALUES);
+ vector->SetValues(numvertices,doflist,this->values,INS_VAL);
} /*}}}*/
/*FUNCTION PentaP1Input::GetValuesPtr{{{1*/
Modified: issm/trunk/src/c/objects/Inputs/PentaP1Input.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/PentaP1Input.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/PentaP1Input.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -81,7 +81,7 @@
double MinAbs(void);
void Extrude(void);
void VerticallyIntegrate(Input* thickness_input);
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values);
/*}}}*/
Modified: issm/trunk/src/c/objects/Inputs/TransientInput.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/TransientInput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/TransientInput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -439,7 +439,7 @@
}
/*}}}*/
/*FUNCTION TransientInput::GetVectorFromInputs{{{1*/
-void TransientInput::GetVectorFromInputs(Vec vector,int* doflist){
+void TransientInput::GetVectorFromInputs(Vector* vector,int* doflist){
double time;
Modified: issm/trunk/src/c/objects/Inputs/TransientInput.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/TransientInput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/TransientInput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -83,7 +83,7 @@
double MinAbs(void);
void Extrude(void){_error_("not supported yet");}
void VerticallyIntegrate(Input* thickness_forcing){_error_("not supported yet");};
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values){_error_("not supported yet");};
void GetTimeValues(double* values,double time){_error_("not implemented yet");};
Input* GetTimeInput(double time);
Modified: issm/trunk/src/c/objects/Inputs/TriaP1Input.cpp
===================================================================
--- issm/trunk/src/c/objects/Inputs/TriaP1Input.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/TriaP1Input.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -390,10 +390,10 @@
}
/*}}}*/
/*FUNCTION TriaP1Input::GetVectorFromInputs{{{1*/
-void TriaP1Input::GetVectorFromInputs(Vec vector,int* doflist){
+void TriaP1Input::GetVectorFromInputs(Vector* vector,int* doflist){
const int numvertices=3;
- VecSetValues(vector,numvertices,doflist,(const double*)this->values,INSERT_VALUES);
+ vector->SetValues(numvertices,doflist,this->values,INS_VAL);
} /*}}}*/
/*FUNCTION TriaP1Input::GetValuesPtr{{{1*/
Modified: issm/trunk/src/c/objects/Inputs/TriaP1Input.h
===================================================================
--- issm/trunk/src/c/objects/Inputs/TriaP1Input.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Inputs/TriaP1Input.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -81,7 +81,7 @@
double MinAbs(void);
void Extrude(void){_error_("not supported yet");};
void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
- void GetVectorFromInputs(Vec vector,int* doflist);
+ void GetVectorFromInputs(Vector* vector,int* doflist);
void GetValuesPtr(double** pvalues,int* pnum_values);
/*}}}*/
Modified: issm/trunk/src/c/objects/Loads/Icefront.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Icefront.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Icefront.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -315,7 +315,7 @@
}
/*}}}*/
/*FUNCTION Icefront::CreateKMatrix {{{1*/
-void Icefront::CreateKMatrix(Mat Kff, Mat Kfs){
+void Icefront::CreateKMatrix(Matrix* Kff, Matrix* Kfs){
/*No stiffness loads applied, do nothing: */
return;
@@ -323,7 +323,7 @@
}
/*}}}*/
/*FUNCTION Icefront::CreatePVector {{{1*/
-void Icefront::CreatePVector(Vec pf){
+void Icefront::CreatePVector(Vector* pf){
/*Checks in debugging mode*/
/*{{{2*/
@@ -361,24 +361,24 @@
}
/*}}}*/
/*FUNCTION Icefront::CreateJacobianMatrix{{{1*/
-void Icefront::CreateJacobianMatrix(Mat Jff){
+void Icefront::CreateJacobianMatrix(Matrix* Jff){
this->CreateKMatrix(Jff,NULL);
}
/*}}}1*/
/*FUNCTION Icefront::PenaltyCreateKMatrix {{{1*/
-void Icefront::PenaltyCreateKMatrix(Mat Kff, Mat Kfs, double kmax){
+void Icefront::PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs, double kmax){
/*do nothing: */
return;
}
/*}}}*/
/*FUNCTION Icefront::PenaltyCreatePVector{{{1*/
-void Icefront::PenaltyCreatePVector(Vec pf,double kmax){
+void Icefront::PenaltyCreatePVector(Vector* pf,double kmax){
/*do nothing: */
return;
}
/*}}}*/
/*FUNCTION Icefront::PenaltyCreateJacobianMatrix{{{1*/
-void Icefront::PenaltyCreateJacobianMatrix(Mat Jff,double kmax){
+void Icefront::PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax){
this->PenaltyCreateKMatrix(Jff,NULL,kmax);
}
/*}}}1*/
@@ -457,7 +457,7 @@
switch(type){
case MacAyeal2dIceFrontEnum:
return CreatePVectorDiagnosticMacAyeal2d();
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
case MacAyeal3dIceFrontEnum:
return CreatePVectorDiagnosticMacAyeal3d();
case PattynIceFrontEnum:
@@ -562,7 +562,7 @@
}
/*}}}*/
#endif
-#ifdef _HAVE_THREED_
+#ifdef _HAVE_3D_
/*FUNCTION Icefront::CreatePVectorDiagnosticMacAyeal3d{{{1*/
ElementVector* Icefront::CreatePVectorDiagnosticMacAyeal3d(void){
Modified: issm/trunk/src/c/objects/Loads/Icefront.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Icefront.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Icefront.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -73,12 +73,12 @@
/*Load virtual functions definitions: {{{1*/
void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff);
- void PenaltyCreateKMatrix(Mat Kff, Mat kfs, double kmax);
- void PenaltyCreatePVector(Vec pf, double kmax);
- void PenaltyCreateJacobianMatrix(Mat Jff,double kmax);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff);
+ void PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, double kmax);
+ void PenaltyCreatePVector(Vector* pf, double kmax);
+ void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax);
bool InAnalysis(int analysis_type);
/*}}}*/
/*Load management: {{{1*/
@@ -92,7 +92,7 @@
ElementVector* CreatePVectorDiagnosticHoriz(void);
ElementVector* CreatePVectorDiagnosticMacAyeal2d(void);
#endif
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
ElementVector* CreatePVectorDiagnosticMacAyeal3d(void);
ElementVector* CreatePVectorDiagnosticPattyn(void);
ElementVector* CreatePVectorDiagnosticStokes(void);
Modified: issm/trunk/src/c/objects/Loads/Load.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Load.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Load.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,6 +11,8 @@
/*Headers:*/
/*{{{1*/
class Object;
+class Matrix;
+class Vector;
#include "../Object.h"
#include "../../toolkits/toolkits.h"
@@ -26,12 +28,12 @@
/*Virtual functions: {{{1*/
virtual void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
virtual void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters)=0;
- virtual void CreateKMatrix(Mat Kff, Mat Kfs)=0;
- virtual void CreatePVector(Vec pf)=0;
- virtual void CreateJacobianMatrix(Mat Jff)=0;
- virtual void PenaltyCreateJacobianMatrix(Mat Jff,double kmax)=0;
- virtual void PenaltyCreateKMatrix(Mat Kff, Mat Kfs, double kmax)=0;
- virtual void PenaltyCreatePVector(Vec pf, double kmax)=0;
+ virtual void CreateKMatrix(Matrix* Kff, Matrix* Kfs)=0;
+ virtual void CreatePVector(Vector* pf)=0;
+ virtual void CreateJacobianMatrix(Matrix* Jff)=0;
+ virtual void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax)=0;
+ virtual void PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs, double kmax)=0;
+ virtual void PenaltyCreatePVector(Vector* pf, double kmax)=0;
virtual bool InAnalysis(int analysis_type)=0;
/*}}}*/
};
Modified: issm/trunk/src/c/objects/Loads/Numericalflux.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Numericalflux.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Numericalflux.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -333,7 +333,7 @@
}
/*}}}*/
/*FUNCTION Numericalflux::CreateKMatrix {{{1*/
-void Numericalflux::CreateKMatrix(Mat Kff, Mat Kfs){
+void Numericalflux::CreateKMatrix(Matrix* Kff, Matrix* Kfs){
/*recover some parameters*/
ElementMatrix* Ke=NULL;
@@ -364,7 +364,7 @@
}
/*}}}*/
/*FUNCTION Numericalflux::CreatePVector {{{1*/
-void Numericalflux::CreatePVector(Vec pf){
+void Numericalflux::CreatePVector(Vector* pf){
/*recover some parameters*/
ElementVector* pe=NULL;
@@ -394,7 +394,7 @@
}
/*}}}*/
/*FUNCTION Numericalflux::PenaltyCreateKMatrix {{{1*/
-void Numericalflux::PenaltyCreateKMatrix(Mat Kff, Mat Kfs,double kmax){
+void Numericalflux::PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs,double kmax){
/*No stiffness loads applied, do nothing: */
return;
@@ -402,7 +402,7 @@
}
/*}}}*/
/*FUNCTION Numericalflux::PenaltyCreatePVector{{{1*/
-void Numericalflux::PenaltyCreatePVector(Vec pf,double kmax){
+void Numericalflux::PenaltyCreatePVector(Vector* pf,double kmax){
/*No penalty loads applied, do nothing: */
return;
Modified: issm/trunk/src/c/objects/Loads/Numericalflux.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Numericalflux.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Numericalflux.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -69,12 +69,12 @@
/*Load virtual functions definitions: {{{1*/
void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff){_error_("Not implemented yet");};
- void PenaltyCreateJacobianMatrix(Mat Jff,double kmax){_error_("Not implemented yet");};
- void PenaltyCreateKMatrix(Mat Kff, Mat kfs, double kmax);
- void PenaltyCreatePVector(Vec pf, double kmax);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+ void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax){_error_("Not implemented yet");};
+ void PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, double kmax);
+ void PenaltyCreatePVector(Vector* pf, double kmax);
bool InAnalysis(int analysis_type);
/*}}}*/
/*Numericalflux management:{{{1*/
Modified: issm/trunk/src/c/objects/Loads/Pengrid.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Pengrid.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Pengrid.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -294,7 +294,7 @@
}
/*}}}1*/
/*FUNCTION Pengrid::CreateKMatrix {{{1*/
-void Pengrid::CreateKMatrix(Mat Kff, Mat Kfs){
+void Pengrid::CreateKMatrix(Matrix* Kff, Matrix* Kfs){
/*No loads applied, do nothing: */
return;
@@ -302,7 +302,7 @@
}
/*}}}1*/
/*FUNCTION Pengrid::CreatePVector {{{1*/
-void Pengrid::CreatePVector(Vec pf){
+void Pengrid::CreatePVector(Vector* pf){
/*No loads applied, do nothing: */
return;
@@ -310,7 +310,7 @@
}
/*}}}1*/
/*FUNCTION Pengrid::PenaltyCreateMatrix {{{1*/
-void Pengrid::PenaltyCreateKMatrix(Mat Kff, Mat Kfs,double kmax){
+void Pengrid::PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs,double kmax){
/*Retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -318,15 +318,19 @@
this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
switch(analysis_type){
+ #ifdef _HAVE_DIAGNOSTIC_
case DiagnosticHorizAnalysisEnum: case AdjointHorizAnalysisEnum:
Ke=PenaltyCreateKMatrixDiagnosticStokes(kmax);
break;
+ #endif
+ #ifdef _HAVE_THERMAL_
case ThermalAnalysisEnum:
Ke=PenaltyCreateKMatrixThermal(kmax);
break;
case MeltingAnalysisEnum:
Ke=PenaltyCreateKMatrixMelting(kmax);
break;
+ #endif
default:
_error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type));
}
@@ -339,7 +343,7 @@
}
/*}}}1*/
/*FUNCTION Pengrid::PenaltyCreatePVector {{{1*/
-void Pengrid::PenaltyCreatePVector(Vec pf,double kmax){
+void Pengrid::PenaltyCreatePVector(Vector* pf,double kmax){
/*Retrieve parameters: */
ElementVector* pe=NULL;
@@ -347,14 +351,18 @@
this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
switch(analysis_type){
+ #ifdef _HAVE_DIAGNOSTIC_
case ThermalAnalysisEnum:
pe=PenaltyCreatePVectorThermal(kmax);
break;
+ #endif
+ #ifdef _HAVE_THERMAL_
case MeltingAnalysisEnum:
pe=PenaltyCreatePVectorMelting(kmax);
break;
case DiagnosticHorizAnalysisEnum: case AdjointHorizAnalysisEnum:
break;
+ #endif
default:
_error_("analysis %i (%s) not supported yet",analysis_type,EnumToStringx(analysis_type));
}
@@ -538,6 +546,7 @@
*punstable=unstable;
}
/*}}}1*/
+#ifdef _HAVE_DIAGNOSTIC_
/*FUNCTION Pengrid::PenaltyCreateKMatrixDiagnosticStokes {{{1*/
ElementMatrix* Pengrid::PenaltyCreateKMatrixDiagnosticStokes(double kmax){
@@ -570,6 +579,8 @@
return Ke;
}
/*}}}1*/
+#endif
+#ifdef _HAVE_THERMAL_
/*FUNCTION Pengrid::PenaltyCreateKMatrixMelting {{{1*/
ElementMatrix* Pengrid::PenaltyCreateKMatrixMelting(double kmax){
@@ -689,6 +700,7 @@
return pe;
}
/*}}}1*/
+#endif
/*FUNCTION Pengrid::ResetConstraint {{{1*/
void Pengrid::ResetConstraint(void){
active=0;
Modified: issm/trunk/src/c/objects/Loads/Pengrid.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Pengrid.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Pengrid.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -74,20 +74,24 @@
/*Load virtual functions definitions: {{{1*/
void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff){_error_("Not implemented yet");};
- void PenaltyCreateJacobianMatrix(Mat Jff,double kmax){_error_("Not implemented yet");};
- void PenaltyCreateKMatrix(Mat Kff, Mat kfs, double kmax);
- void PenaltyCreatePVector(Vec pf, double kmax);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+ void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax){_error_("Not implemented yet");};
+ void PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, double kmax);
+ void PenaltyCreatePVector(Vector* pf, double kmax);
bool InAnalysis(int analysis_type);
/*}}}*/
/*Pengrid management {{{1*/
+ #ifdef _HAVE_DIAGNOSTIC_
ElementMatrix* PenaltyCreateKMatrixDiagnosticStokes(double kmax);
+ #endif
+ #ifdef _HAVE_THERMAL_
ElementMatrix* PenaltyCreateKMatrixThermal(double kmax);
ElementMatrix* PenaltyCreateKMatrixMelting(double kmax);
ElementVector* PenaltyCreatePVectorThermal(double kmax);
ElementVector* PenaltyCreatePVectorMelting(double kmax);
+ #endif
void ConstraintActivate(int* punstable);
void ConstraintActivateThermal(int* punstable);
void UpdateInputs(double* solution);
Modified: issm/trunk/src/c/objects/Loads/Penpair.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Penpair.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Penpair.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -198,7 +198,7 @@
}
/*}}}1*/
/*FUNCTION Penpair::CreateKMatrix {{{1*/
-void Penpair::CreateKMatrix(Mat Kff, Mat Kfs){
+void Penpair::CreateKMatrix(Matrix* Kff, Matrix* Kfs){
/*If you code this piece, don't forget that a penalty will be inactive if it is dealing with clone nodes*/
/*No loads applied, do nothing: */
return;
@@ -206,7 +206,7 @@
}
/*}}}1*/
/*FUNCTION Penpair::CreatePVector {{{1*/
-void Penpair::CreatePVector(Vec pf){
+void Penpair::CreatePVector(Vector* pf){
/*No loads applied, do nothing: */
return;
@@ -214,12 +214,12 @@
}
/*}}}1*/
/*FUNCTION Penpair::CreateJacobianMatrix{{{1*/
-void Penpair::CreateJacobianMatrix(Mat Jff){
+void Penpair::CreateJacobianMatrix(Matrix* Jff){
this->CreateKMatrix(Jff,NULL);
}
/*}}}1*/
/*FUNCTION Penpair::PenaltyCreateKMatrix {{{1*/
-void Penpair::PenaltyCreateKMatrix(Mat Kff, Mat Kfs,double kmax){
+void Penpair::PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs,double kmax){
/*Retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -245,13 +245,13 @@
}
/*}}}1*/
/*FUNCTION Penpair::PenaltyCreatePVector {{{1*/
-void Penpair::PenaltyCreatePVector(Vec pf,double kmax){
+void Penpair::PenaltyCreatePVector(Vector* pf,double kmax){
/*No loads applied, do nothing: */
return;
}
/*}}}1*/
/*FUNCTION Penpair::PenaltyCreateJacobianMatrix{{{1*/
-void Penpair::PenaltyCreateJacobianMatrix(Mat Jff,double kmax){
+void Penpair::PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax){
this->PenaltyCreateKMatrix(Jff,NULL,kmax);
}
/*}}}1*/
Modified: issm/trunk/src/c/objects/Loads/Penpair.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Penpair.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Penpair.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -61,12 +61,12 @@
/*Load virtual functions definitions: {{{1*/
void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff);
- void PenaltyCreateKMatrix(Mat Kff,Mat Kfs,double kmax);
- void PenaltyCreatePVector(Vec pf, double kmax);
- void PenaltyCreateJacobianMatrix(Mat Jff,double kmax);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff);
+ void PenaltyCreateKMatrix(Matrix* Kff,Matrix* Kfs,double kmax);
+ void PenaltyCreatePVector(Vector* pf, double kmax);
+ void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax);
bool InAnalysis(int analysis_type);
/*}}}*/
/*Penpair management: {{{1*/
Modified: issm/trunk/src/c/objects/Loads/Riftfront.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Riftfront.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Riftfront.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -427,7 +427,7 @@
}
/*}}}*/
/*FUNCTION Riftfront::PenaltyCreateKMatrix {{{1*/
-void Riftfront::PenaltyCreateKMatrix(Mat Kff, Mat Kfs,double kmax){
+void Riftfront::PenaltyCreateKMatrix(Matrix* Kff, Matrix* Kfs,double kmax){
/*Retrieve parameters: */
ElementMatrix* Ke=NULL;
@@ -453,7 +453,7 @@
}
/*}}}1*/
/*FUNCTION Riftfront::PenaltyCreatePVector {{{1*/
-void Riftfront::PenaltyCreatePVector(Vec pf,double kmax){
+void Riftfront::PenaltyCreatePVector(Vector* pf,double kmax){
/*Retrieve parameters: */
ElementVector* pe=NULL;
@@ -479,13 +479,13 @@
}
/*}}}1*/
/*FUNCTION Riftfront::CreateKMatrix {{{1*/
-void Riftfront::CreateKMatrix(Mat Kff, Mat Kfs){
+void Riftfront::CreateKMatrix(Matrix* Kff, Matrix* Kfs){
/*do nothing: */
return;
}
/*}}}1*/
/*FUNCTION Riftfront::CreatePVector {{{1*/
-void Riftfront::CreatePVector(Vec pf){
+void Riftfront::CreatePVector(Vector* pf){
/*do nothing: */
return;
}
Modified: issm/trunk/src/c/objects/Loads/Riftfront.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Riftfront.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Loads/Riftfront.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -81,12 +81,12 @@
/*Load virtual functions definitions: {{{1*/
void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
- void CreateKMatrix(Mat Kff, Mat Kfs);
- void CreatePVector(Vec pf);
- void CreateJacobianMatrix(Mat Jff){_error_("Not implemented yet");};
- void PenaltyCreateJacobianMatrix(Mat Jff,double kmax){_error_("Not implemented yet");};
- void PenaltyCreateKMatrix(Mat Kff, Mat kfs, double kmax);
- void PenaltyCreatePVector(Vec pf, double kmax);
+ void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
+ void CreatePVector(Vector* pf);
+ void CreateJacobianMatrix(Matrix* Jff){_error_("Not implemented yet");};
+ void PenaltyCreateJacobianMatrix(Matrix* Jff,double kmax){_error_("Not implemented yet");};
+ void PenaltyCreateKMatrix(Matrix* Kff, Matrix* kfs, double kmax);
+ void PenaltyCreatePVector(Vector* pf, double kmax);
bool InAnalysis(int analysis_type);
/*}}}*/
/*Riftfront specific routines: {{{1*/
Modified: issm/trunk/src/c/objects/Materials/Material.h
===================================================================
--- issm/trunk/src/c/objects/Materials/Material.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Materials/Material.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,7 +21,7 @@
/*Numerics*/
virtual void InputDuplicate(int original_enum,int new_enum)=0;
virtual void Configure(Elements* elements)=0;
- virtual void GetVectorFromInputs(Vec vector,int input_enum)=0;
+ virtual void GetVectorFromInputs(Vector* vector,int input_enum)=0;
};
#endif
Modified: issm/trunk/src/c/objects/Materials/Matice.cpp
===================================================================
--- issm/trunk/src/c/objects/Materials/Matice.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Materials/Matice.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -228,7 +228,7 @@
}
/*}}}*/
/*FUNCTION Matice::GetVectorFromInputs{{{1*/
-void Matice::GetVectorFromInputs(Vec vector,int input_enum){
+void Matice::GetVectorFromInputs(Vector* vector,int input_enum){
/*Intermediaries*/
Element *element= NULL;
@@ -777,7 +777,7 @@
}
/*if 3d*/
- #ifdef _HAVE_THREED_
+ #ifdef _HAVE_3D_
else if(dim==3){
/*Intermediaries*/
Modified: issm/trunk/src/c/objects/Materials/Matice.h
===================================================================
--- issm/trunk/src/c/objects/Materials/Matice.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Materials/Matice.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -59,7 +59,7 @@
/*Material virtual functions resolution: {{{1*/
void InputDuplicate(int original_enum,int new_enum);
void Configure(Elements* elements);
- void GetVectorFromInputs(Vec vector,int input_enum);
+ void GetVectorFromInputs(Vector* vector,int input_enum);
/*}}}*/
/*Matice Numerics: {{{1*/
void SetCurrentConfiguration(Elements* elementsin,Loads* loadsin,Nodes* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin);
Modified: issm/trunk/src/c/objects/Materials/Matpar.h
===================================================================
--- issm/trunk/src/c/objects/Materials/Matpar.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Materials/Matpar.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -70,7 +70,7 @@
/*Material virtual functions resolution: {{{1*/
void InputDuplicate(int original_enum,int new_enum){_error_("not implemented yet");};
void Configure(Elements* elements);
- void GetVectorFromInputs(Vec vector,int input_enum){return;}
+ void GetVectorFromInputs(Vector* vector,int input_enum){return;}
/*}}}*/
/*Numerics: {{{1*/
double GetG();
Modified: issm/trunk/src/c/objects/Node.cpp
===================================================================
--- issm/trunk/src/c/objects/Node.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Node.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -567,7 +567,7 @@
}
/*}}}*/
/*FUNCTION Node::CreateVecSets {{{1*/
-void Node::CreateVecSets(Vec pv_g,Vec pv_f,Vec pv_s){
+void Node::CreateVecSets(Vector* pv_g,Vector* pv_f,Vector* pv_s){
double gvalue=1.0; //all nodes are in the g set;
double value;
@@ -577,15 +577,15 @@
for(i=0;i<this->indexing.gsize;i++){
/*g set: */
- VecSetValues(pv_g,1,&indexing.gdoflist[i],&gvalue,INSERT_VALUES);
+ pv_g->SetValue(indexing.gdoflist[i],gvalue,INS_VAL);
/*f set: */
value=(double)this->indexing.f_set[i];
- VecSetValues(pv_f,1,&indexing.gdoflist[i],&value,INSERT_VALUES);
+ pv_f->SetValue(indexing.gdoflist[i],value,INS_VAL);
/*s set: */
value=(double)this->indexing.s_set[i];
- VecSetValues(pv_s,1,&indexing.gdoflist[i],&value,INSERT_VALUES);
+ pv_s->SetValue(indexing.gdoflist[i],value,INS_VAL);
}
@@ -593,7 +593,7 @@
}
/*}}}*/
/*FUNCTION Node::CreateNodalConstraints{{{1*/
-void Node::CreateNodalConstraints(Vec ys){
+void Node::CreateNodalConstraints(Vector* ys){
int i;
double* values=NULL;
@@ -612,7 +612,7 @@
}
/*Add values into constraint vector: */
- VecSetValues(ys,this->indexing.ssize,this->indexing.sdoflist,values,INSERT_VALUES);
+ ys->SetValues(this->indexing.ssize,this->indexing.sdoflist,values,INS_VAL);
}
/*Free ressources:*/
@@ -874,7 +874,7 @@
}
/*}}}*/
/*FUNCTION Node::VecMerge {{{1*/
-void Node::VecMerge(Vec ug, double* vector_serial,int setenum){
+void Node::VecMerge(Vector* ug, double* vector_serial,int setenum){
double* values=NULL;
int* indices=NULL;
@@ -896,7 +896,7 @@
}
/*Add values into ug: */
- VecSetValues(ug,this->indexing.fsize,indices,(const double*)values,INSERT_VALUES);
+ ug->SetValues(this->indexing.fsize,indices,values,INS_VAL);
}
}
else if(setenum==SsetEnum){
@@ -914,7 +914,7 @@
}
/*Add values into ug: */
- VecSetValues(ug,this->indexing.ssize,indices,(const double*)values,INSERT_VALUES);
+ ug->SetValues(this->indexing.ssize,indices,values,INS_VAL);
}
}
else _error_("VecMerge can only merge from the s or f-set onto the g-set!");
@@ -925,7 +925,7 @@
}
/*}}}*/
/*FUNCTION Node::VecReduce {{{1*/
-void Node::VecReduce(Vec vector, double* ug_serial,int setenum){
+void Node::VecReduce(Vector* vector, double* ug_serial,int setenum){
double* values=NULL;
int count=0;
@@ -944,7 +944,7 @@
}
/*Add values into ug: */
- VecSetValues(vector,this->indexing.fsize,this->indexing.fdoflist,(const double*)values,INSERT_VALUES);
+ vector->SetValues(this->indexing.fsize,this->indexing.fdoflist,values,INS_VAL);
}
}
else if(setenum==SsetEnum){
@@ -960,7 +960,7 @@
}
/*Add values into ug: */
- VecSetValues(vector,this->indexing.ssize,this->indexing.sdoflist,(const double*)values,INSERT_VALUES);
+ vector->SetValues(this->indexing.ssize,this->indexing.sdoflist,values,INS_VAL);
}
}
else _error_("VecReduce can only merge from the s or f-set onto the g-set!");
Modified: issm/trunk/src/c/objects/Node.h
===================================================================
--- issm/trunk/src/c/objects/Node.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Node.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,6 +15,8 @@
class IoModel;
class DataSet;
class Vertices;
+class Vector;
+class Matrix;
#include "./Update.h"
/*}}}*/
@@ -66,7 +68,7 @@
/*}}}*/
/*Node numerical routines {{{1*/
void Configure(DataSet* nodes,Vertices* vertices);
- void CreateNodalConstraints(Vec ys);
+ void CreateNodalConstraints(Vector* ys);
void SetCurrentConfiguration(DataSet* nodes,Vertices* vertices);
int Sid(void);
int GetVertexDof(void);
@@ -84,7 +86,7 @@
void DofInSSet(int dof);
void DofInFSet(int dof);
int GetDof(int dofindex,int setenum);
- void CreateVecSets(Vec pv_g,Vec pv_f,Vec pv_s);
+ void CreateVecSets(Vector* pv_g,Vector* pv_f,Vector* pv_s);
int GetConnectivity();
void GetDofList(int* poutdoflist,int approximation_enum,int setenum);
void GetLocalDofList(int* poutdoflist,int approximation_enum,int setenum);
@@ -100,8 +102,8 @@
int IsFloating();
int IsGrounded();
void UpdateSpcs(double* ys);
- void VecMerge(Vec ug, double* vector_serial,int setnum);
- void VecReduce(Vec vector, double* ug_serial,int setnum);
+ void VecMerge(Vector* ug, double* vector_serial,int setenum);
+ void VecReduce(Vector* vector, double* ug_serial,int setnum);
/*}}}*/
/*Dof Object routines {{{1*/
Modified: issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp
===================================================================
--- issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Numerics/ElementMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -244,8 +244,8 @@
/*}}}*/
/*ElementMatrix specific routines: */
-/*FUNCTION ElementMatrix::AddToGlobal(Mat Kff, Mat Kfs){{{1*/
-void ElementMatrix::AddToGlobal(Mat Kff, Mat Kfs){
+/*FUNCTION ElementMatrix::AddToGlobal(Matrix* Kff, Matrix* Kfs){{{1*/
+void ElementMatrix::AddToGlobal(Matrix* Kff, Matrix* Kfs){
int i,j;
double* localvalues=NULL;
@@ -261,7 +261,7 @@
if(this->dofsymmetrical){
/*only use row dofs to add values into global matrices: */
-
+
if(this->row_fsize){
/*first, retrieve values that are in the f-set from the g-set values matrix: */
localvalues=(double*)xmalloc(this->row_fsize*this->row_fsize*sizeof(double));
@@ -271,7 +271,7 @@
}
}
/*add local values into global matrix, using the fglobaldoflist: */
- MatSetValues(Kff,this->row_fsize,this->row_fglobaldoflist,this->row_fsize,this->row_fglobaldoflist,(const double*)localvalues,ADD_VALUES);
+ Kff->SetValues(this->row_fsize,this->row_fglobaldoflist,this->row_fsize,this->row_fglobaldoflist,localvalues,ADD_VAL);
/*Free ressources:*/
xfree((void**)&localvalues);
@@ -287,7 +287,7 @@
}
}
/*add local values into global matrix, using the fglobaldoflist: */
- MatSetValues(Kfs,this->row_fsize,this->row_fglobaldoflist,this->row_ssize,this->row_sglobaldoflist,(const double*)localvalues,ADD_VALUES);
+ Kfs->SetValues(this->row_fsize,this->row_fglobaldoflist,this->row_ssize,this->row_sglobaldoflist,localvalues,ADD_VAL);
/*Free ressources:*/
xfree((void**)&localvalues);
@@ -299,8 +299,8 @@
}
/*}}}*/
-/*FUNCTION ElementMatrix::AddToGlobal(Mat Jff){{{1*/
-void ElementMatrix::AddToGlobal(Mat Jff){
+/*FUNCTION ElementMatrix::AddToGlobal(Matrix* Jff){{{1*/
+void ElementMatrix::AddToGlobal(Matrix* Jff){
int i,j;
double* localvalues=NULL;
@@ -323,7 +323,7 @@
}
}
/*add local values into global matrix, using the fglobaldoflist: */
- MatSetValues(Jff,this->row_fsize,this->row_fglobaldoflist,this->row_fsize,this->row_fglobaldoflist,(const double*)localvalues,ADD_VALUES);
+ Jff->SetValues(this->row_fsize,this->row_fglobaldoflist,this->row_fsize,this->row_fglobaldoflist,localvalues,ADD_VAL);
/*Free ressources:*/
xfree((void**)&localvalues);
Modified: issm/trunk/src/c/objects/Numerics/ElementMatrix.h
===================================================================
--- issm/trunk/src/c/objects/Numerics/ElementMatrix.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Numerics/ElementMatrix.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -57,8 +57,8 @@
~ElementMatrix();
/*}}}*/
/*ElementMatrix specific routines {{{1*/
- void AddToGlobal(Mat Kff, Mat Kfs);
- void AddToGlobal(Mat Jff);
+ void AddToGlobal(Matrix* Kff, Matrix* Kfs);
+ void AddToGlobal(Matrix* Jff);
void Echo(void);
void CheckConsistency(void);
void Transpose(void);
Modified: issm/trunk/src/c/objects/Numerics/ElementVector.cpp
===================================================================
--- issm/trunk/src/c/objects/Numerics/ElementVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Numerics/ElementVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -159,8 +159,8 @@
/*}}}*/
/*ElementVector specific routines: */
-/*FUNCTION ElementVector::AddToGlobal(Vec pf){{{1*/
-void ElementVector::AddToGlobal(Vec pf){
+/*FUNCTION ElementVector::AddToGlobal(Vector* pf){{{1*/
+void ElementVector::AddToGlobal(Vector* pf){
int i;
double* localvalues=NULL;
@@ -172,15 +172,16 @@
localvalues[i]=this->values[this->flocaldoflist[i]];
}
/*add local values into global vector, using the fglobaldoflist: */
- VecSetValues(pf,this->fsize,this->fglobaldoflist,(const double*)localvalues,ADD_VALUES);
+ pf->SetValues(this->fsize,this->fglobaldoflist,localvalues,ADD_VAL);
/*Free ressources:*/
xfree((void**)&localvalues);
}
+
}
/*}}}*/
-/*FUNCTION ElementVector::InsertIntoGlobal(Vec pf){{{1*/
-void ElementVector::InsertIntoGlobal(Vec pf){
+/*FUNCTION ElementVector::InsertIntoGlobal(Vector* pf){{{1*/
+void ElementVector::InsertIntoGlobal(Vector* pf){
int i;
double* localvalues=NULL;
@@ -192,11 +193,12 @@
localvalues[i]=this->values[this->flocaldoflist[i]];
}
/*add local values into global vector, using the fglobaldoflist: */
- VecSetValues(pf,this->fsize,this->fglobaldoflist,(const double*)localvalues,INSERT_VALUES);
+ pf->SetValues(this->fsize,this->fglobaldoflist,localvalues,INS_VAL);
/*Free ressources:*/
xfree((void**)&localvalues);
}
+
}
/*}}}*/
/*FUNCTION ElementVector::Echo{{{1*/
Modified: issm/trunk/src/c/objects/Numerics/ElementVector.h
===================================================================
--- issm/trunk/src/c/objects/Numerics/ElementVector.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Numerics/ElementVector.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -39,8 +39,8 @@
~ElementVector();
/*}}}*/
/*ElementVector specific routines {{{1*/
- void AddToGlobal(Vec pf);
- void InsertIntoGlobal(Vec pf);
+ void AddToGlobal(Vector* pf);
+ void InsertIntoGlobal(Vector* pf);
void Echo(void);
void Init(ElementVector* pe);
void SetValue(double scalar);
Copied: issm/trunk/src/c/objects/Numerics/Matrix.cpp (from rev 11994, issm/trunk-jpl/src/c/objects/Numerics/Matrix.cpp)
===================================================================
--- issm/trunk/src/c/objects/Numerics/Matrix.cpp (rev 0)
+++ issm/trunk/src/c/objects/Numerics/Matrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,287 @@
+/*!\file Matrix.cpp
+ * \brief: implementation of the Matrix object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../objects.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+#include "../../toolkits/toolkits.h"
+#include "./Matrix.h"
+
+/*}}}*/
+
+/*Matrix constructors and destructor*/
+/*FUNCTION Matrix::Matrix(){{{1*/
+Matrix::Matrix(){
+
+ #ifdef _HAVE_PETSC_
+ this->matrix=NULL;
+ #else
+ this->matrix=NULL;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->amatrix=NULL;
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Matrix(int M,int N){{{1*/
+Matrix::Matrix(int M,int N){
+
+ #ifdef _HAVE_PETSC_
+ this->matrix=NewMat(M,N);
+ #else
+ this->matrix=new SeqMat(M,N);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->amatrix=(adouble*)xmalloc(M*N*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Matrix(int M,int N,double sparsity){{{1*/
+Matrix::Matrix(int M,int N,double sparsity){
+
+ #ifdef _HAVE_PETSC_
+ this->matrix=NewMat(M,N,sparsity);
+ #else
+ this->matrix=new SeqMat(M,N,sparsity);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->amatrix=(adouble*)xmalloc(M*N*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Matrix(double* serial_mat, int M,int N,double sparsity){{{1*/
+Matrix::Matrix(double* serial_mat, int M,int N,double sparsity){
+
+ #ifdef _HAVE_PETSC_
+ int i;
+
+
+ int* idxm=(int*)xmalloc(M*sizeof(int));
+ int* idxn=(int*)xmalloc(N*sizeof(int));
+ for(i=0;i<M;i++)idxm[i]=i;
+ for(i=0;i<N;i++)idxn[i]=i;
+
+ this->matrix=NewMat(M,N,sparsity);
+ MatSetValues(this->matrix,M,idxm,N,idxn,serial_mat,INSERT_VALUES);
+ MatAssemblyBegin(this->matrix,MAT_FINAL_ASSEMBLY);
+ MatAssemblyEnd(this->matrix,MAT_FINAL_ASSEMBLY);
+
+ xfree((void**)&idxm);
+ xfree((void**)&idxn);
+ #else
+ this->matrix=new SeqMat(serial_mat,M,N,sparsity);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->amatrix=(adouble*)xmalloc(M*N*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Matrix(int M,int N,int connectivity,int numberofdofspernode){{{1*/
+Matrix::Matrix(int M,int N,int connectivity,int numberofdofspernode){
+
+ #ifdef _HAVE_PETSC_
+ this->matrix=NewMat(M,N,connectivity,numberofdofspernode);
+ #else
+ this->matrix=new SeqMat(M,N,connectivity,numberofdofspernode);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->amatrix=(adouble*)xmalloc(M*N*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::~Matrix(){{{1*/
+Matrix::~Matrix(){
+
+ #ifdef _HAVE_PETSC_
+ MatFree(&this->matrix);
+ #else
+ delete this->matrix;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ xfree((void**)&this->amatrix);
+ #endif
+}
+/*}}}*/
+
+/*Matrix specific routines: */
+/*FUNCTION Matrix::Echo{{{1*/
+void Matrix::Echo(void){
+
+ int i,j;
+
+ #ifdef _HAVE_PETSC_
+ MatView(this->matrix,PETSC_VIEWER_STDOUT_WORLD);
+ #else
+ this->matrix->Echo();
+ #endif
+
+ #ifdef _HAVE_ADOLC_
+ /*Not sure about that one. Should we use the overloaded operator >>?*/
+ printf("ADOLC Matrix equivalent:" );
+ for(i=0;i<M;i++){
+ for(j=0;j<N;j++){
+ printf("%g ",*(amatrix+N*i+j));
+ }
+ printf("\n");
+ }
+ #endif
+}
+/*}}}*/
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+/*FUNCTION Matrix::ToMatlabMatrix{{{1*/
+mxArray* Matrix::ToMatlabMatrix(void){
+
+ mxArray* dataref=NULL;
+ #ifdef _HAVE_PETSC_
+ PetscMatrixToMatlabMatrix(&dataref,this->matrix);
+ #else
+ dataref=this->matrix->ToMatlabMatrix();
+ #endif
+ return dataref;
+
+}
+/*}}}*/
+/*FUNCTION MatlabMatrixToMatrix{{{1*/
+Matrix* MatlabMatrixToMatrix(const mxArray* mxmatrix){
+
+ int dummy;
+ Matrix* matrix=NULL;
+
+ /*allocate matrix object: */
+ matrix=new Matrix();
+
+ #ifdef _HAVE_PETSC_
+ MatlabMatrixToPetscMatrix(&matrix->matrix,NULL,NULL,mxmatrix);
+ #else
+ matrix->matrix=MatlabMatrixToSeqMat(mxmatrix);
+ #endif
+
+ return matrix;
+}
+/*}}}*/
+#endif
+/*FUNCTION Matrix::Assemble{{{1*/
+void Matrix::Assemble(void){
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ MatAssemblyBegin(this->matrix,MAT_FINAL_ASSEMBLY);
+ MatAssemblyEnd(this->matrix,MAT_FINAL_ASSEMBLY);
+ #if _PETSC_MAJOR_ == 2
+ MatCompress(this->matrix);
+ #endif
+ #else
+ this->matrix->Assemble();
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Matrix::Norm{{{1*/
+double Matrix::Norm(NormMode norm_type){
+
+ double norm=0;
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ MatNorm(this->matrix,ISSMToPetscNormMode(norm_type),&norm);
+ #else
+ norm=this->matrix->Norm(norm_type);
+ #endif
+ return norm;
+}
+/*}}}*/
+/*FUNCTION Matrix::GetSize{{{1*/
+void Matrix::GetSize(int* pM,int* pN){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ MatGetSize(this->matrix,pM,pN);
+ #else
+ this->matrix->GetSize(pM,pN);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::GetLocalSize{{{1*/
+void Matrix::GetLocalSize(int* pM,int* pN){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ MatGetLocalSize(this->matrix,pM,pN);
+ #else
+ this->matrix->GetLocalSize(pM,pN);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::MatMult{{{1*/
+void Matrix::MatMult(Vector* X,Vector* AX){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ _assert_(X->vector);
+ MatMultPatch(this->matrix,X->vector,AX->vector);
+ #else
+ this->matrix->MatMult(X->vector,AX->vector);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Duplicate{{{1*/
+Matrix* Matrix::Duplicate(void){
+
+ Matrix* output=NULL;
+
+ output=new Matrix();
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->matrix);
+ MatDuplicate(this->matrix,MAT_COPY_VALUES,&output->matrix);
+ #else
+ output->matrix=this->matrix->Duplicate();
+ #endif
+
+ return output;
+}
+/*}}}*/
+/*FUNCTION Matrix::ToSerial{{{1*/
+double* Matrix::ToSerial(void){
+
+ double* output=NULL;
+
+ #ifdef _HAVE_PETSC_
+ MatToSerial(&output,this->matrix);
+ #else
+ output=this->matrix->ToSerial();
+ #endif
+ return output;
+}
+/*}}}*/
+/*FUNCTION Matrix::SetValues{{{1*/
+void Matrix::SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode){
+
+ #ifdef _HAVE_PETSC_
+ MatSetValues(this->matrix,m,idxm,n,idxn,values,ISSMToPetscInsertMode(mode));
+ #else
+ this->matrix->SetValues(m,idxm,n,idxn,values,mode);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Matrix::Convert{{{1*/
+void Matrix::Convert(MatrixType type){
+
+ #ifdef _HAVE_PETSC_
+ MatConvert(this->matrix,ISSMToPetscMatrixType(type),MAT_REUSE_MATRIX,&this->matrix);
+ #else
+ this->matrix->Convert(type);
+ #endif
+}
+/*}}}*/
Copied: issm/trunk/src/c/objects/Numerics/Matrix.h (from rev 11994, issm/trunk-jpl/src/c/objects/Numerics/Matrix.h)
===================================================================
--- issm/trunk/src/c/objects/Numerics/Matrix.h (rev 0)
+++ issm/trunk/src/c/objects/Numerics/Matrix.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,73 @@
+/*!\file: Matrix.h
+ * \brief wrapper to matrix objects. The goal is to control which API (PETSc,Scalpack, Plapack?)
+ * implements our underlying matrix format.
+ */
+
+#ifndef _MATRIX_H_
+#define _MATRIX_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+#include "../../toolkits/toolkits.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+#ifdef _HAVE_ADOLC_
+#include "adolc.h"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+#endif
+class Vector;
+
+/*}}}*/
+
+class Matrix{
+
+ public:
+
+ #ifdef _HAVE_PETSC_
+ Mat matrix;
+ #else
+ SeqMat* matrix;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ adouble* amatrix;
+ #endif
+
+ /*Matrix constructors, destructors {{{1*/
+ Matrix();
+ Matrix(int M,int N);
+ Matrix(int M,int N,double sparsity);
+ Matrix(double* serial_mat,int M,int N,double sparsity);
+ Matrix(int M,int N,int connectivity,int numberofdofspernode);
+ ~Matrix();
+ /*}}}*/
+ /*Matrix specific routines {{{1*/
+ void Echo(void);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mxArray* ToMatlabMatrix(void);
+ #endif
+ void Assemble(void);
+ double Norm(NormMode norm_type);
+ void GetSize(int* pM,int* pN);
+ void GetLocalSize(int* pM,int* pN);
+ void MatMult(Vector* X,Vector* AX);
+ Matrix* Duplicate(void);
+ double* ToSerial(void);
+ void SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode);
+ void Convert(MatrixType type);
+ /*}}}*/
+
+};
+/*API: */
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+Matrix* MatlabMatrixToMatrix(const mxArray* mxmatrix);
+#endif
+
+#endif //#ifndef _MATRIX_H_
Copied: issm/trunk/src/c/objects/Numerics/Vector.cpp (from rev 11994, issm/trunk-jpl/src/c/objects/Numerics/Vector.cpp)
===================================================================
--- issm/trunk/src/c/objects/Numerics/Vector.cpp (rev 0)
+++ issm/trunk/src/c/objects/Numerics/Vector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,381 @@
+/*!\file Vector.cpp
+ * \brief: implementation of the Vector object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../objects.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+#include "../../toolkits/toolkits.h"
+#include "./Vector.h"
+/*}}}*/
+
+/*Vector constructors and destructor*/
+/*FUNCTION Vector::Vector(){{{1*/
+Vector::Vector(){
+
+ #ifdef _HAVE_PETSC_
+ this->vector=NULL;
+ #else
+ this->vector=NULL;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->avector=NULL;
+ #endif
+}
+/*}}}*/
+/*FUNCTION Vector::Vector(int M,bool fromlocalsize){{{1*/
+Vector::Vector(int pM,bool fromlocalsize){
+
+ #ifdef _HAVE_PETSC_
+ this->vector=NewVec(pM,fromlocalsize);
+ #else
+ this->vector=new SeqVec(pM,fromlocalsize);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->avector=(adouble*)xmalloc(pM*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+/*FUNCTION Vector::Vector(double* serial_vec,int M){{{1*/
+Vector::Vector(double* serial_vec,int M){
+
+ #ifdef _HAVE_PETSC_
+ int* idxm=(int*)xmalloc(M*sizeof(int));
+ for(int i=0;i<M;i++) idxm[i]=i;
+
+ this->vector=NewVec(M);
+ VecSetValues(this->vector,M,idxm,serial_vec,INSERT_VALUES);
+ VecAssemblyBegin(this->vector);
+ VecAssemblyEnd(this->vector);
+
+ xfree((void**)&idxm);
+ #else
+ this->vector=new SeqVec(serial_vec,M);
+ #endif
+ #ifdef _HAVE_ADOLC_
+ this->avector=(adouble*)xmalloc(M*sizeof(adouble));
+ #endif
+}
+/*}}}*/
+#ifdef _HAVE_PETSC_
+/*FUNCTION Vector::Vector(Vec petsc_vec){{{1*/
+Vector::Vector(Vec petsc_vec){
+
+ if(petsc_vec==NULL){
+ this->vector=NewVec(0);
+ }
+ else{
+ /*copy vector*/
+ VecDuplicate(petsc_vec,&this->vector);
+ VecCopy(petsc_vec,this->vector);
+ }
+
+}
+/*}}}*/
+#endif
+#ifdef _HAVE_GSL_
+/*FUNCTION Vector::Vector(SeqVec* seq_vec){{{1*/
+Vector::Vector(SeqVec* seq_vec){
+
+ if(seq_vec==NULL){
+ this->vector=NULL;
+ }
+ else{
+ /*copy vector*/
+ this->vector=seq_vec->Duplicate();
+ }
+}
+/*}}}*/
+#endif
+
+ /*FUNCTION Vector::~Vector(){{{1*/
+Vector::~Vector(){
+
+ #ifdef _HAVE_PETSC_
+ VecFree(&this->vector);
+ #else
+ delete this->vector;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ xfree((void**)&this->avector);
+ #endif
+}
+/*}}}*/
+
+/*Vector specific routines: */
+/*FUNCTION Vector::Echo{{{1*/
+void Vector::Echo(void){
+
+ int i;
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecView(this->vector,PETSC_VIEWER_STDOUT_WORLD);
+ #else
+ this->vector->Echo();
+ #endif
+
+ #ifdef _HAVE_ADOLC_
+ /*do nothing for now: */
+ #endif
+}
+/*}}}*/
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+/*FUNCTION Vector::ToMatlabVector{{{1*/
+mxArray* Vector::ToMatlabVector(void){
+
+ mxArray* dataref=NULL;
+ #ifdef _HAVE_PETSC_
+ PetscVectorToMatlabVector(&dataref,this->vector);
+ #else
+ dataref=this->vector->ToMatlabVector();
+ #endif
+ return dataref;
+
+}
+/*}}}*/
+/*FUNCTION MatlabVectorToVector{{{1*/
+Vector* MatlabVectorToVector(const mxArray* mxvector){
+
+ int dummy;
+ Vector* vector=NULL;
+
+ /*allocate vector object: */
+ vector=new Vector();
+
+ #ifdef _HAVE_PETSC_
+ MatlabVectorToPetscVector(&vector->vector,&dummy,mxvector);
+ #else
+ vector->vector=MatlabVectorToSeqVec(mxvector);
+ #endif
+
+ return vector;
+}
+/*}}}*/
+#endif
+/*FUNCTION Vector::Assemble{{{1*/
+void Vector::Assemble(void){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecAssemblyBegin(this->vector);
+ VecAssemblyEnd(this->vector);
+ #else
+ this->vector->Assemble();
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::SetValues{{{1*/
+void Vector::SetValues(int ssize, int* list, double* values, InsMode mode){
+
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecSetValues(this->vector,ssize,list,values,ISSMToPetscInsertMode(mode));
+ #else
+ this->vector->SetValues(ssize,list,values,mode);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::SetValue{{{1*/
+void Vector::SetValue(int dof, double value, InsMode mode){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecSetValues(this->vector,1,&dof,&value,ISSMToPetscInsertMode(mode));
+ #else
+ this->vector->SetValue(dof,value,mode);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::GetValue{{{1*/
+void Vector::GetValue(double* pvalue,int dof){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecGetValues(this->vector,1,&dof,pvalue);
+ #else
+ this->vector->GetValue(pvalue,dof);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Vector::GetSize{{{1*/
+void Vector::GetSize(int* pM){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecGetSize(this->vector,pM);
+ #else
+ this->vector->GetSize(pM);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::IsEmpty{{{1*/
+bool Vector::IsEmpty(void){
+
+ int M;
+
+ _assert_(this->vector);
+ this->GetSize(&M);
+
+ if(M==0)
+ return true;
+ else
+ return false;
+}
+/*}}}*/
+/*FUNCTION Vector::GetLocalSize{{{1*/
+void Vector::GetLocalSize(int* pM){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecGetLocalSize(this->vector,pM);
+ #else
+ this->vector->GetLocalSize(pM);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::Duplicate{{{1*/
+Vector* Vector::Duplicate(void){
+
+ Vector* output=NULL;
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ Vec vec_output=NULL;
+ VecDuplicate(this->vector,&vec_output);
+ output=new Vector(vec_output);
+ VecFree(&vec_output);
+ #else
+ output=new Vector();
+ output->vector=this->vector->Duplicate();
+ #endif
+ return output;
+
+}
+/*}}}*/
+/*FUNCTION Vector::Set{{{1*/
+void Vector::Set(double value){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecSet(this->vector,value);
+ #else
+ this->vector->Set(value);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::AXPY{{{1*/
+void Vector::AXPY(Vector* X, double a){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecAXPY(this->vector,a,X->vector);
+ #else
+ this->vector->AXPY(X->vector,a);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Vector::AYPX{{{1*/
+void Vector::AYPX(Vector* X, double a){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecAYPX(this->vector,a,X->vector);
+ #else
+ this->vector->AYPX(X->vector,a);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::ToMPISerial{{{1*/
+double* Vector::ToMPISerial(void){
+
+ double* vec_serial=NULL;
+
+ #ifdef _HAVE_PETSC_
+ VecToMPISerial(&vec_serial, this->vector);
+ #else
+ vec_serial=this->vector->ToMPISerial();
+ #endif
+
+ return vec_serial;
+
+}
+/*}}}*/
+/*FUNCTION Vector::Copy{{{1*/
+void Vector::Copy(Vector* to){
+
+ #ifdef _HAVE_PETSC_
+ if(this->vector) VecCopy(this->vector,to->vector);
+ #else
+ this->vector->Copy(to->vector);
+ #endif
+
+}
+/*}}}*/
+/*FUNCTION Vector::Norm{{{1*/
+double Vector::Norm(NormMode norm_type){
+
+ double norm=0;
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecNorm(this->vector,ISSMToPetscNormMode(norm_type),&norm);
+ #else
+ norm=this->vector->Norm(norm_type);
+ #endif
+ return norm;
+}
+/*}}}*/
+/*FUNCTION Vector::Scale{{{1*/
+void Vector::Scale(double scale_factor){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecScale(this->vector,scale_factor);
+ #else
+ this->vector->Scale(scale_factor);
+ #endif
+}
+/*}}}*/
+/*FUNCTION Vector::Dot{{{1*/
+double Vector::Dot(Vector* vector){
+
+ double dot;
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecDot(this->vector,vector->vector,&dot);
+ #else
+ dot=this->vector->Dot(vector->vector);
+ #endif
+ return dot;
+}
+/*}}}*/
+/*FUNCTION Vector::PointwiseDivide{{{1*/
+void Vector::PointwiseDivide(Vector* x,Vector* y){
+
+ #ifdef _HAVE_PETSC_
+ _assert_(this->vector);
+ VecPointwiseDivide(this->vector,x->vector,y->vector);
+ #else
+ this->vector->PointwiseDivide(x->vector,y->vector);
+ #endif
+}
+/*}}}*/
Copied: issm/trunk/src/c/objects/Numerics/Vector.h (from rev 11994, issm/trunk-jpl/src/c/objects/Numerics/Vector.h)
===================================================================
--- issm/trunk/src/c/objects/Numerics/Vector.h (rev 0)
+++ issm/trunk/src/c/objects/Numerics/Vector.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,84 @@
+/*!\file: Vector.h
+ * \brief wrapper to vector objects. The goal is to control which API (PETSc,Scalpack, Plapack?)
+ * implements our underlying vector format.
+ */
+
+#ifndef _VECTOR_H_
+#define _VECTOR_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+#include "../../toolkits/toolkits.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+#ifdef _HAVE_ADOLC_
+#include "adolc.h"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+#endif
+
+/*}}}*/
+
+class Vector{
+
+ public:
+
+ #ifdef _HAVE_PETSC_
+ Vec vector;
+ #else
+ SeqVec* vector;
+ #endif
+ #ifdef _HAVE_ADOLC_
+ adouble* avector;
+ #endif
+
+ /*Vector constructors, destructors {{{1*/
+ Vector();
+ Vector(int M,bool fromlocalsize=false);
+ Vector(double* serial_vec,int pM);
+ #ifdef _HAVE_PETSC_
+ Vector(Vec petsc_vec);
+ #endif
+ #ifdef _HAVE_GSL_
+ Vector(SeqVec* seq_vec);
+ #endif
+ ~Vector();
+ /*}}}*/
+ /*Vector specific routines {{{1*/
+ void Echo(void);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mxArray* ToMatlabVector(void);
+ #endif
+ void AXPY(Vector *X, double a);
+ void AYPX(Vector *X, double a);
+ void Assemble(void);
+ void Copy(Vector *to);
+ double Dot(Vector *vector);
+ Vector *Duplicate(void);
+ void GetValue(double *pvalue, int dof);
+ void GetSize(int *pM);
+ void GetLocalSize(int *pM);
+ bool IsEmpty(void);
+ double Norm(NormMode norm_type);
+ void PointwiseDivide(Vector *x,Vector*y);
+ void Scale(double scale_factor);
+ void Set(double value);
+ void SetValues(int ssize, int *list, double*values, InsMode mode);
+ void SetValue(int dof, double value, InsMode mode);
+ double *ToMPISerial(void);
+ /*}}}*/
+};
+
+/*API: */
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+Vector* MatlabVectorToVector(const mxArray* mxvector);
+#endif
+
+#endif //#ifndef _VECTOR_H_
Modified: issm/trunk/src/c/objects/OptArgs.h
===================================================================
--- issm/trunk/src/c/objects/OptArgs.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/OptArgs.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,7 @@
#ifndef _OPTARGS_H_
#define _OPTARGS_H_
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "mex.h"
struct OptArgs{
Modified: issm/trunk/src/c/objects/Params/BoolParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/BoolParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/BoolParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -134,7 +134,7 @@
}
/*}}}*/
/*FUNCTION BoolParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void BoolParam::SetMatlabField(mxArray* dataref){
char* name=NULL;
this->GetParameterName(&name);
Modified: issm/trunk/src/c/objects/Params/BoolParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/BoolParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/BoolParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -60,8 +60,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("Bool param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("Bool param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Bool param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("Bool param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("Bool param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("Bool param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("Bool param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("Bool param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){this->value=boolean;}
@@ -73,14 +73,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("Bool param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("Bool param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* pintarray,int M,int N){_error_("Bool param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("Bool param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("Bool param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("Bool param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("Bool param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("Bool param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Bool param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
/*}}}*/
Modified: issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleMatArrayParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -308,7 +308,7 @@
}
/*}}}*/
/*FUNCTION StringArrayParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleMatArrayParam::SetMatlabField(mxArray* dataref){
int i,m,n;
Modified: issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleMatArrayParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -63,8 +63,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("DoubleMatArray param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("DoubleMatArray param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims);
- void GetParameterValue(Vec* pvec){_error_("DoubleMatArray param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("DoubleMatArray param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("DoubleMatArray param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("DoubleMatArray param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("DoubleMatArray param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("DoubleMatArray param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -76,14 +76,14 @@
void SetValue(double* doublearray,int M,int N){_error_("DoubleMatArray param of enum %i (%s) cannot hold a double mat array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("DoubleMatArray param of enum %i (%s) cannot hold a int vec array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M,int N){_error_("DoubleMatArray param of enum %i (%s) cannot hold a int mat array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("DoubleMatArray param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("DoubleMatArray param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("DoubleMatArray param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("DoubleMatArray param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("Bool param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array);
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/DoubleMatParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleMatParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleMatParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -168,7 +168,7 @@
/*}}}*/
/*FUNCTION DoubleMatParam::GetParameterValue(int** pintarray,int* pM,int* pN){{{1*/
void DoubleMatParam::GetParameterValue(int** pintarray,int* pM,int* pN){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
int* output=NULL;
int i;
@@ -190,7 +190,7 @@
}
/*}}}*/
/*FUNCTION DoubleMatParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleMatParam::SetMatlabField(mxArray* dataref){
mxArray* pfield=NULL;
Modified: issm/trunk/src/c/objects/Params/DoubleMatParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleMatParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleMatParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -62,8 +62,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("DoubleMat param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM,int* pN);
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("DoubleMat param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("DoubleMat param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("DoubleMat param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("DoubleMat param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("DoubleMat param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("DoubleMat param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("DoubleMat param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -75,15 +75,15 @@
void SetValue(double* doublearray,int M,int N);
void SetValue(int* intarray,int M){_error_("DoubleMat param of enum %i (%s) cannot hold a int vec array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M,int N){_error_("DoubleMat param of enum %i (%s) cannot hold a int mat array",enum_type,EnumToStringx(enum_type));};
- void SetValue(Vec vec){_error_("DoubleMat param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("DoubleMat param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("DoubleMat param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("DoubleMat param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("DoubleMat param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("DoubleMat param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
double* GetPointer(void);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/DoubleParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -132,7 +132,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(int* pinteger){{{1*/
void DoubleParam::GetParameterValue(int* pinteger){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
*pinteger=(int)value;
#else
_error_("Double param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));
@@ -141,7 +141,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(bool* pbool){{{1*/
void DoubleParam::GetParameterValue(bool* pbool){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*If debugging mode, cheeck that the double is 0 or 1*/
_assert_(value==0 || value==1);
@@ -154,7 +154,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(int** pintarray,int* pM){{{1*/
void DoubleParam::GetParameterValue(int** pintarray,int* pM){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
int* output=NULL;
output=(int*)xmalloc(1*sizeof(int));
@@ -170,7 +170,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(int** pintarray,int* pM,int* pN){{{1*/
void DoubleParam::GetParameterValue(int** pintarray,int* pM,int* pN){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
int* output=NULL;
output=(int*)xmalloc(1*sizeof(int));
@@ -187,7 +187,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(double** pdoublearray,int* pM){{{1*/
void DoubleParam::GetParameterValue(double** pdoublearray,int* pM){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
double* output=NULL;
output=(double*)xmalloc(1*sizeof(double));
@@ -203,7 +203,7 @@
/*}}}*/
/*FUNCTION DoubleParam::GetParameterValue(double** pdoublearray,int* pM,int* pN){{{1*/
void DoubleParam::GetParameterValue(double** pdoublearray,int* pM,int* pN){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
double* output=NULL;
output=(double*)xmalloc(1*sizeof(double));
@@ -219,7 +219,7 @@
}
/*}}}*/
/*FUNCTION DoubleParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleParam::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/Params/DoubleParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -61,8 +61,8 @@
void GetParameterValue(double** pdoublearray,int* pM);
void GetParameterValue(double** pdoublearray,int* pM, int* pN);
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Double param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("Double param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("Double param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("Double param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("Double param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("Double param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){this->value=(double)boolean;}
@@ -74,14 +74,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("Double param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("Double param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* pintarray,int M,int N){_error_("Double param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("Double param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("Double param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("Double param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("Double param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("Double param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Double param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/DoubleTransientMatParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleTransientMatParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleTransientMatParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
Modified: issm/trunk/src/c/objects/Params/DoubleVecParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleVecParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleVecParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -180,7 +180,7 @@
/*}}}*/
/*FUNCTION DoubleVecParam::GetParameterValue(int** pintarray,int* pM){{{1*/
void DoubleVecParam::GetParameterValue(int** pintarray,int* pM){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
int* output=NULL;
int i;
@@ -202,7 +202,7 @@
}
/*}}}*/
/*FUNCTION DoubleVecParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void DoubleVecParam::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/Params/DoubleVecParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/DoubleVecParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/DoubleVecParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -61,8 +61,8 @@
void GetParameterValue(double** pdoublearray,int* pM);
void GetParameterValue(double** pdoublearray,int* pM, int* pN);
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("DoubleVec param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("DoubleVec param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("DoubleVec param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("DoubleVec param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("DoubleVec param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("DoubleVec param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("DoubleVec param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -74,14 +74,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("DoubleVec param of enum %i (%s) cannot hold a double mat array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("DoubleVec param of enum %i (%s) cannot hold a int mat array",enum_type,EnumToStringx(enum_type));};
void SetValue(int* pintarray,int M,int N){_error_("DoubleVec param of enum %i (%s) cannot hold a int mat array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("DoubleVec param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("DoubleVec param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("DoubleVec param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("DoubleVec param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("DoubleVec param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("DoubleVec param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
/*}}}*/
Modified: issm/trunk/src/c/objects/Params/FileParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/FileParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/FileParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -101,7 +101,7 @@
}
/*}}}*/
/*FUNCTION FileParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void FileParam::SetMatlabField(mxArray* dataref){
_error_("FileParam is a pointer and cannot be converted into a matlab object");
Modified: issm/trunk/src/c/objects/Params/FileParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/FileParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/FileParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -60,8 +60,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("FileParam of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("File param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("FileParam of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("FileParam of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("FileParam of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("FileParam of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){*pfid=value;};
void SetValue(bool boolean){_error_("FileParam of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
@@ -73,14 +73,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("FileParam of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("FileParam of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* pintarray,int M,int N){_error_("FileParam of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("FileParam of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("FileParam of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("FileParam of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("FileParam of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("File param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("File param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/IntMatParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/IntMatParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntMatParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -172,7 +172,7 @@
}
/*}}}*/
/*FUNCTION IntMatParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void IntMatParam::SetMatlabField(mxArray* dataref){
char *name = NULL;
Modified: issm/trunk/src/c/objects/Params/IntMatParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/IntMatParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntMatParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -62,8 +62,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("IntMat param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM,int* pN){_error_("IntMat param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));};
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("IntMat param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("IntMat param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("IntMat param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("IntMat param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("IntMat param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("IntMat param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("IntMat param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -75,14 +75,14 @@
void SetValue(double* doublearray,int M,int N){_error_("IntMat param of enum %i (%s) cannot hold a double vec array",enum_type,EnumToStringx(enum_type));};
void SetValue(int* intarray,int M){_error_("IntMat param of enum %i (%s) cannot hold a int vec array",enum_type,EnumToStringx(enum_type));};
void SetValue(int* intarray,int M,int N);
- void SetValue(Vec vec){_error_("IntMat param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("IntMat param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("IntMat param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("IntMat param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("IntMat param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("IntMat param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/IntParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/IntParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -134,7 +134,7 @@
}
/*}}}*/
/*FUNCTION IntParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void IntParam::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/Params/IntParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/IntParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -61,8 +61,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("Int param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("Int param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Int param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("Int param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("Int param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("Int param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("Int param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("Int param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){this->value=(int)boolean;}
@@ -74,14 +74,14 @@
void SetValue(char** stringarray,int M){_error_("Int param of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
void SetValue(double* doublearray,int M){_error_("Int param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(double* pdoublearray,int M,int N){_error_("Int param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("Int param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("Int param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("Int param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("Int param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("Int param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Int param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Modified: issm/trunk/src/c/objects/Params/IntVecParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/IntVecParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntVecParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -185,7 +185,7 @@
}
/*}}}*/
/*FUNCTION IntVecParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void IntVecParam::SetMatlabField(mxArray* dataref){
char *name = NULL;
Modified: issm/trunk/src/c/objects/Params/IntVecParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/IntVecParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/IntVecParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -62,8 +62,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("IntVec param of enum %i (%s) cannot return a double array (maybe in serial?)",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("IntVec param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("IntVec param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("IntVec param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("IntVec param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("IntVec param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("IntVec param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("IntVec param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("IntVec param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -75,14 +75,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("IntVec param of enum %i (%s) cannot hold a double mat array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M);
void SetValue(int* pintarray,int M,int N){_error_("IntVec param of enum %i (%s) cannot hold a int mat array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("IntVec param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("IntVec param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("IntVec param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("IntVec param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("IntVec param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("IntVec param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
/*}}}*/
Copied: issm/trunk/src/c/objects/Params/MatrixParam.cpp (from rev 11994, issm/trunk-jpl/src/c/objects/Params/MatrixParam.cpp)
===================================================================
--- issm/trunk/src/c/objects/Params/MatrixParam.cpp (rev 0)
+++ issm/trunk/src/c/objects/Params/MatrixParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,227 @@
+/*!\file MatrixParam.c
+ * \brief: implementation of the MatrixParam object
+ */
+
+/*header files: */
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../objects.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+/*}}}*/
+
+/*MatrixParam constructors and destructor*/
+/*FUNCTION MatrixParam::MatrixParam(){{{1*/
+MatrixParam::MatrixParam(){
+ return;
+}
+/*}}}*/
+/*FUNCTION MatrixParam::MatrixParam(int enum_type,Matrix* value){{{1*/
+MatrixParam::MatrixParam(int in_enum_type,Matrix* in_value){
+
+ enum_type=in_enum_type;
+ value=NULL;
+
+ if(in_value){
+ value=in_value->Duplicate();
+ }
+}
+/*}}}*/
+/*FUNCTION MatrixParam::~MatrixParam(){{{1*/
+MatrixParam::~MatrixParam(){
+ xdelete(&value);
+}
+/*}}}*/
+
+/*Object virtual functions definitions:*/
+/*FUNCTION MatrixParam::Echo {{{1*/
+void MatrixParam::Echo(void){
+
+ printf("MatrixParam:\n");
+ printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
+
+}
+/*}}}*/
+/*FUNCTION MatrixParam::DeepEcho{{{1*/
+void MatrixParam::DeepEcho(void){
+
+ int i;
+ printf("MatrixParam:\n");
+ printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
+ this->value->Echo();
+}
+/*}}}*/
+/*FUNCTION MatrixParam::Id{{{1*/
+int MatrixParam::Id(void){ return -1; }
+/*}}}*/
+/*FUNCTION MatrixParam::MyRank{{{1*/
+int MatrixParam::MyRank(void){
+ extern int my_rank;
+ return my_rank;
+}
+/*}}}*/
+#ifdef _SERIAL_
+/*FUNCTION MatrixParam::Marshall{{{1*/
+void MatrixParam::Marshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+ int enum_value=0;
+ int M,N;
+ double* serial_mat=NULL;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*get enum value of MatrixParam: */
+ enum_value=MatrixParamEnum;
+
+ /*marshall enum: */
+ memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value);
+
+ /*marshall MatrixParam data: */
+ memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
+ if(value){
+ value->GetSize(&M,&N);
+ serial_mat=value->ToSerial();
+ memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
+ memcpy(marshalled_dataset,&N,sizeof(N));marshalled_dataset+=sizeof(N);
+ memcpy(marshalled_dataset,serial_mat,M*N*sizeof(double));marshalled_dataset+=(M*N*sizeof(double));
+ }
+ else{
+ M=0;
+ N=0;
+ memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
+ memcpy(marshalled_dataset,&N,sizeof(N));marshalled_dataset+=sizeof(N);
+ }
+
+ /*Free ressources:*/
+ xfree((void**)&serial_mat);
+
+ /*return:*/
+ *pmarshalled_dataset=marshalled_dataset;
+}
+/*}}}*/
+/*FUNCTION MatrixParam::MarshallSize{{{1*/
+int MatrixParam::MarshallSize(){
+
+ int M=0;
+ int N=0;
+ if(value)value->GetSize(&M,&N);
+
+ return sizeof(M)+
+ sizeof(N)+
+ M*N*sizeof(double)+
+ +sizeof(enum_type)+
+ +sizeof(int); //sizeof(int) for enum value
+}
+/*}}}*/
+/*FUNCTION MatrixParam::Demarshall{{{1*/
+void MatrixParam::Demarshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+ int M,N;
+ double* serial_mat=NULL;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*this time, no need to get enum type, the pointer directly points to the beginning of the
+ *object data (thanks to DataSet::Demarshall):*/
+ memcpy(&enum_type,marshalled_dataset,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
+
+ /*data: */
+ memcpy(&M,marshalled_dataset,sizeof(M));marshalled_dataset+=sizeof(M);
+ memcpy(&N,marshalled_dataset,sizeof(N));marshalled_dataset+=sizeof(N);
+ if(M!=0 && N!=0){
+ serial_mat=(double*)xmalloc(M*N*sizeof(double));
+ memcpy(serial_mat,marshalled_dataset,M*N*sizeof(double));marshalled_dataset+=(M*N*sizeof(double));
+ value=new Matrix(serial_mat,M,N,.001);
+ }
+ else{
+ value=NULL;
+ }
+
+ /*Free ressources:*/
+ xfree((void**)&serial_mat);
+
+ /*return: */
+ *pmarshalled_dataset=marshalled_dataset;
+}
+/*}}}*/
+#endif
+/*FUNCTION MatrixParam::ObjectEnum{{{1*/
+int MatrixParam::ObjectEnum(void){
+
+ return MatrixParamEnum;
+
+}
+/*}}}*/
+/*FUNCTION MatrixParam::copy{{{1*/
+Object* MatrixParam::copy() {
+
+ return new MatrixParam(this->enum_type,this->value);
+
+}
+/*}}}*/
+
+/*MatrixParam virtual functions definitions: */
+/*FUNCTION MatrixParam::GetParameterValue{{{1*/
+void MatrixParam::GetParameterValue(Matrix** poutput){
+ Matrix* output=NULL;
+
+ if(value){
+ output=value->Duplicate();
+ }
+ *poutput=output;
+}
+/*}}}*/
+/*FUNCTION MatrixParam::GetParameterName{{{1*/
+void MatrixParam::GetParameterName(char**pname){
+ EnumToStringx(pname,this->enum_type);
+}
+/*}}}*/
+/*FUNCTION MatrixParam::SetMatlabField{{{1*/
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+void MatrixParam::SetMatlabField(mxArray* dataref){
+
+ char* name=NULL;
+ int M,N;
+ double* doublemat=NULL;
+ mxArray* pfield=NULL;
+
+ doublemat=value->ToSerial();
+ value->GetSize(&M,&N);
+ this->GetParameterName(&name);
+
+ pfield=mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pfield,M);
+ mxSetN(pfield,N);
+ mxSetPr(pfield,doublemat);
+ mxSetField( dataref, 0, name, pfield);
+}
+#endif
+/*}}}*/
+/*FUNCTION MatrixParam::SetValue{{{1*/
+void MatrixParam::SetValue(Matrix* matrix){
+
+ /*avoid leak: */
+ xdelete(&value);
+
+ /*copy: */
+ value=matrix->Duplicate();
+}
+/*}}}*/
+/*FUNCTION MatrixParam::UnitConversion{{{1*/
+void MatrixParam::UnitConversion(int direction_enum){
+ /*do nothing, no unit conversion*/
+}
+/*}}}*/
Copied: issm/trunk/src/c/objects/Params/MatrixParam.h (from rev 11994, issm/trunk-jpl/src/c/objects/Params/MatrixParam.h)
===================================================================
--- issm/trunk/src/c/objects/Params/MatrixParam.h (rev 0)
+++ issm/trunk/src/c/objects/Params/MatrixParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,90 @@
+/*! \file MatrixParam.h
+ * \brief: header file for MatrixParam object
+ */
+
+
+#ifndef _MATRIXPARAM_H_
+#define _MATRIXPARAM_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include <mex.h>
+#endif
+
+#include "./Param.h"
+#include "../../include/include.h"
+#include "../../shared/shared.h"
+/*}}}*/
+
+class MatrixParam: public Param{
+
+ private:
+ /*just hold 3 values for 3 vertices: */
+ int enum_type;
+ Matrix* value;
+
+ public:
+ /*MatrixParam constructors, destructors: {{{1*/
+ MatrixParam();
+ MatrixParam(int enum_type,Matrix* value);
+ ~MatrixParam();
+ /*}}}*/
+ /*Object virtual functions definitions:{{{1 */
+ void Echo();
+ void DeepEcho();
+ int Id();
+ int MyRank();
+ #ifdef _SERIAL_
+ void Marshall(char** pmarshalled_dataset);
+ int MarshallSize();
+ void Demarshall(char** pmarshalled_dataset);
+ #endif
+ int ObjectEnum();
+ Object* copy();
+ /*}}}*/
+ /*Param vritual function definitions: {{{1*/
+ int InstanceEnum(){return enum_type;}
+ void GetParameterValue(bool* pbool){_error_("Matrix param of enum %i (%s) cannot return a bool",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int* pinteger){_error_("Matrix param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int** pintarray,int* pM){_error_("Matrix param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Matrix param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double* pdouble){_error_("Matrix param of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(char** pstring){_error_("Matrix param of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(char*** pstringarray,int* pM){_error_("Matrix param of enum %i (%s) cannot return a string array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double** pdoublearray,int* pM){_error_("Matrix param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("Matrix param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Matrix param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("Matrix param of enum %i (%s) cannot return a vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** poutput);
+ void GetParameterValue(FILE** pfid){_error_("Matrix param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
+
+ void SetValue(bool boolean){_error_("Matrix param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int integer){_error_("Matrix param of enum %i (%s) cannot hold an integer",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double scalar){_error_("Matrix param of enum %i (%s) cannot hold a scalar",enum_type,EnumToStringx(enum_type));}
+ void SetValue(char* string){_error_("Matrix param of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
+ void SetValue(char** stringarray,int M){_error_("Matrix param of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double* doublearray,int M){_error_("Matrix param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double* pdoublearray,int M,int N){_error_("Matrix param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int* intarray,int M){_error_("Matrix param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int* pintarray,int M,int N){_error_("Matrix param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("Matrix param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat);
+ void SetValue(FILE* fid){_error_("Matrix param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Matrix param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
+ void UnitConversion(int direction_enum);
+
+ void GetParameterName(char**pname);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ void SetMatlabField(mxArray* dataref);
+ #endif
+
+ /*}}}*/
+};
+#endif /* _MATRIXPARAM_H */
Modified: issm/trunk/src/c/objects/Params/Param.h
===================================================================
--- issm/trunk/src/c/objects/Params/Param.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/Param.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -40,8 +40,8 @@
virtual void GetParameterValue(double** pdoublearray,int* pM)=0;
virtual void GetParameterValue(double** pdoublearray,int* pM,int* pN)=0;
virtual void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims)=0;
- virtual void GetParameterValue(Vec* pvec)=0;
- virtual void GetParameterValue(Mat* pmat)=0;
+ virtual void GetParameterValue(Vector** pvec)=0;
+ virtual void GetParameterValue(Matrix** pmat)=0;
virtual void GetParameterValue(FILE** pfid)=0;
virtual void SetValue(bool boolean)=0;
@@ -53,13 +53,13 @@
virtual void SetValue(double* pdoublearray,int M,int N)=0;
virtual void SetValue(int* intarray,int M)=0;
virtual void SetValue(int* pintarray,int M,int N)=0;
- virtual void SetValue(Vec vec)=0;
- virtual void SetValue(Mat mat)=0;
+ virtual void SetValue(Vector* vec)=0;
+ virtual void SetValue(Matrix* mat)=0;
virtual void SetValue(FILE* fid)=0;
virtual void SetValue(double** array, int M, int* mdim_array, int* ndim_array)=0;
virtual void UnitConversion(int direction_enum)=0;
virtual void GetParameterName(char**pname)=0;
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
virtual void SetMatlabField(mxArray* dataref)=0;
#endif
};
Deleted: issm/trunk/src/c/objects/Params/PetscMatParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/PetscMatParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/PetscMatParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,242 +0,0 @@
-/*!\file PetscMatParam.c
- * \brief: implementation of the PetscMatParam object
- */
-
-/*header files: */
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include "../objects.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-#include "../../shared/shared.h"
-#include "../../Container/Container.h"
-#include "../../include/include.h"
-/*}}}*/
-
-/*PetscMatParam constructors and destructor*/
-/*FUNCTION PetscMatParam::PetscMatParam(){{{1*/
-PetscMatParam::PetscMatParam(){
- return;
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::PetscMatParam(int enum_type,IssmPetscMat value){{{1*/
-PetscMatParam::PetscMatParam(int in_enum_type,Mat in_value){
-
- enum_type=in_enum_type;
-
- value=NULL;
-
- if(in_value){
- MatDuplicate(in_value,MAT_COPY_VALUES,&value);
- }
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::~PetscMatParam(){{{1*/
-PetscMatParam::~PetscMatParam(){
- MatFree(&value);
-}
-/*}}}*/
-
-/*Object virtual functions definitions:*/
-/*FUNCTION PetscMatParam::Echo {{{1*/
-void PetscMatParam::Echo(void){
-
- printf("PetscMatParam:\n");
- printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
-
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::DeepEcho{{{1*/
-void PetscMatParam::DeepEcho(void){
-
- int i;
- printf("PetscMatParam:\n");
- printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
- MatView(value,PETSC_VIEWER_STDOUT_WORLD);
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::Id{{{1*/
-int PetscMatParam::Id(void){ return -1; }
-/*}}}*/
-/*FUNCTION PetscMatParam::MyRank{{{1*/
-int PetscMatParam::MyRank(void){
- extern int my_rank;
- return my_rank;
-}
-/*}}}*/
-#ifdef _SERIAL_
-/*FUNCTION PetscMatParam::Marshall{{{1*/
-void PetscMatParam::Marshall(char** pmarshalled_dataset){
-
- char* marshalled_dataset=NULL;
- int enum_value=0;
- int M,N;
- double* serial_mat=NULL;
-
- /*recover marshalled_dataset: */
- marshalled_dataset=*pmarshalled_dataset;
-
- /*get enum value of PetscMatParam: */
- enum_value=PetscMatParamEnum;
-
- /*marshall enum: */
- memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value);
-
- /*marshall PetscMatParam data: */
- memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
- if(value){
- MatGetSize(value,&M,&N);
- MatToSerial(&serial_mat,value);
- memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
- memcpy(marshalled_dataset,&N,sizeof(N));marshalled_dataset+=sizeof(N);
- memcpy(marshalled_dataset,serial_mat,M*N*sizeof(double));marshalled_dataset+=(M*N*sizeof(double));
- }
- else{
- M=0;
- N=0;
- memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
- memcpy(marshalled_dataset,&N,sizeof(N));marshalled_dataset+=sizeof(N);
- }
-
- /*Free ressources:*/
- xfree((void**)&serial_mat);
-
- /*return:*/
- *pmarshalled_dataset=marshalled_dataset;
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::MarshallSize{{{1*/
-int PetscMatParam::MarshallSize(){
-
- int M=0;
- int N=0;
- if(value)MatGetSize(value,&M,&N);
-
- return sizeof(M)+
- sizeof(N)+
- M*N*sizeof(double)+
- +sizeof(enum_type)+
- +sizeof(int); //sizeof(int) for enum value
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::Demarshall{{{1*/
-void PetscMatParam::Demarshall(char** pmarshalled_dataset){
-
- char* marshalled_dataset=NULL;
- int i,j;
- int M,N;
- double* serial_mat=NULL;
- int* idxm=NULL;
- int* idxn=NULL;
- double sparsity=.001;
-
- /*recover marshalled_dataset: */
- marshalled_dataset=*pmarshalled_dataset;
-
- /*this time, no need to get enum type, the pointer directly points to the beginning of the
- *object data (thanks to DataSet::Demarshall):*/
- memcpy(&enum_type,marshalled_dataset,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
-
- /*data: */
- memcpy(&M,marshalled_dataset,sizeof(M));marshalled_dataset+=sizeof(M);
- memcpy(&N,marshalled_dataset,sizeof(N));marshalled_dataset+=sizeof(N);
- if(M!=0 && N!=0){
- serial_mat=(double*)xmalloc(M*N*sizeof(double));
- memcpy(serial_mat,marshalled_dataset,M*N*sizeof(double));marshalled_dataset+=(M*N*sizeof(double));
- value=NewMat(M,N,sparsity);
- idxm=(int*)xmalloc(M*sizeof(int));
- idxn=(int*)xmalloc(N*sizeof(int));
- for(i=0;i<M;i++)idxm[i]=i;
- for(i=0;i<N;i++)idxn[i]=i;
- MatSetValues(value,M,idxm,N,idxn,serial_mat,INSERT_VALUES);
- MatAssemblyBegin(value,MAT_FINAL_ASSEMBLY);
- MatAssemblyEnd(value,MAT_FINAL_ASSEMBLY);
-
- }
- else{
- value=NULL;
- }
-
- /*Free ressources:*/
- xfree((void**)&serial_mat);
- xfree((void**)&idxm);
- xfree((void**)&idxn);
-
- /*return: */
- *pmarshalled_dataset=marshalled_dataset;
-}
-/*}}}*/
-#endif
-/*FUNCTION PetscMatParam::ObjectEnum{{{1*/
-int PetscMatParam::ObjectEnum(void){
-
- return PetscMatParamEnum;
-
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::copy{{{1*/
-Object* PetscMatParam::copy() {
-
- return new PetscMatParam(this->enum_type,this->value);
-
-}
-/*}}}*/
-
-/*PetscMatParam virtual functions definitions: */
-/*FUNCTION PetscMatParam::GetParameterValue{{{1*/
-void PetscMatParam::GetParameterValue(Mat* poutput){
- Mat output=NULL;
-
- if(value){
- MatDuplicate(value,MAT_COPY_VALUES,&output);
- }
- *poutput=output;
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::GetParameterName{{{1*/
-void PetscMatParam::GetParameterName(char**pname){
- EnumToStringx(pname,this->enum_type);
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
-void PetscMatParam::SetMatlabField(mxArray* dataref){
-
- char* name=NULL;
- int M,N;
- double* doublemat=NULL;
- mxArray* pfield=NULL;
-
- MatToSerial(&doublemat,value);
- MatGetSize(value,&M,&N);
- this->GetParameterName(&name);
-
- pfield=mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pfield,M);
- mxSetN(pfield,N);
- mxSetPr(pfield,doublemat);
- mxSetField( dataref, 0, name, pfield);
-}
-#endif
-/*}}}*/
-/*FUNCTION PetscMatParam::SetValue{{{1*/
-void PetscMatParam::SetValue(Mat matrix){
-
- /*avoid leak: */
- MatFree(&value);
-
- /*copy: */
- MatDuplicate(matrix,MAT_COPY_VALUES,&value);
-}
-/*}}}*/
-/*FUNCTION PetscMatParam::UnitConversion{{{1*/
-void PetscMatParam::UnitConversion(int direction_enum){
- /*do nothing, no unit conversion*/
-}
-/*}}}*/
Deleted: issm/trunk/src/c/objects/Params/PetscMatParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/PetscMatParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/PetscMatParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,90 +0,0 @@
-/*! \file PetscMatParam.h
- * \brief: header file for triavertexinput object
- */
-
-
-#ifndef _PETSCMATPARAM_H_
-#define _PETSCMATPARAM_H_
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#ifdef _SERIAL_
-#include <mex.h>
-#endif
-
-#include "./Param.h"
-#include "../../include/include.h"
-#include "../../shared/shared.h"
-/*}}}*/
-
-class PetscMatParam: public Param{
-
- private:
- /*just hold 3 values for 3 vertices: */
- int enum_type;
- Mat value;
-
- public:
- /*PetscMatParam constructors, destructors: {{{1*/
- PetscMatParam();
- PetscMatParam(int enum_type,Mat value);
- ~PetscMatParam();
- /*}}}*/
- /*Object virtual functions definitions:{{{1 */
- void Echo();
- void DeepEcho();
- int Id();
- int MyRank();
- #ifdef _SERIAL_
- void Marshall(char** pmarshalled_dataset);
- int MarshallSize();
- void Demarshall(char** pmarshalled_dataset);
- #endif
- int ObjectEnum();
- Object* copy();
- /*}}}*/
- /*Param vritual function definitions: {{{1*/
- int InstanceEnum(){return enum_type;}
- void GetParameterValue(bool* pbool){_error_("PetscMat param of enum %i (%s) cannot return a bool",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int* pinteger){_error_("PetscMat param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int** pintarray,int* pM){_error_("PetscMat param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("PetscMat param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double* pdouble){_error_("PetscMat param of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(char** pstring){_error_("PetscMat param of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(char*** pstringarray,int* pM){_error_("PetscMat param of enum %i (%s) cannot return a string array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double** pdoublearray,int* pM){_error_("PetscMat param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("PetscMat param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("PetscMat param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("PetscMat param of enum %i (%s) cannot return a vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* poutput);
- void GetParameterValue(FILE** pfid){_error_("PetscMat param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
-
- void SetValue(bool boolean){_error_("PetscMat param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
- void SetValue(int integer){_error_("PetscMat param of enum %i (%s) cannot hold an integer",enum_type,EnumToStringx(enum_type));}
- void SetValue(double scalar){_error_("PetscMat param of enum %i (%s) cannot hold a scalar",enum_type,EnumToStringx(enum_type));}
- void SetValue(char* string){_error_("PetscMat param of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
- void SetValue(char** stringarray,int M){_error_("PetscMat param of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
- void SetValue(double* doublearray,int M){_error_("PetscMat param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
- void SetValue(double* pdoublearray,int M,int N){_error_("PetscMat param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
- void SetValue(int* intarray,int M){_error_("PetscMat param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(int* pintarray,int M,int N){_error_("PetscMat param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("PetscMat param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat);
- void SetValue(FILE* fid){_error_("PetscMat param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
- void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("PetscMat param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
- void UnitConversion(int direction_enum);
-
- void GetParameterName(char**pname);
- #ifdef _SERIAL_
- void SetMatlabField(mxArray* dataref);
- #endif
-
- /*}}}*/
-};
-#endif /* _PETSCMATPARAM_H */
Deleted: issm/trunk/src/c/objects/Params/PetscVecParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/PetscVecParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/PetscVecParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,237 +0,0 @@
-/*!\file PetscVecParam.c
- * \brief: implementation of the PetscVecParam object
- */
-
-/*header files: */
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include "../objects.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-#include "../../shared/shared.h"
-#include "../../Container/Container.h"
-#include "../../include/include.h"
-/*}}}*/
-
-/*PetscVecParam constructors and destructor*/
-/*FUNCTION PetscVecParam::PetscVecParam(){{{1*/
-PetscVecParam::PetscVecParam(){
- return;
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::PetscVecParam(int enum_type,IssmPetscVec value){{{1*/
-PetscVecParam::PetscVecParam(int in_enum_type,Vec in_value){
-
- enum_type=in_enum_type;
-
- value=NULL;
-
- if(in_value){
- VecDuplicate(in_value,&value);
- VecCopy(in_value,value);
- }
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::~PetscVecParam(){{{1*/
-PetscVecParam::~PetscVecParam(){
- VecFree(&value);
-}
-/*}}}*/
-
-/*Object virtual functions definitions:*/
-/*FUNCTION PetscVecParam::Echo {{{1*/
-void PetscVecParam::Echo(void){
-
- printf("PetscVecParam:\n");
- printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
-
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::DeepEcho{{{1*/
-void PetscVecParam::DeepEcho(void){
-
- int i;
- printf("PetscVecParam:\n");
- printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
- VecView(value,PETSC_VIEWER_STDOUT_WORLD);
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::Id{{{1*/
-int PetscVecParam::Id(void){ return -1; }
-/*}}}*/
-/*FUNCTION PetscVecParam::MyRank{{{1*/
-int PetscVecParam::MyRank(void){
- extern int my_rank;
- return my_rank;
-}
-/*}}}*/
-#ifdef _SERIAL_
-/*FUNCTION PetscVecParam::Marshall{{{1*/
-void PetscVecParam::Marshall(char** pmarshalled_dataset){
-
- char* marshalled_dataset=NULL;
- int enum_value=0;
- int M;
- double* serial_value=NULL;
-
- /*recover marshalled_dataset: */
- marshalled_dataset=*pmarshalled_dataset;
-
- /*get enum value of PetscVecParam: */
- enum_value=PetscVecParamEnum;
-
- /*marshall enum: */
- memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value);
-
- /*marshall PetscVecParam data: */
- memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
- if(value){
- VecGetSize(value,&M);
- VecToMPISerial(&serial_value,value);
- memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
- memcpy(marshalled_dataset,serial_value,M*sizeof(double));marshalled_dataset+=(M*sizeof(double));
- }
- else{
- M=0;
- memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
- }
- /*Free ressources:*/
- xfree((void**)&serial_value);
-
- /*return:*/
- *pmarshalled_dataset=marshalled_dataset;
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::MarshallSize{{{1*/
-int PetscVecParam::MarshallSize(){
-
- int M=0;
- if(value)VecGetSize(value,&M);
-
- return sizeof(M)+M*sizeof(double)
- +sizeof(enum_type)+
- +sizeof(int); //sizeof(int) for enum value
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::Demarshall{{{1*/
-void PetscVecParam::Demarshall(char** pmarshalled_dataset){
-
- char* marshalled_dataset=NULL;
- int i;
- int M;
- double* serial_vec=NULL;
- int* idxm=NULL;
-
- /*recover marshalled_dataset: */
- marshalled_dataset=*pmarshalled_dataset;
-
- /*this time, no need to get enum type, the pointer directly points to the beginning of the
- *object data (thanks to DataSet::Demarshall):*/
- memcpy(&enum_type,marshalled_dataset,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
-
- /*data: */
-
- memcpy(&M,marshalled_dataset,sizeof(M));marshalled_dataset+=sizeof(M);
- if(M){
- serial_vec=(double*)xmalloc(M*sizeof(double));
- memcpy(serial_vec,marshalled_dataset,M*sizeof(double));marshalled_dataset+=(M*sizeof(double));
-
- value=NewVec(M);
- idxm=(int*)xmalloc(M*sizeof(int));
- for(i=0;i<M;i++)idxm[i]=i;
- VecSetValues(value,M,idxm,serial_vec,INSERT_VALUES);
-
- VecAssemblyBegin(value);
- VecAssemblyEnd(value);
-
-
- }
- else{
- value=NULL;
- }
-
- /*Free ressources:*/
- xfree((void**)&serial_vec);
- xfree((void**)&idxm);
-
- /*return: */
- *pmarshalled_dataset=marshalled_dataset;
-}
-/*}}}*/
-#endif
-/*FUNCTION PetscVecParam::ObjectEnum{{{1*/
-int PetscVecParam::ObjectEnum(void){
-
- return PetscVecParamEnum;
-
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::copy{{{1*/
-Object* PetscVecParam::copy() {
-
- return new PetscVecParam(this->enum_type,this->value);
-
-}
-/*}}}*/
-
-/*PetscVecParam virtual functions definitions: */
-/*FUNCTION PetscVecParam::GetParameterValue{{{1*/
-void PetscVecParam::GetParameterValue(Vec* poutput){
- Vec output=NULL;
-
- if(value){
- VecDuplicate(value,&output);
- VecCopy(value,output);
- }
- *poutput=output;
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::GetParameterName{{{1*/
-void PetscVecParam::GetParameterName(char**pname){
- EnumToStringx(pname,this->enum_type);
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
-void PetscVecParam::SetMatlabField(mxArray* dataref){
-
- mxArray* pfield=NULL;
- char* name=NULL;
- double* doublevec=NULL;
- int M;
-
- VecToMPISerial(&doublevec,value);
- VecGetSize(value,&M);
- this->GetParameterName(&name);
-
- pfield=mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pfield,M);
- mxSetN(pfield,1);
- mxSetPr(pfield,doublevec);
-
- mxSetField( dataref, 0, name, pfield);
-}
-#endif
-/*}}}*/
-/*FUNCTION PetscVecParam::SetValue{{{1*/
-void PetscVecParam::SetValue(Vec vector){
-
- /*avoid leak: */
- VecFree(&value);
-
- /*copy: */
- VecDuplicate(vector,&value);
- VecCopy(vector,value);
-}
-/*}}}*/
-/*FUNCTION PetscVecParam::UnitConversion{{{1*/
-void PetscVecParam::UnitConversion(int direction_enum){
- /*do nothing, no unit conversion*/
-}
-/*}}}*/
Deleted: issm/trunk/src/c/objects/Params/PetscVecParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/PetscVecParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/PetscVecParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,90 +0,0 @@
-/*! \file PetscVecParam.h
- * \brief: header file for triavertexinput object
- */
-
-
-#ifndef _PETSCVECPARAM_H_
-#define _PETSCVECPARAM_H_
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#ifdef _SERIAL_
-#include <mex.h>
-#endif
-
-#include "./Param.h"
-#include "../../include/include.h"
-#include "../../shared/shared.h"
-/*}}}*/
-
-class PetscVecParam: public Param{
-
- private:
- /*just hold 3 values for 3 vertices: */
- int enum_type;
- Vec value;
-
- public:
- /*PetscVecParam constructors, destructors: {{{1*/
- PetscVecParam();
- PetscVecParam(int enum_type,Vec value);
- ~PetscVecParam();
- /*}}}*/
- /*Object virtual functions definitions:{{{1 */
- void Echo();
- void DeepEcho();
- int Id();
- int MyRank();
- #ifdef _SERIAL_
- void Marshall(char** pmarshalled_dataset);
- int MarshallSize();
- void Demarshall(char** pmarshalled_dataset);
- #endif
- int ObjectEnum();
- Object* copy();
- /*}}}*/
- /*Param vritual function definitions: {{{1*/
- int InstanceEnum(){return enum_type;}
- void GetParameterValue(bool* pbool){_error_("PetscVec param of enum %i (%s) cannot return a bool",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int* pinteger){_error_("PetscVec param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int** pintarray,int* pM){_error_("PetscVec param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("PetscVec param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double* pdouble){_error_("PetscVec param of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(char** pstring){_error_("PetscVec param of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(char*** pstringarray,int* pM){_error_("PetscVec param of enum %i (%s) cannot return a string array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double** pdoublearray,int* pM){_error_("PetscVec param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("PetscVec param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("PetscVec param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("PetscVec param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* poutput);
- void GetParameterValue(FILE** pfid){_error_("PetscVec of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
-
- void SetValue(bool boolean){_error_("PetscVec of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
- void SetValue(int integer){_error_("PetscVec of enum %i (%s) cannot hold an integer",enum_type,EnumToStringx(enum_type));}
- void SetValue(double scalar){_error_("PetscVec of enum %i (%s) cannot hold a scalar",enum_type,EnumToStringx(enum_type));}
- void SetValue(char* string){_error_("PetscVec of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
- void SetValue(char** stringarray,int M){_error_("PetscVec of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
- void SetValue(double* doublearray,int M){_error_("PetscVec of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
- void SetValue(double* pdoublearray,int M,int N){_error_("PetscVec of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
- void SetValue(int* intarray,int M){_error_("PetscVec of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(int* pintarray,int M,int N){_error_("PetscVec of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec);
- void SetValue(Mat mat){_error_("PetscVec of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
- void SetValue(FILE* fid){_error_("PetscVec of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
- void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("PetscVec param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
- void UnitConversion(int direction_enum);
-
- void GetParameterName(char**pname);
- #ifdef _SERIAL_
- void SetMatlabField(mxArray* dataref);
- #endif
-
- /*}}}*/
-};
-#endif /* _PETSCVECPARAM_H */
Modified: issm/trunk/src/c/objects/Params/StringArrayParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/StringArrayParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/StringArrayParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -236,7 +236,7 @@
}
/*}}}*/
/*FUNCTION StringArrayParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void StringArrayParam::SetMatlabField(mxArray* dataref){
int i;
Modified: issm/trunk/src/c/objects/Params/StringArrayParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/StringArrayParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/StringArrayParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -63,8 +63,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("StringArray param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("StringArray param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Vec param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("StringArray param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("StringArray param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("StringArray param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("StringArray param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("StringArray param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("StringArray param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -76,14 +76,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("StringArray param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("StringArray param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* pintarray,int M,int N){_error_("StringArray param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("StringArray param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("StringArray param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("StringArray param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("StringArray param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("StringArray param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("StringArray param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
/*}}}*/
Modified: issm/trunk/src/c/objects/Params/StringParam.cpp
===================================================================
--- issm/trunk/src/c/objects/Params/StringParam.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/StringParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -164,7 +164,7 @@
}
/*}}}*/
/*FUNCTION StringParam::SetMatlabField{{{1*/
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void StringParam::SetMatlabField(mxArray* dataref){
char* name=NULL;
Modified: issm/trunk/src/c/objects/Params/StringParam.h
===================================================================
--- issm/trunk/src/c/objects/Params/StringParam.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Params/StringParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
@@ -61,8 +61,8 @@
void GetParameterValue(double** pdoublearray,int* pM){_error_("String param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("String param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("String param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Vec* pvec){_error_("String param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
- void GetParameterValue(Mat* pmat){_error_("String param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** pvec){_error_("String param of enum %i (%s) cannot return a Vec",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("String param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
void GetParameterValue(FILE** pfid){_error_("Bool param of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(bool boolean){_error_("String param of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
@@ -74,14 +74,14 @@
void SetValue(double* pdoublearray,int M,int N){_error_("String param of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* intarray,int M){_error_("String param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
void SetValue(int* pintarray,int M,int N){_error_("String param of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
- void SetValue(Vec vec){_error_("String param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
- void SetValue(Mat mat){_error_("String param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec){_error_("String param of enum %i (%s) cannot hold a Vec",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Matrix* mat){_error_("String param of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
void SetValue(FILE* fid){_error_("String param of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("String param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
void UnitConversion(int direction_enum);
void GetParameterName(char**pname);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
void SetMatlabField(mxArray* dataref);
#endif
Copied: issm/trunk/src/c/objects/Params/VectorParam.cpp (from rev 11994, issm/trunk-jpl/src/c/objects/Params/VectorParam.cpp)
===================================================================
--- issm/trunk/src/c/objects/Params/VectorParam.cpp (rev 0)
+++ issm/trunk/src/c/objects/Params/VectorParam.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,227 @@
+/*!\file VectorParam.c
+ * \brief: implementation of the VectorParam object
+ */
+
+/*header files: */
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../objects.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+#include "../../shared/shared.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+/*}}}*/
+
+/*VectorParam constructors and destructor*/
+/*FUNCTION VectorParam::VectorParam(){{{1*/
+VectorParam::VectorParam(){
+ return;
+}
+/*}}}*/
+/*FUNCTION VectorParam::VectorParam(int enum_type,IssmVector value){{{1*/
+VectorParam::VectorParam(int in_enum_type,Vector* in_value){
+
+ enum_type=in_enum_type;
+
+ value=NULL;
+
+ if(in_value){
+ value=in_value->Duplicate();
+ in_value->Copy(value);
+ }
+}
+/*}}}*/
+/*FUNCTION VectorParam::~VectorParam(){{{1*/
+VectorParam::~VectorParam(){
+ xdelete(&value);
+}
+/*}}}*/
+
+/*Object virtual functions definitions:*/
+/*FUNCTION VectorParam::Echo {{{1*/
+void VectorParam::Echo(void){
+
+ printf("VectorParam:\n");
+ printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
+
+}
+/*}}}*/
+/*FUNCTION VectorParam::DeepEcho{{{1*/
+void VectorParam::DeepEcho(void){
+
+ int i;
+ printf("VectorParam:\n");
+ printf(" enum: %i (%s)\n",this->enum_type,EnumToStringx(this->enum_type));
+ value->Echo();
+}
+/*}}}*/
+/*FUNCTION VectorParam::Id{{{1*/
+int VectorParam::Id(void){ return -1; }
+/*}}}*/
+/*FUNCTION VectorParam::MyRank{{{1*/
+int VectorParam::MyRank(void){
+ extern int my_rank;
+ return my_rank;
+}
+/*}}}*/
+#ifdef _SERIAL_
+/*FUNCTION VectorParam::Marshall{{{1*/
+void VectorParam::Marshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+ int enum_value=0;
+ int M;
+ double* serial_value=NULL;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*get enum value of VectorParam: */
+ enum_value=VectorParamEnum;
+
+ /*marshall enum: */
+ memcpy(marshalled_dataset,&enum_value,sizeof(enum_value));marshalled_dataset+=sizeof(enum_value);
+
+ /*marshall VectorParam data: */
+ memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
+ if(value){
+ value->GetSize(&M);
+ serial_value=value->ToMPISerial();
+ memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
+ memcpy(marshalled_dataset,serial_value,M*sizeof(double));marshalled_dataset+=(M*sizeof(double));
+ }
+ else{
+ M=0;
+ memcpy(marshalled_dataset,&M,sizeof(M));marshalled_dataset+=sizeof(M);
+ }
+ /*Free ressources:*/
+ xfree((void**)&serial_value);
+
+ /*return:*/
+ *pmarshalled_dataset=marshalled_dataset;
+}
+/*}}}*/
+/*FUNCTION VectorParam::MarshallSize{{{1*/
+int VectorParam::MarshallSize(){
+
+ int M=0;
+ if(value)value->GetSize(&M);
+
+ return sizeof(M)+M*sizeof(double)
+ +sizeof(enum_type)+
+ +sizeof(int); //sizeof(int) for enum value
+}
+/*}}}*/
+/*FUNCTION VectorParam::Demarshall{{{1*/
+void VectorParam::Demarshall(char** pmarshalled_dataset){
+
+ char* marshalled_dataset=NULL;
+ int i;
+ double* serial_vec=NULL;
+ int M;
+
+ /*recover marshalled_dataset: */
+ marshalled_dataset=*pmarshalled_dataset;
+
+ /*this time, no need to get enum type, the pointer directly points to the beginning of the
+ *object data (thanks to DataSet::Demarshall):*/
+ memcpy(&enum_type,marshalled_dataset,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type);
+
+ /*data: */
+
+ memcpy(&M,marshalled_dataset,sizeof(M));marshalled_dataset+=sizeof(M);
+ if(M){
+ serial_vec=(double*)xmalloc(M*sizeof(double));
+ memcpy(serial_vec,marshalled_dataset,M*sizeof(double));marshalled_dataset+=(M*sizeof(double));
+
+ value=new Vector(serial_vec,M);
+ }
+ else{
+ value=NULL;
+ }
+
+ /*Free ressources:*/
+ xfree((void**)&serial_vec);
+
+ /*return: */
+ *pmarshalled_dataset=marshalled_dataset;
+}
+/*}}}*/
+#endif
+/*FUNCTION VectorParam::ObjectEnum{{{1*/
+int VectorParam::ObjectEnum(void){
+
+ return VectorParamEnum;
+
+}
+/*}}}*/
+/*FUNCTION VectorParam::copy{{{1*/
+Object* VectorParam::copy() {
+
+ return new VectorParam(this->enum_type,this->value);
+
+}
+/*}}}*/
+
+/*VectorParam virtual functions definitions: */
+/*FUNCTION VectorParam::GetParameterValue{{{1*/
+void VectorParam::GetParameterValue(Vector** poutput){
+ Vector* output=NULL;
+
+ if(value){
+ output=value->Duplicate();
+ value->Copy(output);
+ }
+ *poutput=output;
+}
+/*}}}*/
+/*FUNCTION VectorParam::GetParameterName{{{1*/
+void VectorParam::GetParameterName(char**pname){
+ EnumToStringx(pname,this->enum_type);
+}
+/*}}}*/
+/*FUNCTION VectorParam::SetMatlabField{{{1*/
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+void VectorParam::SetMatlabField(mxArray* dataref){
+
+ mxArray* pfield=NULL;
+ char* name=NULL;
+ double* doublevec=NULL;
+ int M;
+
+ doublevec=value->ToMPISerial();
+ value->GetSize(&M);
+ this->GetParameterName(&name);
+
+ pfield=mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pfield,M);
+ mxSetN(pfield,1);
+ mxSetPr(pfield,doublevec);
+
+ mxSetField( dataref, 0, name, pfield);
+}
+#endif
+/*}}}*/
+/*FUNCTION VectorParam::SetValue{{{1*/
+void VectorParam::SetValue(Vector* vector){
+
+ /*avoid leak: */
+ xdelete(&value);
+
+ /*copy: */
+ value=vector->Duplicate();
+ vector->Copy(value);
+}
+/*}}}*/
+/*FUNCTION VectorParam::UnitConversion{{{1*/
+void VectorParam::UnitConversion(int direction_enum){
+ /*do nothing, no unit conversion*/
+}
+/*}}}*/
Copied: issm/trunk/src/c/objects/Params/VectorParam.h (from rev 11994, issm/trunk-jpl/src/c/objects/Params/VectorParam.h)
===================================================================
--- issm/trunk/src/c/objects/Params/VectorParam.h (rev 0)
+++ issm/trunk/src/c/objects/Params/VectorParam.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,90 @@
+/*! \file VectorParam.h
+ * \brief: header file for triavertexinput object
+ */
+
+
+#ifndef _VECTORPARAM_H_
+#define _VECTORPARAM_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include <mex.h>
+#endif
+
+#include "./Param.h"
+#include "../../include/include.h"
+#include "../../shared/shared.h"
+/*}}}*/
+
+class VectorParam: public Param{
+
+ private:
+ /*just hold 3 values for 3 vertices: */
+ int enum_type;
+ Vector* value;
+
+ public:
+ /*VectorParam constructors, destructors: {{{1*/
+ VectorParam();
+ VectorParam(int enum_type,Vector* value);
+ ~VectorParam();
+ /*}}}*/
+ /*Object virtual functions definitions:{{{1 */
+ void Echo();
+ void DeepEcho();
+ int Id();
+ int MyRank();
+ #ifdef _SERIAL_
+ void Marshall(char** pmarshalled_dataset);
+ int MarshallSize();
+ void Demarshall(char** pmarshalled_dataset);
+ #endif
+ int ObjectEnum();
+ Object* copy();
+ /*}}}*/
+ /*Param vritual function definitions: {{{1*/
+ int InstanceEnum(){return enum_type;}
+ void GetParameterValue(bool* pbool){_error_("Vector param of enum %i (%s) cannot return a bool",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int* pinteger){_error_("Vector param of enum %i (%s) cannot return an integer",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int** pintarray,int* pM){_error_("Vector param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(int** pintarray,int* pM,int* pN){_error_("Vector param of enum %i (%s) cannot return an array of integers",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double* pdouble){_error_("Vector param of enum %i (%s) cannot return a double",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(char** pstring){_error_("Vector param of enum %i (%s) cannot return a string",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(char*** pstringarray,int* pM){_error_("Vector param of enum %i (%s) cannot return a string array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double** pdoublearray,int* pM){_error_("Vector param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double** pdoublearray,int* pM, int* pN){_error_("Vector param of enum %i (%s) cannot return a double array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(double*** parray, int* pM,int** pmdims, int** pndims){_error_("Vector param of enum %i (%s) cannot return a matrix array",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Matrix** pmat){_error_("Vector param of enum %i (%s) cannot return a Mat",enum_type,EnumToStringx(enum_type));}
+ void GetParameterValue(Vector** poutput);
+ void GetParameterValue(FILE** pfid){_error_("Vector of enum %i (%s) cannot return a FILE",enum_type,EnumToStringx(enum_type));}
+
+ void SetValue(bool boolean){_error_("Vector of enum %i (%s) cannot hold a boolean",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int integer){_error_("Vector of enum %i (%s) cannot hold an integer",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double scalar){_error_("Vector of enum %i (%s) cannot hold a scalar",enum_type,EnumToStringx(enum_type));}
+ void SetValue(char* string){_error_("Vector of enum %i (%s) cannot hold a string",enum_type,EnumToStringx(enum_type));}
+ void SetValue(char** stringarray,int M){_error_("Vector of enum %i (%s) cannot hold a string array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double* doublearray,int M){_error_("Vector of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double* pdoublearray,int M,int N){_error_("Vector of enum %i (%s) cannot hold a double array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int* intarray,int M){_error_("Vector of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(int* pintarray,int M,int N){_error_("Vector of enum %i (%s) cannot hold a int array",enum_type,EnumToStringx(enum_type));}
+ void SetValue(Vector* vec);
+ void SetValue(Matrix* mat){_error_("Vector of enum %i (%s) cannot hold a Mat",enum_type,EnumToStringx(enum_type));}
+ void SetValue(FILE* fid){_error_("Vector of enum %i (%s) cannot hold a FILE",enum_type,EnumToStringx(enum_type));}
+ void SetValue(double** array, int M, int* mdim_array, int* ndim_array){_error_("Vector param of enum %i (%s) cannot hold an array of matrices",enum_type,EnumToStringx(enum_type));}
+ void UnitConversion(int direction_enum);
+
+ void GetParameterName(char**pname);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ void SetMatlabField(mxArray* dataref);
+ #endif
+
+ /*}}}*/
+};
+#endif /* _VECTORPARAM_H */
Modified: issm/trunk/src/c/objects/Vertex.cpp
===================================================================
--- issm/trunk/src/c/objects/Vertex.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Vertex.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -272,7 +272,7 @@
int Vertex::Sid(void){ return sid; }
/*}}}*/
/*FUNCTION Vertex::UpdateVertexPosition {{{1*/
-void Vertex::UpdatePosition(Vec vz,Parameters* parameters,double* thickness,double* bed){
+void Vertex::UpdatePosition(Vector* vz,Parameters* parameters,double* thickness,double* bed){
double oldz,newz;
double dt,velz;
@@ -287,6 +287,6 @@
this->z = newz;
/*put vz in vector*/
- VecSetValue(vz,this->dof,velz,INSERT_VALUES);
+ vz->SetValue(this->dof,velz,INS_VAL);
}
/*}}}*/
Modified: issm/trunk/src/c/objects/Vertex.h
===================================================================
--- issm/trunk/src/c/objects/Vertex.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/Vertex.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,8 @@
/*{{{1*/
#include "./Object.h"
class IoModel;
+class Vector;
+class Parameters;
#include "../shared/Exceptions/exceptions.h"
#include "../toolkits/toolkits.h"
#include "../include/include.h"
@@ -62,7 +64,7 @@
/*Vertex management: {{{1*/
int Sid(void);
int Connectivity(void);
- void UpdatePosition(Vec vz,Parameters* parameters,double* thickness,double* bed);
+ void UpdatePosition(Vector* vz,Parameters* parameters,double* thickness,double* bed);
/*}}}*/
};
#endif /* _VERTEX_H */
Modified: issm/trunk/src/c/objects/objects.h
===================================================================
--- issm/trunk/src/c/objects/objects.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/objects/objects.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -29,6 +29,7 @@
#include "./Gauss/GaussPenta.h"
/*Loads: */
+#include "./Loads/Load.h"
#include "./Loads/Friction.h"
#include "./Loads/Icefront.h"
#include "./Loads/Numericalflux.h"
@@ -119,6 +120,8 @@
/*Numerics:*/
#include "./Numerics/ElementMatrix.h"
#include "./Numerics/ElementVector.h"
+#include "./Numerics/Vector.h"
+#include "./Numerics/Matrix.h"
/*Params: */
#include "./Params/BoolParam.h"
@@ -132,8 +135,8 @@
#include "./Params/IntMatParam.h"
#include "./Params/FileParam.h"
#include "./Params/Param.h"
-#include "./Params/PetscMatParam.h"
-#include "./Params/PetscVecParam.h"
+#include "./Params/MatrixParam.h"
+#include "./Params/VectorParam.h"
#include "./Params/StringArrayParam.h"
#include "./Params/StringParam.h"
Modified: issm/trunk/src/c/shared/Alloc/alloc.cpp
===================================================================
--- issm/trunk/src/c/shared/Alloc/alloc.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Alloc/alloc.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -28,6 +28,7 @@
#include "./alloc.h"
#include "../Exceptions/exceptions.h"
#include "../../include/include.h"
+#include "../../objects/objects.h"
void* xmalloc(int size){
@@ -65,30 +66,68 @@
return memptr;
}
-void xfree( void* *pv){
+void xfree(void* *pv){
- if (pv && *pv) {
+ if (pv && *pv){
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mxFree(*pv);
+ #else
+ free(*pv);
+ #endif
- #ifdef _SERIAL_
- mxFree(*pv);
+ *pv=NULL;
+ }
+}
+
+void xdelete(Matrix** pv){
+
+ if (pv && *pv){
+ #ifdef _PARALLEL_
+ /*There is no mxDelete in the Matlab API -> using delete trips up Matlab. So we
+ * don't actually free memory in Matlab, we let the memory manager do that. We only
+ * free in parallel: */
+ delete *pv;
#else
- free(*pv);
+ /*Actually, still get rid of internal Petsc matrix. Quick fix until Matlab handles C++
+ * correctly: */
+ #ifdef _HAVE_PETSC_
+ MatFree(&(*pv)->matrix);
#endif
+ #endif
+ *pv=NULL;
+ }
+}
+void xdelete(Vector** pv){
+
+ if (pv && *pv){
+ #ifdef _PARALLEL_
+ /*There is no mxDelete in the Matlab API -> using delete trips up Matlab. So we
+ * don't actually free memory in Matlab, we let the memory manager do that. We only
+ * free in parallel: */
+ delete *pv;
+ #else
+ /*Actually, still get rid of internal Petsc vector. Quick fix until Matlab handles C++
+ * correctly: */
+ #ifdef _HAVE_PETSC_
+ VecFree(&(*pv)->vector);
+ #endif
+ #endif
*pv=NULL;
}
}
-void* xrealloc ( void* pv, int size){
+
+void* xrealloc( void* pv, int size){
register void* value=NULL;
if(!size)_error_("attempting to realloc to zero");
- #ifndef MATLAB
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ value = (void*)mxRealloc(pv,size);
+ #else
value = (void*)realloc(pv,size);
- #else
- value = (void*)mxRealloc(pv,size);
#endif
if (value == NULL) {
Modified: issm/trunk/src/c/shared/Alloc/alloc.h
===================================================================
--- issm/trunk/src/c/shared/Alloc/alloc.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Alloc/alloc.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,10 +4,13 @@
#ifndef _ALLOC_H_
#define _ALLOC_H_
-
+class Matrix;
+class Vector;
void* xmalloc(int size);
void* xcalloc(int n,int size);
void xfree(void** pvptr);
void* xrealloc ( void* pv, int size);
+void xdelete(Matrix** pvptr);
+void xdelete(Vector** pvptr);
#endif
Modified: issm/trunk/src/c/shared/Elements/elements.h
===================================================================
--- issm/trunk/src/c/shared/Elements/elements.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Elements/elements.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,8 +16,8 @@
int GetNumberOfDofs( Node** nodes,int numnodes,int setenum,int approximation_enum);
int* GetLocalDofList( Node** nodes,int numnodes,int setenum,int approximation_enum);
int* GetGlobalDofList(Node** nodes,int numnodes,int setenum,int approximation_enum);
+#ifdef _HAVE_DIAGNOSTIC_
void CoordinateSystemTransform(double** ptransform,Node** nodes,int numnodes,int* cs_array);
-#ifdef _HAVE_DIAGNOSTIC_
void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int cs_enum);
void TransformInvStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int* cs_array);
void TransformStiffnessMatrixCoord(ElementMatrix* Ke,Node** nodes,int numnodes,int cs_enum);
Modified: issm/trunk/src/c/shared/Exceptions/Exceptions.cpp
===================================================================
--- issm/trunk/src/c/shared/Exceptions/Exceptions.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Exceptions/Exceptions.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#include "../shared.h"
#include "../../include/include.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "mex.h"
#endif
@@ -44,12 +44,12 @@
printf("%s%s","Error message: ",what());
}
else{
- #ifdef _PARALLEL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mexErrMsgTxt(exprintf("\n??? Error using ==> %s at %i\n%s error message: %s\n",
+ file_name.c_str(),file_line,function_name.c_str(),what()));
+ #else
printf("\n[%i] ??? Error using ==> %s:%i\n",my_rank,file_name.c_str(),file_line);
printf("[%i] %s error message: %s\n\n",my_rank,function_name.c_str(),what());
- #else
- mexErrMsgTxt(exprintf("\n??? Error using ==> %s at %i\n%s error message: %s\n",
- file_name.c_str(),file_line,function_name.c_str(),what()));
#endif
}
return;
Modified: issm/trunk/src/c/shared/Exp/DomainOutlineRead.cpp
===================================================================
--- issm/trunk/src/c/shared/Exp/DomainOutlineRead.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Exp/DomainOutlineRead.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,13 +8,14 @@
#include <stdio.h>
#include "../Alloc/alloc.h"
#include "../../include/include.h"
+#include "../../objects/objects.h"
#include "../Exceptions/exceptions.h"
+#include "../../Container/DataSet.h"
int DomainOutlineRead(int* pnprof,int** pprofnvertices,double*** ppprofx,double*** ppprofy,bool** pclosed,char* domainname,bool whole=true){
- /*Error management: */
- int noerr=1;
+ /*indexing: */
int i,counter;
/*I/O: */
@@ -38,7 +39,6 @@
/*open domain outline file for reading: */
if ((fid=fopen(domainname,"r"))==NULL){
_error_("%s%s","could not find domain file ",domainname);
- noerr=0; goto cleanupandreturn;
}
/*Do a first pass through the domainname file, to figure out how many profiles
@@ -94,7 +94,7 @@
/*Read vertices: */
for (i=0;i<n;i++){
- fscanf(fid,"%20lf %20lf\n",x+i,y+i);
+ fscanf(fid,"%20lf %20lf\n",&x[i],&y[i]);
}
/*Now check that we are dealing with open contours: */
@@ -116,14 +116,6 @@
/*close domain outline file: */
fclose(fid);
- cleanupandreturn:
- /*Free ressources: */
- if(!noerr){
- xfree((void**)&x);
- xfree((void**)&y);
- n=-1;
- }
-
/*Assign output pointers: */
*pnprof=nprof;
*pprofnvertices=profnvertices;
@@ -131,6 +123,33 @@
*ppprofy=pprofy;
if(pclosed)*pclosed=closed;
else xfree((void**)&closed);
- return noerr;
}
+DataSet* DomainOutlineRead(char* domainname,bool whole=true){
+
+ /*indexing: */
+ int i;
+
+ /*intermediary: */
+ int nprof;
+ int* profnvertices=NULL;
+ double** pprofx=NULL;
+ double** pprofy=NULL;
+
+ Contour* contour=NULL;
+
+ /*output: */
+ DataSet* domain=NULL;
+
+ /*get domain outline from intermediary function:*/
+ DomainOutlineRead(&nprof,&profnvertices,&pprofx, &pprofy, NULL,domainname,whole);
+
+ /*now create dataset of contours: */
+ domain=new DataSet(0);
+
+ for(i=0;i<nprof;i++){
+ domain->AddObject(new Contour(i,profnvertices[i],pprofx[i],pprofy[i],1));
+ }
+
+ return domain;
+}
Modified: issm/trunk/src/c/shared/Exp/IsInPoly.cpp
===================================================================
--- issm/trunk/src/c/shared/Exp/IsInPoly.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Exp/IsInPoly.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,7 +14,7 @@
#endif
/*IsInPoly {{{1*/
-int IsInPoly(Vec in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue){
+int IsInPoly(Vector* in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue){
int i;
double x0,y0;
@@ -36,7 +36,7 @@
for (i=i0;i<i1;i++){
//Get current value of value[i] -> do not change it if != 0
- VecGetValues(in,1,&i,&value);
+ in->GetValue(&value,i);
if (value){
/*this vertex already is inside one of the contours, continue*/
continue;
@@ -50,12 +50,12 @@
else{
value=pnpoly(numvertices,xc,yc,x0,y0,edgevalue);
}
- VecSetValues(in,1,&i,&value,INSERT_VALUES);
+ in->SetValue(i,value,INS_VAL);
}
return 1;
}/*}}}*/
/*IsOutsidePoly {{{1*/
-int IsOutsidePoly(Vec in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue){
+int IsOutsidePoly(Vector* in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue){
int i,j;
double x0,y0;
@@ -77,7 +77,7 @@
for (i=i0;i<i1;i++){
//Get current value of value[i] -> do not change it if != 0
- VecGetValues(in,1,&i,&value);
+ in->GetValue(&value,i);
if (value){
/*this vertex already is inside one of the contours, continue*/
continue;
@@ -91,7 +91,7 @@
else{
value=1-pnpoly(numvertices,xc,yc,x0,y0,edgevalue);
}
- VecSetValues(in,1,&i,&value,INSERT_VALUES);
+ in->SetValue(i,value,INS_VAL);
}
return 1;
}/*}}}*/
Modified: issm/trunk/src/c/shared/Exp/exp.h
===================================================================
--- issm/trunk/src/c/shared/Exp/exp.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Exp/exp.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,13 +6,17 @@
#ifndef _EXP_H_
#define _EXP_H_
+#include "../../objects/objects.h"
#include "../../toolkits/toolkits.h"
-int IsInPoly(Vec in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue);
-int IsOutsidePoly(Vec in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue);
+int IsInPoly(Vector* in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue);
+int IsOutsidePoly(Vector* in,double* xc,double* yc,int numvertices,double* x,double* y,int i0,int i1, int edgevalue);
int IsInPolySerial(double* in,double* xc,double* yc,int numvertices,double* x,double* y,int nods, int edgevalue);
-int DomainOutlineRead(int* pnprof,int** pprofnvertices,double*** ppprofx,double*** ppprofy,bool** pclosed,char* domainname,bool whole);
int DomainOutlineWrite(int nprof,int* profnvertices,double** pprofx,double** pprofy,bool* closed,char* domainname,bool whole);
int pnpoly(int npol, double *xp, double *yp, double x, double y, int edgevalue);
+int DomainOutlineRead(int* pnprof,int** pprofnvertices,double*** ppprofx,double*** ppprofy,bool** pclosed,char* domainname,bool whole);
+DataSet* DomainOutlineRead(char* domainname,bool whole);
+
+
#endif
Modified: issm/trunk/src/c/shared/Matrix/MatrixUtils.cpp
===================================================================
--- issm/trunk/src/c/shared/Matrix/MatrixUtils.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Matrix/MatrixUtils.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,7 +7,6 @@
#include "./matrix.h"
#include "../Exceptions/exceptions.h"
#include "../Alloc/alloc.h"
-#include "../Matlab/matlabshared.h"
#include <stdio.h>
#include <sys/types.h>
#include <math.h>
Modified: issm/trunk/src/c/shared/Numerics/GaussPoints.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/GaussPoints.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/GaussPoints.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,7 +1,6 @@
/* Gauss point structures and prototypes */
#include "./GaussPoints.h"
-#include "../Matlab/matlabshared.h"
#include "../Alloc/alloc.h"
#include "../../include/include.h"
#include "../../io/io.h"
Modified: issm/trunk/src/c/shared/Numerics/OptFunc.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/OptFunc.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/OptFunc.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
#include "../../shared/shared.h"
#include "../../include/include.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "mex.h"
double OptFunc(double scalar, OptArgs* optargs){
Copied: issm/trunk/src/c/shared/Numerics/OptionsFromAnalysis.cpp (from rev 11994, issm/trunk-jpl/src/c/shared/Numerics/OptionsFromAnalysis.cpp)
===================================================================
--- issm/trunk/src/c/shared/Numerics/OptionsFromAnalysis.cpp (rev 0)
+++ issm/trunk/src/c/shared/Numerics/OptionsFromAnalysis.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,80 @@
+/*!\file: OptionsFromAnalysis.cpp
+ * \brief: figure out ISSM options for current analysis, return a string.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../../objects/objects.h"
+#include "../../Container/Parameters.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+char* OptionsFromAnalysis(Parameters* parameters,int analysis_type){
+
+ /*output: */
+ char* outstring=NULL;
+
+ /*intermediary: */
+ int dummy;
+ double* analyses=NULL;
+ char** strings=NULL;
+ char* string=NULL;
+ int numanalyses;
+ int found=-1;
+ int i;
+
+ numanalyses=0;
+ parameters->FindParam(&strings,&numanalyses,PetscOptionsStringsEnum);
+
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_) //do not take this away, because ISSM loads analyses as a Double Param instead of a DoubleVec Param when running with only 1 analysis
+ if(numanalyses==1){ analyses=(double*)xmalloc(1*sizeof(double)); parameters->FindParam(analyses,PetscOptionsAnalysesEnum);
+ }
+ else parameters->FindParam(&analyses,&dummy,PetscOptionsAnalysesEnum);
+ #else
+ parameters->FindParam(&analyses,&dummy,PetscOptionsAnalysesEnum);
+ #endif
+
+ if(numanalyses==0)return NULL; //we did not find petsc options, don't bother.
+
+ /*ok, go through analyses and figure out if it corresponds to our analysis_type: */
+ found=-1;
+ for(i=0;i<numanalyses;i++){
+ if (analyses[i]==analysis_type){
+ /*found the analysis, get out of here: */
+ found=i;
+ break;
+ }
+ }
+ if(found==-1){
+ /*still haven't found a list of petsc options, go find the default one, for analysis type NoneAnalysisEnum: */
+ for(i=0;i<numanalyses;i++){
+ if (analyses[i]==NoneAnalysisEnum){
+ /*found the default analysis, get out of here: */
+ found=i;
+ break;
+ }
+ }
+ }
+ if (found==-1){
+ /*ok, we did not find anything, this is not good! error out: */
+ _error_("%s%s","could find neither a default analysis nor analysis ",EnumToStringx(analysis_type));
+ }
+
+ /*ok, grab the option string: */
+ outstring=(char*)xmalloc((strlen(strings[found])+1)*sizeof(char));
+ strcpy(outstring,strings[found]);
+
+ /*Free ressources*/
+ xfree((void**)&analyses);
+ for(i=0;i<numanalyses;i++){
+ string=strings[i];
+ xfree((void**)&string);
+ }
+ xfree((void**)&strings);
+
+
+ return outstring;
+}
Modified: issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/PetscOptionsFromAnalysis.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,54 +14,12 @@
void PetscOptionsFromAnalysis(Parameters* parameters,int analysis_type){
- int dummy;
- double* analyses=NULL;
- char** strings=NULL;
- int numanalyses;
- char* string=NULL;
- int found=-1;
- int i;
+ /*intermediary: */
+ char* options=NULL;
- numanalyses=0;
- parameters->FindParam(&strings,&numanalyses,PetscOptionsStringsEnum);
+ /*Recover first the options string for this analysis: */
+ options=OptionsFromAnalysis(parameters,analysis_type);
- #ifdef _SERIAL_ //do not take this away, because ISSM loads analyses as a Double Param instead of a DoubleVec Param when running with only 1 analysis
- if(numanalyses==1){ analyses=(double*)xmalloc(1*sizeof(double)); parameters->FindParam(analyses,PetscOptionsAnalysesEnum);
- }
- else parameters->FindParam(&analyses,&dummy,PetscOptionsAnalysesEnum);
- #else
- parameters->FindParam(&analyses,&dummy,PetscOptionsAnalysesEnum);
- #endif
-
- if(numanalyses==0)return; //we did not find petsc options, don't bother.
-
- /*ok, go through analyses and figure out if it corresponds to our analysis_type: */
- found=-1;
- for(i=0;i<numanalyses;i++){
- if (analyses[i]==analysis_type){
- /*found the analysis, get out of here: */
- found=i;
- break;
- }
- }
- if(found==-1){
- /*still haven't found a list of petsc options, go find the default one, for analysis type NoneAnalysisEnum: */
- for(i=0;i<numanalyses;i++){
- if (analyses[i]==NoneAnalysisEnum){
- /*found the default analysis, get out of here: */
- found=i;
- break;
- }
- }
- }
- if (found==-1){
- /*ok, we did not find anything, this is not good! error out: */
- _error_("%s%s","could find neither a default analysis nor analysis ",EnumToStringx(analysis_type));
- }
-
- /*ok, grab the petsc option string: */
- string=strings[found];
-
/*now, reset the options database with this string. Taken from petsc/install/src/sys/objects/pinit.c. This
*capability is not covered by Petsc!: */
@@ -71,21 +29,14 @@
//PetscOptionsCheckInitial_Private();
//PetscOptionsCheckInitial_Components();
PetscOptionsSetFromOptions();
- PetscOptionsInsertMultipleString(string); //our patch
+ PetscOptionsInsertMultipleString(options); //our patch
#else
PetscOptionsSetFromOptions();
PetscOptionsClear();
//PetscOptionsSetFromOptions();
- PetscOptionsInsertMultipleString(string); //our patch
+ PetscOptionsInsertMultipleString(options); //our patch
#endif
-
- /*Free ressources*/
- xfree((void**)&analyses);
- for(i=0;i<numanalyses;i++){
- string=strings[i];
- xfree((void**)&string);
- }
- xfree((void**)&strings);
-
+ /*Free ressources:*/
+ xfree((void**)&options);
}
Modified: issm/trunk/src/c/shared/Numerics/UnitConversion.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/UnitConversion.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/UnitConversion.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -46,30 +46,28 @@
double scale;
switch(type_enum){
- case TimesteppingTimeStepEnum: scale=1.0/yts;break; //yr
- case TimesteppingFinalTimeEnum: scale=1.0/yts;break; //yr
- case TimeEnum: scale=1.0/yts;break; //yr
- case HydrologyWaterVxEnum: scale=yts;break; //m/yr
- case HydrologyWaterVyEnum: scale=yts;break; //m/yr
- case VxEnum: scale=yts;break; //m/yr
- case InversionVxObsEnum: scale=yts;break; //m/yr
- case VyEnum: scale=yts;break; //m/yr
- case InversionVyObsEnum: scale=yts;break; //m/yr
- case VzEnum: scale=yts;break; //m/yr
- case InversionVzObsEnum: scale=yts;break; //m/yr
- case VelEnum: scale=yts;break; //m/yr
- case InversionVelObsEnum: scale=yts;break; //m/yr
- case BalancethicknessThickeningRateEnum: scale=yts;break; //m/yr
- case BasalforcingsMeltingRateEnum: scale=yts;break; //m/yr
+ case TimesteppingStartTimeEnum: scale=1.0/yts;break; //yr
+ case TimesteppingFinalTimeEnum: scale=1.0/yts;break; //yr
+ case TimesteppingTimeStepEnum: scale=1.0/yts;break; //yr
+ case TimeEnum: scale=1.0/yts;break; //yr
+ case HydrologyWaterVxEnum: scale=yts;break; //m/yr
+ case HydrologyWaterVyEnum: scale=yts;break; //m/yr
+ case VxEnum: scale=yts;break; //m/yr
+ case InversionVxObsEnum: scale=yts;break; //m/yr
+ case VyEnum: scale=yts;break; //m/yr
+ case InversionVyObsEnum: scale=yts;break; //m/yr
+ case VzEnum: scale=yts;break; //m/yr
+ case InversionVzObsEnum: scale=yts;break; //m/yr
+ case VelEnum: scale=yts;break; //m/yr
+ case InversionVelObsEnum: scale=yts;break; //m/yr
+ case BalancethicknessThickeningRateEnum: scale=yts;break; //m/yr
+ case BasalforcingsMeltingRateEnum: scale=yts;break; //m/yr
case BasalforcingsMeltingRateCorrectionEnum: scale=yts;break; //m/yr
- case SurfaceforcingsPrecipitationEnum: scale=yts;break; //m/yr
- case SurfaceforcingsMassBalanceEnum: scale=yts;break; //m/yr
- case MisfitEnum: scale=pow(yts,2);break; //(m/yr)^2
- case MassFluxEnum: scale=pow((double)10,-12)*yts;break; // (GigaTon/year)
+ case SurfaceforcingsPrecipitationEnum: scale=yts;break; //m/yr
+ case SurfaceforcingsMassBalanceEnum: scale=yts;break; //m/yr
+ case MisfitEnum: scale=pow(yts,2);break; //(m/yr)^2
+ case MassFluxEnum: scale=pow((double)10,-12)*yts;break; // (GigaTon/year)
default: scale=1.0; break;
}
return scale;
}
-
-
-
Modified: issm/trunk/src/c/shared/Numerics/Verbosity.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/Verbosity.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/Verbosity.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,7 +17,7 @@
#include "./Verbosity.h"
#include "../../include/macros.h"
#include "../Exceptions/exceptions.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
#endif
/*}}}*/
@@ -38,7 +38,7 @@
if(level<0) _error_("vebosity level should be a positive integer (user provided %i)",level);
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
mxArray* output=NULL;
mxArray* input=NULL;
@@ -53,7 +53,7 @@
}/*}}}*/
/*FUNCTION GetVerbosityLevel {{{*/
int GetVerbosityLevel(void){
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
mxArray* output=NULL;
mxArray* input=NULL;
Modified: issm/trunk/src/c/shared/Numerics/XZvectorsToCoordinateSystem.cpp
===================================================================
--- issm/trunk/src/c/shared/Numerics/XZvectorsToCoordinateSystem.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/XZvectorsToCoordinateSystem.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-#include "../Matlab/matlabshared.h"
+#include "../../io/Matlab/matlabio.h"
#include "../Alloc/alloc.h"
#include "../../include/include.h"
#include "../Exceptions/exceptions.h"
Modified: issm/trunk/src/c/shared/Numerics/numerics.h
===================================================================
--- issm/trunk/src/c/shared/Numerics/numerics.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Numerics/numerics.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -26,7 +26,10 @@
void IsInputConverged(double* peps, Input** new_inputs,Input** old_inputs,int num_inputs,int criterion_enum);
void UnitConversion(double* values, int numvalues,int direction_enum, int type_enum);
double UnitConversion(double value, int direction_enum, int type_enum);
+char* OptionsFromAnalysis(Parameters* parameters,int analysis_type);
+void XZvectorsToCoordinateSystem(double* T,double* xzvectors);
+#ifdef _HAVE_PETSC_
void PetscOptionsFromAnalysis(Parameters* parameters,int analysis_type);
-void XZvectorsToCoordinateSystem(double* T,double* xzvectors);
+#endif
#endif //ifndef _NUMERICS_H_
Deleted: issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp
===================================================================
--- issm/trunk-jpl/src/c/shared/Wrapper/ModuleBoot.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,59 +0,0 @@
-/* \file ModuleBoot.cpp
- * \brief Carry out operations needed to boot, for example, petsc, MPI, plapack, etc ...
- * at the beginning of a module
- */
-
-#include "../../toolkits/toolkits.h"
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-int ModuleBoot(void){
-
- /*Some test for MPI_Init crash with mpich2 1.4 on larsen, just ignore*/
- #ifdef _HAVE_PETSC_
- #if _PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 1
- if(0){
- int mp_init = 0;
- PetscErrorCode ierr;
- extern PetscBool PetscBeganMPI;
- MPI_Initialized(&mp_init);
- if(mp_init!=1){
- MPI_Init(NULL,NULL);
- PetscBeganMPI = PETSC_TRUE;
- ierr=PetscInitializeNoArguments();CHKERRQ(ierr);
- }
- }
- else if (0){
- PetscErrorCode ierr;
- PetscBool flg;
- ierr=PetscInitialized(&flg);CHKERRQ(ierr);
- if(flg){
- extern PetscBool PetscBeganMPI;
- PetscBeganMPI = PETSC_FALSE;
- ierr=PetscFinalize();CHKERRQ(ierr);
- }
- ierr=PetscInitializeNoArguments();CHKERRQ(ierr);
- ierr=PetscPopSignalHandler();CHKERRQ(ierr);
- }
- #endif
-
- /*Initialize Petsc: */
- PetscInitializeNoArguments();
- #else
- #ifdef _HAVE_MPI_
- int mp_init = 0;
- MPI_Initialized(&mp_init);
- if(!mp_init){
- MPI_Init(NULL,NULL);
- }
- #else
- /*Do nothing*/
- #endif
- #endif
- return 1;
-}
Copied: issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp (from rev 11994, issm/trunk-jpl/src/c/shared/Wrapper/ModuleBoot.cpp)
===================================================================
--- issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp (rev 0)
+++ issm/trunk/src/c/shared/Wrapper/ModuleBoot.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,59 @@
+/* \file ModuleBoot.cpp
+ * \brief Carry out operations needed to boot, for example, petsc, MPI, plapack, etc ...
+ * at the beginning of a module
+ */
+
+#include "../../toolkits/toolkits.h"
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+int ModuleBoot(void){
+
+ /*Some test for MPI_Init crash with mpich2 1.4 on larsen, just ignore*/
+ #ifdef _HAVE_PETSC_
+ #if _PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 1
+ if(0){
+ int mp_init = 0;
+ PetscErrorCode ierr;
+ extern PetscBool PetscBeganMPI;
+ MPI_Initialized(&mp_init);
+ if(mp_init!=1){
+ MPI_Init(NULL,NULL);
+ PetscBeganMPI = PETSC_TRUE;
+ ierr=PetscInitializeNoArguments();CHKERRQ(ierr);
+ }
+ }
+ else if (0){
+ PetscErrorCode ierr;
+ PetscBool flg;
+ ierr=PetscInitialized(&flg);CHKERRQ(ierr);
+ if(flg){
+ extern PetscBool PetscBeganMPI;
+ PetscBeganMPI = PETSC_FALSE;
+ ierr=PetscFinalize();CHKERRQ(ierr);
+ }
+ ierr=PetscInitializeNoArguments();CHKERRQ(ierr);
+ ierr=PetscPopSignalHandler();CHKERRQ(ierr);
+ }
+ #endif
+
+ /*Initialize Petsc: */
+ PetscInitializeNoArguments();
+ #else
+ #ifdef _HAVE_MPI_
+ int mp_init = 0;
+ MPI_Initialized(&mp_init);
+ if(!mp_init){
+ MPI_Init(NULL,NULL);
+ }
+ #else
+ /*Do nothing*/
+ #endif
+ #endif
+ return 1;
+}
Deleted: issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp
===================================================================
--- issm/trunk-jpl/src/c/shared/Wrapper/ModuleEnd.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-/* \file ModuleBoot.cpp
- * \brief Carry out operations needed to boot, for example, petsc, MPI, plapack, etc ...
- * at the beginning of a module
- */
-
-#include "../../toolkits/toolkits.h"
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-int ModuleEnd(void){
-
- #if _PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 1
- if(0){
- PetscBool flg;
- PetscErrorCode ierr;
- extern PetscBool PetscBeganMPI;
-
- /*Close PETSc but do not close MPI*/
- PetscBeganMPI = PETSC_FALSE;
- ierr=PetscFinalize();CHKERRQ(ierr);
- }
- #else
- /*Do nothing*/
- #endif
-
- return 1;
-}
Copied: issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp (from rev 11994, issm/trunk-jpl/src/c/shared/Wrapper/ModuleEnd.cpp)
===================================================================
--- issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp (rev 0)
+++ issm/trunk/src/c/shared/Wrapper/ModuleEnd.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+/* \file ModuleBoot.cpp
+ * \brief Carry out operations needed to boot, for example, petsc, MPI, plapack, etc ...
+ * at the beginning of a module
+ */
+
+#include "../../toolkits/toolkits.h"
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+int ModuleEnd(void){
+
+ #if _PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 1
+ if(0){
+ PetscBool flg;
+ PetscErrorCode ierr;
+ extern PetscBool PetscBeganMPI;
+
+ /*Close PETSc but do not close MPI*/
+ PetscBeganMPI = PETSC_FALSE;
+ ierr=PetscFinalize();CHKERRQ(ierr);
+ }
+ #else
+ /*Do nothing*/
+ #endif
+
+ return 1;
+}
Deleted: issm/trunk/src/c/shared/Wrapper/wrappershared.h
===================================================================
--- issm/trunk-jpl/src/c/shared/Wrapper/wrappershared.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/Wrapper/wrappershared.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-/* \file Wrapper.h
- * \brief header file for all routines related to wrapper.
- */
-
-#ifndef _WRAPPER_SHARED_H_
-#define _WRAPPER_SHARED_H_
-
-#include "../../objects/objects.h"
-
-#ifdef _SERIAL_
-int ModuleBoot(void);
-int ModuleEnd(void);
-#endif
-
-#endif
Copied: issm/trunk/src/c/shared/Wrapper/wrappershared.h (from rev 11994, issm/trunk-jpl/src/c/shared/Wrapper/wrappershared.h)
===================================================================
--- issm/trunk/src/c/shared/Wrapper/wrappershared.h (rev 0)
+++ issm/trunk/src/c/shared/Wrapper/wrappershared.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,15 @@
+/* \file Wrapper.h
+ * \brief header file for all routines related to wrapper.
+ */
+
+#ifndef _WRAPPER_SHARED_H_
+#define _WRAPPER_SHARED_H_
+
+#include "../../objects/objects.h"
+
+#ifdef _SERIAL_
+int ModuleBoot(void);
+int ModuleEnd(void);
+#endif
+
+#endif
Modified: issm/trunk/src/c/shared/shared.h
===================================================================
--- issm/trunk/src/c/shared/shared.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/shared/shared.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,6 +17,6 @@
#include "Dofs/dofs.h"
#include "Threads/issm_threads.h"
#include "Bamg/shared.h"
-#include "Matlab/matlabshared.h"
+#include "Wrapper/wrappershared.h"
#endif
Modified: issm/trunk/src/c/solutions/AnalysisConfiguration.cpp
===================================================================
--- issm/trunk/src/c/solutions/AnalysisConfiguration.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/AnalysisConfiguration.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -37,15 +37,16 @@
break;
case SteadystateSolutionEnum:
- numanalyses=7;
+ numanalyses=8;
analyses=(int*)xmalloc(numanalyses*sizeof(int));
analyses[0]=DiagnosticHorizAnalysisEnum;
analyses[1]=DiagnosticVertAnalysisEnum;
analyses[2]=DiagnosticHutterAnalysisEnum;
analyses[3]=SurfaceSlopeAnalysisEnum;
analyses[4]=BedSlopeAnalysisEnum;
- analyses[5]=ThermalAnalysisEnum;
- analyses[6]=MeltingAnalysisEnum;
+ analyses[5]=EnthalpyAnalysisEnum;
+ analyses[6]=ThermalAnalysisEnum;
+ analyses[7]=MeltingAnalysisEnum;
break;
case ThermalSolutionEnum:
Modified: issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp
===================================================================
--- issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/ResetBoundaryConditions.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
void ResetBoundaryConditions(FemModel* femmodel, int analysis_type){
/*variables: */
- Vec yg = NULL;
+ Vector* yg = NULL;
Nodes *nodes = NULL;
int i;
@@ -29,5 +29,5 @@
UpdateDynamicConstraintsx(femmodel->constraints,femmodel->nodes,femmodel->parameters,yg);
/*Free ressources:*/
- VecFree(&yg);
+ delete yg;
}
Modified: issm/trunk/src/c/solutions/adjointbalancethickness_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/adjointbalancethickness_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/adjointbalancethickness_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,12 +15,10 @@
void adjointbalancethickness_core(FemModel* femmodel){
/*parameters: */
- bool control_analysis;
- int solution_type;
+ bool save_results;
/*retrieve parameters:*/
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
/*compute thickness */
_printf_(VerboseSolution(),"%s\n"," computing thickness");
@@ -36,7 +34,7 @@
solver_adjoint_linear(femmodel);
/*Save results*/
- if(solution_type==AdjointSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum);
}
Modified: issm/trunk/src/c/solutions/adjointdiagnostic_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/adjointdiagnostic_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/adjointdiagnostic_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,14 +16,12 @@
/*parameters: */
bool isstokes;
- bool control_analysis;
+ bool save_results;
bool conserve_loads = true;
- int solution_type;
/*retrieve parameters:*/
femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
/*Compute velocities*/
_printf_(VerboseSolution(),"%s\n"," computing velocities");
@@ -39,7 +37,7 @@
solver_adjoint_linear(femmodel);
/*Save results*/
- if(solution_type==AdjointSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum);
Modified: issm/trunk/src/c/solutions/balancethickness_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/balancethickness_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/balancethickness_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,22 +15,18 @@
void balancethickness_core(FemModel* femmodel){
/*parameters: */
- int dim;
- int solution_type;
- bool control_analysis;
+ bool save_results;
/*activate formulation: */
femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
/*recover parameters: */
- femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
_printf_(VerboseSolution(),"call computational core:\n");
solver_linear(femmodel);
- if(solution_type==BalancethicknessSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
}
Modified: issm/trunk/src/c/solutions/bedslope_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/bedslope_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/bedslope_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,16 +13,10 @@
void bedslope_core(FemModel* femmodel){
/*parameters: */
- int dim;
- bool isstokes;
- bool ishutter;
- bool control_analysis;
- int solution_type;
+ bool save_results;
/*Recover some parameters: */
- femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
_printf_(VerboseSolution(),"%s\n"," computing slope");
@@ -32,7 +26,7 @@
femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
solver_linear(femmodel);
- if(solution_type==BedSlopeSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum);
Modified: issm/trunk/src/c/solutions/control_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/control_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/control_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -58,6 +58,7 @@
femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
+ femmodel->parameters->SetParam(false,SaveResultsEnum);
/*out of solution_type, figure out solution core and adjoint function pointer*/
CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
@@ -65,7 +66,7 @@
/*Launch once a complete solution to set up all inputs*/
_printf_(VerboseControl(),"%s\n"," preparing initial solution");
- if (isstokes) solutioncore(femmodel);
+ if(isstokes) solutioncore(femmodel);
/*Initialize responses: */
J=(double*)xmalloc(nsteps*sizeof(double));
@@ -98,7 +99,7 @@
_printf_(VerboseControl(),"%s\n"," optimizing along gradient direction");
optpars.maxiter=(int)maxiter[n]; optpars.cm_jump=cm_jump[n];
- BrentSearch(&search_scalar,J+n,&optpars,&objectivefunctionC,&optargs);
+ BrentSearch(&search_scalar,J+n,&optpars,&objectivefunction,&optargs);
_printf_(VerboseControl(),"%s\n"," updating parameter using optimized search scalar"); //true means update save controls
InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,true);
@@ -107,7 +108,7 @@
}
_printf_(VerboseControl(),"%s\n"," preparing final solution");
- femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
+ femmodel->parameters->SetParam(true,SaveResultsEnum);
solutioncore(femmodel);
/*some results not computed by steadystate_core or diagnostic_core: */
@@ -124,7 +125,4 @@
xfree((void**)&maxiter);
xfree((void**)&cm_jump);
xfree((void**)&J);
-
- /*control_core might be used in Qmu, so leave everything similar to where it started: */
- femmodel->parameters->SetParam(true,InversionIscontrolEnum);
}
Modified: issm/trunk/src/c/solutions/controlrestart.cpp
===================================================================
--- issm/trunk/src/c/solutions/controlrestart.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/controlrestart.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -28,7 +28,7 @@
//femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,InversionControlParametersEnum,EnumToStringx(control_type),1,0));
/*write to disk: */
- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
}
/*Clean up and return*/
Modified: issm/trunk/src/c/solutions/controltao_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/controltao_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/controltao_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
#include "../include/include.h"
#include "../solvers/solvers.h"
-#if defined (_HAVE_TAO_) && (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ == 2)
+#if defined (_HAVE_TAO_) && defined (_HAVE_PETSC_) && (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ == 2)
#include <tao.h>
/*Local prototype*/
@@ -32,9 +32,9 @@
TaoSolver tao;
double *dummy = NULL;
int *control_list = NULL;
- Vec X = NULL;
- Vec XL = NULL;
- Vec XU = NULL;
+ Vector *X = NULL;
+ Vector *XL = NULL;
+ Vector *XU = NULL;
/*Initialize TAO*/
int argc; char **args=NULL;
@@ -48,6 +48,7 @@
femmodel->parameters->FindParam(&control_list,NULL,InversionControlParametersEnum);
femmodel->parameters->FindParam(&nsteps,InversionNstepsEnum);
femmodel->parameters->FindParam(&dummy,NULL,NULL,InversionMaxiterPerStepEnum);
+ femmodel->parameters->SetParam(false,SaveResultsEnum);
maxiter=nsteps*(int)dummy[0]; xfree((void**)&dummy);
/*Initialize TAO*/
@@ -67,10 +68,10 @@
GetVectorFromControlInputsx(&X, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"value");
GetVectorFromControlInputsx(&XL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"lowerbound");
GetVectorFromControlInputsx(&XU,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"upperbound");
- TaoSetInitialVector(tao,X);
- TaoSetVariableBounds(tao,XL,XU);
- VecFree(&XL);
- VecFree(&XU);
+ TaoSetInitialVector(tao,X->vector);
+ TaoSetVariableBounds(tao,XL->vector,XU->vector);
+ xdelete(&XL);
+ xdelete(&XU);
user.femmodel=femmodel;
TaoSetObjectiveAndGradientRoutine(tao,FormFunctionGradient,(void*)&user);
@@ -79,7 +80,7 @@
_printf_(VerboseControl(),"%s\n"," Starting optimization");
TaoSolve(tao);
TaoView(tao,PETSC_VIEWER_STDOUT_WORLD);
- TaoGetSolutionVector(tao,&X);
+ TaoGetSolutionVector(tao,&X->vector);
SetControlInputsFromVectorx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,X);
for(int i=0;i<num_controls;i++){
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_list[i]);
@@ -87,18 +88,18 @@
/*Finalize*/
_printf_(VerboseControl(),"%s\n"," preparing final solution");
- femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
+ femmodel->parameters->SetParam(true,SaveResultsEnum);
void (*solutioncore)(FemModel*)=NULL;
CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
solutioncore(femmodel);
/*Clean up and return*/
xfree((void**)&control_list);
- VecFree(&X);
+ xdelete(&X);
TaoDestroy(&tao);
TaoFinalize();
}
-int FormFunctionGradient(TaoSolver tao, Vec X, double *fcn,Vec G,void *userCtx){
+int FormFunctionGradient(TaoSolver tao, Vec Xpetsc, double *fcn,Vec G,void *userCtx){
/*Retreive arguments*/
int solution_type,num_cost_functions;
@@ -106,11 +107,16 @@
FemModel *femmodel = user->femmodel;
int *cost_functions = NULL;
double *cost_functionsd= NULL;
- Vec gradient = NULL;
+ Vector *gradient = NULL;
+ Vector *X = NULL;
+ /*Convert input to Vec*/
+ X=new Vector(Xpetsc);
+
/*Set new variable*/
//VecView(X,PETSC_VIEWER_STDOUT_WORLD);
SetControlInputsFromVectorx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,X);
+ xdelete(&X);
/*Recover some parameters*/
femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
@@ -135,7 +141,7 @@
/*Compute gradient*/
Gradjx(&gradient,NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
- VecCopy(gradient,G); VecFree(&gradient);
+ VecCopy(gradient->vector,G); xdelete(&gradient);
VecScale(G,-1.);
/*Clean-up and return*/
Modified: issm/trunk/src/c/solutions/convergence.cpp
===================================================================
--- issm/trunk/src/c/solutions/convergence.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/convergence.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,17 +7,17 @@
#include "../io/io.h"
#include "../EnumDefinitions/EnumDefinitions.h"
-void convergence(bool* pconverged, Mat Kff,Vec pf,Vec uf,Vec old_uf,Parameters* parameters){
+void convergence(bool* pconverged, Matrix* Kff,Vector* pf,Vector* uf,Vector* old_uf,Parameters* parameters){
/*output*/
bool converged=false;
/*intermediary*/
- Vec KU=NULL;
- Vec KUF=NULL;
- Vec KUold=NULL;
- Vec KUoldF=NULL;
- Vec duf=NULL;
+ Vector* KU=NULL;
+ Vector* KUF=NULL;
+ Vector* KUold=NULL;
+ Vector* KUoldF=NULL;
+ Vector* duf=NULL;
double ndu,nduinf,nu;
double nKUF;
double nKUoldF;
@@ -32,7 +32,7 @@
/*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from
* the get go: */
- if(!uf){
+ if(uf->IsEmpty()){
*pconverged=true;
return;
}
@@ -47,27 +47,27 @@
if (VerboseConvergence()){
//compute KUF = KU - F = K*U - F
- VecDuplicate(uf,&KU); MatMultPatch(Kff,uf,KU);
- VecDuplicate(KU,&KUF);VecCopy(KU,KUF); VecAYPX(KUF,-1.0,pf);
+ KU=uf->Duplicate(); Kff->MatMult(uf,KU);
+ KUF=KU->Duplicate(); KU->Copy(KUF); KUF->AYPX(pf,-1.0);
//compute norm(KUF), norm(F) and residue
- VecNorm(KUF,NORM_2,&nKUF);
- VecNorm(pf,NORM_2,&nF);
+ nKUF=KUF->Norm(NORM_TWO);
+ nF=pf->Norm(NORM_TWO);
solver_residue=nKUF/nF;
_printf_(true,"\n%s%g\n"," solver residue: norm(KU-F)/norm(F)=",solver_residue);
//clean up
- VecFree(&KU);
- VecFree(&KUF);
+ xdelete(&KU);
+ xdelete(&KUF);
}
/*Force equilibrium (Mandatory)*/
//compute K[n]U[n-1]F = K[n]U[n-1] - F
- VecDuplicate(uf,&KUold); MatMultPatch(Kff,old_uf,KUold);
- VecDuplicate(KUold,&KUoldF);VecCopy(KUold,KUoldF); VecAYPX(KUoldF,-1.0,pf);
- VecNorm(KUoldF,NORM_2,&nKUoldF);
- VecNorm(pf,NORM_2,&nF);
+ KUold=uf->Duplicate(); Kff->MatMult(old_uf,KUold);
+ KUoldF=KUold->Duplicate();KUold->Copy(KUoldF); KUoldF->AYPX(pf,-1.0);
+ nKUoldF=KUoldF->Norm(NORM_TWO);
+ nF=pf->Norm(NORM_TWO);
res=nKUoldF/nF;
if (isnan(res)){
_printf_(true,"norm nf = %lf and norm kuold = %lf\n",nF,nKUoldF);
@@ -75,8 +75,8 @@
}
//clean up
- VecFree(&KUold);
- VecFree(&KUoldF);
+ xdelete(&KUold);
+ xdelete(&KUoldF);
//print
if(res<eps_res){
@@ -92,13 +92,13 @@
if (!isnan(eps_rel) || (VerboseConvergence())){
//compute norm(du)/norm(u)
- VecDuplicate(old_uf,&duf);VecCopy(old_uf,duf); VecAYPX(duf,-1.0,uf);
- VecNorm(duf,NORM_2,&ndu); VecNorm(old_uf,NORM_2,&nu);
+ duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
+ ndu=duf->Norm(NORM_TWO); nu=old_uf->Norm(NORM_TWO);
if (isnan(ndu) || isnan(nu)) _error_("convergence criterion is NaN!");
//clean up
- VecFree(&duf);
+ xdelete(&duf);
//print
if (!isnan(eps_rel)){
@@ -118,12 +118,12 @@
if (!isnan(eps_abs) || (VerboseConvergence())){
//compute max(du)
- VecDuplicate(old_uf,&duf);VecCopy(old_uf,duf); VecAYPX(duf,-1.0,uf);
- VecNorm(duf,NORM_2,&ndu); VecNorm(duf,NORM_INFINITY,&nduinf);
+ duf=old_uf->Duplicate(); old_uf->Copy(duf); duf->AYPX(uf,-1.0);
+ ndu=duf->Norm(NORM_TWO); nduinf=duf->Norm(NORM_INF);
if (isnan(ndu) || isnan(nu)) _error_("convergence criterion is NaN!");
//clean up
- VecFree(&duf);
+ xdelete(&duf);
//print
if (!isnan(eps_abs)){
Modified: issm/trunk/src/c/solutions/diagnostic_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/diagnostic_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/diagnostic_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,7 +23,7 @@
bool isnewton = false;
bool conserve_loads = true;
bool modify_loads = true;
- bool control_analysis;
+ bool save_results;
int solution_type;
int numoutputs = 0;
int *requested_outputs = NULL;
@@ -35,7 +35,7 @@
femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
femmodel->parameters->FindParam(&isnewton,DiagnosticIsnewtonEnum);
femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
femmodel->parameters->FindParam(&numoutputs,DiagnosticNumRequestedOutputsEnum);
if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,DiagnosticRequestedOutputsEnum);
@@ -93,7 +93,7 @@
}
- if(solution_type==DiagnosticSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
Modified: issm/trunk/src/c/solutions/enthalpy_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/enthalpy_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/enthalpy_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,45 +14,23 @@
void enthalpy_core(FemModel* femmodel){
- int i;
-
/*intermediary*/
- double time;
- int nsteps;
- double final_time;
- double dt;
- double melting_offset;
- bool control_analysis;
- int solution_type;
+ bool save_results;
//first recover parameters common to all solutions
- femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);
- femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
- /*Compute number of time steps: */
- if((dt==0)|| (final_time==0)){
- dt=0;
- nsteps=1;
- }
- else nsteps=(int)(final_time/dt);
+ _printf_(VerboseSolution()," computing enthalpy\n");
+ femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum);
+ solver_nonlinear(femmodel,true);
- /*Loop through time: */
- for(i=0;i<nsteps;i++){
-
- if(nsteps)_printf_(VerboseSolution(),"time step: %i/%i\n",i+1,nsteps);
- time=(i+1)*dt;
+ /*transfer enthalpy to enthalpy picard for the next step: */
+ InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,EnthalpyPicardEnum);
- /*call enthalpy_core_step: */
- enthalpy_core_step(femmodel,i,time);
-
- if(solution_type==EnthalpySolutionEnum && !control_analysis){
- _printf_(VerboseSolution()," saving results\n");
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,i+1,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,i+1,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum,i+1,time);
- }
-
+ if(save_results){
+ _printf_(VerboseSolution()," saving results\n");
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum);
}
}
Deleted: issm/trunk/src/c/solutions/enthalpy_core_step.cpp
===================================================================
--- issm/trunk/src/c/solutions/enthalpy_core_step.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/enthalpy_core_step.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,26 +0,0 @@
-/*!\file: enthalpy_core_step.cpp
- * \brief: core of the enthalpy solution
- */
-
-#include "../toolkits/toolkits.h"
-#include "../objects/objects.h"
-#include "../shared/shared.h"
-#include "../io/io.h"
-#include "../EnumDefinitions/EnumDefinitions.h"
-#include "./solutions.h"
-#include "../modules/modules.h"
-#include "../include/include.h"
-#include "../solvers/solvers.h"
-
-void enthalpy_core_step(FemModel* femmodel,int step, double time){
-
- bool modify_loads=true;
-
- _printf_(VerboseSolution()," computing enthalpy\n");
- femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum);
- solver_nonlinear(femmodel,modify_loads);
-
- /*transfer enthalpy to enthalpy picard for the next step: */
- InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,EnthalpyPicardEnum);
-
-}
Modified: issm/trunk/src/c/solutions/gradient_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/gradient_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/gradient_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,9 +17,9 @@
/*Intermediaries*/
double norm_inf;
double *norm_list = NULL;
- Vec new_gradient = NULL;
- Vec gradient = NULL;
- Vec old_gradient = NULL;
+ Vector* new_gradient = NULL;
+ Vector* gradient = NULL;
+ Vector* old_gradient = NULL;
/*Compute gradient*/
_printf_(VerboseControl()," compute cost function gradient\n");
@@ -28,20 +28,20 @@
if (orthogonalize){
_printf_(VerboseControl()," orthogonalization\n");
ControlInputGetGradientx(&old_gradient,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters);
- Orthx(&new_gradient,gradient,old_gradient); VecFree(&old_gradient); VecFree(&gradient);
+ Orthx(&new_gradient,gradient,old_gradient); xdelete(&old_gradient); xdelete(&gradient);
}
else{
new_gradient=gradient;
}
/*Check that gradient is clean*/
- VecNorm(new_gradient,NORM_INFINITY,&norm_inf);
+ norm_inf=new_gradient->Norm(NORM_INF);
if(norm_inf<=0) _error_("||âJ/âα||â = 0 gradient norm is zero");
if(isnan(norm_inf))_error_("||âJ/âα||â = NaN gradient norm is NaN");
/*plug back into inputs: */
ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,new_gradient);
- VecFree(&new_gradient);
+ xdelete(&new_gradient);
/*Scale Gradients*/
ControlInputScaleGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,norm_list,step);
Modified: issm/trunk/src/c/solutions/hydrology_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/hydrology_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/hydrology_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,17 +18,16 @@
/*intermediary*/
double time;
int nsteps;
- double final_time;
+ double starttime,final_time;
double dt;
- bool control_analysis;
- int solution_type;
- int output_frequency;
+ bool save_results;
+ int output_frequency;
//first recover parameters common to all solutions
+ femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);
femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
/*first compute slopes: */
surfaceslope_core(femmodel);
@@ -39,31 +38,29 @@
dt=0;
nsteps=1;
}
- else nsteps=(int)(final_time/dt);
+ else nsteps=(int)((final_time-starttime)/dt);
+ time=starttime;
/*Loop through time: */
for(i=0;i<nsteps;i++){
if(nsteps)_printf_(VerboseSolution(),"time step:%i/%i\n",i+1,nsteps);
- time=(i+1)*dt;
+ time+=dt;
femmodel->parameters->SetParam(time,TimeEnum);
/*call hydrology_core step: */
hydrology_core_step(femmodel,i,time);
- if(solution_type==HydrologySolutionEnum && !control_analysis && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
-
+ if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
_printf_(VerboseSolution()," saving results \n");
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
+ //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
/*unload results*/
_printf_(VerboseSolution()," saving temporary results\n");
- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
-
+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
}
-
}
}
Modified: issm/trunk/src/c/solutions/issm.cpp
===================================================================
--- issm/trunk/src/c/solutions/issm.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/issm.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,10 +7,6 @@
int main(int argc,char **argv){
- /*MPI: */
- extern int my_rank;
- extern int num_procs;
-
/*I/O: */
FILE *output_fid = NULL;
FILE *petscoptionsfid = NULL;
@@ -36,16 +32,22 @@
double start, finish;
double start_core, finish_core;
double start_init, finish_init;
+ int ierr;
MODULEBOOT();
- #if !defined(_PARALLEL_) || (defined(_PARALLEL_) && !defined(_HAVE_PETSC_))
+ #ifndef _PARALLEL_
_error_(" parallel executable was compiled without support of parallel libraries!");
#endif
- /*Initialize Petsc and get start time*/
- int ierr=PetscInitialize(&argc,&argv,(char*)0,"");
+ /*Initialize environments: Petsc, MPI, etc...: */
+ #ifdef _HAVE_PETSC_
+ ierr=PetscInitialize(&argc,&argv,(char*)0,"");
if(ierr) _error_("Could not initialize Petsc");
+ #else
+ MPI_Init(&argc,&argv);
+ #endif
+
MPI_Barrier(MPI_COMM_WORLD); start=MPI_Wtime();
/*Size and rank: */
@@ -53,7 +55,10 @@
MPI_Comm_size(MPI_COMM_WORLD,&num_procs);
/*First process inputs*/
- _printf_(true,"Launching solution sequence\n");
+ _printf_(true,"\n");
+ _printf_(true,"Ice Sheet System Model (%s) version %s\n",PACKAGE_NAME,PACKAGE_VERSION);
+ _printf_(true,"(website: %s contact: %s)\n",PACKAGE_URL,PACKAGE_BUGREPORT);
+ _printf_(true,"\n");
ProcessArguments(&solution_type,&binfilename,&outbinfilename,&petscfilename,&lockfilename,argc,argv);
/*out of solution_type, figure out types of analyses needed in the femmodel: */
@@ -107,7 +112,7 @@
MPI_Barrier(MPI_COMM_WORLD); finish_core=MPI_Wtime( );
_printf_(true,"write results to disk:\n");
- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
/*Close output and petsc options file and write lock file if requested*/
pfclose(output_fid,lockfilename);
@@ -129,8 +134,14 @@
_printf_(true,"\n %-34s %f seconds \n","FemModel initialization elapsed time:",finish_init-start_init);
_printf_(true," %-34s %f seconds \n","Core solution elapsed time:",finish_core-start_core);
_printf_(true,"\n %s %i hrs %i min %i sec\n\n","Total elapsed time:",int((finish-start)/3600),int(int(finish-start)%3600/60),int(finish-start)%60);
+
+
_printf_(true,"closing MPI and Petsc\n");
+ #ifdef _HAVE_PETSC_
PetscFinalize();
+ #else
+ MPI_Finalize();
+ #endif
/*end module: */
MODULEEND();
Copied: issm/trunk/src/c/solutions/objectivefunction.cpp (from rev 11994, issm/trunk-jpl/src/c/solutions/objectivefunction.cpp)
===================================================================
--- issm/trunk/src/c/solutions/objectivefunction.cpp (rev 0)
+++ issm/trunk/src/c/solutions/objectivefunction.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,76 @@
+/*!\file: objectivefunction
+ * \brief objective function that returns a misfit, for a certain parameter.
+ */
+
+/*include files: {{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../toolkits/toolkits.h"
+#include "../objects/objects.h"
+#include "../shared/shared.h"
+#include "../EnumDefinitions/EnumDefinitions.h"
+#include "../solvers/solvers.h"
+#include "./solutions.h"
+#include "../modules/modules.h"
+#include "../include/include.h"
+/*}}}*/
+
+double objectivefunction(double search_scalar,OptArgs* optargs){
+
+ int i;
+
+ /*output: */
+ double J;
+
+ /*parameters: */
+ int solution_type,analysis_type;
+ bool isstokes = false;
+ bool conserve_loads = true;
+ FemModel *femmodel = NULL;
+
+ /*Recover finite element model: */
+ femmodel=optargs->femmodel;
+
+ /*Recover parameters: */
+ femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
+ femmodel->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+ femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+
+ /*set analysis type to compute velocity: */
+ if (solution_type==SteadystateSolutionEnum || solution_type==DiagnosticSolutionEnum){
+ femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
+ }
+ else if (solution_type==BalancethicknessSolutionEnum){
+ femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
+ }
+ else{
+ _error_("Solution %s not implemented yet",EnumToStringx(solution_type));
+ }
+
+ /*update parameter according to scalar: */ //false means: do not save control
+ InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,false);
+
+ /*Run diagnostic with updated inputs: */
+ if (solution_type==SteadystateSolutionEnum){
+ diagnostic_core(femmodel); //We need a 3D velocity!! (vz is required for the next thermal run)
+ }
+ else if (solution_type==DiagnosticSolutionEnum){
+ solver_nonlinear(femmodel,conserve_loads);
+ }
+ else if (solution_type==BalancethicknessSolutionEnum){
+ solver_linear(femmodel);
+ }
+ else{
+ _error_("Solution %s not implemented yet",EnumToStringx(solution_type));
+ }
+
+ /*Compute misfit for this velocity field.*/
+ CostFunctionx(&J, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters);
+
+ /*Free ressources:*/
+ return J;
+}
Deleted: issm/trunk/src/c/solutions/objectivefunctionC.cpp
===================================================================
--- issm/trunk/src/c/solutions/objectivefunctionC.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/objectivefunctionC.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,76 +0,0 @@
-/*!\file: objectivefunctionC
- * \brief objective function that returns a misfit, for a certain parameter.
- */
-
-/*include files: {{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include "../toolkits/toolkits.h"
-#include "../objects/objects.h"
-#include "../shared/shared.h"
-#include "../EnumDefinitions/EnumDefinitions.h"
-#include "../solvers/solvers.h"
-#include "./solutions.h"
-#include "../modules/modules.h"
-#include "../include/include.h"
-/*}}}*/
-
-double objectivefunctionC(double search_scalar,OptArgs* optargs){
-
- int i;
-
- /*output: */
- double J;
-
- /*parameters: */
- int solution_type,analysis_type;
- bool isstokes = false;
- bool conserve_loads = true;
- FemModel *femmodel = NULL;
-
- /*Recover finite element model: */
- femmodel=optargs->femmodel;
-
- /*Recover parameters: */
- femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
- femmodel->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
-
- /*set analysis type to compute velocity: */
- if (solution_type==SteadystateSolutionEnum || solution_type==DiagnosticSolutionEnum){
- femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum);
- }
- else if (solution_type==BalancethicknessSolutionEnum){
- femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
- }
- else{
- _error_("Solution %s not implemented yet",EnumToStringx(solution_type));
- }
-
- /*update parameter according to scalar: */ //false means: do not save control
- InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,false);
-
- /*Run diagnostic with updated inputs: */
- if (solution_type==SteadystateSolutionEnum){
- diagnostic_core(femmodel); //We need a 3D velocity!! (vz is required for the next thermal run)
- }
- else if (solution_type==DiagnosticSolutionEnum){
- solver_nonlinear(femmodel,conserve_loads);
- }
- else if (solution_type==BalancethicknessSolutionEnum){
- solver_linear(femmodel);
- }
- else{
- _error_("Solution %s not implemented yet",EnumToStringx(solution_type));
- }
-
- /*Compute misfit for this velocity field.*/
- CostFunctionx(&J, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters);
-
- /*Free ressources:*/
- return J;
-}
Modified: issm/trunk/src/c/solutions/prognostic_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/prognostic_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/prognostic_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,23 +14,19 @@
void prognostic_core(FemModel* femmodel){
/*parameters: */
- int solution_type;
- bool control_analysis;
+ bool save_results;
/*activate formulation: */
femmodel->SetCurrentConfiguration(PrognosticAnalysisEnum);
/*recover parameters: */
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
_printf_(VerboseSolution()," call computational core\n");
solver_linear(femmodel);
- if(solution_type==PrognosticSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
}
-
}
-
Modified: issm/trunk/src/c/solutions/solutions.h
===================================================================
--- issm/trunk/src/c/solutions/solutions.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/solutions.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -19,9 +19,7 @@
void hydrology_core(FemModel* femmodel);
void hydrology_core_step(FemModel* femmodel,int step, double time);
void thermal_core(FemModel* femmodel);
-void thermal_core_step(FemModel* femmodel,int step, double time);
void enthalpy_core(FemModel* femmodel);
-void enthalpy_core_step(FemModel* femmodel,int step, double time);
void surfaceslope_core(FemModel* femmodel);
void bedslope_core(FemModel* femmodel);
void control_core(FemModel* femmodel);
@@ -31,10 +29,10 @@
void slopecompute_core(FemModel* femmodel);
void steadystate_core(FemModel* femmodel);
void transient_core(FemModel* femmodel);
-double objectivefunctionC(double search_scalar,OptArgs* optargs);
+double objectivefunction(double search_scalar,OptArgs* optargs);
//convergence:
-void convergence(bool* pconverged, Mat K_ff,Vec p_f,Vec u_f,Vec u_f_old,Parameters* parameters);
+void convergence(bool* pconverged, Matrix* K_ff,Vector* p_f,Vector* u_f,Vector* u_f_old,Parameters* parameters);
bool controlconvergence(double J,double tol_cm);
bool steadystateconvergence(FemModel* femmodel);
Modified: issm/trunk/src/c/solutions/steadystate_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/steadystate_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/steadystate_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,19 +24,17 @@
int step;
/*parameters: */
- int dim;
- int solution_type;
- int maxiter;
- bool control_analysis;
+ bool save_results,isenthalpy;
+ int maxiter;
int numoutputs = 0;
int *requested_outputs = NULL;
/* recover parameters:*/
- femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
femmodel->parameters->FindParam(&maxiter,SteadystateMaxiterEnum);
femmodel->parameters->FindParam(&numoutputs,SteadystateNumRequestedOutputsEnum);
+ femmodel->parameters->FindParam(&isenthalpy,ThermalIsenthalpyEnum);
+ femmodel->parameters->SetParam(false,SaveResultsEnum);
if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,SteadystateRequestedOutputsEnum);
/*intialize counters: */
@@ -46,7 +44,12 @@
_printf_(VerboseSolution(),"%s%i\n"," computing temperature and velocity for step: ",step);
#ifdef _HAVE_THERMAL_
- thermal_core(femmodel);
+ if(isenthalpy==0){
+ thermal_core(femmodel);
+ }
+ else{
+ enthalpy_core(femmodel);
+ }
#else
_error_("ISSM was not compiled with thermal capabilities. Exiting");
#endif
@@ -74,7 +77,7 @@
step++;
}
- if(solution_type==SteadystateSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution()," saving results\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
@@ -82,7 +85,9 @@
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
+ if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum);
+ if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum);
+ if(!isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs);
}
Modified: issm/trunk/src/c/solutions/surfaceslope_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/surfaceslope_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/surfaceslope_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,16 +13,10 @@
void surfaceslope_core(FemModel* femmodel){
/*parameters: */
- int dim;
- bool isstokes;
- bool ishutter;
- bool control_analysis;
- int solution_type;
+ bool save_results;
/*Recover some parameters: */
- femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
_printf_(VerboseSolution(),"%s\n","computing slope...");
@@ -32,7 +26,7 @@
femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
solver_linear(femmodel);
- if(solution_type==SurfaceSlopeSolutionEnum && !control_analysis){
+ if(save_results){
_printf_(VerboseSolution(),"saving results:\n");
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum);
InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum);
Modified: issm/trunk/src/c/solutions/thermal_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/thermal_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/thermal_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,52 +14,31 @@
void thermal_core(FemModel* femmodel){
- int i;
-
/*intermediary*/
- double time;
- int nsteps;
- double final_time;
- double dt;
double melting_offset;
- bool control_analysis;
- int solution_type;
- bool dakota_analysis = false;
+ bool save_results;
+ bool dakota_analysis = false;
//first recover parameters common to all solutions
- femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);
- femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
+ femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
- /*Compute number of time steps: */
- if((dt==0)|| (final_time==0)){
- dt=0;
- nsteps=1;
- }
- else nsteps=(int)(final_time/dt);
-
if(dakota_analysis){
femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
ResetConstraintsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
}
- /*Loop through time: */
- for(i=0;i<nsteps;i++){
-
- if(nsteps)_printf_(VerboseSolution(),"time step: %i/%i\n",i+1,nsteps);
- time=(i+1)*dt;
- femmodel->parameters->SetParam(time,TimeEnum);
+ _printf_(VerboseSolution()," computing temperatures\n");
+ femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
+ solver_thermal_nonlinear(femmodel);
- /*call thermal_core_step: */
- thermal_core_step(femmodel,i,time);
+ _printf_(VerboseSolution()," computing melting\n");
+ femmodel->SetCurrentConfiguration(MeltingAnalysisEnum);
+ solver_linear(femmodel);
- if(solution_type==ThermalSolutionEnum && !control_analysis){
- _printf_(VerboseSolution()," saving results\n");
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,i+1,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,i+1,time);
- }
-
+ if(save_results){
+ _printf_(VerboseSolution()," saving results\n");
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
}
}
Deleted: issm/trunk/src/c/solutions/thermal_core_step.cpp
===================================================================
--- issm/trunk/src/c/solutions/thermal_core_step.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/thermal_core_step.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,24 +0,0 @@
-/*!\file: thermal_core_step.cpp
- * \brief: core of the thermal solution
- */
-
-#include "../toolkits/toolkits.h"
-#include "../objects/objects.h"
-#include "../shared/shared.h"
-#include "../io/io.h"
-#include "../EnumDefinitions/EnumDefinitions.h"
-#include "./solutions.h"
-#include "../modules/modules.h"
-#include "../include/include.h"
-#include "../solvers/solvers.h"
-
-void thermal_core_step(FemModel* femmodel,int step, double time){
-
- _printf_(VerboseSolution()," computing temperatures\n");
- femmodel->SetCurrentConfiguration(ThermalAnalysisEnum);
- solver_thermal_nonlinear(femmodel);
-
- _printf_(VerboseSolution()," computing melting\n");
- femmodel->SetCurrentConfiguration(MeltingAnalysisEnum);
- solver_linear(femmodel);
-}
Modified: issm/trunk/src/c/solutions/transient_core.cpp
===================================================================
--- issm/trunk/src/c/solutions/transient_core.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solutions/transient_core.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -22,11 +22,10 @@
void transient_core(FemModel* femmodel){
/*parameters: */
- double finaltime,dt,yts;
- bool control_analysis,isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
- bool dakota_analysis=false;
+ double starttime,finaltime,dt,yts;
+ bool isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
+ bool save_results,dakota_analysis;
bool time_adapt=false;
- int solution_type;
int output_frequency;
int dim,groundingline_migration;
int numoutputs = 0;
@@ -38,12 +37,11 @@
//first recover parameters common to all solutions
femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
+ femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
femmodel->parameters->FindParam(&finaltime,TimesteppingFinalTimeEnum);
femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
- femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
- femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
femmodel->parameters->FindParam(&time_adapt,TimesteppingTimeAdaptEnum);
femmodel->parameters->FindParam(&isdiagnostic,TransientIsdiagnosticEnum);
@@ -57,7 +55,7 @@
/*initialize: */
step=0;
- time=0;
+ time=starttime;
/*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/
if(dakota_analysis){
@@ -85,17 +83,23 @@
step+=1;
time+=dt;
femmodel->parameters->SetParam(time,TimeEnum);
+ femmodel->parameters->SetParam(step,StepEnum);
_printf_(VerboseSolution(),"iteration %i/%g time [yr]: %-7.3g (time step: %.2g)\n",step,floor((finaltime-time)/dt)+step,time/yts,dt/yts);
+ if(step%output_frequency==0 || time==finaltime)
+ save_results=true;
+ else
+ save_results=false;
+ femmodel->parameters->SetParam(save_results,SaveResultsEnum);
if(isthermal && dim==3){
- _printf_(VerboseSolution()," computing temperatures:\n");
+ _printf_(VerboseSolution()," computing temperatures\n");
#ifdef _HAVE_THERMAL_
if(isenthalpy==0){
- thermal_core_step(femmodel,step,time);
+ thermal_core(femmodel);
}
else{
- enthalpy_core_step(femmodel,step,time);
+ enthalpy_core(femmodel);
}
#else
_error_("ISSM was not compiled with thermal capabilities. Exiting");
@@ -127,29 +131,17 @@
#endif
}
- //save should be done by the analysis... see control_core
- if(solution_type==TransientSolutionEnum && !control_analysis && (step%output_frequency==0 || time==finaltime)){
- _printf_(VerboseSolution()," saving results\n");
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzMeshEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time);
- if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzEnum,step,time);
- if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum,step,time);
- if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum,step,time);
- if(dim==3 && isthermal) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
- if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum,step,time);
- if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,step,time);
- if(!isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time);
- InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum,step,time);
- RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs,step,time);
+ /*unload results*/
+ if(save_results){
+ _printf_(VerboseSolution()," saving transient results\n");
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum);
+ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum);
+ RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs);
- /*unload results*/
_printf_(VerboseSolution()," saving temporary results\n");
- OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
+ OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
}
}
Modified: issm/trunk/src/c/solvers/solver_adjoint_linear.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_adjoint_linear.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_adjoint_linear.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,11 +12,13 @@
* use the flag "true" so that all spc are taken as 0*/
/*intermediary: */
- Mat Kff = NULL, Kfs = NULL;
- Vec ug = NULL, uf = NULL;
- Vec pf = NULL;
- Vec df = NULL;
- Vec ys = NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Vector* ug = NULL;
+ Vector* uf = NULL;
+ Vector* pf = NULL;
+ Vector* df = NULL;
+ Vector* ys = NULL;
int configuration_type;
/*Recover parameters: */
@@ -25,9 +27,9 @@
SystemMatricesx(&Kff, &Kfs, &pf, &df, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf, Kfs, ys,true); MatFree(&Kfs); //true means spc = 0
- Solverx(&uf, Kff, pf, NULL, df, femmodel->parameters); MatFree(&Kff); VecFree(&pf); VecFree(&df);
- Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters,true); VecFree(&uf);VecFree(&ys); //true means spc0
+ Reduceloadx(pf, Kfs, ys,true); xdelete(&Kfs); //true means spc = 0
+ Solverx(&uf, Kff, pf, NULL, df, femmodel->parameters); xdelete(&Kff); xdelete(&pf); xdelete(&df);
+ Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters,true); xdelete(&uf);xdelete(&ys); //true means spc0
InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug);
- VecFree(&ug); VecFree(&uf);
+ xdelete(&ug); xdelete(&uf);
}
Modified: issm/trunk/src/c/solvers/solver_linear.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_linear.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_linear.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,12 +10,13 @@
void solver_linear(FemModel* femmodel){
/*intermediary: */
- Mat Kff = NULL, Kfs = NULL;
- Vec ug = NULL;
- Vec uf = NULL;
- Vec pf = NULL;
- Vec df = NULL;
- Vec ys = NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Vector* ug = NULL;
+ Vector* uf = NULL;
+ Vector* pf = NULL;
+ Vector* df = NULL;
+ Vector* ys = NULL;
int configuration_type;
/*Recover parameters: */
@@ -24,9 +25,10 @@
SystemMatricesx(&Kff, &Kfs, &pf, &df, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf, Kfs, ys); MatFree(&Kfs);
- Solverx(&uf, Kff, pf, NULL, df, femmodel->parameters); MatFree(&Kff); VecFree(&pf); VecFree(&df);
- Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters);VecFree(&uf);VecFree(&ys);
+ Reduceloadx(pf, Kfs, ys); xdelete(&Kfs);
+ Solverx(&uf, Kff, pf, NULL, df, femmodel->parameters);
+ xdelete(&Kff); xdelete(&pf); xdelete(&df);
+ Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters);xdelete(&uf); xdelete(&ys);
InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug);
- VecFree(&ug); VecFree(&uf);
+ xdelete(&ug); xdelete(&uf);
}
Modified: issm/trunk/src/c/solvers/solver_newton.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_newton.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_newton.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,12 +17,18 @@
int num_unstable_constraints;
int count;
double kmax;
- Mat Kff = NULL, Kfs = NULL, Jff = NULL;
- Vec ug = NULL, old_ug = NULL;
- Vec uf = NULL, old_uf = NULL, duf = NULL;
- Vec pf = NULL, pJf = NULL;
- Vec df = NULL;
- Vec ys = NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Matrix* Jff = NULL;
+ Vector* ug = NULL;
+ Vector* old_ug = NULL;
+ Vector* uf = NULL;
+ Vector* old_uf = NULL;
+ Vector* duf = NULL;
+ Vector* pf = NULL;
+ Vector* pJf = NULL;
+ Vector* df = NULL;
+ Vector* ys = NULL;
/*parameters:*/
int max_nonlinear_iterations;
@@ -46,20 +52,20 @@
for(;;){
- VecFree(&old_ug);old_ug=ug;
- VecFree(&old_uf);old_uf=uf;
+ xdelete(&old_ug);old_ug=ug;
+ xdelete(&old_uf);old_uf=uf;
/*Solver forward model*/
SystemMatricesx(&Kff,&Kfs,&pf,&df,NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf,Kfs,ys);MatFree(&Kfs);
- Solverx(&uf,Kff,pf,old_uf,df,femmodel->parameters);VecFree(&df);
- Mergesolutionfromftogx(&ug,uf,ys,femmodel->nodes,femmodel->parameters);VecFree(&ys);
- InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug);VecFree(&ug);
+ Reduceloadx(pf,Kfs,ys);xdelete(&Kfs);
+ Solverx(&uf,Kff,pf,old_uf,df,femmodel->parameters);xdelete(&df);
+ Mergesolutionfromftogx(&ug,uf,ys,femmodel->nodes,femmodel->parameters);xdelete(&ys);
+ InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug);xdelete(&ug);
/*Check convergence*/
convergence(&converged,Kff,pf,uf,old_uf,femmodel->parameters);
- MatFree(&Kff);VecFree(&pf);
+ xdelete(&Kff); xdelete(&pf);
if(converged==true) break;
if(count>=max_nonlinear_iterations){
_printf_(true," maximum number of iterations (%i) exceeded\n",max_nonlinear_iterations);
@@ -69,17 +75,15 @@
/*Prepare next iteration using Newton's method*/
SystemMatricesx(&Kff,&Kfs,&pf,NULL,&kmax,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf,Kfs,ys); MatFree(&Kfs);
+ Reduceloadx(pf,Kfs,ys); xdelete(&Kfs);
- VecDuplicate(pf,&pJf);
- MatMultPatch(Kff,uf,pJf); MatFree(&Kff);
- VecScale(pJf,-1.);
- VecAXPY(pJf,+1.,pf); VecFree(&pf);
+ pJf=pf->Duplicate(); Kff->MatMult(uf,pJf); xdelete(&Kff);
+ pJf->Scale(-1.0); pJf->AXPY(pf,+1.0); xdelete(&pf);
CreateJacobianMatrixx(&Jff,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,kmax);
- Solverx(&duf,Jff,pJf,NULL,NULL,femmodel->parameters); MatFree(&Jff);VecFree(&pJf);
- VecAXPY(uf,1.,duf); VecFree(&duf);
- Mergesolutionfromftogx(&ug,uf,ys,femmodel->nodes,femmodel->parameters);VecFree(&ys);
+ Solverx(&duf,Jff,pJf,NULL,NULL,femmodel->parameters); xdelete(&Jff); xdelete(&pJf);
+ uf->AXPY(duf, 1.0); xdelete(&duf);
+ Mergesolutionfromftogx(&ug,uf,ys,femmodel->nodes,femmodel->parameters);xdelete(&ys);
InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug);
count++;
@@ -88,8 +92,8 @@
_printf_(VerboseConvergence(),"\n total number of iterations: %i\n",count-1);
/*clean-up*/
- VecFree(&uf);
- VecFree(&ug);
- VecFree(&old_ug);
- VecFree(&old_uf);
+ xdelete(&uf);
+ xdelete(&ug);
+ xdelete(&old_ug);
+ xdelete(&old_uf);
}
Modified: issm/trunk/src/c/solvers/solver_nonlinear.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_nonlinear.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_nonlinear.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,12 +13,15 @@
void solver_nonlinear(FemModel* femmodel,bool conserve_loads){
/*intermediary: */
- Mat Kff = NULL, Kfs = NULL;
- Vec ug = NULL, old_ug = NULL;
- Vec uf = NULL, old_uf = NULL;
- Vec pf = NULL;
- Vec df = NULL;
- Vec ys = NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Vector* ug = NULL;
+ Vector* old_ug = NULL;
+ Vector* uf = NULL;
+ Vector* old_uf = NULL;
+ Vector* pf = NULL;
+ Vector* df = NULL;
+ Vector* ys = NULL;
Loads* loads=NULL;
bool converged;
@@ -55,16 +58,16 @@
for(;;){
//save pointer to old velocity
- VecFree(&old_ug);old_ug=ug;
- VecFree(&old_uf);old_uf=uf;
+ xdelete(&old_ug);old_ug=ug;
+ xdelete(&old_uf);old_uf=uf;
SystemMatricesx(&Kff, &Kfs, &pf, &df, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf, Kfs, ys); MatFree(&Kfs);
+ Reduceloadx(pf, Kfs, ys); xdelete(&Kfs);
Solverx(&uf, Kff, pf, old_uf, df, femmodel->parameters);
- Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters);VecFree(&ys);
+ Mergesolutionfromftogx(&ug, uf,ys,femmodel->nodes,femmodel->parameters);xdelete(&ys);
- convergence(&converged,Kff,pf,uf,old_uf,femmodel->parameters); MatFree(&Kff);VecFree(&pf); VecFree(&df);
+ convergence(&converged,Kff,pf,uf,old_uf,femmodel->parameters); xdelete(&Kff); xdelete(&pf); xdelete(&df);
InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,converged,ConvergedEnum);
InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug);
@@ -95,8 +98,8 @@
/*clean-up*/
if(conserve_loads) delete loads;
- VecFree(&uf);
- VecFree(&ug);
- VecFree(&old_ug);
- VecFree(&old_uf);
+ xdelete(&uf);
+ xdelete(&ug);
+ xdelete(&old_ug);
+ xdelete(&old_uf);
}
Modified: issm/trunk/src/c/solvers/solver_stokescoupling_nonlinear.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_stokescoupling_nonlinear.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_stokescoupling_nonlinear.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,15 +13,20 @@
void solver_stokescoupling_nonlinear(FemModel* femmodel,bool conserve_loads){
/*intermediary: */
- Mat Kff_horiz = NULL, Kfs_horiz = NULL;
- Vec ug_horiz = NULL, uf_horiz = NULL, old_uf_horiz = NULL;
- Vec pf_horiz = NULL;
- Vec df_horiz = NULL;
- Mat Kff_vert = NULL, Kfs_vert = NULL;
- Vec ug_vert = NULL, uf_vert = NULL;
- Vec pf_vert = NULL;
- Vec df_vert = NULL;
- Vec ys = NULL;
+ Matrix* Kff_horiz = NULL;
+ Matrix* Kfs_horiz = NULL;
+ Vector* ug_horiz = NULL;
+ Vector* uf_horiz = NULL;
+ Vector* old_uf_horiz = NULL;
+ Vector* pf_horiz = NULL;
+ Vector* df_horiz = NULL;
+ Matrix* Kff_vert = NULL;
+ Matrix* Kfs_vert = NULL;
+ Vector* ug_vert = NULL;
+ Vector* uf_vert = NULL;
+ Vector* pf_vert = NULL;
+ Vector* df_vert = NULL;
+ Vector* ys = NULL;
bool converged;
int constraints_converged;
int num_unstable_constraints;
@@ -53,20 +58,20 @@
//Update once again the solution to make sure that vx and vxold are similar (for next step in transient or steadystate)
InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_horiz);
- VecFree(&ug_horiz);
+ xdelete(&ug_horiz);
//save pointer to old velocity
- VecFree(&old_uf_horiz);old_uf_horiz=uf_horiz;
+ xdelete(&old_uf_horiz); old_uf_horiz=uf_horiz;
/*solve: */
SystemMatricesx(&Kff_horiz, &Kfs_horiz, &pf_horiz, &df_horiz, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf_horiz, Kfs_horiz, ys); MatFree(&Kfs_horiz);
+ Reduceloadx(pf_horiz, Kfs_horiz, ys); xdelete(&Kfs_horiz);
Solverx(&uf_horiz, Kff_horiz, pf_horiz, old_uf_horiz, df_horiz,femmodel->parameters);
- Mergesolutionfromftogx(&ug_horiz, uf_horiz,ys,femmodel->nodes,femmodel->parameters); VecFree(&ys);
+ Mergesolutionfromftogx(&ug_horiz, uf_horiz,ys,femmodel->nodes,femmodel->parameters); xdelete(&ys);
InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_horiz);
- convergence(&converged,Kff_horiz,pf_horiz,uf_horiz,old_uf_horiz,femmodel->parameters); MatFree(&Kff_horiz);VecFree(&pf_horiz); VecFree(&df_horiz);
+ convergence(&converged,Kff_horiz,pf_horiz,uf_horiz,old_uf_horiz,femmodel->parameters); xdelete(&Kff_horiz); xdelete(&pf_horiz); xdelete(&df_horiz);
/*Second compute vertical velocity: */
femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum);
@@ -75,11 +80,11 @@
/*solve: */
SystemMatricesx(&Kff_vert, &Kfs_vert, &pf_vert, &df_vert,NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf_vert, Kfs_vert, ys); MatFree(&Kfs_vert);
- Solverx(&uf_vert, Kff_vert, pf_vert, NULL, df_vert,femmodel->parameters); MatFree(&Kff_vert); VecFree(&pf_vert); VecFree(&df_vert);
- Mergesolutionfromftogx(&ug_vert, uf_vert,ys,femmodel->nodes,femmodel->parameters);VecFree(&uf_vert); VecFree(&ys);
+ Reduceloadx(pf_vert, Kfs_vert, ys); xdelete(&Kfs_vert);
+ Solverx(&uf_vert, Kff_vert, pf_vert, NULL, df_vert,femmodel->parameters); xdelete(&Kff_vert); xdelete(&pf_vert); xdelete(&df_vert);
+ Mergesolutionfromftogx(&ug_vert, uf_vert,ys,femmodel->nodes,femmodel->parameters);xdelete(&uf_vert); xdelete(&ys);
InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug_vert);
- VecFree(&ug_vert); VecFree(&uf_vert);
+ xdelete(&ug_vert); xdelete(&uf_vert);
/*Increase count: */
count++;
@@ -91,8 +96,8 @@
}
/*clean-up*/
- VecFree(&old_uf_horiz);
- VecFree(&uf_horiz);
- VecFree(&ug_horiz);
- VecFree(&ys);
+ xdelete(&old_uf_horiz);
+ xdelete(&uf_horiz);
+ xdelete(&ug_horiz);
+ xdelete(&ys);
}
Modified: issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp
===================================================================
--- issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,17 +11,17 @@
void solver_thermal_nonlinear(FemModel* femmodel){
/*solution : */
- Vec tg=NULL;
- Vec tf=NULL;
- Vec tf_old=NULL;
- Vec ys=NULL;
+ Vector* tg=NULL;
+ Vector* tf=NULL;
+ Vector* tf_old=NULL;
+ Vector* ys=NULL;
double melting_offset;
/*intermediary: */
- Mat Kff=NULL;
- Mat Kfs=NULL;
- Vec pf=NULL;
- Vec df=NULL;
+ Matrix* Kff=NULL;
+ Matrix* Kfs=NULL;
+ Vector* pf=NULL;
+ Vector* df=NULL;
bool converged;
int constraints_converged;
@@ -55,11 +55,11 @@
SystemMatricesx(&Kff, &Kfs, &pf,&df, &melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
CreateNodalConstraintsx(&ys,femmodel->nodes,configuration_type);
- Reduceloadx(pf, Kfs, ys); MatFree(&Kfs); VecFree(&tf);
+ Reduceloadx(pf, Kfs, ys); xdelete(&Kfs); xdelete(&tf);
Solverx(&tf, Kff, pf,tf_old, df, femmodel->parameters);
- VecFree(&tf_old); VecDuplicatePatch(&tf_old,tf);
- MatFree(&Kff);VecFree(&pf);VecFree(&tg); VecFree(&df);
- Mergesolutionfromftogx(&tg, tf,ys,femmodel->nodes,femmodel->parameters); VecFree(&ys);
+ xdelete(&tf_old); tf_old=tf->Duplicate();
+ xdelete(&Kff);xdelete(&pf);xdelete(&tg); xdelete(&df);
+ Mergesolutionfromftogx(&tg, tf,ys,femmodel->nodes,femmodel->parameters); xdelete(&ys);
InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,tg);
ConstraintsStatex(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
@@ -83,8 +83,8 @@
InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,melting_offset,MeltingOffsetEnum);
/*Free ressources: */
- VecFree(&tg);
- VecFree(&tf);
- VecFree(&tf_old);
- VecFree(&ys);
+ xdelete(&tg);
+ xdelete(&tf);
+ xdelete(&tf_old);
+ xdelete(&ys);
}
Deleted: issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp
===================================================================
--- issm/trunk-jpl/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,104 +0,0 @@
-/* \file MatlabMatrixToDoubleMatrix.cpp
- * \brief: convert a sparse or dense matlab matrix to a double* pointer
- */
-
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-
-/*Matlab includes: */
-#include "mex.h"
-
-#include "../../shared/shared.h"
-
-int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix){
-
- int i,j,count,rows,cols;
- double *pmxdoublematrix = NULL;
- float *pmxsinglematrix = NULL;
-
- /*output: */
- double* matrix=NULL;
-
- /*matlab indices: */
- mwIndex* ir=NULL;
- mwIndex* jc=NULL;
-
- /*Ok, first check if we are dealing with a sparse or full matrix: */
- if (mxIsSparse(mxmatrix)){
-
- /*Dealing with sparse matrix: recover size first: */
- pmxdoublematrix=(double*)mxGetPr(mxmatrix);
- rows=mxGetM(mxmatrix);
- cols=mxGetN(mxmatrix);
-
- if(rows*cols){
- matrix=(double*)xcalloc(rows*cols,sizeof(double));
-
- /*Now, get ir,jc and pr: */
- ir=mxGetIr(mxmatrix);
- jc=mxGetJc(mxmatrix);
-
- /*Now, start inserting data into double* matrix: */
- count=0;
- for(i=0;i<cols;i++){
- for(j=0;j<(jc[i+1]-jc[i]);j++){
- matrix[rows*ir[count]+i]=pmxdoublematrix[count];
- count++;
- }
- }
- }
-
- }
- else if(mxIsClass(mxmatrix,"double")){
- /*Dealing with dense matrix: recover pointer and size: */
- pmxdoublematrix=(double*)mxGetPr(mxmatrix);
- rows=mxGetM(mxmatrix);
- cols=mxGetN(mxmatrix);
-
- /*Create serial matrix: */
- if(rows*cols){
- matrix=(double*)xcalloc(rows*cols,sizeof(double));
-
- for(i=0;i<rows;i++){
- for(j=0;j<cols;j++){
- matrix[cols*i+j]=(double)pmxdoublematrix[rows*j+i];
- }
- }
- }
- }
- else if(mxIsClass(mxmatrix,"single")){
- /*Dealing with dense matrix: recover pointer and size: */
- pmxsinglematrix=(float*)mxGetPr(mxmatrix);
- rows=mxGetM(mxmatrix);
- cols=mxGetN(mxmatrix);
-
- /*Create serial matrix: */
- if(rows*cols){
- matrix=(double*)xcalloc(rows*cols,sizeof(double));
-
- for(i=0;i<rows;i++){
- for(j=0;j<cols;j++){
- matrix[cols*i+j]=(double)pmxsinglematrix[rows*j+i];
- }
- }
- }
- }
- else{
- _error_("Matlab matrix type Not implemented yet");
- }
-
- /*Assign output pointer: */
- *pmatrix=matrix;
- *pmatrix_rows=rows;
- *pmatrix_cols=cols;
-
- return 1;
-}
-#endif
Copied: issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/double/MatlabMatrixToDoubleMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,104 @@
+/* \file MatlabMatrixToDoubleMatrix.cpp
+ * \brief: convert a sparse or dense matlab matrix to a double* pointer
+ */
+
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+
+/*Matlab includes: */
+#include "mex.h"
+
+#include "../../shared/shared.h"
+
+int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix){
+
+ int i,j,count,rows,cols;
+ double *pmxdoublematrix = NULL;
+ float *pmxsinglematrix = NULL;
+
+ /*output: */
+ double* matrix=NULL;
+
+ /*matlab indices: */
+ mwIndex* ir=NULL;
+ mwIndex* jc=NULL;
+
+ /*Ok, first check if we are dealing with a sparse or full matrix: */
+ if (mxIsSparse(mxmatrix)){
+
+ /*Dealing with sparse matrix: recover size first: */
+ pmxdoublematrix=(double*)mxGetPr(mxmatrix);
+ rows=mxGetM(mxmatrix);
+ cols=mxGetN(mxmatrix);
+
+ if(rows*cols){
+ matrix=(double*)xcalloc(rows*cols,sizeof(double));
+
+ /*Now, get ir,jc and pr: */
+ ir=mxGetIr(mxmatrix);
+ jc=mxGetJc(mxmatrix);
+
+ /*Now, start inserting data into double* matrix: */
+ count=0;
+ for(i=0;i<cols;i++){
+ for(j=0;j<(jc[i+1]-jc[i]);j++){
+ matrix[rows*ir[count]+i]=pmxdoublematrix[count];
+ count++;
+ }
+ }
+ }
+
+ }
+ else if(mxIsClass(mxmatrix,"double")){
+ /*Dealing with dense matrix: recover pointer and size: */
+ pmxdoublematrix=(double*)mxGetPr(mxmatrix);
+ rows=mxGetM(mxmatrix);
+ cols=mxGetN(mxmatrix);
+
+ /*Create serial matrix: */
+ if(rows*cols){
+ matrix=(double*)xcalloc(rows*cols,sizeof(double));
+
+ for(i=0;i<rows;i++){
+ for(j=0;j<cols;j++){
+ matrix[cols*i+j]=(double)pmxdoublematrix[rows*j+i];
+ }
+ }
+ }
+ }
+ else if(mxIsClass(mxmatrix,"single")){
+ /*Dealing with dense matrix: recover pointer and size: */
+ pmxsinglematrix=(float*)mxGetPr(mxmatrix);
+ rows=mxGetM(mxmatrix);
+ cols=mxGetN(mxmatrix);
+
+ /*Create serial matrix: */
+ if(rows*cols){
+ matrix=(double*)xcalloc(rows*cols,sizeof(double));
+
+ for(i=0;i<rows;i++){
+ for(j=0;j<cols;j++){
+ matrix[cols*i+j]=(double)pmxsinglematrix[rows*j+i];
+ }
+ }
+ }
+ }
+ else{
+ _error_("Matlab matrix type Not implemented yet");
+ }
+
+ /*Assign output pointer: */
+ *pmatrix=matrix;
+ *pmatrix_rows=rows;
+ *pmatrix_cols=cols;
+
+ return 1;
+}
+#endif
Deleted: issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp
===================================================================
--- issm/trunk-jpl/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,99 +0,0 @@
-/* \file MatlabVectorToDoubleVector.cpp
- * \brief: convert a sparse or dense matlab vector to a serial vector:
- */
-
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-
-#include <string.h>
-
-/*Matlab includes: */
-#include "mex.h"
-
-#include "../../shared/shared.h"
-
-int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector){
-
- int rows,cols;
- double* mxvector_ptr=NULL;
- int ierr;
- int i,j;
-
- /*output: */
- double* vector=NULL;
-
- /*matlab indices: */
- mwIndex* ir=NULL;
- mwIndex* jc=NULL;
- double* pr=NULL;
- int count;
- int nnz;
- int nz;
-
- /*Ok, first check if we are dealing with a sparse or full vector: */
- if (mxIsSparse(mxvector)){
-
- /*Dealing with sparse vector: recover size first: */
- mxvector_ptr=(double*)mxGetPr(mxvector);
- rows=mxGetM(mxvector);
- cols=mxGetN(mxvector);
- nnz=mxGetNzmax(mxvector);
-
- /*Check that input is actualy a vector*/
- if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
-
- nz=(int)((double)nnz/(double)rows);
-
- if(rows){
- vector=(double*)xcalloc(rows,sizeof(double));
-
- /*Now, get ir,jc and pr: */
- pr=mxGetPr(mxvector);
- ir=mxGetIr(mxvector);
- jc=mxGetJc(mxvector);
-
- /*Now, start inserting data into sparse vector: */
- count=0;
- for(i=0;i<cols;i++){
- for(j=0;j<(jc[i+1]-jc[i]);j++){
- vector[ir[count]]=pr[count];
- count++;
- }
- }
- }
-
- }
- else{
-
- /*Dealing with dense vector: recover pointer and size: */
- mxvector_ptr=(double*)mxGetPr(mxvector);
- rows=mxGetM(mxvector);
- cols=mxGetN(mxvector);
-
- /*Check that input is actualy a vector*/
- if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
-
- /*allocate and memcpy*/
- if(rows){
- vector=(double*)xmalloc(rows*sizeof(double));
- memcpy(vector,mxvector_ptr,rows*sizeof(double));
- }
- else{
- vector=NULL;
- }
- }
-
- /*Assign output pointer: */
- *pvector=vector;
- *pvector_rows=rows;
-
- return 1;
-}
-#endif
Copied: issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/double/MatlabVectorToDoubleVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,99 @@
+/* \file MatlabVectorToDoubleVector.cpp
+ * \brief: convert a sparse or dense matlab vector to a serial vector:
+ */
+
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+
+#include <string.h>
+
+/*Matlab includes: */
+#include "mex.h"
+
+#include "../../shared/shared.h"
+
+int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector){
+
+ int rows,cols;
+ double* mxvector_ptr=NULL;
+ int ierr;
+ int i,j;
+
+ /*output: */
+ double* vector=NULL;
+
+ /*matlab indices: */
+ mwIndex* ir=NULL;
+ mwIndex* jc=NULL;
+ double* pr=NULL;
+ int count;
+ int nnz;
+ int nz;
+
+ /*Ok, first check if we are dealing with a sparse or full vector: */
+ if (mxIsSparse(mxvector)){
+
+ /*Dealing with sparse vector: recover size first: */
+ mxvector_ptr=(double*)mxGetPr(mxvector);
+ rows=mxGetM(mxvector);
+ cols=mxGetN(mxvector);
+ nnz=mxGetNzmax(mxvector);
+
+ /*Check that input is actualy a vector*/
+ if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
+
+ nz=(int)((double)nnz/(double)rows);
+
+ if(rows){
+ vector=(double*)xcalloc(rows,sizeof(double));
+
+ /*Now, get ir,jc and pr: */
+ pr=mxGetPr(mxvector);
+ ir=mxGetIr(mxvector);
+ jc=mxGetJc(mxvector);
+
+ /*Now, start inserting data into sparse vector: */
+ count=0;
+ for(i=0;i<cols;i++){
+ for(j=0;j<(jc[i+1]-jc[i]);j++){
+ vector[ir[count]]=pr[count];
+ count++;
+ }
+ }
+ }
+
+ }
+ else{
+
+ /*Dealing with dense vector: recover pointer and size: */
+ mxvector_ptr=(double*)mxGetPr(mxvector);
+ rows=mxGetM(mxvector);
+ cols=mxGetN(mxvector);
+
+ /*Check that input is actualy a vector*/
+ if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
+
+ /*allocate and memcpy*/
+ if(rows){
+ vector=(double*)xmalloc(rows*sizeof(double));
+ memcpy(vector,mxvector_ptr,rows*sizeof(double));
+ }
+ else{
+ vector=NULL;
+ }
+ }
+
+ /*Assign output pointer: */
+ *pvector=vector;
+ *pvector_rows=rows;
+
+ return 1;
+}
+#endif
Deleted: issm/trunk/src/c/toolkits/double/double.h
===================================================================
--- issm/trunk-jpl/src/c/toolkits/double/double.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/double/double.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-/*\file double.h
- * \brief: our own double matrix
- */
-
-#ifndef _DOUBLE_H_
-#define _DOUBLE_H_
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-#include "mex.h"
-int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix);
-int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector);
-#endif
-
-#endif
Copied: issm/trunk/src/c/toolkits/double/double.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/double/double.h)
===================================================================
--- issm/trunk/src/c/toolkits/double/double.h (rev 0)
+++ issm/trunk/src/c/toolkits/double/double.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,14 @@
+/*\file double.h
+ * \brief: our own double matrix
+ */
+
+#ifndef _DOUBLE_H_
+#define _DOUBLE_H_
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix);
+int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector);
+#endif
+
+#endif
Deleted: issm/trunk/src/c/toolkits/issm/SeqMat.cpp
===================================================================
--- issm/trunk-jpl/src/c/toolkits/issm/SeqMat.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/issm/SeqMat.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,259 +0,0 @@
-/*!\file SeqMat.cpp
- * \brief: implementation of the SeqMat object
- */
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include "../toolkits.h"
-#include "../../shared/shared.h"
-
-/*}}}*/
-
-/*SeqMat constructors and destructor*/
-/*FUNCTION SeqMat::SeqMat(){{{1*/
-SeqMat::SeqMat(){
-
- this->M=0;
- this->N=0;
- this->matrix=NULL;
-}
-/*}}}*/
-/*FUNCTION SeqMat::SeqMat(int M,int N){{{1*/
-SeqMat::SeqMat(int pM,int pN){
-
- this->M=pM;
- this->N=pN;
- this->matrix=NULL;
- if(M*N) this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
-}
-/*}}}*/
-/*FUNCTION SeqMat::SeqMat(int M,int N, double sparsity){{{1*/
-SeqMat::SeqMat(int pM,int pN, double sparsity){
-
- this->M=pM;
- this->N=pN;
- this->matrix=NULL;
- if(M*N) this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
-}
-/*}}}*/
-/*FUNCTION SeqMat(double* serial_mat,int M,int N,double sparsity){{{1*/
-SeqMat::SeqMat(double* serial_mat,int pM,int pN,double sparsity){
-
- int i,j;
-
- this->M=pM;
- this->N=pN;
- this->matrix=NULL;
- if(M*N){
- this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
- memcpy(this->matrix,serial_mat,pM*pN*sizeof(double));
- }
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::SeqMat(int M,int N, int connectivity, int numberofdofspernode){{{1*/
-SeqMat::SeqMat(int pM,int pN, int connectivity,int numberofdofspernode){
-
- this->M=pM;
- this->N=pN;
- this->matrix=NULL;
- if(M*N)this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
-}
-/*}}}*/
-/*FUNCTION SeqMat::~SeqMat(){{{1*/
-SeqMat::~SeqMat(){
-
- xfree((void**)&this->matrix);
- M=0;
- N=0;
-}
-/*}}}*/
-
-/*SeqMat specific routines: */
-/*FUNCTION SeqMat::Echo{{{1*/
-void SeqMat::Echo(void){
-
- int i,j;
- printf("SeqMat size %i-%i\n",this->M,this->N);
- for(i=0;i<M;i++){
- for(j=0;j<N;j++){
- printf("%g ",this->matrix[N*i+j]);
- }
- printf("\n");
- }
-}
-/*}}}*/
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-/*FUNCTION SeqMat::ToMatlabMatrix{{{1*/
-mxArray* SeqMat::ToMatlabMatrix(void){
-
- /*Intermediary: */
- double* buffer=NULL;
- mxArray* pfield=NULL;
-
- /*output: */
- mxArray* dataref=NULL;
-
- /*copy vector into a new buffer: */
- if(this->M*this->N){
- buffer=(double*)xmalloc(this->M*this->N*sizeof(double));
- memcpy(buffer,this->matrix,M*N*sizeof(double));
-
- pfield=mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pfield,this->N);
- mxSetN(pfield,this->M);
- mxSetPr(pfield,buffer);
-
- //transpose the matrix, written directly to matlab! from C to matlab.
- mexCallMATLAB(1,&dataref, 1, &pfield, "transpose");
- }
- else dataref=mxCreateDoubleMatrix(0,0,mxREAL);
-
- /*do not erase buffer!: */
- return dataref;
-
-}
-
-
-
-
-/*}}}*/
-/*FUNCTION MatlabMatrixToSeqMat{{{1*/
-SeqMat* MatlabMatrixToSeqMat(const mxArray* dataref){
-
- SeqMat* output=NULL;
-
- output=new SeqMat();
- MatlabMatrixToDoubleMatrix(&output->matrix,&output->M,&output->N,dataref);
- return output;
-
-}
-/*}}}*/
-#endif
-/*FUNCTION SeqMat::Assemble{{{1*/
-void SeqMat::Assemble(void){
-
- /*do nothing*/
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::Norm{{{1*/
-double SeqMat::Norm(NormMode mode){
-
- double norm;
- double absolute;
- int i,j;
-
- switch(mode){
- case NORM_INF:
- norm=0;
- for(i=0;i<this->M;i++){
- absolute=0;
- for(j=0;j<this->N;j++){
- absolute+=fabs(this->matrix[N*i+j]);
- }
- norm=max(norm,absolute);
- }
- return norm;
- break;
- default:
- _error_("unknown norm !");
- break;
- }
-}
-/*}}}*/
-/*FUNCTION SeqMat::GetSize{{{1*/
-void SeqMat::GetSize(int* pM,int* pN){
-
- *pM=this->M;
- *pN=this->N;
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::GetLocalSize{{{1*/
-void SeqMat::GetLocalSize(int* pM,int* pN){
-
- *pM=this->M;
- *pN=this->N;
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::MatMult{{{1*/
-void SeqMat::MatMult(SeqVec* X,SeqVec* AX){
-
- int i,j;
- int XM,AXM;
- double dummy;
-
- X->GetSize(&XM);
- AX->GetSize(&AXM);
-
- if(M!=AXM)_error_("A and AX should have the same number of rows!");
- if(N!=XM)_error_("A and X should have the same number of columns!");
-
- for(i=0;i<M;i++){
- dummy=0;
- for(j=0;j<N;j++){
- dummy+= this->matrix[N*i+j]*X->vector[j];
- }
- AX->vector[i]=dummy;
- }
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::Duplicate{{{1*/
-SeqMat* SeqMat::Duplicate(void){
-
- double dummy=0;
-
- return new SeqMat(this->matrix,this->M,this->N,dummy);
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::ToSerial{{{1*/
-double* SeqMat::ToSerial(void){
-
- double* buffer=NULL;
-
- if(this->M*this->N){
- buffer=(double*)xmalloc(this->M*this->N*sizeof(double));
- memcpy(buffer,this->matrix,this->M*this->N*sizeof(double));
- }
- return buffer;
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::SetValues{{{1*/
-void SeqMat::SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode){
-
- int i,j;
- switch(mode){
- case ADD_VAL:
- for(i=0;i<m;i++) for(j=0;j<n;j++) this->matrix[N*idxm[i]+idxn[j]]+=values[n*i+j];
- break;
- case INS_VAL:
- for(i=0;i<m;i++) for(j=0;j<n;j++) this->matrix[N*idxm[i]+idxn[j]]=values[n*i+j];
- break;
- default:
- _error_("unknown insert mode!");
- break;
- }
-
-}
-/*}}}*/
-/*FUNCTION SeqMat::Convert{{{1*/
-void SeqMat::Convert(MatrixType type){
-
- /*do nothing*/
-
-}
-/*}}}*/
Copied: issm/trunk/src/c/toolkits/issm/SeqMat.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/issm/SeqMat.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/issm/SeqMat.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/issm/SeqMat.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,259 @@
+/*!\file SeqMat.cpp
+ * \brief: implementation of the SeqMat object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../toolkits.h"
+#include "../../shared/shared.h"
+
+/*}}}*/
+
+/*SeqMat constructors and destructor*/
+/*FUNCTION SeqMat::SeqMat(){{{1*/
+SeqMat::SeqMat(){
+
+ this->M=0;
+ this->N=0;
+ this->matrix=NULL;
+}
+/*}}}*/
+/*FUNCTION SeqMat::SeqMat(int M,int N){{{1*/
+SeqMat::SeqMat(int pM,int pN){
+
+ this->M=pM;
+ this->N=pN;
+ this->matrix=NULL;
+ if(M*N) this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
+}
+/*}}}*/
+/*FUNCTION SeqMat::SeqMat(int M,int N, double sparsity){{{1*/
+SeqMat::SeqMat(int pM,int pN, double sparsity){
+
+ this->M=pM;
+ this->N=pN;
+ this->matrix=NULL;
+ if(M*N) this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
+}
+/*}}}*/
+/*FUNCTION SeqMat(double* serial_mat,int M,int N,double sparsity){{{1*/
+SeqMat::SeqMat(double* serial_mat,int pM,int pN,double sparsity){
+
+ int i,j;
+
+ this->M=pM;
+ this->N=pN;
+ this->matrix=NULL;
+ if(M*N){
+ this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
+ memcpy(this->matrix,serial_mat,pM*pN*sizeof(double));
+ }
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::SeqMat(int M,int N, int connectivity, int numberofdofspernode){{{1*/
+SeqMat::SeqMat(int pM,int pN, int connectivity,int numberofdofspernode){
+
+ this->M=pM;
+ this->N=pN;
+ this->matrix=NULL;
+ if(M*N)this->matrix=(double*)xcalloc(pM*pN,sizeof(double));
+}
+/*}}}*/
+/*FUNCTION SeqMat::~SeqMat(){{{1*/
+SeqMat::~SeqMat(){
+
+ xfree((void**)&this->matrix);
+ M=0;
+ N=0;
+}
+/*}}}*/
+
+/*SeqMat specific routines: */
+/*FUNCTION SeqMat::Echo{{{1*/
+void SeqMat::Echo(void){
+
+ int i,j;
+ printf("SeqMat size %i-%i\n",this->M,this->N);
+ for(i=0;i<M;i++){
+ for(j=0;j<N;j++){
+ printf("%g ",this->matrix[N*i+j]);
+ }
+ printf("\n");
+ }
+}
+/*}}}*/
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+/*FUNCTION SeqMat::ToMatlabMatrix{{{1*/
+mxArray* SeqMat::ToMatlabMatrix(void){
+
+ /*Intermediary: */
+ double* buffer=NULL;
+ mxArray* pfield=NULL;
+
+ /*output: */
+ mxArray* dataref=NULL;
+
+ /*copy vector into a new buffer: */
+ if(this->M*this->N){
+ buffer=(double*)xmalloc(this->M*this->N*sizeof(double));
+ memcpy(buffer,this->matrix,M*N*sizeof(double));
+
+ pfield=mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pfield,this->N);
+ mxSetN(pfield,this->M);
+ mxSetPr(pfield,buffer);
+
+ //transpose the matrix, written directly to matlab! from C to matlab.
+ mexCallMATLAB(1,&dataref, 1, &pfield, "transpose");
+ }
+ else dataref=mxCreateDoubleMatrix(0,0,mxREAL);
+
+ /*do not erase buffer!: */
+ return dataref;
+
+}
+
+
+
+
+/*}}}*/
+/*FUNCTION MatlabMatrixToSeqMat{{{1*/
+SeqMat* MatlabMatrixToSeqMat(const mxArray* dataref){
+
+ SeqMat* output=NULL;
+
+ output=new SeqMat();
+ MatlabMatrixToDoubleMatrix(&output->matrix,&output->M,&output->N,dataref);
+ return output;
+
+}
+/*}}}*/
+#endif
+/*FUNCTION SeqMat::Assemble{{{1*/
+void SeqMat::Assemble(void){
+
+ /*do nothing*/
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::Norm{{{1*/
+double SeqMat::Norm(NormMode mode){
+
+ double norm;
+ double absolute;
+ int i,j;
+
+ switch(mode){
+ case NORM_INF:
+ norm=0;
+ for(i=0;i<this->M;i++){
+ absolute=0;
+ for(j=0;j<this->N;j++){
+ absolute+=fabs(this->matrix[N*i+j]);
+ }
+ norm=max(norm,absolute);
+ }
+ return norm;
+ break;
+ default:
+ _error_("unknown norm !");
+ break;
+ }
+}
+/*}}}*/
+/*FUNCTION SeqMat::GetSize{{{1*/
+void SeqMat::GetSize(int* pM,int* pN){
+
+ *pM=this->M;
+ *pN=this->N;
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::GetLocalSize{{{1*/
+void SeqMat::GetLocalSize(int* pM,int* pN){
+
+ *pM=this->M;
+ *pN=this->N;
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::MatMult{{{1*/
+void SeqMat::MatMult(SeqVec* X,SeqVec* AX){
+
+ int i,j;
+ int XM,AXM;
+ double dummy;
+
+ X->GetSize(&XM);
+ AX->GetSize(&AXM);
+
+ if(M!=AXM)_error_("A and AX should have the same number of rows!");
+ if(N!=XM)_error_("A and X should have the same number of columns!");
+
+ for(i=0;i<M;i++){
+ dummy=0;
+ for(j=0;j<N;j++){
+ dummy+= this->matrix[N*i+j]*X->vector[j];
+ }
+ AX->vector[i]=dummy;
+ }
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::Duplicate{{{1*/
+SeqMat* SeqMat::Duplicate(void){
+
+ double dummy=0;
+
+ return new SeqMat(this->matrix,this->M,this->N,dummy);
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::ToSerial{{{1*/
+double* SeqMat::ToSerial(void){
+
+ double* buffer=NULL;
+
+ if(this->M*this->N){
+ buffer=(double*)xmalloc(this->M*this->N*sizeof(double));
+ memcpy(buffer,this->matrix,this->M*this->N*sizeof(double));
+ }
+ return buffer;
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::SetValues{{{1*/
+void SeqMat::SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode){
+
+ int i,j;
+ switch(mode){
+ case ADD_VAL:
+ for(i=0;i<m;i++) for(j=0;j<n;j++) this->matrix[N*idxm[i]+idxn[j]]+=values[n*i+j];
+ break;
+ case INS_VAL:
+ for(i=0;i<m;i++) for(j=0;j<n;j++) this->matrix[N*idxm[i]+idxn[j]]=values[n*i+j];
+ break;
+ default:
+ _error_("unknown insert mode!");
+ break;
+ }
+
+}
+/*}}}*/
+/*FUNCTION SeqMat::Convert{{{1*/
+void SeqMat::Convert(MatrixType type){
+
+ /*do nothing*/
+
+}
+/*}}}*/
Deleted: issm/trunk/src/c/toolkits/issm/SeqMat.h
===================================================================
--- issm/trunk-jpl/src/c/toolkits/issm/SeqMat.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/issm/SeqMat.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,63 +0,0 @@
-/*!\file: SeqMat.h
- * \brief wrapper to SeqMat objects, which are just wrappers to a simple double* buffer.
- */
-
-#ifndef _SEQMAT_H_
-#define _SEQMAT_H_
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include "../toolkitsenums.h"
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-#include "mex.h"
-#endif
-
-/*}}}*/
-class SeqVec;
-
-class SeqMat{
-
- public:
-
- int M,N;
- double* matrix;
-
- /*SeqMat constructors, destructors {{{1*/
- SeqMat();
- SeqMat(int M,int N);
- SeqMat(int M,int N,double sparsity);
- SeqMat(double* serial_mat,int M,int N,double sparsity);
- SeqMat(int M,int N,int connectivity,int numberofdofspernode);
- ~SeqMat();
- /*}}}*/
- /*SeqMat specific routines {{{1*/
- void Echo(void);
- #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
- mxArray* ToMatlabMatrix(void);
- #endif
- void Assemble(void);
- double Norm(NormMode norm_type);
- void GetSize(int* pM,int* pN);
- void GetLocalSize(int* pM,int* pN);
- void MatMult(SeqVec* X,SeqVec* AX);
- SeqMat* Duplicate(void);
- double* ToSerial(void);
- void SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode);
- void Convert(MatrixType type);
- /*}}}*/
-
-};
-
-/*API :*/
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-SeqMat* MatlabMatrixToSeqMat(const mxArray* dataref);
-#endif
-
-#endif //#ifndef _SEQMAT_H_
Copied: issm/trunk/src/c/toolkits/issm/SeqMat.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/issm/SeqMat.h)
===================================================================
--- issm/trunk/src/c/toolkits/issm/SeqMat.h (rev 0)
+++ issm/trunk/src/c/toolkits/issm/SeqMat.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,63 @@
+/*!\file: SeqMat.h
+ * \brief wrapper to SeqMat objects, which are just wrappers to a simple double* buffer.
+ */
+
+#ifndef _SEQMAT_H_
+#define _SEQMAT_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../toolkitsenums.h"
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+#endif
+
+/*}}}*/
+class SeqVec;
+
+class SeqMat{
+
+ public:
+
+ int M,N;
+ double* matrix;
+
+ /*SeqMat constructors, destructors {{{1*/
+ SeqMat();
+ SeqMat(int M,int N);
+ SeqMat(int M,int N,double sparsity);
+ SeqMat(double* serial_mat,int M,int N,double sparsity);
+ SeqMat(int M,int N,int connectivity,int numberofdofspernode);
+ ~SeqMat();
+ /*}}}*/
+ /*SeqMat specific routines {{{1*/
+ void Echo(void);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mxArray* ToMatlabMatrix(void);
+ #endif
+ void Assemble(void);
+ double Norm(NormMode norm_type);
+ void GetSize(int* pM,int* pN);
+ void GetLocalSize(int* pM,int* pN);
+ void MatMult(SeqVec* X,SeqVec* AX);
+ SeqMat* Duplicate(void);
+ double* ToSerial(void);
+ void SetValues(int m,int* idxm,int n,int* idxn,double* values,InsMode mode);
+ void Convert(MatrixType type);
+ /*}}}*/
+
+};
+
+/*API :*/
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+SeqMat* MatlabMatrixToSeqMat(const mxArray* dataref);
+#endif
+
+#endif //#ifndef _SEQMAT_H_
Deleted: issm/trunk/src/c/toolkits/issm/SeqVec.cpp
===================================================================
--- issm/trunk-jpl/src/c/toolkits/issm/SeqVec.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/issm/SeqVec.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,275 +0,0 @@
-/*!\file SeqVec.cpp
- * \brief: implementation of the SeqVec object
- */
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include "../toolkits.h"
-#include "../../shared/shared.h"
-
-/*}}}*/
-
-/*SeqVec constructors and destructor*/
-/*FUNCTION SeqVec::SeqVec(){{{1*/
-SeqVec::SeqVec(){
-
- this->M=0;
- this->vector=NULL;
-}
-/*}}}*/
-/*FUNCTION SeqVec::SeqVec(int M,bool fromlocalsize){{{1*/
-SeqVec::SeqVec(int pM,bool fromlocalsize){
-
- this->M=pM;
- this->vector=NULL;
- if(this->M) this->vector=(double*)xcalloc(pM,sizeof(double));
-}
-/*}}}*/
-/*FUNCTION SeqVec::SeqVec(double* serial_vec,int M){{{1*/
-SeqVec::SeqVec(double* buffer,int pM){
-
- int i,j;
-
- this->M=pM;
- this->vector=NULL;
- if(this->M){
- this->vector=(double*)xcalloc(pM,sizeof(double));
- memcpy(this->vector,buffer,pM*sizeof(double));
- }
-}
-/*}}}*/
- /*FUNCTION SeqVec::~SeqVec(){{{1*/
-SeqVec::~SeqVec(){
- xfree((void**)&this->vector);
- M=0;
-}
-/*}}}*/
-
-/*SeqVec specific routines: */
-/*FUNCTION SeqVec::Echo{{{1*/
-void SeqVec::Echo(void){
-
- int i;
- printf("SeqVec size %i\n",this->M);
- for(i=0;i<M;i++){
- printf("%g\n ",vector[i]);
- }
-}
-/*}}}*/
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-/*FUNCTION SeqVec::ToMatlabVector{{{1*/
-mxArray* SeqVec::ToMatlabVector(void){
-
- double* buffer=NULL;
-
- mxArray* dataref=NULL;
-
- /*copy vector into a new buffer: */
- if(this->M){
- buffer=(double*)xmalloc(this->M*sizeof(double));
- memcpy(buffer,vector,M*sizeof(double));
-
- dataref = mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(dataref,this->M);
- mxSetN(dataref,1);
- mxSetPr(dataref,buffer);
- }
- else dataref = mxCreateDoubleMatrix(0,0,mxREAL);
-
-
- /*do not erase buffer!: */
- return dataref;
-
-}
-/*}}}*/
-/*FUNCTION MatlabVectorToSeqVec{{{1*/
-SeqVec* MatlabVectorToSeqVec(const mxArray* dataref){
-
- SeqVec* output=NULL;
-
- output=new SeqVec();
- MatlabVectorToDoubleVector(&output->vector,&output->M,dataref);
- return output;
-
-}
-/*}}}*/
-#endif
-/*FUNCTION SeqVec::Assemble{{{1*/
-void SeqVec::Assemble(void){
-
- /*do nothing*/
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::SetValues{{{1*/
-void SeqVec::SetValues(int ssize, int* list, double* values, InsMode mode){
-
- int i;
- switch(mode){
- case ADD_VAL:
- for(i=0;i<ssize;i++) this->vector[list[i]]+=values[i];
- break;
- case INS_VAL:
- for(i=0;i<ssize;i++) this->vector[list[i]]=values[i];
- break;
- default:
- _error_("unknown insert mode!");
- break;
- }
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::SetValue{{{1*/
-void SeqVec::SetValue(int dof, double value, InsMode mode){
-
- switch(mode){
- case ADD_VAL:
- this->vector[dof]+=value;
- break;
- case INS_VAL:
- this->vector[dof]=value;
- break;
- default:
- _error_("unknown insert mode!");
- break;
- }
-}
-/*}}}*/
-/*FUNCTION SeqVec::GetValue{{{1*/
-void SeqVec::GetValue(double* pvalue,int dof){
-
- *pvalue=this->vector[dof];
-
-}
-/*}}}*/
-
-/*FUNCTION SeqVec::GetSize{{{1*/
-void SeqVec::GetSize(int* pM){
-
- *pM=this->M;
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::GetLocalSize{{{1*/
-void SeqVec::GetLocalSize(int* pM){
-
- *pM=this->M;
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::Duplicate{{{1*/
-SeqVec* SeqVec::Duplicate(void){
-
- return new SeqVec(this->vector,this->M);
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::Set{{{1*/
-void SeqVec::Set(double value){
-
- int i;
- for(i=0;i<this->M;i++)this->vector[i]=value;
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::AXPY{{{1*/
-void SeqVec::AXPY(SeqVec* X, double a){
-
- int i;
-
- /*y=a*x+y where this->vector is y*/
- for(i=0;i<this->M;i++)this->vector[i]=a*X->vector[i]+this->vector[i];
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::AYPX{{{1*/
-void SeqVec::AYPX(SeqVec* X, double a){
-
- int i;
-
- /*y=x+a*y where this->vector is y*/
- for(i=0;i<this->M;i++)this->vector[i]=X->vector[i]+a*this->vector[i];
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::ToMPISerial{{{1*/
-double* SeqVec::ToMPISerial(void){
-
- double* buffer=NULL;
-
- if(this->M){
- buffer=(double*)xmalloc(this->M*sizeof(double));
- memcpy(buffer,this->vector,this->M*sizeof(double));
- }
- return buffer;
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::Copy{{{1*/
-void SeqVec::Copy(SeqVec* to){
-
- int i;
-
- to->M=this->M;
- for(i=0;i<this->M;i++)to->vector[i]=this->vector[i];
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::Norm{{{1*/
-double SeqVec::Norm(NormMode mode){
-
- double norm;
- int i;
-
- switch(mode){
- case NORM_INF:
- norm=0; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i]));
- return norm;
- break;
- case NORM_TWO:
- norm=0;
- for(i=0;i<this->M;i++)norm+=pow(this->vector[i],2);
- return sqrt(norm);
- break;
- default:
- _error_("unknown norm !");
- break;
- }
-}
-/*}}}*/
-/*FUNCTION SeqVec::Scale{{{1*/
-void SeqVec::Scale(double scale_factor){
-
- int i;
- for(i=0;i<this->M;i++)this->vector[i]=scale_factor*this->vector[i];
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::Dot{{{1*/
-double SeqVec::Dot(SeqVec* input){
-
- int i;
-
- double dot=0;
- for(i=0;i<this->M;i++)dot+=this->vector[i]*input->vector[i];
- return dot;
-
-}
-/*}}}*/
-/*FUNCTION SeqVec::PointwiseDivide{{{1*/
-void SeqVec::PointwiseDivide(SeqVec* x,SeqVec* y){
-
- int i;
- /*pointwise w=x/y where this->vector is w: */
- for(i=0;i<this->M;i++)this->vector[i]=x->vector[i]/y->vector[i];
-}
-/*}}}*/
Copied: issm/trunk/src/c/toolkits/issm/SeqVec.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/issm/SeqVec.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/issm/SeqVec.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/issm/SeqVec.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,275 @@
+/*!\file SeqVec.cpp
+ * \brief: implementation of the SeqVec object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../toolkits.h"
+#include "../../shared/shared.h"
+
+/*}}}*/
+
+/*SeqVec constructors and destructor*/
+/*FUNCTION SeqVec::SeqVec(){{{1*/
+SeqVec::SeqVec(){
+
+ this->M=0;
+ this->vector=NULL;
+}
+/*}}}*/
+/*FUNCTION SeqVec::SeqVec(int M,bool fromlocalsize){{{1*/
+SeqVec::SeqVec(int pM,bool fromlocalsize){
+
+ this->M=pM;
+ this->vector=NULL;
+ if(this->M) this->vector=(double*)xcalloc(pM,sizeof(double));
+}
+/*}}}*/
+/*FUNCTION SeqVec::SeqVec(double* serial_vec,int M){{{1*/
+SeqVec::SeqVec(double* buffer,int pM){
+
+ int i,j;
+
+ this->M=pM;
+ this->vector=NULL;
+ if(this->M){
+ this->vector=(double*)xcalloc(pM,sizeof(double));
+ memcpy(this->vector,buffer,pM*sizeof(double));
+ }
+}
+/*}}}*/
+ /*FUNCTION SeqVec::~SeqVec(){{{1*/
+SeqVec::~SeqVec(){
+ xfree((void**)&this->vector);
+ M=0;
+}
+/*}}}*/
+
+/*SeqVec specific routines: */
+/*FUNCTION SeqVec::Echo{{{1*/
+void SeqVec::Echo(void){
+
+ int i;
+ printf("SeqVec size %i\n",this->M);
+ for(i=0;i<M;i++){
+ printf("%g\n ",vector[i]);
+ }
+}
+/*}}}*/
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+/*FUNCTION SeqVec::ToMatlabVector{{{1*/
+mxArray* SeqVec::ToMatlabVector(void){
+
+ double* buffer=NULL;
+
+ mxArray* dataref=NULL;
+
+ /*copy vector into a new buffer: */
+ if(this->M){
+ buffer=(double*)xmalloc(this->M*sizeof(double));
+ memcpy(buffer,vector,M*sizeof(double));
+
+ dataref = mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(dataref,this->M);
+ mxSetN(dataref,1);
+ mxSetPr(dataref,buffer);
+ }
+ else dataref = mxCreateDoubleMatrix(0,0,mxREAL);
+
+
+ /*do not erase buffer!: */
+ return dataref;
+
+}
+/*}}}*/
+/*FUNCTION MatlabVectorToSeqVec{{{1*/
+SeqVec* MatlabVectorToSeqVec(const mxArray* dataref){
+
+ SeqVec* output=NULL;
+
+ output=new SeqVec();
+ MatlabVectorToDoubleVector(&output->vector,&output->M,dataref);
+ return output;
+
+}
+/*}}}*/
+#endif
+/*FUNCTION SeqVec::Assemble{{{1*/
+void SeqVec::Assemble(void){
+
+ /*do nothing*/
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::SetValues{{{1*/
+void SeqVec::SetValues(int ssize, int* list, double* values, InsMode mode){
+
+ int i;
+ switch(mode){
+ case ADD_VAL:
+ for(i=0;i<ssize;i++) this->vector[list[i]]+=values[i];
+ break;
+ case INS_VAL:
+ for(i=0;i<ssize;i++) this->vector[list[i]]=values[i];
+ break;
+ default:
+ _error_("unknown insert mode!");
+ break;
+ }
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::SetValue{{{1*/
+void SeqVec::SetValue(int dof, double value, InsMode mode){
+
+ switch(mode){
+ case ADD_VAL:
+ this->vector[dof]+=value;
+ break;
+ case INS_VAL:
+ this->vector[dof]=value;
+ break;
+ default:
+ _error_("unknown insert mode!");
+ break;
+ }
+}
+/*}}}*/
+/*FUNCTION SeqVec::GetValue{{{1*/
+void SeqVec::GetValue(double* pvalue,int dof){
+
+ *pvalue=this->vector[dof];
+
+}
+/*}}}*/
+
+/*FUNCTION SeqVec::GetSize{{{1*/
+void SeqVec::GetSize(int* pM){
+
+ *pM=this->M;
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::GetLocalSize{{{1*/
+void SeqVec::GetLocalSize(int* pM){
+
+ *pM=this->M;
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::Duplicate{{{1*/
+SeqVec* SeqVec::Duplicate(void){
+
+ return new SeqVec(this->vector,this->M);
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::Set{{{1*/
+void SeqVec::Set(double value){
+
+ int i;
+ for(i=0;i<this->M;i++)this->vector[i]=value;
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::AXPY{{{1*/
+void SeqVec::AXPY(SeqVec* X, double a){
+
+ int i;
+
+ /*y=a*x+y where this->vector is y*/
+ for(i=0;i<this->M;i++)this->vector[i]=a*X->vector[i]+this->vector[i];
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::AYPX{{{1*/
+void SeqVec::AYPX(SeqVec* X, double a){
+
+ int i;
+
+ /*y=x+a*y where this->vector is y*/
+ for(i=0;i<this->M;i++)this->vector[i]=X->vector[i]+a*this->vector[i];
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::ToMPISerial{{{1*/
+double* SeqVec::ToMPISerial(void){
+
+ double* buffer=NULL;
+
+ if(this->M){
+ buffer=(double*)xmalloc(this->M*sizeof(double));
+ memcpy(buffer,this->vector,this->M*sizeof(double));
+ }
+ return buffer;
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::Copy{{{1*/
+void SeqVec::Copy(SeqVec* to){
+
+ int i;
+
+ to->M=this->M;
+ for(i=0;i<this->M;i++)to->vector[i]=this->vector[i];
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::Norm{{{1*/
+double SeqVec::Norm(NormMode mode){
+
+ double norm;
+ int i;
+
+ switch(mode){
+ case NORM_INF:
+ norm=0; for(i=0;i<this->M;i++)norm=max(norm,fabs(this->vector[i]));
+ return norm;
+ break;
+ case NORM_TWO:
+ norm=0;
+ for(i=0;i<this->M;i++)norm+=pow(this->vector[i],2);
+ return sqrt(norm);
+ break;
+ default:
+ _error_("unknown norm !");
+ break;
+ }
+}
+/*}}}*/
+/*FUNCTION SeqVec::Scale{{{1*/
+void SeqVec::Scale(double scale_factor){
+
+ int i;
+ for(i=0;i<this->M;i++)this->vector[i]=scale_factor*this->vector[i];
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::Dot{{{1*/
+double SeqVec::Dot(SeqVec* input){
+
+ int i;
+
+ double dot=0;
+ for(i=0;i<this->M;i++)dot+=this->vector[i]*input->vector[i];
+ return dot;
+
+}
+/*}}}*/
+/*FUNCTION SeqVec::PointwiseDivide{{{1*/
+void SeqVec::PointwiseDivide(SeqVec* x,SeqVec* y){
+
+ int i;
+ /*pointwise w=x/y where this->vector is w: */
+ for(i=0;i<this->M;i++)this->vector[i]=x->vector[i]/y->vector[i];
+}
+/*}}}*/
Deleted: issm/trunk/src/c/toolkits/issm/SeqVec.h
===================================================================
--- issm/trunk-jpl/src/c/toolkits/issm/SeqVec.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/issm/SeqVec.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,67 +0,0 @@
-/*!\file: SeqVec.h
- * \brief wrapper to our SeqVec object, which is just a wrapper to a double*
- */
-
-#ifndef _SEQVEC_H_
-#define _SEQVEC_H_
-
-/*Headers:*/
-/*{{{1*/
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-#include "../toolkitsenums.h"
-
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-#include "mex.h"
-#endif
-
-/*}}}*/
-
-class SeqVec{
-
- public:
-
- double* vector;
- int M;
-
- /*SeqVec constructors, destructors {{{1*/
- SeqVec();
- SeqVec(int M,bool fromlocalsize=false);
- SeqVec(double* buffer, int M);
- ~SeqVec();
- /*}}}*/
- /*SeqVec specific routines {{{1*/
- void Echo(void);
- #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
- mxArray* ToMatlabVector(void);
- #endif
- void Assemble(void);
- void SetValues(int ssize, int* list, double* values, InsMode mode);
- void SetValue(int dof, double value, InsMode mode);
- void GetValue(double* pvalue, int dof);
- void GetSize(int* pM);
- void GetLocalSize(int* pM);
- SeqVec* Duplicate(void);
- void Set(double value);
- void AXPY(SeqVec* X, double a);
- void AYPX(SeqVec* X, double a);
- double* ToMPISerial(void);
- void Copy(SeqVec* to);
- double Norm(NormMode norm_type);
- void Scale(double scale_factor);
- void PointwiseDivide(SeqVec* x,SeqVec* y);
- double Dot(SeqVec* vector);
- /*}}}*/
-};
-
-
-/*API :*/
-#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
-SeqVec* MatlabVectorToSeqVec(const mxArray* dataref);
-#endif
-
-#endif //#ifndef _SEQVEC_H_
Copied: issm/trunk/src/c/toolkits/issm/SeqVec.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/issm/SeqVec.h)
===================================================================
--- issm/trunk/src/c/toolkits/issm/SeqVec.h (rev 0)
+++ issm/trunk/src/c/toolkits/issm/SeqVec.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,67 @@
+/*!\file: SeqVec.h
+ * \brief wrapper to our SeqVec object, which is just a wrapper to a double*
+ */
+
+#ifndef _SEQVEC_H_
+#define _SEQVEC_H_
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../toolkitsenums.h"
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "mex.h"
+#endif
+
+/*}}}*/
+
+class SeqVec{
+
+ public:
+
+ double* vector;
+ int M;
+
+ /*SeqVec constructors, destructors {{{1*/
+ SeqVec();
+ SeqVec(int M,bool fromlocalsize=false);
+ SeqVec(double* buffer, int M);
+ ~SeqVec();
+ /*}}}*/
+ /*SeqVec specific routines {{{1*/
+ void Echo(void);
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+ mxArray* ToMatlabVector(void);
+ #endif
+ void Assemble(void);
+ void SetValues(int ssize, int* list, double* values, InsMode mode);
+ void SetValue(int dof, double value, InsMode mode);
+ void GetValue(double* pvalue, int dof);
+ void GetSize(int* pM);
+ void GetLocalSize(int* pM);
+ SeqVec* Duplicate(void);
+ void Set(double value);
+ void AXPY(SeqVec* X, double a);
+ void AYPX(SeqVec* X, double a);
+ double* ToMPISerial(void);
+ void Copy(SeqVec* to);
+ double Norm(NormMode norm_type);
+ void Scale(double scale_factor);
+ void PointwiseDivide(SeqVec* x,SeqVec* y);
+ double Dot(SeqVec* vector);
+ /*}}}*/
+};
+
+
+/*API :*/
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+SeqVec* MatlabVectorToSeqVec(const mxArray* dataref);
+#endif
+
+#endif //#ifndef _SEQVEC_H_
Deleted: issm/trunk/src/c/toolkits/issm/issmtoolkit.h
===================================================================
--- issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/issm/issmtoolkit.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-/* \file issmtoolkit.h
- * \brief all includes for MPI layer
- */
-
-#ifndef _ISSM_TOOLKIT_H_
-#define _ISSM_TOOLKIT_H_
-
-#include "./SeqMat.h"
-#include "./SeqVec.h"
-
-#endif
Copied: issm/trunk/src/c/toolkits/issm/issmtoolkit.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h)
===================================================================
--- issm/trunk/src/c/toolkits/issm/issmtoolkit.h (rev 0)
+++ issm/trunk/src/c/toolkits/issm/issmtoolkit.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+/* \file issmtoolkit.h
+ * \brief all includes for MPI layer
+ */
+
+#ifndef _ISSM_TOOLKIT_H_
+#define _ISSM_TOOLKIT_H_
+
+#include "./SeqMat.h"
+#include "./SeqVec.h"
+
+#endif
Modified: issm/trunk/src/c/toolkits/matlab/MatlabNArrayToNArray.cpp
===================================================================
--- issm/trunk/src/c/toolkits/matlab/MatlabNArrayToNArray.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/matlab/MatlabNArrayToNArray.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,7 +12,7 @@
#include "../../shared/shared.h"
#include "../../include/include.h"
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
/*FUNCTION MatlabNArrayToNArray(double** pmatrix,int* pmatrix_numel,int* pmatrix_ndims,int** pmatrix_size,const mxArray* mxmatrix){{{1*/
Modified: issm/trunk/src/c/toolkits/matlab/matlabincludes.h
===================================================================
--- issm/trunk/src/c/toolkits/matlab/matlabincludes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/matlab/matlabincludes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,11 @@
#ifndef _MATLAB_INCLUDES_H_
#define _MATLAB_INCLUDES_H_
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include <mex.h>
+class Matrix;
+class Vector;
+
int MatlabNArrayToNArray(double** pmatrix,int* pmatrix_numel,int* pmatrix_ndims,int** pmatrix_size,const mxArray* mxmatrix);
int MatlabNArrayToNArray(bool** pmatrix,int* pmatrix_numel,int* pmatrix_ndims,int** pmatrix_size,const mxArray* mxmatrix);
int MatlabNArrayToNArray(char** pmatrix,int* pmatrix_numel,int* pmatrix_ndims,int** pmatrix_size,const mxArray* mxmatrix);
Copied: issm/trunk/src/c/toolkits/mpi/patches/DetermineLocalSize.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/mpi/patches/DetermineLocalSize.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/mpi/patches/DetermineLocalSize.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/mpi/patches/DetermineLocalSize.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,50 @@
+/* \file DetermineLocalSize.cpp
+ * \brief: routine to determine local size of a global petsc matrix or vector.
+ */
+
+#include <stdio.h>
+#include <math.h>
+
+
+#include "../../../shared/shared.h"
+
+int DetermineLocalSize(int global_size){
+
+ /*output: */
+ int local_size;
+
+ /*intermediary: */
+ int i;
+ int row_rest;
+ int* num_local_rows=NULL;
+
+ /*from MPI: */
+ extern int num_procs;
+ extern int my_rank;
+
+ /*We are not bound by any library, just use what seems most logical*/
+ num_local_rows=(int*)xmalloc(num_procs*sizeof(int));
+
+ for (i=0;i<num_procs;i++){
+
+ /*Here, we use floor. We under distribute rows. The rows
+ left are then redistributed, therefore resulting in a
+ more even distribution.*/
+ num_local_rows[i]=(int)floor((double)global_size/(double)num_procs);
+ }
+
+ /*There may be some rows left. Distribute evenly.*/
+ row_rest=global_size - num_procs*(int)floor((double)global_size/(double)num_procs);
+ for (i=0;i<row_rest;i++){
+ num_local_rows[i]++;
+ }
+
+ local_size=num_local_rows[my_rank];
+
+ /*free ressources: */
+ xfree((void**)&num_local_rows);
+
+ /*return size: */
+ return local_size;
+
+}
Modified: issm/trunk/src/c/toolkits/mpi/patches/MPI_Boundariesfromrange.cpp
===================================================================
--- issm/trunk/src/c/toolkits/mpi/patches/MPI_Boundariesfromrange.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/mpi/patches/MPI_Boundariesfromrange.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,7 +3,6 @@
* bounds for the current cpu.
*/
-#include "../../petsc/patches/petscpatches.h"
#include "./mpipatches.h"
#include "../../../shared/shared.h"
Modified: issm/trunk/src/c/toolkits/mpi/patches/MPI_Lowerrow.cpp
===================================================================
--- issm/trunk/src/c/toolkits/mpi/patches/MPI_Lowerrow.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/mpi/patches/MPI_Lowerrow.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,7 +6,6 @@
* This ensures easy parallelisation of loops if needed.
*/
-#include "../../petsc/patches/petscpatches.h"
#include "./mpipatches.h"
int MPI_Lowerrow(int n){
@@ -18,7 +17,7 @@
/*First, figure out our range : */
- range=PetscDetermineLocalSize(n);
+ range=DetermineLocalSize(n);
/*Now determien upper and lower boundaries: */
MPI_Boundariesfromrange(&lower_row,&upper_row,range);
Modified: issm/trunk/src/c/toolkits/mpi/patches/MPI_Upperrow.cpp
===================================================================
--- issm/trunk/src/c/toolkits/mpi/patches/MPI_Upperrow.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/mpi/patches/MPI_Upperrow.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,7 +6,6 @@
* This ensures easy parallelisation of loops if needed.
*/
-#include "../../petsc/patches/petscpatches.h"
#include "./mpipatches.h"
int MPI_Upperrow(int n){
@@ -16,7 +15,7 @@
int upper_row;
/*First, figure out our range : */
- range=PetscDetermineLocalSize(n);
+ range=DetermineLocalSize(n);
/*Now determien upper and lower boundaries: */
MPI_Boundariesfromrange(&lower_row,&upper_row,range);
Modified: issm/trunk/src/c/toolkits/mpi/patches/mpipatches.h
===================================================================
--- issm/trunk/src/c/toolkits/mpi/patches/mpipatches.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/mpi/patches/mpipatches.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
int MPI_Boundariesfromrange(int* plower_row, int* pupper_row,int range);
int MPI_Lowerrow(int n);
int MPI_Upperrow(int n);
+int DetermineLocalSize(int global_size);
Copied: issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscInsertMode.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,35 @@
+/* \file ISSMToPetscInsertMode.cpp
+ * \brief: convert InsertMode from ISSM to Petsc
+ */
+
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+/*Petsc includes: */
+#include "petscmat.h"
+#include "petscvec.h"
+#include "petscksp.h"
+
+/*ISSM includes: */
+#include "../../toolkitsenums.h"
+#include "../../../shared/shared.h"
+
+
+InsertMode ISSMToPetscInsertMode(InsMode mode){
+
+ switch(mode){
+ case ADD_VAL:
+ return ADD_VALUES;
+ break;
+ case INS_VAL:
+ return INSERT_VALUES;
+ break;
+ default:
+ _error_("unknown insert mode!");
+ break;
+ }
+}
Copied: issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscMatrixType.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,35 @@
+/* \file ISSMToPetscMatrixType.cpp
+ * \brief: convert MatrixType from ISSM to Petsc
+ */
+
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+/*Petsc includes: */
+#include "petscmat.h"
+#include "petscvec.h"
+#include "petscksp.h"
+
+/*ISSM includes: */
+#include "../../toolkitsenums.h"
+#include "../../../shared/shared.h"
+
+
+MatType ISSMToPetscMatrixType(MatrixType type){
+
+ switch(type){
+ case DENSE_SEQUENTIAL:
+ return MATSEQDENSE;
+ break;
+ case SPARSE_SEQUENTIAL:
+ return MATSEQAIJ;
+ break;
+ default:
+ _error_("unknown matrix type !");
+ break;
+ }
+}
Copied: issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp (from rev 11994, issm/trunk-jpl/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp)
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp (rev 0)
+++ issm/trunk/src/c/toolkits/petsc/patches/ISSMToPetscNormMode.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,35 @@
+/* \file ISSMToPetscNormMode.cpp
+ * \brief: convert NormMode from ISSM to Petsc
+ */
+
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+/*Petsc includes: */
+#include "petscmat.h"
+#include "petscvec.h"
+#include "petscksp.h"
+
+/*ISSM includes: */
+#include "../../toolkitsenums.h"
+#include "../../../shared/shared.h"
+
+
+NormType ISSMToPetscNormMode(NormMode mode){
+
+ switch(mode){
+ case NORM_INF:
+ return NORM_INFINITY;
+ break;
+ case NORM_TWO:
+ return NORM_2;
+ break;
+ default:
+ _error_("unknown norm !");
+ break;
+ }
+}
Modified: issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatInvert.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -55,7 +55,7 @@
MatAssemblyBegin(inv,MAT_FINAL_ASSEMBLY);
MatAssemblyEnd(inv,MAT_FINAL_ASSEMBLY);
- #ifdef _SERIAL_
+ #if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
MatConvert(inv, MATSEQAIJ,MAT_REUSE_MATRIX,&inv);
#else
MatConvert(inv, MATMPIAIJ,MAT_REUSE_MATRIX,&inv);
Modified: issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatPartition.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,6 +14,7 @@
#include "petscksp.h"
#include "../../../shared/shared.h"
+#include "../../mpi/patches/mpipatches.h"
int MatPartition(Mat* poutmatrix,Mat matrixA,double* row_partition_vector,int row_partition_vector_size ,
double* col_partition_vector,int col_partition_vector_size){
@@ -46,11 +47,22 @@
if (strcmp(type,"mpiaij")==0){
d_nz=0;
o_nz=0;
+ #ifdef _HAVE_PETSCDEV_
+ MatCreateAIJ(MPI_COMM_WORLD,PETSC_DETERMINE,PETSC_DETERMINE, 0,0,d_nz,PETSC_NULL,o_nz,PETSC_NULL,&outmatrix);
+ #else
MatCreateMPIAIJ(MPI_COMM_WORLD,PETSC_DETERMINE,PETSC_DETERMINE, 0,0,d_nz,PETSC_NULL,o_nz,PETSC_NULL,&outmatrix);
+ #endif
}
else if (strcmp(type,"mpidense")==0){
+ #ifdef _HAVE_PETSCDEV_
+ MatCreateDense(MPI_COMM_WORLD,PETSC_DETERMINE,PETSC_DETERMINE, 0,0,PETSC_NULL,&outmatrix);
+ #else
MatCreateMPIDense(MPI_COMM_WORLD,PETSC_DETERMINE,PETSC_DETERMINE, 0,0,PETSC_NULL,&outmatrix);
+ #endif
}
+ else{
+ _error_("MatType %s not supported yet",type);
+ }
/*Assemble*/
MatAssemblyBegin(outmatrix,MAT_FINAL_ASSEMBLY);
MatAssemblyEnd(outmatrix,MAT_FINAL_ASSEMBLY);
@@ -96,7 +108,7 @@
#endif
/*Call MatGetSubMatrix*/
- csize=PetscDetermineLocalSize(col_partition_vector_size);
+ csize=DetermineLocalSize(col_partition_vector_size);
if(col_partition_vector_size==row_partition_vector_size){
#if _PETSC_MAJOR_ >= 3
MatGetSubMatrix(matrixA,row_index,col_index,MAT_INITIAL_MATRIX,&outmatrix);
Modified: issm/trunk/src/c/toolkits/petsc/patches/MatToSerial.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatToSerial.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatToSerial.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -2,6 +2,13 @@
* \brief gather a Petsc Mat matrix onto cpu 0
*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
#include "../petscincludes.h"
#include "../../../shared/shared.h"
Deleted: issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToDoubleMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,97 +0,0 @@
-/* \file MatlabMatrixToDoubleMatrix.cpp
- * \brief: convert a sparse or dense matlab matrix to a double* pointer
- */
-
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#ifdef _SERIAL_
-
-/*Petsc includes: */
-#include "petscmat.h"
-#include "petscvec.h"
-#include "petscksp.h"
-
-/*Matlab includes: */
-#include "mex.h"
-
-#include "../../../shared/shared.h"
-
-int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix){
-
- int rows, cols;
- double* mxmatrix_ptr=NULL;
- int ierr;
- int i,j;
-
- /*output: */
- double* matrix=NULL;
-
- /*matlab indices: */
- mwIndex* ir=NULL;
- mwIndex* jc=NULL;
- double* pr=NULL;
- int count;
- int nnz;
- int nz;
-
- /*Ok, first check if we are dealing with a sparse or full matrix: */
- if (mxIsSparse(mxmatrix)){
-
- /*Dealing with sparse matrix: recover size first: */
- mxmatrix_ptr=(double*)mxGetPr(mxmatrix);
- rows=mxGetM(mxmatrix);
- cols=mxGetN(mxmatrix);
- nnz=mxGetNzmax(mxmatrix);
- nz=(int)((double)nnz/(double)rows);
-
- matrix=(double*)xcalloc(rows*cols,sizeof(double));
-
- /*Now, get ir,jc and pr: */
- pr=mxGetPr(mxmatrix);
- ir=mxGetIr(mxmatrix);
- jc=mxGetJc(mxmatrix);
-
- /*Now, start inserting data into double* matrix: */
- count=0;
- for(i=0;i<cols;i++){
- for(j=0;j<(jc[i+1]-jc[i]);j++){
- *(matrix+rows*ir[count]+i)=pr[count];
- count++;
- }
- }
-
- }
- else{
-
-
- /*Dealing with dense matrix: recover pointer and size: */
- mxmatrix_ptr=(double*)mxGetPr(mxmatrix);
- rows=mxGetM(mxmatrix);
- cols=mxGetN(mxmatrix);
-
-
- /*Create serial matrix: */
- matrix=(double*)xcalloc(rows*cols,sizeof(double));
-
- for(i=0;i<rows;i++){
- for(j=0;j<cols;j++){
- *(matrix+cols*i+j)=*(mxmatrix_ptr+rows*j+i);
- }
- }
-
- }
-
- /*Assign output pointer: */
- *pmatrix=matrix;
- *pmatrix_rows=rows;
- *pmatrix_cols=cols;
-
- return 1;
-}
-#endif
Modified: issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatlabMatrixToPetscMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*Petsc includes: */
#include "petscmat.h"
@@ -115,8 +115,8 @@
/*Assign output pointer: */
*pmatrix=matrix;
- *pmatrix_rows=rows;
- *pmatrix_cols=cols;
+ if(pmatrix_rows) *pmatrix_rows=rows;
+ if(pmatrix_cols) *pmatrix_cols=cols;
return 1;
}
Deleted: issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToDoubleVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,98 +0,0 @@
-/* \file MatlabVectorToDoubleVector.cpp
- * \brief: convert a sparse or dense matlab vector to a serial vector:
- */
-
-
-#ifdef HAVE_CONFIG_H
- #include <config.h>
-#else
-#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
-#endif
-
-
-#ifdef _SERIAL_
-
-#include <string.h>
-
-/*Petsc includes: */
-#include "petscmat.h"
-#include "petscvec.h"
-#include "petscksp.h"
-
-
-/*Matlab includes: */
-#include "mex.h"
-
-#include "../../../shared/shared.h"
-
-int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector){
-
- int rows,cols;
- double* mxvector_ptr=NULL;
- int ierr;
- int i,j;
-
- /*output: */
- double* vector=NULL;
-
- /*matlab indices: */
- mwIndex* ir=NULL;
- mwIndex* jc=NULL;
- double* pr=NULL;
- int count;
- int nnz;
- int nz;
-
- /*Ok, first check if we are dealing with a sparse or full vector: */
- if (mxIsSparse(mxvector)){
-
- /*Dealing with sparse vector: recover size first: */
- mxvector_ptr=(double*)mxGetPr(mxvector);
- rows=mxGetM(mxvector);
- cols=mxGetN(mxvector);
- nnz=mxGetNzmax(mxvector);
-
- /*Check that input is actualy a vector*/
- if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
-
- nz=(int)((double)nnz/(double)rows);
-
- vector=(double*)xcalloc(rows,sizeof(double));
-
- /*Now, get ir,jc and pr: */
- pr=mxGetPr(mxvector);
- ir=mxGetIr(mxvector);
- jc=mxGetJc(mxvector);
-
- /*Now, start inserting data into sparse vector: */
- count=0;
- for(i=0;i<cols;i++){
- for(j=0;j<(jc[i+1]-jc[i]);j++){
- vector[ir[count]]=pr[count];
- count++;
- }
- }
-
- }
- else{
-
- /*Dealing with dense vector: recover pointer and size: */
- mxvector_ptr=(double*)mxGetPr(mxvector);
- rows=mxGetM(mxvector);
- cols=mxGetN(mxvector);
-
- /*Check that input is actualy a vector*/
- if (cols!=1) _error_("input vector of size %ix%i should have only one column",rows,cols);
-
- /*allocate and memcpy*/
- vector=(double*)xmalloc(rows*sizeof(double));
- memcpy(vector,mxvector_ptr,rows*sizeof(double));
- }
-
- /*Assign output pointer: */
- *pvector=vector;
- *pvector_rows=rows;
-
- return 1;
-}
-#endif
Modified: issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToPetscVector.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToPetscVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/MatlabVectorToPetscVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*Petsc includes: */
#include "petscmat.h"
@@ -93,7 +93,6 @@
VecAssemblyBegin(vector);
VecAssemblyEnd(vector);
-
/*Assign output pointer: */
*pvector=vector;
*pvector_rows=rows;
Modified: issm/trunk/src/c/toolkits/petsc/patches/NewMat.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/NewMat.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/NewMat.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,6 +17,7 @@
#include "../../../shared/shared.h"
#include "../../../include/include.h"
+#include "../../mpi/patches/mpipatches.h"
/*NewMat(int M,int N){{{1*/
Mat NewMat(int M,int N){
@@ -30,14 +31,18 @@
int d_nz,o_nz,nnz;
/*Determine local sizes: */
- m=PetscDetermineLocalSize(M);
- n=PetscDetermineLocalSize(N);
+ m=DetermineLocalSize(M);
+ n=DetermineLocalSize(N);
nnz=(int)((double)M*(double)N*sparsity); //number of non zeros.
d_nz=(int)((double)nnz/(double)M/2.0); //number of non zeros per row/2
o_nz=(int)((double)nnz/(double)M/2.0); //number of non zeros per row/2
+ #ifdef _HAVE_PETSCDEV_
+ MatCreateAIJ(MPI_COMM_WORLD,m,n,M,N,d_nz,NULL,o_nz,NULL,&outmatrix);
+ #else
MatCreateMPIAIJ(MPI_COMM_WORLD,m,n,M,N,d_nz,NULL,o_nz,NULL,&outmatrix);
+ #endif
return outmatrix;
}
@@ -54,14 +59,18 @@
int nnz;
/*Determine local sizes: */
- m=PetscDetermineLocalSize(M);
- n=PetscDetermineLocalSize(N);
+ m=DetermineLocalSize(M);
+ n=DetermineLocalSize(N);
nnz=(int)((double)M*(double)N*sparsity); //number of non zeros.
d_nz=(int)((double)nnz/(double)M/2.0); //number of non zeros per row/2
o_nz=(int)((double)nnz/(double)M/2.0); //number of non zeros per row/2
+ #ifdef _HAVE_PETSCDEV_
+ MatCreateAIJ(MPI_COMM_WORLD,m,n,M,N,d_nz,NULL,o_nz,NULL,&outmatrix);
+ #else
MatCreateMPIAIJ(MPI_COMM_WORLD,m,n,M,N,d_nz,NULL,o_nz,NULL,&outmatrix);
+ #endif
return outmatrix;
}
@@ -84,8 +93,8 @@
#endif
/*Determine local sizes: */
- m=PetscDetermineLocalSize(M);
- n=PetscDetermineLocalSize(N);
+ m=DetermineLocalSize(M);
+ n=DetermineLocalSize(N);
/*Figure out number of non zeros per row: */
d_nz=(int)connectivity*numberofdofspernode/2;
Modified: issm/trunk/src/c/toolkits/petsc/patches/NewVec.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/NewVec.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/NewVec.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,6 +14,7 @@
#include "petscksp.h"
#include "./petscpatches.h"
+#include "../../mpi/patches/mpipatches.h"
Vec NewVec(int size,bool fromlocalsize){
@@ -28,7 +29,7 @@
local_size=size;
}
else{
- local_size=PetscDetermineLocalSize(size);
+ local_size=DetermineLocalSize(size);
}
VecCreate(PETSC_COMM_WORLD,&vector);
Deleted: issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,50 +0,0 @@
-/* \file PetscDetermineLocalSize.cpp
- * \brief: routine to determine local size of a global petsc matrix or vector.
- */
-
-#include <stdio.h>
-#include <math.h>
-
-
-#include "../../../shared/shared.h"
-
-int PetscDetermineLocalSize(int global_size){
-
- /*output: */
- int local_size;
-
- /*intermediary: */
- int i;
- int row_rest;
- int* num_local_rows=NULL;
-
- /*from MPI: */
- extern int num_procs;
- extern int my_rank;
-
- /*We are not bound by any library, just use what seems most logical*/
- num_local_rows=(int*)xmalloc(num_procs*sizeof(int));
-
- for (i=0;i<num_procs;i++){
-
- /*Here, we use floor. We under distribute rows. The rows
- left are then redistributed, therefore resulting in a
- more even distribution.*/
- num_local_rows[i]=(int)floor((double)global_size/(double)num_procs);
- }
-
- /*There may be some rows left. Distribute evenly.*/
- row_rest=global_size - num_procs*(int)floor((double)global_size/(double)num_procs);
- for (i=0;i<row_rest;i++){
- num_local_rows[i]++;
- }
-
- local_size=num_local_rows[my_rank];
-
- /*free ressources: */
- xfree((void**)&num_local_rows);
-
- /*return size: */
- return local_size;
-
-}
Modified: issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/PetscMatrixToMatlabMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*Petsc includes: */
#include "petscmat.h"
@@ -24,13 +24,12 @@
#include <string>
-int PetscMatrixToMatlabMatrix(mxArray** pdataref,Mat matrix){
+int PetscMatrixToMatlabMatrix(mxArray** pdataref,Mat tmatrix){
int i,j,k;
/*output: */
mxArray* dataref=NULL;
- mxArray* tdataref=NULL;
int rows,cols;
int ncols;
@@ -49,7 +48,14 @@
const char* type=NULL;
int* idxm=NULL;
int* idxn=NULL;
+ Mat matrix=NULL;
+
+ /*First off, we need to transpose the matrix using the Petsc API. We tried using the transpose operation from
+ * Matlab, but this ends up creating issues with lost pointers and references: */
+ MatTranspose(tmatrix,MAT_INITIAL_MATRIX,&matrix);
+
+ /*Some needed information: */
MatGetType(matrix,&type);
MatGetSize(matrix,&rows,&cols);
@@ -127,20 +133,18 @@
MatGetValues(matrix,rows,idxm,cols,idxn,matrix_ptr);
dataref = mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(dataref,rows);
- mxSetN(dataref,cols);
+ mxSetM(dataref,cols);
+ mxSetN(dataref,rows);
mxSetPr(dataref,(double*)matrix_ptr);
}
+ /*Free ressources:*/
+ MatFree(&matrix);
- /*Transpose matrcol_indes: */
- mexCallMATLAB(1,&tdataref,1,&dataref, "transpose");
-
-
/*Assign output pointers: */
- *pdataref=tdataref;
+ *pdataref=dataref;
return 1;
}
-#endif //#ifdef _SERIAL_
+#endif
Modified: issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -89,5 +89,9 @@
}
}
+#ifdef _HAVE_PETSCDEV_
+ PetscTokenDestroy(&token);
+#else
PetscTokenDestroy(token);
+#endif
}
Modified: issm/trunk/src/c/toolkits/petsc/patches/PetscVectorToMatlabVector.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/PetscVectorToMatlabVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/PetscVectorToMatlabVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
#endif
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
/*Petsc includes: */
#include "petscmat.h"
@@ -26,25 +26,28 @@
int PetscVectorToMatlabVector(mxArray** pdataref,Vec vector){
+ int i;
+ int rows;
+ int *idxm = NULL;
+ double *values = NULL;
- int i;
- int rows;
- int* idxm=NULL;
- double* values=NULL;
-
/*output: */
mxArray* dataref=NULL;
/*Get size of vector: */
- VecGetSize(vector,&rows);
+ if(vector){
+ VecGetSize(vector,&rows);
+ if(rows){
+ idxm=(int*)xmalloc(rows*sizeof(int));
+ values=(double*)xmalloc(rows*sizeof(double));
+ for(i=0;i<rows;i++)idxm[i]=i;
- if(rows){
- idxm=(int*)xmalloc(rows*sizeof(int));
- values=(double*)xmalloc(rows*sizeof(double));
- for(i=0;i<rows;i++)idxm[i]=i;
-
- VecGetValues(vector,rows,idxm,values);
+ VecGetValues(vector,rows,idxm,values);
+ }
}
+ else{
+ rows=0;
+ }
/*Using values, build a matlab vector: */
dataref = mxCreateDoubleMatrix(0,0,mxREAL);
@@ -60,6 +63,4 @@
return 1;
}
-
-#endif //#ifdef _SERIAL_
-
+#endif //#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
Modified: issm/trunk/src/c/toolkits/petsc/patches/SerialToVec.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/SerialToVec.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/SerialToVec.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,11 +13,6 @@
#include "petscvec.h"
#include "petscksp.h"
-/*Matlab includes: */
-#ifdef _SERIAL_
-#include "mex.h"
-#endif
-
#include "../../../shared/shared.h"
Vec SerialToVec(double* vector,int vector_size){
Modified: issm/trunk/src/c/toolkits/petsc/patches/VecToMPISerial.cpp
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/VecToMPISerial.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/VecToMPISerial.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -2,6 +2,13 @@
* \brief gather a Petsc Vector spread across the cluster, onto node 0, and then broadcast to all nodes.
*/
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
#include "../petscincludes.h"
#include "../../../shared/shared.h"
Modified: issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h
===================================================================
--- issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/patches/petscpatches.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,20 +11,18 @@
#include "petscsys.h"
#include "./SolverEnum.h"
+#include "../../toolkitsenums.h"
class Parameters;
-#ifdef _SERIAL_
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
#include "mex.h"
int MatlabMatrixToPetscMatrix(Mat* matrix,int* prows,int* pcols, const mxArray* mxmatrix);
int MatlabVectorToPetscVector(Vec* pvector,int* pvector_rows,const mxArray* mxvector);
int PetscMatrixToMatlabMatrix(mxArray** pdataref,Mat matrix);
int PetscVectorToMatlabVector(mxArray** pdataref,Vec vector);
-int MatlabMatrixToDoubleMatrix(double** pmatrix,int* pmatrix_rows,int* pmatrix_cols,const mxArray* mxmatrix);
-int MatlabVectorToDoubleVector(double** pvector,int* pvector_rows,const mxArray* mxvector);
#endif
-int PetscDetermineLocalSize(int global_size);
Vec NewVec(int size,bool fromlocalsize=false);
Mat NewMat(int M,int N);
Mat NewMat(int M,int N,double sparsity);
@@ -48,5 +46,8 @@
void MatToSerial(double** poutmatrix,Mat matrix);
void VecDuplicatePatch(Vec* output, Vec input);
Vec SerialToVec(double* vector,int vector_size);
+InsertMode ISSMToPetscInsertMode(InsMode mode);
+NormType ISSMToPetscNormMode(NormMode mode);
+MatType ISSMToPetscMatrixType(MatrixType type);
#endif
Modified: issm/trunk/src/c/toolkits/petsc/petscincludes.h
===================================================================
--- issm/trunk/src/c/toolkits/petsc/petscincludes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/petsc/petscincludes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,6 +5,8 @@
#ifndef _PETSC_INCLUDES_H_
#define _PETSC_INCLUDES_H_
+#ifdef _HAVE_PETSC_
+
/*Petsc includes: */
#include <petscmat.h>
#include <petscvec.h>
@@ -15,3 +17,4 @@
#include "patches/petscpatches.h"
#endif
+#endif
Modified: issm/trunk/src/c/toolkits/plapack/plapackincludes.h
===================================================================
--- issm/trunk/src/c/toolkits/plapack/plapackincludes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/plapack/plapackincludes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,13 +5,22 @@
#ifndef _PLA_INCLUDES_H_
#define _PLA_INCLUDES_H_
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
#include "PLA.h"
/* missing Plapack prototypes: */
int PLA_General_invert( int method, PLA_Obj A );
/*our own patches: */
+#ifdef _HAVE_PETSC_
#include "patches/petscpatches.h"
+#endif
#endif
Deleted: issm/trunk/src/c/toolkits/python/pythonincludes.h
===================================================================
--- issm/trunk-jpl/src/c/toolkits/python/pythonincludes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/python/pythonincludes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,24 +0,0 @@
-/* \file pythonincludes.h
- * \brief all includes for PYTHON layer
- */
-
-#ifndef _PYTHON_INCLUDES_H_
-#define _PYTHON_INCLUDES_H_
-
-
-#include "Python.h"
-#include "arrayobject.h"
-
-
-
-#ifdef _HAVE_BOOST_
-using namespace std;
-#include <boost/python/def.hpp>
-#include <boost/python.hpp>
-#include <boost/python/module.hpp>
-using namespace boost::python;
-typedef boost::python::numeric::array pyArray;
-#endif
-
-
-#endif
Copied: issm/trunk/src/c/toolkits/python/pythonincludes.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/python/pythonincludes.h)
===================================================================
--- issm/trunk/src/c/toolkits/python/pythonincludes.h (rev 0)
+++ issm/trunk/src/c/toolkits/python/pythonincludes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+/* \file pythonincludes.h
+ * \brief all includes for PYTHON layer
+ */
+
+#ifndef _PYTHON_INCLUDES_H_
+#define _PYTHON_INCLUDES_H_
+
+
+#include "Python.h"
+#include "arrayobject.h"
+
+
+
+#ifdef _HAVE_BOOST_
+using namespace std;
+#include <boost/python/def.hpp>
+#include <boost/python.hpp>
+#include <boost/python/module.hpp>
+using namespace boost::python;
+typedef boost::python::numeric::array pyArray;
+#endif
+
+
+#endif
Modified: issm/trunk/src/c/toolkits/toolkits.h
===================================================================
--- issm/trunk/src/c/toolkits/toolkits.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/c/toolkits/toolkits.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,10 +5,30 @@
#ifndef _TOOLKITS_H_
#define _TOOLKITS_H_
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_PYTHON_) && defined(_SERIAL_)
+#include "./python/pythonincludes.h"
+#endif
+
+#ifdef _HAVE_PETSC_
#include "./petsc/petscincludes.h"
+#endif
+
+#if defined(_HAVE_MATLAB_) && defined(_SERIAL_)
+#include "./matlab/matlabincludes.h"
+#endif
+
+
#include "./mpi/mpiincludes.h"
#include "./metis/metisincludes.h"
#include "./triangle/triangleincludes.h"
-#include "./matlab/matlabincludes.h"
+#include "./double/double.h"
+#include "./toolkitsenums.h"
+#include "./issm/issmtoolkit.h"
#endif
Copied: issm/trunk/src/c/toolkits/toolkitsenums.h (from rev 11994, issm/trunk-jpl/src/c/toolkits/toolkitsenums.h)
===================================================================
--- issm/trunk/src/c/toolkits/toolkitsenums.h (rev 0)
+++ issm/trunk/src/c/toolkits/toolkitsenums.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+/* \file toolkitsenums.h
+ * \brief: enums that encompasse all of the toolkit APIs. This mainly maps into PETSC enums.
+ */
+
+#ifndef _TOOLKITSENUMS_H_
+#define _TOOLKITSENUMS_H_
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+typedef enum {INS_VAL, ADD_VAL} InsMode;
+typedef enum {NORM_INF,NORM_TWO} NormMode;
+typedef enum {DENSE_SEQUENTIAL,SPARSE_SEQUENTIAL} MatrixType;
+
+#endif
Modified: issm/trunk/src/m/Makefile.am
===================================================================
--- issm/trunk/src/m/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +1,45 @@
-SUBDIRS = classes enum kml model planet qmu shared solutions solvers utils
+bin_SCRIPTS=./classes/*.m \
+ ./classes/model/*.m \
+ ./classes/clusters/*.m \
+ ./enum/*.m \
+ ./kml/*.m \
+ ./model/*.m \
+ ./model/plot/*.m \
+ ./model/mesh/*.m \
+ ./model/display/*.m \
+ ./model/parameterization/*.m \
+ ./model/partition/*.m \
+ ./model/solvers/*.m \
+ ./planet/*.m \
+ ./qmu/*.m \
+ ./shared/*.m \
+ ./solutions/*.m \
+ ./solvers/*.m \
+ ./utils/*.m \
+ ./utils/Analysis/*.m \
+ ./utils/Array/*.m \
+ ./utils/BC/*.m \
+ ./utils/Basins/*.m \
+ ./utils/Cluster/*.m \
+ ./utils/DataProcessing/*.m \
+ ./utils/Ecco3/*.m \
+ ./utils/Exp/*.m \
+ ./utils/Exp/manipulation/*.m \
+ ./utils/Exp/readwrite/*.m \
+ ./utils/Geometry/*.m \
+ ./utils/ImageProcessing/*.m \
+ ./utils/Interp/*.m \
+ ./utils/Kml/*.m \
+ ./utils/LatLong/*.m \
+ ./utils/Math/*.m \
+ ./utils/Meca/*.m \
+ ./utils/Mesh/*.m \
+ ./utils/Miscellaneous/*.m \
+ ./utils/Model/*.m \
+ ./utils/Numerics/*.m \
+ ./utils/OS/*.m \
+ ./utils/Plot/*.m \
+ ./utils/Shell/*.m \
+ ./utils/String/*.m \
+ ./utils/consistency/*.m \
+ ./utils/qmu/*.m
Deleted: issm/trunk/src/m/classes/Makefile.am
===================================================================
--- issm/trunk/src/m/classes/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,2 +0,0 @@
-SUBDIRS = @pairoptions @modellist model clusters
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/classes/autodiff.m
===================================================================
--- issm/trunk/src/m/classes/autodiff.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/autodiff.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/balancethickness.m
===================================================================
--- issm/trunk/src/m/classes/balancethickness.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/balancethickness.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/basalforcings.m
===================================================================
--- issm/trunk/src/m/classes/basalforcings.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/basalforcings.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Deleted: issm/trunk/src/m/classes/clusters/Makefile.am
===================================================================
--- issm/trunk/src/m/classes/clusters/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/classes/clusters/castor.m
===================================================================
--- issm/trunk/src/m/classes/clusters/castor.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/castor.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,16 +20,7 @@
end
methods
function cluster=castor(varargin) % {{{1
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('castor')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster castor']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/cosmos.m
===================================================================
--- issm/trunk/src/m/classes/clusters/cosmos.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/cosmos.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,16 +20,7 @@
end
methods
function cluster=cosmos(varargin) % {{{1
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('cosmos')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster cosmos']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/gemini.m
===================================================================
--- issm/trunk/src/m/classes/clusters/gemini.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/gemini.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,16 +20,7 @@
end
methods
function cluster=gemini(varargin) % {{{1
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('gemini')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster gemini']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/generic.m
===================================================================
--- issm/trunk/src/m/classes/clusters/generic.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/generic.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,15 +34,7 @@
if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
%OK get other fields
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('generic')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster generic']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/greenplanet.m
===================================================================
--- issm/trunk/src/m/classes/clusters/greenplanet.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/greenplanet.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -29,16 +29,7 @@
if (exist('greenplanet_settings')==2), greenplanet_settings; end
%use provided options to change fields
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('greenplanet')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster greenplanet']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/none.m
===================================================================
--- issm/trunk/src/m/classes/clusters/none.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/none.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,16 +11,7 @@
end
methods
function cluster=none(varargin) % {{{1
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('none')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster none']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/pfe.m
===================================================================
--- issm/trunk/src/m/classes/clusters/pfe.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/pfe.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,16 +34,7 @@
if (exist('pfe_settings')==2), pfe_settings; end
%use provided options to change fields
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('pfe')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster pfe']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/clusters/pollux.m
===================================================================
--- issm/trunk/src/m/classes/clusters/pollux.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/clusters/pollux.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,16 +20,7 @@
end
methods
function cluster=pollux(varargin) % {{{1
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('pollux')),
- cluster.(fieldname)=fieldvalue;
- else
- disp(['''' fieldname ''' is not a property of cluster pollux']);
- end
- end
+ cluster=AssignObjectFields(pairoptions(varargin{:}),cluster);
end
%}}}
function disp(cluster) % {{{1
Modified: issm/trunk/src/m/classes/constants.m
===================================================================
--- issm/trunk/src/m/classes/constants.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/constants.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/debug.m
===================================================================
--- issm/trunk/src/m/classes/debug.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/debug.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,21 +5,15 @@
classdef debug
properties (SetAccess=public)
- valgrind=false;
- gprof = false;
+ valgrind = false;
+ gprof = false;
+ petsc_profiling = false;
end
methods
function obj = debug(varargin) % {{{
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -32,7 +26,11 @@
fielddisplay(obj,'valgrind','use Valgrind to debug (0 or 1)');
fielddisplay(obj,'gprof','use gnu-profiler to find out where the time is spent');
+ fielddisplay(obj,'petsc_profiling','enables PETSc profiling (memory, flops, time)');
end % }}}
+ function marshall(obj,fid) % {{{
+ WriteData(fid,'object',obj,'fieldname','petsc_profiling','format','Boolean');
+ end % }}}
end
end
Modified: issm/trunk/src/m/classes/diagnostic.m
===================================================================
--- issm/trunk/src/m/classes/diagnostic.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/diagnostic.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -29,13 +29,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -116,7 +109,7 @@
if md.mesh.dimension==3 & md.flowequation.isstokes,
pos=find(md.mask.vertexongroundedice & md.mesh.vertexonbed);
if any(~isnan(md.diagnostic.referential(pos,:))),
- checkmessage(['model ' md.miscellaneous.name ' not consistent. No referential should be specified for basal vertices of grounded ice']);
+ checkmessage(['no referential should be specified for basal vertices of grounded ice']);
end
end
end % }}}
Modified: issm/trunk/src/m/classes/flaim.m
===================================================================
--- issm/trunk/src/m/classes/flaim.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/flaim.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,13 +24,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/flowequation.m
===================================================================
--- issm/trunk/src/m/classes/flowequation.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/flowequation.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -19,13 +19,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/friction.m
===================================================================
--- issm/trunk/src/m/classes/friction.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/friction.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -38,7 +31,7 @@
checkfield(md,'friction.p','NaN',1,'size',[md.mesh.numberofelements 1]);
end % }}}
function disp(obj) % {{{
- disp(sprintf('Sigma= drag^2 * Neff ^r * u ^s, with Neff=rho_ice*g*thickness+rho_ice*g*bed, r=q/p and s=1/p'));
+ disp(sprintf('Sigma= drag^2 * Neff ^r * u ^s, with Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p'));
fielddisplay(obj,'coefficient','friction coefficient [SI]');
fielddisplay(obj,'p','p exponent');
fielddisplay(obj,'q','q exponent');
Modified: issm/trunk/src/m/classes/geometry.m
===================================================================
--- issm/trunk/src/m/classes/geometry.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/geometry.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,13 +16,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -38,6 +31,9 @@
if any((obj.thickness-obj.surface+obj.bed)>10^-9),
checkmessage(['equality thickness=surface-bed violated']);
end
+ if solution==TransientSolutionEnum & md.transient.isgroundingline,
+ checkfield(md,'geometry.bathymetry','NaN',1,'size',[md.mesh.numberofvertices 1]);
+ end
end % }}}
function disp(obj) % {{{
disp(sprintf(' geometry parameters:'));
Modified: issm/trunk/src/m/classes/groundingline.m
===================================================================
--- issm/trunk/src/m/classes/groundingline.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/groundingline.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,13 +13,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/hydrology.m
===================================================================
--- issm/trunk/src/m/classes/hydrology.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/hydrology.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,13 +18,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/initialization.m
===================================================================
--- issm/trunk/src/m/classes/initialization.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/initialization.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -19,13 +19,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -52,7 +45,7 @@
checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
%Triangle with zero velocity
if any(sum(abs(md.initialization.vx(md.mesh.elements)),2)==0 & sum(abs(md.initialization.vy(md.mesh.elements)),2)==0)
- checkmessage('model not consistent: at least one triangle has all its vertices with a zero velocity');
+ checkmessage('at least one triangle has all its vertices with a zero velocity');
end
end
if ismember(ThermalAnalysisEnum,analyses),
Modified: issm/trunk/src/m/classes/inversion.m
===================================================================
--- issm/trunk/src/m/classes/inversion.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/inversion.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -30,13 +30,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/mask.m
===================================================================
--- issm/trunk/src/m/classes/mask.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/mask.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,13 +17,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/materials.m
===================================================================
--- issm/trunk/src/m/classes/materials.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/materials.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,13 +24,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/mesh.m
===================================================================
--- issm/trunk/src/m/classes/mesh.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/mesh.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -50,13 +50,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -98,6 +91,7 @@
else
checkfield(md,'mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d');
end
+ checkfield(md,'mesh.elementconnectivity','size',[md.mesh.numberofelements 3],'NaN',1);
%Solution specific checks
switch(solution),
Modified: issm/trunk/src/m/classes/miscellaneous.m
===================================================================
--- issm/trunk/src/m/classes/miscellaneous.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/miscellaneous.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Deleted: issm/trunk/src/m/classes/model/Makefile.am
===================================================================
--- issm/trunk/src/m/classes/model/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/model/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/classes/model/model.m
===================================================================
--- issm/trunk/src/m/classes/model/model.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/model/model.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -72,19 +72,6 @@
md = structtomodel(model,md);
end
end% }}}
- function temp = template() % {{{
-
- %Get default fields
- md=model(0);
- modelprops=properties('model');
-
- %build output
- temp=struct();
- for i=1:length(modelprops),
- temp.(modelprops{i})=md.(modelprops{i});
- end
-
- end% }}}
end
methods
function md = model(varargin) % {{{1
@@ -92,26 +79,6 @@
switch nargin
case 0
md=setdefaultparameters(md);
- case 1
- in=varargin{1};
- if (isa(in,'model'))
- %If single argument of class model, we have a copy constructor.
- md = in;
- elseif (isa(in,'numeric') & in==0)
- %requesting template
- %FIXME: for now recursive call
- md2=model;
- modelprops=properties('model');
- for i=1:length(modelprops);
- fieldname=modelprops{i};
- if md.(fieldname).marshall & isobject(md2.(fieldname)) & isempty(md.(fieldname).preprocess),
- eval(['md.' fieldname '=' fieldname '(0);']);
- end
- end
- else
- error('model constructor error message: unknown constructor for ''model'' class object');
- end
-
otherwise
error('model constructor error message: 0 of 1 argument only in input.');
end
@@ -157,9 +124,11 @@
if isfield(structmd,'drag_coefficient'), md.friction.coefficient=structmd.drag_coefficient; end
if isfield(structmd,'drag_p'), md.friction.p=structmd.drag_p; end
if isfield(structmd,'drag_q'), md.friction.q=structmd.drag_q; end
- if isfield(structmd,'riftproperties'),
- md.rifts=rifts;
+ if isfield(structmd,'riftproperties'), %old implementation
+ md.rifts=rifts();
md.rifts.riftproperties=structmd.riftproperties;
+ md.rifts.riftstruct=structmd.rifts;
+ md.rifts.riftproperties=structmd.riftinfo;
end
if isfield(structmd,'bamg'), md.private.bamg=structmd.bamg; end
if isfield(structmd,'lowmem'), md.settings.lowmem=structmd.lowmem; end
@@ -270,9 +239,10 @@
if isfield(structmd,'x'), md.mesh.x=structmd.x; end
if isfield(structmd,'z'), md.mesh.z=structmd.z; end
if isfield(structmd,'mask'), md.flaim.criterion=structmd.mask; end
- if isfield(structmd,'pressureload'), md.diagnostic.icefront=structmd.pressureload; end
+ if isfield(structmd,'pressureload'), md.diagnostic.icefront=structmd.pressureload; end
if isfield(structmd,'diagnostic_ref'), md.diagnostic.referential=structmd.diagnostic_ref; end
+
%Field changes
if (isfield(structmd,'type') & ischar(structmd.type)),
if strcmpi(structmd.type,'2d'), md.mesh.dimension=2; end
@@ -356,6 +326,7 @@
pos=find(structmd.cm_responses==388); md.inversion.cost_functions(pos)=502;
pos=find(structmd.cm_responses==382); md.inversion.cost_functions(pos)=503;
end
+
if isfield(structmd,'artificial_diffusivity') & structmd.artificial_diffusivity==2,
md.thermal.stabilization=2;
md.prognostic.stabilization=1;
Copied: issm/trunk/src/m/classes/modellist.m (from rev 11994, issm/trunk-jpl/src/m/classes/modellist.m)
===================================================================
--- issm/trunk/src/m/classes/modellist.m (rev 0)
+++ issm/trunk/src/m/classes/modellist.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,181 @@
+%MODELLIST class definition
+%
+% Usage:
+% modellist=modellist({md1 md2 md3});
+
+classdef modellist
+ properties (SetAccess=public)
+ models = cell(0,1);
+ cluster = none();
+ end
+ methods
+ function obj = modellist(varargin) % {{{
+
+ %initialize list
+ if nargin==0,
+ %Do nothing,
+ elseif nargin==1,
+ if ~isa(varargin{1},'cell'),
+ error('not supported yet');
+ end
+
+ celllist=varargin{1};
+
+ %check on size of cell list:
+ if (size(celllist,2)~=1),
+ error('modellist constructor error message: list of models should be a cell list of column size 1');
+ end
+
+ %check that only models are in the celllist:
+ for i=1:size(celllist,1),
+ if ~isa(celllist{i},'model')
+ error(['modellist constructor error message: element ' num2str(i) ' of cell list is not a model!']);
+ end
+ end
+
+ obj.models = celllist;
+ obj.cluster = obj.models{1}.cluster;
+ end
+ end % }}}
+ function val = get(obj, propName)% {{{
+ %GET - gets model propertie from a specified object ans returns the value
+ %
+ % Usage:
+ % val = get(a, propName)
+
+ switch propName
+ case 'numberofelements'
+ val = obj.numberofelements;
+ case 'numberofnodes'
+ val = obj.numberofnodes;
+ case 'elements'
+ val = obj.elements;
+ case 'x'
+ val = obj.x;
+ case 'y'
+ val = obj.y;
+ case 'z'
+ val = obj.z;
+ otherwise
+ error(['get error message: ' propName,' is not a valid model property'])
+ end
+ end % }}}
+ function obj = loadmultipleresultsfromcluster(obj) % {{{
+ %LOADMULTIPLERESULTSFROMCLUSTER - load multiple results of solution sequences from cluster
+ %
+ % Usage:
+ % obj=loadresultsfromcluster(obj);
+
+ nummodels=length(obj.models);
+
+ %Get cluster settings
+ cluster=obj.cluster;
+ name=obj.name;
+ cluster_rc_location=which('cluster.rc');
+ [codepath,executionpath]=ClusterParameters(cluster,cluster_rc_location);
+
+ %Remote tar:
+ disp('tarring results');
+ issmssh(cluster,['"cd ' executionpath '/' name ' && rm -rf file_list.txt ModelResults.tar.gz && find -iname ''*-*vs*.outbin'' > file_list.txt && tar zcvf ModelResults.tar.gz --files-from file_list.txt && rm -rf file_list.txt "']);
+
+ %copy results from cluster to present directory
+ scpin(cluster, [executionpath '/' name], {'ModelResults.tar.gz'});
+
+ %untar:
+ !tar -zxvf ModelResults.tar.gz
+
+ %ok, go through list and load results from disk:
+ for i=1:nummodels,
+ %load results for this model
+ obj.models{i}=loadresultsfromdisk(obj.models{i},[name '-' num2str(i) 'vs' num2str(nummodels) '.outbin']);
+
+ delete([name '-' num2str(i) 'vs' num2str(nummodels) '.outbin']);
+ end
+
+ %erase files
+ delete('ModelResults.tar.gz');
+ end % }}}
+ function obj = solve(obj,varargin)% {{{
+ %SOLVE - apply solution sequence for a list of models. Used in batch mode.
+ %
+ % Usage:
+ % obj=solve(obj,varargin)
+ % where varargin is a lit of paired arguments.
+ % arguments can be: 'analysis_type': 'diagnostic','thermal','prognostic','transient'
+ %
+ % Examples:
+ % obj=solve(obj,'analysis_type','diagnostic');
+
+ %recover options
+ options=pairoptions(varargin{:});
+
+ %add default options
+ options=process_solve_options(options);
+
+ %length of list
+ nummodels=length(obj.models);
+
+ %name of queue: to make it unique, add a time stamp
+ name=[obj.name '-' datestr(now,1) '-' datestr(now,'HH-MM-SS') ];
+
+ %name of cluster will be first name of list
+ cluster=obj.cluster;
+
+ %Figure out parameters for this particular cluster
+ cluster_rc_location=which('cluster.rc');
+ [codepath,executionpath]=ClusterParameters(cluster,cluster_rc_location);
+
+ %solve in batch mode:
+ for i=1:nummodels,
+
+ %model
+ mdex=obj.models{i};
+
+ %recover some fields
+ mdex.analysis_type=options.analysis_type;
+
+ mdex.name=[name '-' num2str(i) 'vs' num2str(nummodels)];
+ mdex.time=obj.time;
+ mdex.queue=obj.queue;
+ mdex.cluster=obj.cluster;
+ if ~isnan(obj.np),
+ mdex.np=obj.np;
+ end
+
+ %call solve in batch mode:
+ if strcmpi(cluster,oshostname),
+ mdex=solve(mdex,varargin{:});
+ else
+ mdex=solve(mdex,varargin{:},'batch','yes','directory',name);
+ end
+
+ %feed back
+ obj.models{i}=mdex;
+ end
+
+ %locally, we are done.
+ if strcmpi(cluster,oshostname),
+ return
+ end
+
+
+ %now, tar all the files and then erase them.
+ eval(['!find -iname ''' name '-*'' > file_list.txt']);
+ !tar zcvf ModelList.tar.gz --files-from file_list.txt
+ !rm -rf *.bin *.queue file_list.txt
+
+ %still have to build a launching script.
+ BuildMultipleQueueingScript(cluster,name,executionpath,codepath);
+
+ %launch jobs on remote cluster
+ LaunchMultipleQueueJob(cluster,name,executionpath);
+
+ %erase files:
+ delete([name '.queue']);
+ delete('ModelList.tar.gz');
+
+ %save name:
+ obj.name=name;
+ end % }}}
+ end
+end
Copied: issm/trunk/src/m/classes/pairoptions.m (from rev 11994, issm/trunk-jpl/src/m/classes/pairoptions.m)
===================================================================
--- issm/trunk/src/m/classes/pairoptions.m (rev 0)
+++ issm/trunk/src/m/classes/pairoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,226 @@
+%PAIROPTIONS class definition
+%
+% Usage:
+% pairoptions=pairoptions();
+% pairoptions=pairoptions('module',true,'solver',false);
+
+classdef pairoptions
+ properties (SetAccess = private,GetAccess = private)
+ functionname = '';
+ list = cell(0,2);
+ end
+ methods
+ function obj = pairoptions(varargin) % {{{
+
+ %get calling function name
+ a=dbstack;
+ if length(a)>1,
+ obj.functionname=a(2).file(1:end-2);
+ else
+ obj.functionname='';
+ end
+
+ %initialize list
+ if nargin==0,
+ %Do nothing,
+ else
+ obj=buildlist(obj,varargin{:});
+ end
+ end % }}}
+ function obj = buildlist(obj,varargin) % {{{
+ %BUILDLIST - build list of obj from input
+
+ %check length of input
+ if mod((nargin-1),2),
+ error('error: an even number of options is required')
+ end
+ numoptions = (nargin-1)/2;
+
+ %Allocate memory
+ obj.list=cell(numoptions,2);
+
+ %go through varargin and build list of obj
+ for i=1:numoptions,
+ if ischar(varargin{2*i-1}),
+ obj.list{i,1}=varargin{2*i-1};
+ obj.list{i,2}=varargin{2*i};
+ else
+ %option is not a string, ignore it
+ disp(['WARNING: option number ' num2str(i) ' is not a string, it will be ignored']);
+ obj.list(i,:)=[];
+ continue
+ end
+ end
+ end % }}}
+ function obj = addfield(obj,field,value) % {{{
+ if ischar(field),
+ obj.list{end+1,1} = field;
+ obj.list{end,2} = value;
+ end
+ end % }}}
+ function obj = addfielddefault(obj,field,value) % {{{
+ %ADDFIELDDEFAULT - add a field to an options list if it does not exist
+ if ischar(field),
+ if ~exist(obj,field),
+ obj.list{end+1,1} = field;
+ obj.list{end,2} = value;
+ end
+ end
+ end % }}}
+ function obj2 = AssignObjectFields(options,obj2) % {{{
+ %ASSIGNOBJECTFIELDS - assign object fields from options
+ listproperties=properties(obj2);
+ for i=1:size(options.list,1),
+ fieldname=options.list{i,1};
+ fieldvalue=options.list{i,2};
+ if ismember(fieldname,listproperties),
+ obj2.(fieldname)=fieldvalue;
+ else
+ disp(['WARNING: ''' fieldname ''' is not a property of ''' class(obj2) '''']);
+ end
+ end
+ end % }}}
+ function obj = changefieldvalue(obj,field,newvalue) % {{{
+ %CHANGEOPTIONVALUE - change the value of an option in an option list
+
+ %track occurance of field
+ lines=find(strcmpi(obj.list(:,1),field));
+
+ %replace value
+ if isempty(lines),
+ %add new field if not found
+ obj=addfield(obj,field,newvalue);
+ else
+ for i=1:length(lines),
+ obj.list{lines(i),2}=newvalue;
+ end
+ end
+ end % }}}
+ function obj = deleteduplicates(obj,warn) % {{{
+ %DELETEDUPLICATES - delete duplicates in an option list
+
+ %track the first occurance of each option
+ [dummy lines]=unique(obj.list(:,1),'first');
+ clear dummy
+
+ %warn user if requested
+ if warn,
+ numoptions=size(obj.list,1);
+ for i=1:numoptions,
+ if ~ismember(i,lines),
+ disp(['WARNING: option ' obj.list{i,1} ' appeared more than once. Only its first occurence will be kept'])
+ end
+ end
+ end
+
+ %remove duplicates from the options list
+ obj.list=obj.list(lines,:);
+ end % }}}
+ function disp(obj) % {{{
+ disp(sprintf(' functionname: %s',obj.functionname));
+ if ~isempty(obj.list),
+ disp(sprintf(' list: (%ix%i)\n',size(obj.list,1),size(obj.list,2)));
+ for i=1:size(obj.list,1),
+ if ischar(obj.list{i,2}),
+ disp(sprintf(' field: %-10s value: ''%s''',obj.list{i,1},obj.list{i,2}));
+ elseif isnumeric(obj.list{i,2}) & length(obj.list{i,2})==1,
+ disp(sprintf(' field: %-10s value: %g',obj.list{i,1},obj.list{i,2}));
+ elseif isnumeric(obj.list{i,2}) & length(obj.list{i,2})==2,
+ disp(sprintf(' field: %-10s value: [%g %g]',obj.list{i,1},obj.list{i,2}));
+ else
+ disp(sprintf(' field: %-10s value: (%ix%i)',obj.list{i,1},size(obj.list{i,2},1),size(obj.list{i,2},2)));
+ end
+ end
+ else
+ disp(sprintf(' list: empty'));
+ end
+ end % }}}
+ function bool = exist(obj,field) % {{{
+ %EXIST - check if the option exist
+
+ %some argument checking:
+ if ((nargin~=2) | (nargout~=1)),
+ error('exist error message: bad usage');
+ end
+ if ~ischar(field),
+ error('exist error message: field should be a string');
+ end
+
+ %Recover option
+ bool=any(strcmpi(field,obj.list(:,1)));
+ end % }}}
+ function num = fieldoccurences(obj,field), % {{{
+ %FIELDOCCURENCES - get number of occurence of a field
+
+ %check input
+ if ~ischar(field),
+ error('fieldoccurences error message: field should be a string');
+ end
+
+ %get number of occurence
+ num=sum(strcmpi(field,obj.list(:,1)));
+ end % }}}
+ function value = getfieldvalue(obj,field,varargin), % {{{
+ %GETOPTION - get the value of an option
+ %
+ % Usage:
+ % value=getfieldvalue(obj,field,varargin)
+ %
+ % Find an option value from a field. A default option
+ % can be given in input if the field does not exist
+ %
+ % Examples:
+ % value=getfieldvalue(options,'caxis');
+ % value=getfieldvalue(options,'caxis',[0 2]);
+
+ %some argument checking:
+ if nargin~=2 & nargin~=3,
+ help getfieldvalue
+ error('getfieldvalue error message: bad usage');
+ end
+
+ if ~ischar(field),
+ error('getfieldvalue error message: field should be a string');
+ end
+
+ %Recover option
+ for i=1:size(obj.list,1),
+ if strcmpi(obj.list{i,1},field)
+ value=obj.list{i,2};
+ return
+ end
+ end
+
+ %The option has not been found, output default if provided
+ if nargin==3,
+ value=varargin{1};
+ else
+ error(['error message: field ' field ' has not been provided by user (and no default value has been specified)'])
+ end
+ end % }}}
+ function obj = removefield(obj,field,warn)% {{{
+ %REMOVEFIELD - delete a field in an option list
+ %
+ % Usage:
+ % obj=removefield(obj,field,warn)
+ %
+ % if warn==1 display an info message to wan user that
+ % some of his options have been removed.
+
+ %check is field exist
+ if exist(obj,field),
+
+ %find where the field is located
+ lines=find(~strcmpi(obj.list(:,1),field));
+
+ %remove duplicates from the options list
+ obj.list=obj.list(lines,:);
+
+ %warn user if requested
+ if warn
+ disp(['removefield info: option ' field ' has been removed from the list of options.'])
+ end
+ end
+ end % }}}
+ end
+end
Modified: issm/trunk/src/m/classes/plotoptions.m
===================================================================
--- issm/trunk/src/m/classes/plotoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/plotoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -47,8 +47,21 @@
error('buildlist error message: an even number of plotoptions is required')
end
- %first: build a pairoptions out of varargin:
+ %go through varargin and build list (like pairoptions)
rawoptions=pairoptions(varargin{:});
+ numoptions = (nargin-1)/2;
+ rawlist=cell(numoptions,2);
+ for i=1:numoptions,
+ if ischar(varargin{2*i-1}),
+ rawlist{i,1}=varargin{2*i-1};
+ rawlist{i,2}=varargin{2*i};
+ else
+ %option is not a string, ignore it
+ disp(['WARNING: option number ' num2str(i) ' is not a string, it will be ignored']);
+ rawlist(i,:)=[];
+ continue
+ end
+ end
%get figure number
opt.figurenumber=getfieldvalue(rawoptions,'figure',1);
@@ -71,19 +84,19 @@
end
%process plot options
- for i=1:size(rawoptions.list,1),
+ for i=1:size(rawlist,1),
%If alloptions flag has is on, apply to all plots
- if (allflag & ~strcmpi(rawoptions.list{i,1},'data') & ~ismember('#',rawoptions.list{i,1})),
+ if (allflag & ~strcmpi(rawlist{i,1},'data') & ~ismember('#',rawlist{i,1})),
for j=1:numberofplots,
- opt.list{j}=addfield(opt.list{j},rawoptions.list{i,1},rawoptions.list{i,2});
+ opt.list{j}=addfield(opt.list{j},rawlist{i,1},rawlist{i,2});
end
%option contains '#'
- elseif ismember('#',rawoptions.list{i,1}),
+ elseif ismember('#',rawlist{i,1}),
%get suplot(s) associated
- string=strsplit(rawoptions.list{i,1},'#');
+ string=strsplit(rawlist{i,1},'#');
plotnums=string{end};
field=string{1};
@@ -101,7 +114,7 @@
%#all
elseif strcmpi(plotnum,'all');
for j=1:numberofplots,
- opt.list{j}=addfield(opt.list{j},field,rawoptions.list{i,2});
+ opt.list{j}=addfield(opt.list{j},field,rawlist{i,2});
end
%#i-j
@@ -112,7 +125,7 @@
error(['the option #i-j is not set properly for ' field]);
end
for j=nums(1):nums(2),
- opt.list{j}=addfield(opt.list{j},field,rawoptions.list{i,2});
+ opt.list{j}=addfield(opt.list{j},field,rawlist{i,2});
end
%#i
@@ -121,7 +134,7 @@
if str2num(plotnum)>numberofplots,
error(['opt error message: ' field ' cannot be assigned (' plotnum ' exceed maximum number of plot)']);
end
- opt.list{str2num(plotnum)}=addfield(opt.list{str2num(plotnum)},field,rawoptions.list{i,2});
+ opt.list{str2num(plotnum)}=addfield(opt.list{str2num(plotnum)},field,rawlist{i,2});
end
end
@@ -131,15 +144,15 @@
%go through all subplot and assign to the first one free
j=1;
while (j<=numberofplots),
- if ~exist(opt.list{j},rawoptions.list{i,1});
- opt.list{j}=addfield(opt.list{j},rawoptions.list{i,1},rawoptions.list{i,2});
+ if ~exist(opt.list{j},rawlist{i,1});
+ opt.list{j}=addfield(opt.list{j},rawlist{i,1},rawlist{i,2});
break
else
j=j+1;
end
end
if j>numberofplots,
- disp(['plot info message: too many ''' rawoptions.list{i,1} ''' options']);
+ disp(['plot info message: too many ''' rawlist{i,1} ''' options']);
end
end
end
Modified: issm/trunk/src/m/classes/private.m
===================================================================
--- issm/trunk/src/m/classes/private.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/private.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/prognostic.m
===================================================================
--- issm/trunk/src/m/classes/prognostic.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/prognostic.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,13 +17,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -49,7 +42,7 @@
checkfield(md,'prognostic.spcthickness','forcing',1);
checkfield(md,'prognostic.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
- checkfield(md,'prognostic.stabilization','values',[0 1 3]);
+ checkfield(md,'prognostic.stabilization','values',[0 1 2 3]);
checkfield(md,'prognostic.min_thickness','>',0);
end % }}}
@@ -58,7 +51,7 @@
fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint)');
fielddisplay(obj,'min_thickness','minimum ice thickness allowed');
fielddisplay(obj,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' ');
- fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 3->discontinuous Galerkin');
+ fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 2->streamline upwinding, 3->discontinuous Galerkin');
disp(sprintf('\n %s','Penalty options:'));
fielddisplay(obj,'penalty_factor','offset used by penalties: penalty = Kmax*10^offset');
Modified: issm/trunk/src/m/classes/qmu.m
===================================================================
--- issm/trunk/src/m/classes/qmu.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/qmu.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,13 +27,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -47,35 +40,35 @@
if ~md.qmu.isdakota, return; end
if md.qmu.params.evaluation_concurrency~=1,
- checkmessage(['model not consistent: concurrency should be set to 1 when running dakota in library mode']);
+ checkmessage(['concurrency should be set to 1 when running dakota in library mode']);
end
if ~isempty(md.qmu.partition),
if numel(md.qmu.partition)~=md.mesh.numberofvertices,
- checkmessage(['model not consistent: user supplied partition for qmu analysis should have size md.mesh.numberofvertices x 1 ']);
+ checkmessage(['user supplied partition for qmu analysis should have size md.mesh.numberofvertices x 1 ']);
end
if find(md.qmu.partition)>=md.mesh.numberofvertices,
- checkmessage(['model not consistent: user supplied partition should be indexed from 0 (c-convention)']);
+ checkmessage(['user supplied partition should be indexed from 0 (c-convention)']);
end
if min(md.qmu.partition)~=0,
- checkmessage(['model not consistent: partition vector not indexed from 0 on']);
+ checkmessage(['partition vector not indexed from 0 on']);
end
if max(md.qmu.partition)>=md.mesh.numberofvertices,
- checkmessage(['model not consistent: partition vector cannot have maximum index larger than number of nodes']);
+ checkmessage(['partition vector cannot have maximum index larger than number of nodes']);
end
if ~isempty(find(md.qmu.partition<0)),
- checkmessage(['model not consistent: partition vector cannot have values less than 0']);
+ checkmessage(['partition vector cannot have values less than 0']);
end
if ~isempty(find(md.qmu.partition>=md.qmu.numberofpartitions)),
- checkmessage(['model not consistent: partition vector cannot have values more than md.qmu.numberofpartitions-1']);
+ checkmessage(['partition vector cannot have values more than md.qmu.numberofpartitions-1']);
end
if max(md.qmu.partition)>=md.qmu.numberofpartitions,
- checkmessage(['model not consistent: for qmu analysis, partitioning vector cannot go over npart, number of partition areas']);
+ checkmessage(['for qmu analysis, partitioning vector cannot go over npart, number of partition areas']);
end
end
if ~strcmpi(md.cluster.name,'none'),
if md.settings.waitonlock==0,
- checkmessage(['model is not correctly configured: waitonlock should be activated when running qmu in parallel mode!']);
+ checkmessage(['waitonlock should be activated when running qmu in parallel mode!']);
end
end
end % }}}
Modified: issm/trunk/src/m/classes/radaroverlay.m
===================================================================
--- issm/trunk/src/m/classes/radaroverlay.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/radaroverlay.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/rifts.m
===================================================================
--- issm/trunk/src/m/classes/rifts.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/rifts.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,13 +13,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -35,7 +28,7 @@
end
if numrifts,
if ~(md.mesh.dimension==2),
- checkmessage(['model not consistent: models with rifts are only supported in 2d for now!']);
+ checkmessage(['models with rifts are only supported in 2d for now!']);
end
if ~isstruct(obj.riftstruct),
checkmessage(['rifts.riftstruct should be a structure!']);
Modified: issm/trunk/src/m/classes/settings.m
===================================================================
--- issm/trunk/src/m/classes/settings.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/settings.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,13 +16,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/solver.m
===================================================================
--- issm/trunk/src/m/classes/solver.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/solver.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,72 +3,67 @@
% Usage:
% obj=solver();
-classdef solver
+classdef solver < dynamicprops
properties (SetAccess=public)
- options=cell(0,0);
+ NoneAnalysis = struct();
+ %The other properties are dynamic
end
methods
function obj = solver(varargin) % {{{
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
end % }}}
- function obj = setdefaultparameters(obj) % {{{
-
- %MUMPS is the default solver
- if ismumps,
- obj.options={'NoneAnalysis',mumpsoptions};
- else
- obj.options={'NoneAnalysis',iluasmoptions};
- end
-
- end % }}}
function obj = addoptions(obj,analysis,solveroptions) % {{{1
%Convert analysis from enum to string
analysis=EnumToString(analysis);
- %first, find out if analysis has already been supplied
- found=false;
- for i=1:size(obj.options,1),
- inanalysis=obj.options{i,1};
- if strcmp(inanalysis,analysis),
- found=true;
- obj.options{i,1} = analysis;
- obj.options{i,2} = solveroptions;
- break;
- end
+ %Create dynamic property if property does not exist yet
+ if ~ismember(analysis,properties(obj)),
+ obj.addprop(analysis);
end
- if ~found,
- obj.options{end+1,1}= analysis;
- obj.options{end,2} = solveroptions;
- end
+ %Add solver options to analysis
+ obj.(analysis) = solveroptions;
end
%}}}
+ function obj = setdefaultparameters(obj) % {{{
+
+ %MUMPS is the default solver
+ if ismumps,
+ obj.NoneAnalysis=mumpsoptions;
+ else
+ obj.NoneAnalysis=iluasmoptions;
+ end
+
+ end % }}}
+ function disp(obj) % {{{
+ analyses=properties(obj);
+ disp(sprintf('List of solver options per analysis:\n'));
+ for i=1:numel(analyses),
+ analysis=analyses{i};
+ disp([analysis ':']);
+ disp(obj.(analysis));
+ end
+ end % }}}
function checkconsistency(obj,md,solution,analyses) % {{{
- for i=1:size(obj.options,1),
- if ~ischar(obj.options{i,1}),
- checkmessage('solver is not well formatted: Analyses are not strings');
+ analyses=properties(obj);
+ for i=1:numel(analyses),
+ if isempty(fieldnames(obj.(analyses{i})))
+ checkmessage(['md.solver.' analyses{i} ' is empty']);
end
end
end % }}}
function PetscFile(solver,filename) % {{{
- %PETSCFILE - build petsc file
- %
- % Build a Petsc compatible options file, from the solver model field + return options string
- %
- % Usage: PetscFile(solver,filename);
+ %PETSCFILE - build petsc file
+ %
+ % Build a Petsc compatible options file, from the solver model field + return options string
+ %
+ % Usage: PetscFile(solver,filename);
%open file for writing
fid=fopen(filename,'w');
@@ -80,70 +75,37 @@
fprintf(fid,'%s%s%s\n','%Petsc options file: ',filename,' written from Matlab solver array');
%start writing options
- for i=1:size(solver.options,1),
- analysis=solver.options{i,1};
- options=solver.options{i,2};
+ analyses=properties(solver);
+ for i=1:numel(analyses),
+ analysis=analyses{i};
+ options=solver.(analysis);
%first write analysis:
fprintf(fid,'\n+%s\n',analysis); %append a + to recognize it's an analysis enum
%now, write options
- for j=1:size(options,2),
- option=options{j};
- if isempty(option),
- %do nothing
- elseif length(option)==1,
+ optionslist=fieldnames(options);
+ for j=1:numel(optionslist),
+ optionname=optionslist{j};
+ optionvalue=options.(optionname);
+
+ if isempty(optionvalue),
%this option has only one argument
- fprintf(fid,'-%s\n',option{1});
- elseif length(option)==2,
+ fprintf(fid,'-%s\n',optionname);
+ else
%option with value. value can be string or scalar
- if isscalar(option{2}),
- fprintf(fid,'-%s %g\n',option{1},option{2});
- elseif ischar(option{2}),
- fprintf(fid,'-%s %s\n',option{1},option{2});
+ if isscalar(optionvalue),
+ fprintf(fid,'-%s %g\n',optionname,optionvalue);
+ elseif ischar(optionvalue),
+ fprintf(fid,'-%s %s\n',optionname,optionvalue);
else
- error(['PetscFile error: option #' num2str(j) ' is not well formatted']);
+ error(['PetscFile error: option ' optionname ' is not well formatted']);
end
- else
- error(['PetscFile error: option #' num2str(j) ' is not well formatted']);
end
end
end
fclose(fid);
end %}}}
- function disp(obj) % {{{1
- disp(sprintf(' solver parameters:'));
-
- for i=1:size(obj.options,1),
- analysis=obj.options{i,1};
- ioptions=obj.options{i,2};
-
- string='';
- for i=1:length(ioptions),
- option=ioptions{i};
- if isempty(option),
- %do nothing
- elseif length(option)==1,
- %this option has only one argument
- string=[string ' -' option{1}];
- elseif length(option)==2,
- %option with value. value can be string or scalar
- if isscalar(option{2}),
- string=[string ' -' option{1} ' ' num2str(option{2})];
- elseif ischar(option{2}),
- string=[string ' -' option{1} ' ' option{2}];
- else
- error(['PetscString error: option #' num2str(i) ' is not well formatted']);
- end
- else
- error(['PetscString error: option #' num2str(i) ' is not well formatted']);
- end
- end
-
- disp(sprintf(' %s -> ''%s''',analysis,string));
- end
- end
- %}}}
end
end
Modified: issm/trunk/src/m/classes/steadystate.m
===================================================================
--- issm/trunk/src/m/classes/steadystate.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/steadystate.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -14,13 +14,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -38,11 +31,11 @@
if solution~=SteadystateSolutionEnum, return; end;
if md.timestepping.time_step~=0,
- checkmessage(['model not consistent: for a steadystate computation, timestepping.time_step must be zero.']);
+ checkmessage(['for a steadystate computation, timestepping.time_step must be zero.']);
end
if isnan(md.diagnostic.reltol),
- checkmessage(['model not consistent: for a steadystate computation, diagnostic.reltol (relative convergence criterion) must be defined!']);
+ checkmessage(['for a steadystate computation, diagnostic.reltol (relative convergence criterion) must be defined!']);
end
end % }}}
function disp(obj) % {{{
Modified: issm/trunk/src/m/classes/surfaceforcings.m
===================================================================
--- issm/trunk/src/m/classes/surfaceforcings.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/surfaceforcings.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,13 +13,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -39,7 +32,7 @@
function disp(obj) % {{{
disp(sprintf(' surface forcings parameters:'));
- fielddisplay(obj,'precipitation','surface precipitation [m/yr ice eq]');
+ fielddisplay(obj,'precipitation','surface precipitation [m/yr water eq]');
fielddisplay(obj,'mass_balance','surface mass balance [m/yr ice eq]');
end % }}}
Modified: issm/trunk/src/m/classes/thermal.m
===================================================================
--- issm/trunk/src/m/classes/thermal.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/thermal.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,13 +18,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/timestepping.m
===================================================================
--- issm/trunk/src/m/classes/timestepping.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/timestepping.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,9 @@
classdef timestepping
properties (SetAccess=public)
+ start_time = 0;
+ final_time = 0;
time_step = 0;
- final_time = 0;
time_adapt = 0;
cfl_coefficient = 0;
end
@@ -15,13 +16,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
@@ -40,21 +34,29 @@
end % }}}
function checkconsistency(obj,md,solution,analyses) % {{{
+ checkfield(md,'timestepping.start_time','numel',1,'NaN',1);
+ checkfield(md,'timestepping.final_time','numel',1,'NaN',1);
+ checkfield(md,'timestepping.time_step','numel',1,'>=',0,'NaN',1);
checkfield(md,'timestepping.time_adapt','numel',1,'values',[0 1]);
checkfield(md,'timestepping.cfl_coefficient','numel',1,'>',0,'<=',1);
+ if obj.final_time-obj.start_time<0,
+ checkmessage('timestepping.final_time should be larger than timestepping.start_time');
+ end
end % }}}
function disp(obj) % {{{
disp(sprintf(' timestepping parameters:'));
+ fielddisplay(obj,'start_time','simulation starting time [yrs]');
+ fielddisplay(obj,'final_time','final time to stop the simulation [yrs]');
fielddisplay(obj,'time_step','length of time steps [yrs]');
- fielddisplay(obj,'final_time','final time to stop the simulation [yrs]');
fielddisplay(obj,'time_adapt','use cfl condition to define time step ? (0 or 1) ');
fielddisplay(obj,'cfl_coefficient','coefficient applied to cfl condition');
end % }}}
function marshall(obj,fid) % {{{
+ WriteData(fid,'object',obj,'fieldname','start_time','format','Double');
+ WriteData(fid,'object',obj,'fieldname','final_time','format','Double');
WriteData(fid,'object',obj,'fieldname','time_step','format','Double');
- WriteData(fid,'object',obj,'fieldname','final_time','format','Double');
WriteData(fid,'object',obj,'fieldname','time_adapt','format','Boolean');
WriteData(fid,'object',obj,'fieldname','cfl_coefficient','format','Double');
end % }}}
Modified: issm/trunk/src/m/classes/transient.m
===================================================================
--- issm/trunk/src/m/classes/transient.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/transient.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,13 +16,6 @@
switch nargin
case 0
obj=setdefaultparameters(obj);
- case 1
- in=varargin{1};
- if (isa(in,'numeric') & in==0),
- % requesting templates do nothing
- else
- error('constructor not supported');
- end
otherwise
error('constructor not supported');
end
Modified: issm/trunk/src/m/classes/verbose.m
===================================================================
--- issm/trunk/src/m/classes/verbose.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/classes/verbose.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -36,36 +36,36 @@
methods
function verbose=verbose(varargin) % {{{1
- if nargin==1,
+ switch(nargin),
+ case 0,
+ %Don't do anything
+ case 1,
+ binary=varargin{1};
+ if ischar(binary),
+ if strcmpi(binary,'all'),
+ binary=2^11-1; %all ones
+ verbose=BinaryToVerbose(verbose,binary);
+ verbose.solver=false; %Do not use by default
+ else
+ binary=bin2dec(binary);
+ verbose=BinaryToVerbose(verbose,binary);
+ end
+ end
+ otherwise,
+ %Use options to initialize object
+ verbose=AssignObjectFields(pairoptions(varargin{:}),verbose);
- binary=varargin{1};
- if ischar(binary),
- if strcmpi(binary,'all'),
- binary=2^11-1; %all ones
- verbose=BinaryToVerbose(verbose,binary);
- verbose.solver=false; %Do not use by default
- else
- binary=bin2dec(binary);
- verbose=BinaryToVerbose(verbose,binary);
- end
- end
- else
-
- options=pairoptions(varargin{:});
- for i=1:size(options.list,1),
- fieldname=options.list{i,1};
- fieldvalue=options.list{i,2};
- if ismember(fieldname,properties('verbose')),
- if islogical(fieldvalue) | isnumeric(fieldvalue),
+ %Cast to logicals
+ listproperties=properties('verbose');
+ for i=1:numel(listproperties),
+ fieldname=listproperties{i};
+ fieldvalue=verbose.(fieldname);
+ if (islogical(fieldvalue) | isnumeric(fieldvalue)) & numel(fieldvalue)==1,
verbose.(fieldname)=logical(fieldvalue);
else
error('verbose supported field values are logicals only (true or false)');
end
- else
- disp(['''' fieldname ''' is not a property of verbose verbose']);
end
- end
-
end
end
%}}}
Copied: issm/trunk/src/m/enum/ContourEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/ContourEnum.m)
===================================================================
--- issm/trunk/src/m/enum/ContourEnum.m (rev 0)
+++ issm/trunk/src/m/enum/ContourEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=ContourEnum()
+%CONTOURENUM - Enum of Contour
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=ContourEnum()
+
+macro=StringToEnum('Contour');
Copied: issm/trunk/src/m/enum/DebugPetscProfilingEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/DebugPetscProfilingEnum.m)
===================================================================
--- issm/trunk/src/m/enum/DebugPetscProfilingEnum.m (rev 0)
+++ issm/trunk/src/m/enum/DebugPetscProfilingEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=DebugPetscProfilingEnum()
+%DEBUGPETSCPROFILINGENUM - Enum of DebugPetscProfiling
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=DebugPetscProfilingEnum()
+
+macro=StringToEnum('DebugPetscProfiling');
Deleted: issm/trunk/src/m/enum/EnumToModelField.m
===================================================================
--- issm/trunk/src/m/enum/EnumToModelField.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/enum/EnumToModelField.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,28 +0,0 @@
-function string=EnumToModelField(enum)
-%ENUMTOMODELFIELD - output string of model field associated to enum
-%
-% WARNING: DO NOT MODIFY THIS FILE
-% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-% Please read src/c/EnumDefinitions/README for more information
-%
-% Usage:
-% string=EnumToModelField(enum)
-
-switch enum,
-
- case ThicknessEnum(), string='thickness'; return
- case FrictionCoefficientEnum(), string='drag_coefficient'; return
- case MaterialsRheologyBEnum(), string='rheology_B'; return
- case MaterialsRheologyBbarEnum(), string='rheology_B'; return
- case BalancethicknessThickeningRateEnum: string='dhdt'; return
- case VxEnum(), string='vx'; return
- case InversionVxObsEnum(), string='vx_obs'; return
- case VyEnum(), string='vy'; return
- case InversionVyObsEnum(), string='vy_obs'; return
- case BasalforcingsMeltingRateEnum(), string='basal_melting_rate'; return
- case SurfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return
- case SurfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return
- case SurfaceforcingsMassBalanceEnum(), string='surface_mass_balance'; return
- otherwise, error(['Enum ' num2str(enum) ' not found associated to any model field']);
-
-end
Deleted: issm/trunk/src/m/enum/Makefile.am
===================================================================
--- issm/trunk/src/m/enum/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/enum/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Copied: issm/trunk/src/m/enum/MatrixParamEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/MatrixParamEnum.m)
===================================================================
--- issm/trunk/src/m/enum/MatrixParamEnum.m (rev 0)
+++ issm/trunk/src/m/enum/MatrixParamEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=MatrixParamEnum()
+%MATRIXPARAMENUM - Enum of MatrixParam
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=MatrixParamEnum()
+
+macro=StringToEnum('MatrixParam');
Deleted: issm/trunk/src/m/enum/PetscMatParamEnum.m
===================================================================
--- issm/trunk/src/m/enum/PetscMatParamEnum.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/enum/PetscMatParamEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-function macro=PetscMatParamEnum()
-%PETSCMATPARAMENUM - Enum of PetscMatParam
-%
-% WARNING: DO NOT MODIFY THIS FILE
-% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-% Please read src/c/EnumDefinitions/README for more information
-%
-% Usage:
-% macro=PetscMatParamEnum()
-
-macro=StringToEnum('PetscMatParam');
Copied: issm/trunk/src/m/enum/PetscProfilingCurrentFlopsEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/PetscProfilingCurrentFlopsEnum.m)
===================================================================
--- issm/trunk/src/m/enum/PetscProfilingCurrentFlopsEnum.m (rev 0)
+++ issm/trunk/src/m/enum/PetscProfilingCurrentFlopsEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=PetscProfilingCurrentFlopsEnum()
+%PETSCPROFILINGCURRENTFLOPSENUM - Enum of PetscProfilingCurrentFlops
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=PetscProfilingCurrentFlopsEnum()
+
+macro=StringToEnum('PetscProfilingCurrentFlops');
Copied: issm/trunk/src/m/enum/PetscProfilingCurrentMemEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/PetscProfilingCurrentMemEnum.m)
===================================================================
--- issm/trunk/src/m/enum/PetscProfilingCurrentMemEnum.m (rev 0)
+++ issm/trunk/src/m/enum/PetscProfilingCurrentMemEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=PetscProfilingCurrentMemEnum()
+%PETSCPROFILINGCURRENTMEMENUM - Enum of PetscProfilingCurrentMem
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=PetscProfilingCurrentMemEnum()
+
+macro=StringToEnum('PetscProfilingCurrentMem');
Copied: issm/trunk/src/m/enum/PetscProfilingSolutionTimeEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/PetscProfilingSolutionTimeEnum.m)
===================================================================
--- issm/trunk/src/m/enum/PetscProfilingSolutionTimeEnum.m (rev 0)
+++ issm/trunk/src/m/enum/PetscProfilingSolutionTimeEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=PetscProfilingSolutionTimeEnum()
+%PETSCPROFILINGSOLUTIONTIMEENUM - Enum of PetscProfilingSolutionTime
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=PetscProfilingSolutionTimeEnum()
+
+macro=StringToEnum('PetscProfilingSolutionTime');
Deleted: issm/trunk/src/m/enum/PetscVecParamEnum.m
===================================================================
--- issm/trunk/src/m/enum/PetscVecParamEnum.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/enum/PetscVecParamEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,11 +0,0 @@
-function macro=PetscVecParamEnum()
-%PETSCVECPARAMENUM - Enum of PetscVecParam
-%
-% WARNING: DO NOT MODIFY THIS FILE
-% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
-% Please read src/c/EnumDefinitions/README for more information
-%
-% Usage:
-% macro=PetscVecParamEnum()
-
-macro=StringToEnum('PetscVecParam');
Copied: issm/trunk/src/m/enum/SaveResultsEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/SaveResultsEnum.m)
===================================================================
--- issm/trunk/src/m/enum/SaveResultsEnum.m (rev 0)
+++ issm/trunk/src/m/enum/SaveResultsEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=SaveResultsEnum()
+%SAVERESULTSENUM - Enum of SaveResults
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=SaveResultsEnum()
+
+macro=StringToEnum('SaveResults');
Copied: issm/trunk/src/m/enum/StepEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/StepEnum.m)
===================================================================
--- issm/trunk/src/m/enum/StepEnum.m (rev 0)
+++ issm/trunk/src/m/enum/StepEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=StepEnum()
+%STEPENUM - Enum of Step
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=StepEnum()
+
+macro=StringToEnum('Step');
Copied: issm/trunk/src/m/enum/TimesteppingStartTimeEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/TimesteppingStartTimeEnum.m)
===================================================================
--- issm/trunk/src/m/enum/TimesteppingStartTimeEnum.m (rev 0)
+++ issm/trunk/src/m/enum/TimesteppingStartTimeEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=TimesteppingStartTimeEnum()
+%TIMESTEPPINGSTARTTIMEENUM - Enum of TimesteppingStartTime
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=TimesteppingStartTimeEnum()
+
+macro=StringToEnum('TimesteppingStartTime');
Copied: issm/trunk/src/m/enum/VectorParamEnum.m (from rev 11994, issm/trunk-jpl/src/m/enum/VectorParamEnum.m)
===================================================================
--- issm/trunk/src/m/enum/VectorParamEnum.m (rev 0)
+++ issm/trunk/src/m/enum/VectorParamEnum.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,11 @@
+function macro=VectorParamEnum()
+%VECTORPARAMENUM - Enum of VectorParam
+%
+% WARNING: DO NOT MODIFY THIS FILE
+% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
+% Please read src/c/EnumDefinitions/README for more information
+%
+% Usage:
+% macro=VectorParamEnum()
+
+macro=StringToEnum('VectorParam');
Deleted: issm/trunk/src/m/kml/Makefile.am
===================================================================
--- issm/trunk/src/m/kml/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/kml/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Copied: issm/trunk/src/m/model/EnumToModelField.m (from rev 11994, issm/trunk-jpl/src/m/model/EnumToModelField.m)
===================================================================
--- issm/trunk/src/m/model/EnumToModelField.m (rev 0)
+++ issm/trunk/src/m/model/EnumToModelField.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,26 @@
+function string=EnumToModelField(enum)
+%ENUMTOMODELFIELD - output string of model field associated to enum
+%
+% Usage:
+% string=EnumToModelField(enum)
+
+disp('Warning: EnumToModelField is deprecated, it cannot work with new model definition. This function will be removed in the future');
+
+switch enum,
+
+ case ThicknessEnum(), string='thickness'; return
+ case FrictionCoefficientEnum(), string='drag_coefficient'; return
+ case MaterialsRheologyBEnum(), string='rheology_B'; return
+ case MaterialsRheologyBbarEnum(), string='rheology_B'; return
+ case BalancethicknessThickeningRateEnum: string='dhdt'; return
+ case VxEnum(), string='vx'; return
+ case InversionVxObsEnum(), string='vx_obs'; return
+ case VyEnum(), string='vy'; return
+ case InversionVyObsEnum(), string='vy_obs'; return
+ case BasalforcingsMeltingRateEnum(), string='basal_melting_rate'; return
+ case SurfaceforcingsAccumulationRateEnum(), string='surface_accumulation_rate'; return
+ case SurfaceforcingsAblationRateEnum(), string='surface_ablation_rate'; return
+ case SurfaceforcingsMassBalanceEnum(), string='surface_mass_balance'; return
+ otherwise, error(['Enum ' num2str(enum) ' not found associated to any model field']);
+
+end
Deleted: issm/trunk/src/m/model/Makefile.am
===================================================================
--- issm/trunk/src/m/model/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,2 +0,0 @@
-SUBDIRS = plot mesh display parameterization partition solvers
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/SectionValues.m
===================================================================
--- issm/trunk/src/m/model/SectionValues.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/SectionValues.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,7 +11,7 @@
%check what we have for profile as input
if ischar(infile),
%read infile:
- contempt=expread(infile,1);
+ contempt=expread(infile);
nods=contempt.nods;
x=contempt.x;
y=contempt.y;
@@ -81,7 +81,8 @@
if (md.mesh.dimension==2)
%Interpolation of data on specified points
- data_interp=InterpFromMeshToMesh2d(md.mesh.elements,md.mesh.x,md.mesh.y,data,X,Y);
+ data_interp=InterpFromMesh2d(md.mesh.elements,md.mesh.x,md.mesh.y,data,X,Y);
+ %data_interp=InterpFromMeshToMesh2d(md.mesh.elements,md.mesh.x,md.mesh.y,data,X,Y);
%data_interp=griddata(md.mesh.x,md.mesh.y,data,X,Y);
%Compute index
Modified: issm/trunk/src/m/model/collapse.m
===================================================================
--- issm/trunk/src/m/model/collapse.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/collapse.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -91,6 +91,7 @@
md.geometry.thickness=project2d(md,md.geometry.thickness,1);
md.geometry.bed=project2d(md,md.geometry.bed,1);
md.mesh.vertexonboundary=project2d(md,md.mesh.vertexonboundary,1);
+md.mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1);
md.mask.elementonfloatingice=project2d(md,md.mask.elementonfloatingice,1);
md.mask.vertexonfloatingice=project2d(md,md.mask.vertexonfloatingice,1);
md.mask.elementongroundedice=project2d(md,md.mask.elementongroundedice,1);
@@ -98,6 +99,10 @@
md.mask.elementonwater=project2d(md,md.mask.elementonwater,1);
md.mask.vertexonwater=project2d(md,md.mask.vertexonwater,1);
+%lat long
+md.mesh.lat=project2d(md,md.mesh.lat,1);
+md.mesh.long=project2d(md,md.mesh.long,1);
+
%Initialize with the 2d mesh
md.mesh.x=md.mesh.x2d;
md.mesh.y=md.mesh.y2d;
@@ -109,6 +114,8 @@
%Keep a trace of lower and upper nodes
md.mesh.lowervertex=NaN;
md.mesh.uppervertex=NaN;
+md.mesh.lowerelements=NaN;
+md.mesh.upperelements=NaN;
%Remove old mesh
md.mesh.x2d=NaN;
Deleted: issm/trunk/src/m/model/display/Makefile.am
===================================================================
--- issm/trunk/src/m/model/display/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/display/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/extrude.m
===================================================================
--- issm/trunk/src/m/model/extrude.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/extrude.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -124,6 +124,10 @@
%Ok, now deal with the other fields from the 2d mesh:
+%lat long
+md.mesh.lat=project3d(md,'vector',md.mesh.lat,'type','node');
+md.mesh.long=project3d(md,'vector',md.mesh.long,'type','node');
+
%drag coefficient is limited to nodes that are on the bedrock.
md.friction.coefficient=project3d(md,'vector',md.friction.coefficient,'type','node','layer',1);
@@ -214,6 +218,8 @@
md.mask.elementonwater=project3d(md,'vector',md.mask.elementonwater,'type','element');
md.mask.vertexonwater=project3d(md,'vector',md.mask.vertexonwater,'type','node');
if ~isnan(md.inversion.cost_functions_coefficients),md.inversion.cost_functions_coefficients=project3d(md,'vector',md.inversion.cost_functions_coefficients,'type','node');end;
+if ~isnan(md.inversion.min_parameters),md.inversion.min_parameters=project3d(md,'vector',md.inversion.min_parameters,'type','node');end;
+if ~isnan(md.inversion.max_parameters),md.inversion.max_parameters=project3d(md,'vector',md.inversion.max_parameters,'type','node');end;
if ~isnan(md.qmu.partition),md.qmu.partition=project3d(md,'vector',md.qmu.partition','type','node');end
%Put lithostatic pressure if there is an existing pressure
Modified: issm/trunk/src/m/model/marshall.m
===================================================================
--- issm/trunk/src/m/model/marshall.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/marshall.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,7 +21,7 @@
field=fields{i};
%Some properties do not need to be marshalled
- if ismember(field,{'results' 'debug' 'radaroverlay' 'solver' 'cluster' 'flaim' 'private'}),
+ if ismember(field,{'results' 'radaroverlay' 'solver' 'cluster' 'flaim' 'private'}),
continue;
end
Deleted: issm/trunk/src/m/model/mesh/Makefile.am
===================================================================
--- issm/trunk/src/m/model/mesh/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/mesh/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/mesh/bamg.m
===================================================================
--- issm/trunk/src/m/model/mesh/bamg.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/mesh/bamg.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -3,45 +3,45 @@
%
% Available options (for more details see ISSM website http://issm.jpl.nasa.gov/):
%
-% - domain: followed by an ARGUS file that prescribes the domain outline
-% - hmin : minimum edge length (default is 10^-100)
-% - hmax : maximum esge length (default is 10^100)
-% - hVertices : imposed edge length for each vertex (geometry or mesh)
-% - hminVertices: minimum edge length for each vertex (mesh)
-% - hmaxVertices: maximum edge length for each vertex (mesh)
+% - domain : followed by an ARGUS file that prescribes the domain outline
+% - hmin : minimum edge length (default is 10^-100)
+% - hmax : maximum edge length (default is 10^100)
+% - hVertices : imposed edge length for each vertex (geometry or mesh)
+% - hminVertices : minimum edge length for each vertex (mesh)
+% - hmaxVertices : maximum edge length for each vertex (mesh)
%
-% - anisomax : maximum ration between the smallest and largest edges (default is 10^30)
-% - coeff : coefficient applied to the metric (2-> twice as many elements, default is 1)
-% - cutoff : scalar used to compute the metric when metric type 2 or 3 are applied
-% - err : error used to generate the metric from a field
-% - errg : geometrical error (default is 0.1)
-% - field : field of the model that will be used to compute the metric
-% to apply several fields, use one column per field
-% - gradation : maximum ration between two adjacent edges
-% - Hessiantype : 0 -> use double P2 projection (default)
-% 1 -> use Green formula
-% - KeepVertices: try to keep initial vertices when adaptation is done on an existing mesh (default 1)
-% - MaxCornerAngle: maximal angle of corners in degree (default is 10)
-% - maxnbv : maximum number of vertices used to allocate memory (default is 10^6)
-% - maxsubdiv : maximum subdivision of exisiting elements (default is 10)
-% - metric : matrix (numberofnodes x 3) used as a metric
-% - Metrictype : 1 -> absolute error c/(err coeff^2) * Abs(H) (default)
-% 2 -> relative error c/(err coeff^2) * Abs(H)/max(s,cutoff*max(s))
-% 3 -> rescaled absolute error c/(err coeff^2) * Abs(H)/(smax-smin)
-% - nbjacoby : correction used by Hessiantype=1 (default is 1)
-% - nbsmooth : number of metric smoothing procedure (default is 3)
-% - omega : relaxation parameter of the smoothing procedure (default is 1.8)
-% - power : power applied to the metric (default is 1)
-% - splitcorners : split triangles whuch have 3 vertices on the outline (default is 1)
-% - geometricalmetric : Take the geometry into account to generate the metric (default is 0)
-% - verbose : level of verbosity (default is 1)
+% - anisomax : maximum ratio between the smallest and largest edges (default is 10^30)
+% - coeff : coefficient applied to the metric (2-> twice as many elements, default is 1)
+% - cutoff : scalar used to compute the metric when metric type 2 or 3 are applied
+% - err : error used to generate the metric from a field
+% - errg : geometric error (default is 0.1)
+% - field : field of the model that will be used to compute the metric
+% to apply several fields, use one column per field
+% - gradation : maximum ratio between two adjacent edges
+% - Hessiantype : 0 -> use double P2 projection (default)
+% 1 -> use Green formula
+% - KeepVertices : try to keep initial vertices when adaptation is done on an existing mesh (default 1)
+% - MaxCornerAngle : maximum angle of corners in degree (default is 10)
+% - maxnbv : maximum number of vertices used to allocate memory (default is 10^6)
+% - maxsubdiv : maximum subdivision of exisiting elements (default is 10)
+% - metric : matrix (numberofnodes x 3) used as a metric
+% - Metrictype : 1 -> absolute error c/(err coeff^2) * Abs(H) (default)
+% 2 -> relative error c/(err coeff^2) * Abs(H)/max(s,cutoff*max(s))
+% 3 -> rescaled absolute error c/(err coeff^2) * Abs(H)/(smax-smin)
+% - nbjacoby : correction used by Hessiantype=1 (default is 1)
+% - nbsmooth : number of metric smoothing procedure (default is 3)
+% - omega : relaxation parameter of the smoothing procedure (default is 1.8)
+% - power : power applied to the metric (default is 1)
+% - splitcorners : split triangles whuch have 3 vertices on the outline (default is 1)
+% - geometricalmetric : take the geometry into account to generate the metric (default is 0)
+% - verbose : level of verbosity (default is 1)
%
-% - rifts : followed by an ARGUS file that prescribes the rifts
-% - toltip: tolerance to move tip on an existing point of the domain outline
-% - tracks: followed by an ARGUS file that prescribes the tracks that the mesh will stick to
-% - RequiredVertices: mesh vertices that are required. [x,y,ref]; ref is optional
-% - tol: if the distance between 2 points of the domain outline is less than tol, they
-% will be merged
+% - rifts : followed by an ARGUS file that prescribes the rifts
+% - toltip : tolerance to move tip on an existing point of the domain outline
+% - tracks : followed by an ARGUS file that prescribes the tracks that the mesh will stick to
+% - RequiredVertices : mesh vertices that are required. [x,y,ref]; ref is optional
+% - tol : if the distance between 2 points of the domain outline is less than tol, they
+% will be merged
%
% Examples:
% md=bamg(md,'domain','DomainOutline.exp','hmax',3000);
Modified: issm/trunk/src/m/model/mesh/triangle.m
===================================================================
--- issm/trunk/src/m/model/mesh/triangle.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/mesh/triangle.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -38,9 +38,9 @@
%Mesh using TriMesh
if strcmp(riftname,''),
- [md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers]=TriMesh(domainname,area,'yes');
+ [md.mesh.elements,md.mesh.x,md.mesh.y,md.mesh.segments,md.mesh.segmentmarkers]=TriMesh(domainname,area,true);
else
- [elements,x,y,segments,segmentmarkers]=TriMesh(domainname,riftname,area,'yes');
+ [elements,x,y,segments,segmentmarkers]=TriMeshRifts(domainname,riftname,area,'yes');
%check that all the created nodes belong to at least one element
orphan=find(~ismember([1:length(x)],sort(unique(elements(:)))));
Deleted: issm/trunk/src/m/model/parameterization/Makefile.am
===================================================================
--- issm/trunk/src/m/model/parameterization/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/parameterization/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/model/partition/Makefile.am
===================================================================
--- issm/trunk/src/m/model/partition/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/partition/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/petscversion.m
===================================================================
--- issm/trunk/src/m/model/petscversion.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/petscversion.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,6 +4,8 @@
% Usage:
% PETSC_VERSION=petscversion();
+%default
+PETSC_VERSION=3;
configfile=[issmtier() '/config.h'];
if ~exist(configfile,'file'),
Deleted: issm/trunk/src/m/model/plot/Makefile.am
===================================================================
--- issm/trunk/src/m/model/plot/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/plot/plot_contour.m
===================================================================
--- issm/trunk/src/m/model/plot/plot_contour.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/plot_contour.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
%process data and model
[x y z index is2d isplanet]=processmesh(md,[],options);
+options=removefield(options,'log',0);
[data datatype]=processdata(md,datain,options);
%check is2d
Modified: issm/trunk/src/m/model/plot/plot_overlay.m
===================================================================
--- issm/trunk/src/m/model/plot/plot_overlay.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/plot_overlay.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -79,18 +79,14 @@
if strcmpi(colorm,'Rignot'),
%hue (H)
h_data=(data_grid-data_min)/(data_max-data_min+eps);
- if radaronly,
- h_data(:)=0;
- end
+ if radaronly, h_data(:)=0; end
%saturation (S)
s_data=max(min((0.1+h_data).^(1/transparency),1),0);
elseif strcmpi(colorm,'Seroussi'),
%hue (H)
h_data=1-(data_grid-data_min)/(data_max-data_min+eps)*0.7;
%h_data=(data_grid-data_min)/(data_max-data_min)*2/3;
- if radaronly,
- h_data(:)=0;
- end
+ if radaronly, h_data(:)=0; end
%saturation (S)
s_data=max(min((0.1+h_data).^(1/transparency),1),0);
elseif strcmpi(colorm,'redblue')
@@ -112,6 +108,9 @@
radar=(md.radaroverlay.pwr).^(contrast);
v_data=radar/max(radar(:)); %use radar power as intensity
+%Change background from black to white
+%pos=find(v_data==0);v_data(pos)=1;
+
%Transform HSV to RGB
image_hsv=zeros(size(data_grid,1),size(data_grid,2),3);
image_hsv(:,:,1)=h_data;
@@ -129,7 +128,8 @@
if exist(options,'edgecolor'),
hold on
A=elements(:,1); B=elements(:,2); C=elements(:,3);
- patch('Faces',[A B C],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none','EdgeColor',getfieldvalue(options,'edgecolor'));
+ patch('Faces',[A B C],'Vertices', [x y z],'FaceVertexCData',zeros(size(x)),'FaceColor','none',...
+ 'EdgeColor',getfieldvalue(options,'edgecolor'),'LineWidth',getfieldvalue(options,'linewidth',1));
end
%Apply options, without colorbar and without grid
Modified: issm/trunk/src/m/model/plot/plot_section.m
===================================================================
--- issm/trunk/src/m/model/plot/plot_section.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/plot_section.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -110,10 +110,9 @@
end
%plot section value
- hold on;
- subplot(nlines,ncols,index1)
- %subplot(1,3,[2 3])
+ if(i==1), subplot(nlines,ncols,index1); end
plot(s,data_s,'color',color(i,:),'LineWidth',getfieldvalue(options,'linewidth',1))
+ hold on
%3D
Modified: issm/trunk/src/m/model/plot/plot_tensor.m
===================================================================
--- issm/trunk/src/m/model/plot/plot_tensor.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/plot_tensor.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,11 +16,11 @@
%Figure out tensor type:
%FIXME does not work anymore
if strncmpi(type,'strain',6),
- tensor=md.strainrate;
+ tensor=md.results.strainrate;
elseif strncmpi(type,'stress',6),
- tensor=md.stress;
+ tensor=md.results.stress;
elseif strncmpi(type,'deviatoricstress',16),
- tensor=md.deviatoricstress;
+ tensor=md.results.deviatoricstress;
else
error('plot_tensor error message: unsupported type of tensor');
end
Modified: issm/trunk/src/m/model/plot/plotmodel.m
===================================================================
--- issm/trunk/src/m/model/plot/plotmodel.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/plot/plotmodel.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -47,6 +47,7 @@
try,
for i=1:numberofplots,
plot_manager(getfieldvalue(options.list{i},'model',md),options.list{i},subplotwidth,nlines,ncols,i);
+ %cbfreeze;
end
catch me,
%figure(figurenumber),close;
Modified: issm/trunk/src/m/model/slope.m
===================================================================
--- issm/trunk/src/m/model/slope.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/slope.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -26,7 +26,7 @@
s=sqrt(sx.^2+sy.^2);
if md.mesh.dimension==3,
- sx=project3d(md,sx,'element');
- sy=project3d(md,sy,'element');
+ sx=project3d(md,'vector',sx,'type','element');
+ sy=project3d(md,'vector',sy,'type','element');
s=sqrt(sx.^2+sy.^2);
end
Modified: issm/trunk/src/m/model/solveparallel.m
===================================================================
--- issm/trunk/src/m/model/solveparallel.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solveparallel.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,6 +11,12 @@
md=loadresultsfromcluster(md);
else
+ %In parallel mode, we need to make sure we have PETSC support, otherwise, we run with only one cpu:
+ if ~ispetsc,
+ disp('PETSC support not included, running on 1 cpu only!');
+ cluster.np=1;
+ end
+
%First, build a runtime name that is unique, that we will use to create
%directories, name jobs, etc ...
c=clock; md.private.runtimename=sprintf('%s-%02i-%02i-%04i-%02i-%02i-%02i-%i',md.miscellaneous.name,c(2),c(3),c(1),c(4),c(5),floor(c(6)),feature('GetPid'));
Deleted: issm/trunk/src/m/model/solvers/Makefile.am
===================================================================
--- issm/trunk/src/m/model/solvers/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/model/solvers/asmoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/asmoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/asmoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,18 @@
-function options=asmoptions(varargin)
+function asm=asmoptions(varargin)
%ASMOPTIONS - return Additive Shwartz Method petsc options
%
% Usage:
% options=asmoptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+asm=struct();
%default asm options
-options={{'mat_type','aij'},{'ksp_type','gmres'},{'pc_type','asm'},{'sub_pc_type','lu'},{'pc_asm_overlap',3},{'ksp_max_it',100},{'ksp_rtol',1e-30'}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+asm.mat_type=getfieldvalue(options,'mat_type','aij');
+asm.ksp_type=getfieldvalue(options,'ksp_type','gmres');
+asm.pc_type=getfieldvalue(options,'pc_type','asm');
+asm.sub_pc_type=getfieldvalue(options,'sub_pc_type','lu');
+asm.pc_asm_overlap=getfieldvalue(options,'pc_asm_overlap',3);
+asm.ksp_max_it=getfieldvalue(options,'ksp_max_it',100);
+asm.ksp_rtol=getfieldvalue(options,'ksp_rtol',1e-30);
Modified: issm/trunk/src/m/model/solvers/iluasmoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/iluasmoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/iluasmoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,18 @@
-function options=iluasmoptions(varargin)
-%ASMOPTIONS - return Additive Shwartz Method with ILU preconditioner petsc options
+function iluasm=iluasmoptions(varargin)
+%ILUASMOPTIONS -
%
% Usage:
% options=iluasmoptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+iluasm=struct();
%default iluasm options
-options={{'mat_type','aij'},{'ksp_type','gmres'},{'pc_type','asm'},{'sub_pc_type','ilu'},{'pc_asm_overlap',5},{'ksp_max_it',100},{'ksp_rtol',1e-15'}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+iluasm.mat_type=getfieldvalue(options,'mat_type''','aij');
+iluasm.ksp_type=getfieldvalue(options,'ksp_type''','gmres');
+iluasm.pc_type=getfieldvalue(options,'pc_type''','asm');
+iluasm.sub_pc_type=getfieldvalue(options,'sub_pc_type''','ilu');
+iluasm.pc_asm_overlap=getfieldvalue(options,'pc_asm_overlap',5);
+iluasm.ksp_max_it=getfieldvalue(options,'ksp_max_it',100);
+iluasm.ksp_rtol=getfieldvalue(options,'ksp_rtol',1e-15);
Modified: issm/trunk/src/m/model/solvers/jacobiasmoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/jacobiasmoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/jacobiasmoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,18 @@
-function options=jacobiasmoptions(varargin)
+function jacobiasm=jacobiasmoptions(varargin)
%ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
%
% Usage:
% options=jacobiasmoptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+jacobiasm=struct();
%default jacobiasm options
-options={{'mat_type','aij'},{'ksp_type','gmres'},{'pc_type','asm'},{'sub_pc_type','jacobi'},{'pc_asm_overlap',3},{'ksp_max_it',100},{'ksp_rtol',1e-15'}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+jacobiasm.mat_type=getfieldvalue(options,'mat_type','aij');
+jacobiasm.ksp_type=getfieldvalue(options,'ksp_type','gmres');
+jacobiasm.pc_type=getfieldvalue(options,'pc_type','asm');
+jacobiasm.sub_pc_type=getfieldvalue(options,'sub_pc_type','jacobi');
+jacobiasm.pc_asm_overlap=getfieldvalue(options,'pc_asm_overlap',3);
+jacobiasm.ksp_max_it=getfieldvalue(options,'ksp_max_it',100);
+jacobiasm.ksp_rtol=getfieldvalue(options,'ksp_rtol',1e-15);
Modified: issm/trunk/src/m/model/solvers/jacobicgoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/jacobicgoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/jacobicgoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,15 @@
-function options=jacobiasmoptions(varargin)
+function jacobicg=jacobiacgoptions(varargin)
%ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
%
% Usage:
% options=jacobiasmoptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+jacobicg=struct();
%default jacobiasm options
-options={{'mat_type','aij'},{'ksp_type','cg'},{'ksp_max_it',100},{'ksp_rtol',1e-15'}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+jacobicg.mat_type=getfieldvalue(options,'mat_type','aij');
+jacobicg.ksp_type=getfieldvalue(options,'ksp_type','cg');
+jacobicg.ksp_max_it=getfieldvalue(options,'ksp_max_it',100);
+jacobicg.ksp_rtol=getfieldvalue(options,'ksp_rtol',1e-15);
Modified: issm/trunk/src/m/model/solvers/matlaboptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/matlaboptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/matlaboptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,12 @@
-function options=matlaboptions(varargin)
+function maltab=matlaboptions(varargin)
%MATLABOPTIONS - return Matlab petsc options
%
% Usage:
% options=matlaboptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+maltab=struct();
%default matlab options
-options={{'ksp_type','matlab'}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+maltab.ksp_type='matlab';
Modified: issm/trunk/src/m/model/solvers/mumpsoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/mumpsoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/mumpsoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,38 +1,27 @@
-function options=mumpsoptions(varargin)
+function mumps=mumpsoptions(varargin)
%MUMPSOPTIONS - return MUMPS direct solver petsc options
%
% Usage:
% options=mumpsoptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+mumps=struct();
%default mumps options
PETSC_VERSION=petscversion();
if PETSC_VERSION==2,
- options={{'mat_type','aijmumps'},{'ksp_type','preonly'},{'pc_type','lu'},{'mat_mumps_icntl_14',120},{'pc_factor_shift_positive_definite','true'}};
+ mumps.mat_type=getfieldvalue(options,'mat_type','aijmumps');
+ mumps.ksp_type=getfieldvalue(options,'ksp_type','preonly');
+ mumps.pc_type=getfieldvalue(options,'pc_type','lu');
+ mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
+ mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
end
if PETSC_VERSION==3,
- options={{'mat_type','mpiaij'},{'ksp_type','preonly'},{'pc_type','lu'},{'pc_factor_mat_solver_package','mumps'},{'mat_mumps_icntl_14',120},{'pc_factor_shift_positive_definite','true'}};
-
+ mumps.mat_type=getfieldvalue(options,'mat_type','mpiaij');
+ mumps.ksp_type=getfieldvalue(options,'ksp_type','preonly');
+ mumps.pc_type=getfieldvalue(options,'pc_type','lu');
+ mumps.pc_factor_mat_solver_package=getfieldvalue(options,'pc_factor_mat_solver_package','mumps');
+ mumps.mat_mumps_icntl_14=getfieldvalue(options,'mat_mumps_icntl_14',120);
+ mumps.pc_factor_shift_positive_definite=getfieldvalue(options,'pc_factor_shift_positive_definite','true');
end
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
Modified: issm/trunk/src/m/model/solvers/soroptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/soroptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/soroptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +1,16 @@
-function options=soroptions(varargin)
+function sor=soroptions(varargin)
%SOROPTIONS - return Relaxation Solver petsc options
%
% Usage:
% options=soroptions;
%retrieve options provided in varargin
-arguments=pairoptions(varargin{:});
+options=pairoptions(varargin{:});
+sor=struct();
%default sor options
-options={{'mat_type','aij'},{'ksp_type','cg'},{'pc_type','sor'},{'pc_sor_omega',1.1},{'pc_sor_its',2}};
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
+sor.mat_type=getfieldvalue(options,'mat_type','aij');
+sor.ksp_type=getfieldvalue(options,'ksp_type','cg');
+sor.pc_type=getfieldvalue(options,'pc_type','sor');
+sor.pc_sor_omega=getfieldvalue(options,'pc_sor_omega',1.1);
+sor.pc_sor_its=getfieldvalue(options,'pc_sor_its',2);
Modified: issm/trunk/src/m/model/solvers/stokesoptions.m
===================================================================
--- issm/trunk/src/m/model/solvers/stokesoptions.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/model/solvers/stokesoptions.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-function options=stokesoptions(varargin)
+function stokes=stokesoptions(varargin)
%STOKESOPTIONS - return STOKES multi-physics solver petsc options
%
% Usage:
@@ -6,6 +6,7 @@
%retrieve options provided in varargin
arguments=pairoptions(varargin{:});
+stokes=struct();
%default stokes options
PETSC_VERSION=petscversion();
@@ -13,27 +14,15 @@
error('stokesoptions error message: multi-physics options not supported in Petsc 2');
end
if PETSC_VERSION==3,
- options={{'mat_type','mpiaij'},{'ksp_max_it',1000},{'ksp_type','gmres'},{'pc_type','fieldsplit'},{'pc_field_split_type','schur'},...
- {'fieldsplit_0_pc_type','hypre'},{'fieldsplit_0_ksp_type','gmres'},{'fieldsplit_0_pc_hypre_type','boomerang'},...
- {'fieldsplit_1_pc_type','jacobi'},{'fieldsplit_1_ksp_type','preonly'},{'issm_option_solver','stokes'}};
+ stokes.mat_type=getfieldvalue(options,'mat_type','mpiaij');
+ stokes.ksp_max_it=getfieldvalue(options,'ksp_max_it',1000);
+ stokes.ksp_type=getfieldvalue(options,'ksp_type','gmres');
+ stokes.pc_type=getfieldvalue(options,'pc_type','fieldsplit');
+ stokes.pc_field_split_type=getfieldvalue(options,'pc_field_split_type','schur');
+ stokes.fieldsplit_0_pc_type=getfieldvalue(options,'fieldsplit_0_pc_type','hypre');
+ stokes.fieldsplit_0_ksp_type=getfieldvalue(options,'fieldsplit_0_ksp_type','gmres');
+ stokes.fieldsplit_0_pc_hypre_type=getfieldvalue(options,'fieldsplit_0_pc_hypre_type','boomerang');
+ stokes.fieldsplit_1_pc_type=getfieldvalue(options,'fieldsplit_1_pc_type','jacobi');
+ stokes.fieldsplit_1_ksp_type=getfieldvalue(options,'fieldsplit_1_ksp_type','preonly');
+ stokes.issm_option_solver=getfieldvalue(options,'issm_option_solver','stokes');
end
-
-%now, go through our arguments, and write over default options.
-for i=1:size(arguments.list,1),
- arg1=arguments.list{i,1};
- arg2=arguments.list{i,2};
- found=0;
- for j=1:size(options,2),
- joption=options{j};
- if strcmpi(joption{1},arg1),
- joption{2}=arg2;
- options{j}=joption;
- found=1;
- break;
- end
- end
- if ~found,
- %this option did not exist, add it:
- options{end+1}={arg1,arg2};
- end
-end
Deleted: issm/trunk/src/m/planet/Makefile.am
===================================================================
--- issm/trunk/src/m/planet/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/planet/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/qmu/Makefile.am
===================================================================
--- issm/trunk/src/m/qmu/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/qmu/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/qmu/dakota_in_data.m
===================================================================
--- issm/trunk/src/m/qmu/dakota_in_data.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/qmu/dakota_in_data.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -79,8 +79,8 @@
if strcmpi(params.analysis_driver,'matlab') && ...
isempty(params.analysis_components)
- [pathstr,name,ext,versn] = fileparts(filei);
- params.analysis_components=fullfile(pathstr,[name '.m' versn]);
+ [pathstr,name,ext] = fileparts(filei);
+ params.analysis_components=fullfile(pathstr,[name '.m']);
end
% merge method parameters, though they shouldn't be in dparams
Modified: issm/trunk/src/m/qmu/dakota_in_write.m
===================================================================
--- issm/trunk/src/m/qmu/dakota_in_write.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/qmu/dakota_in_write.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -62,12 +62,12 @@
if ~exist('filei' ,'var') || isempty(filei)
filei=input('Dakota input file to write? ','s');
end
-[pathstr,name,ext,versn] = fileparts(filei);
+[pathstr,name,ext] = fileparts(filei);
if isempty(ext)
% fileparts only considers '.in' to be the extension, not '.qmu.in'
ext='.qmu.in';
end
-filei2=fullfile(pathstr,[name ext versn]);
+filei2=fullfile(pathstr,[name ext]);
display(sprintf('Opening Dakota input file ''%s''.',filei2));
fidi=fopen(sprintf('%s',filei2),'w');
@@ -233,11 +233,11 @@
param_write(fidi,'\t ','analysis_driver',' = ''','''\n',params);
param_write(fidi,'\t ','evaluation_static_scheduling','','\n',params);
if ~isempty(params.analysis_components)
- [pathstr,name,ext,versn] = fileparts(params.analysis_components);
+ [pathstr,name,ext] = fileparts(params.analysis_components);
if isempty(ext)
ext='.m';
end
- params.analysis_components=fullfile(pathstr,[name ext versn]);
+ params.analysis_components=fullfile(pathstr,[name ext]);
param_write(fidi,'\t ','analysis_components',' = ''','''\n',params);
end
if ~isempty(params.input_filter)
Deleted: issm/trunk/src/m/shared/Makefile.am
===================================================================
--- issm/trunk/src/m/shared/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/shared/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/solutions/AnalysisConfiguration.m
===================================================================
--- issm/trunk/src/m/solutions/AnalysisConfiguration.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/AnalysisConfiguration.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,8 +4,10 @@
% Usage:
% [analyses, numanalyses]=AnalysisConfiguration(solutiontype);
+if ~isnumeric(solutiontype)
+ solutiontype=StringToEnum(solutiontype);
+end
-
switch solutiontype,
case DiagnosticSolutionEnum,
@@ -13,8 +15,8 @@
analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum];
case SteadystateSolutionEnum,
- numanalyses=7;
- analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
+ numanalyses=8;
+ analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;EnthalpyAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum];
case ThermalSolutionEnum,
numanalyses=2;
Deleted: issm/trunk/src/m/solutions/Makefile.am
===================================================================
--- issm/trunk/src/m/solutions/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/solutions/adjointbalancethickness_core.m
===================================================================
--- issm/trunk/src/m/solutions/adjointbalancethickness_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/adjointbalancethickness_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,7 @@
% femmodel=adjointbalancethickness_core(femmodel)
%recover parameters common to all solutions
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
%set analysis type to compute velocity:
issmprintf(VerboseSolution,' computing thickness');
@@ -23,7 +22,7 @@
%Save results
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
- if(solution_type==AdjointSolutionEnum & ~control_analysis)
+ if(save_results),
issmprintf(VerboseSolution,' saving results');
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
end
Modified: issm/trunk/src/m/solutions/adjointdiagnostic_core.m
===================================================================
--- issm/trunk/src/m/solutions/adjointdiagnostic_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/adjointdiagnostic_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,9 +6,7 @@
%recover parameters common to all solutions
isstokes=femmodel.parameters.FlowequationIsstokes;
- dim=femmodel.parameters.MeshDimension;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
conserve_loads=true;
%set analysis type to compute velocity:
@@ -25,7 +23,7 @@
femmodel=solver_adjoint_linear(femmodel);
%save results
- if(solution_type==AdjointSolutionEnum & ~control_analysis)
+ if(save_results),
issmprintf(VerboseSolution,' saving results');
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointxEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointyEnum);
Modified: issm/trunk/src/m/solutions/balancethickness_core.m
===================================================================
--- issm/trunk/src/m/solutions/balancethickness_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/balancethickness_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,9 +5,7 @@
% femmodel=balancethickness_core(femmode)
%recover parameters common to all solutions
- dim=femmodel.parameters.MeshDimension;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
%Activate formulation
femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
@@ -15,7 +13,7 @@
issmprintf(VerboseSolution,' call computational core');
femmodel=solver_linear(femmodel);
- if (solution_type==BalancethicknessSolutionEnum & ~control_analysis),
+ if (save_results),
issmprintf(VerboseSolution,' saving results');
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
end
Modified: issm/trunk/src/m/solutions/bedslope_core.m
===================================================================
--- issm/trunk/src/m/solutions/bedslope_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/bedslope_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,9 +6,7 @@
%
%Recover some parameters:
- dim=femmodel.parameters.MeshDimension;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
issmprintf(VerboseSolution,' computing bed slope');
@@ -18,7 +16,7 @@
femmodel=SetCurrentConfiguration(femmodel,BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
femmodel=solver_linear(femmodel);
- if (solution_type==BedSlopeSolutionEnum & ~control_analysis),
+ if (save_results),
issmprintf(VerboseSolution,' saving results');
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeXEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeYEnum);
Modified: issm/trunk/src/m/solutions/control_core.m
===================================================================
--- issm/trunk/src/m/solutions/control_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/control_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,8 +16,8 @@
step_threshold=femmodel.parameters.InversionStepThreshold;
tol_cm=femmodel.parameters.InversionCostFunctionThreshold;
gradient_only=femmodel.parameters.InversionGradientOnly;
- dim=femmodel.parameters.MeshDimension;
isstokes=femmodel.parameters.FlowequationIsstokes;
+ femmodel.parameters.SaveResults=false;
%Initialise options with maxiter
options.MaxIter=femmodel.parameters.InversionMaxiterPerStep;
@@ -58,7 +58,7 @@
end
issmprintf(VerboseControl,' optimizing along gradient direction');
- [search_scalar J(n)]=ControlOptimization('objectivefunctionC',0,1,options,femmodel,n,femmodel.parameters);
+ [search_scalar J(n)]=ControlOptimization('objectivefunction',0,1,options,femmodel,n,femmodel.parameters);
issmprintf(VerboseControl,' updating parameter using optimized search scalar');
[femmodel.elements,femmodel.nodes,femmmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=InputControlUpdate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,search_scalar,1);
@@ -74,7 +74,7 @@
%generate output
issmprintf(VerboseControl,' preparing final velocity solution');
- femmodel.parameters.InversionIscontrol=0;
+ femmodel.parameters.SaveResults=true;
eval(['femmodel=' solutioncore '(femmodel);']);
%Some results not computed by diagnostic or steadystate
Modified: issm/trunk/src/m/solutions/diagnostic_core.m
===================================================================
--- issm/trunk/src/m/solutions/diagnostic_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/diagnostic_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,13 +10,13 @@
conserve_loads=true;
%recover parameters common to all solutions
- dim=femmodel.parameters.MeshDimension;
ishutter=femmodel.parameters.FlowequationIshutter;
ismacayealpattyn=femmodel.parameters.FlowequationIsmacayealpattyn;
isstokes=femmodel.parameters.FlowequationIsstokes;
isnewton=femmodel.parameters.DiagnosticIsnewton;
+ dim=femmodel.parameters.MeshDimension;
dakota_analysis=femmodel.parameters.QmuIsdakota;
- control_analysis=femmodel.parameters.InversionIscontrol;
+ save_results=femmodel.parameters.SaveResults;
solution_type=femmodel.parameters.SolutionType;
%for qmu analysis, be sure the velocity input we are starting from is the one in the parameters:
@@ -74,7 +74,7 @@
femmodel=solver_linear(femmodel);
end
- if (solution_type==DiagnosticSolutionEnum & ~control_analysis)
+ if (save_results),
issmprintf(VerboseSolution,'\n%s',[' saving results']);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
Modified: issm/trunk/src/m/solutions/enthalpy_core.m
===================================================================
--- issm/trunk/src/m/solutions/enthalpy_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/enthalpy_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,32 +5,17 @@
% femmodel=enthalpy_core(femmodel)
%recover parameters common to all solutions
- ndt=femmodel.parameters.TimesteppingFinalTime;
- dt=femmodel.parameters.TimesteppingTimeStep;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
- %Compute number of timesteps
- if (dt==0 | ndt==0),
- dt=0;
- nsteps=1;
- else
- nsteps=floor(ndt/dt);
- end
+ issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']);
+ femmodel=SetCurrentConfiguration(femmodel,EnthalpyAnalysisEnum);
+ femmodel=solver_nonlinear(femmodel,true);
- %Loop through time
- for i=1:nsteps,
- issmprintf(VerboseSolution,'\n%s%i/%i\n','time step: ',i,nsteps);
- time=(i+1)*dt;
-
- femmodel=enthalpy_core_step(femmodel,i,time);
-
- if (solution_type==EnthalpySolutionEnum & ~control_analysis),
- issmprintf(VerboseSolution,'\n%s',[' saving results']);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum,i,time);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,i,time);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum,i,time);
- end
+ if (save_results),
+ issmprintf(VerboseSolution,'\n%s',[' saving results']);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum);
end
end %end of function
Deleted: issm/trunk/src/m/solutions/enthalpy_core_step.m
===================================================================
--- issm/trunk/src/m/solutions/enthalpy_core_step.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/enthalpy_core_step.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-function femmodel=enthalpy_core_step(femmodel,step,time)
-%ENTHALPY_CORE_STEP - core of the enthalpy solution for one step
-%
-% Usage:
-% femmodel=enthalpy_core_step(femmodel,step,time)
-
- %some parameters
- modify_loads=true;
-
- issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']);
- femmodel=SetCurrentConfiguration(femmodel,EnthalpyAnalysisEnum);
- femmodel=solver_nonlinear(femmodel,modify_loads);
-
-end %end function
Copied: issm/trunk/src/m/solutions/objectivefunction.m (from rev 11994, issm/trunk-jpl/src/m/solutions/objectivefunction.m)
===================================================================
--- issm/trunk/src/m/solutions/objectivefunction.m (rev 0)
+++ issm/trunk/src/m/solutions/objectivefunction.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,39 @@
+function J =objectivefunction(search_scalar,femmodel);
+%OBJECTIVEFUNCTION - objective function that return a parameter for a certain function
+%
+% Usage:
+% J =objectivefunction(search_scalar,femmodel);
+
+conserve_loads=true;
+J=0;
+
+%recover some parameters
+analysis_type = femmodel.parameters.AnalysisType;
+solution_type = femmodel.parameters.SolutionType;
+isstokes = femmodel.parameters.FlowequationIsstokes;
+
+%set current configuration
+if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum)
+ femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum);
+elseif (solution_type==BalancethicknessSolutionEnum)
+ femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
+else
+ error('solution not implemented yet');
+end
+
+%Use search scalar to shoot parameter in the gradient direction:
+[femmodel.elements,femmodel.nodes,femmmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=InputControlUpdate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,search_scalar,0);
+
+%Run diagnostic with updated inputs:
+if (solution_type==DiagnosticSolutionEnum)
+ femmodel=solver_nonlinear(femmodel,conserve_loads); %true means we conserve loads at each diagnostic run
+elseif (solution_type==SteadystateSolutionEnum)
+ femmodel=diagnostic_core(femmodel); %We need a 3D velocity!! (vz is required for the next thermal run)
+elseif (solution_type==BalancethicknessSolutionEnum)
+ femmodel=solver_linear(femmodel);
+else
+ error('solution not implemented yet');
+end
+
+%Compute misfit for this velocity field
+J=CostFunction(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials, femmodel.parameters);
Deleted: issm/trunk/src/m/solutions/objectivefunctionC.m
===================================================================
--- issm/trunk/src/m/solutions/objectivefunctionC.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/objectivefunctionC.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,36 +0,0 @@
-function J =objectivefunctionC(search_scalar,femmodel);
-%OBJECTIVEFUNCTIONC - objective function that return a parameter for a certain function
-
-conserve_loads=true;
-J=0;
-
-%recover some parameters
-analysis_type = femmodel.parameters.AnalysisType;
-solution_type = femmodel.parameters.SolutionType;
-isstokes = femmodel.parameters.FlowequationIsstokes;
-
-%set current configuration
-if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum)
- femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum);
-elseif (solution_type==BalancethicknessSolutionEnum)
- femmodel=SetCurrentConfiguration(femmodel,BalancethicknessAnalysisEnum);
-else
- error('solution not implemented yet');
-end
-
-%Use search scalar to shoot parameter in the gradient direction:
-[femmodel.elements,femmodel.nodes,femmmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=InputControlUpdate(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,search_scalar,0);
-
-%Run diagnostic with updated inputs:
-if (solution_type==DiagnosticSolutionEnum)
- femmodel=solver_nonlinear(femmodel,conserve_loads); %true means we conserve loads at each diagnostic run
-elseif (solution_type==SteadystateSolutionEnum)
- femmodel=diagnostic_core(femmodel); %We need a 3D velocity!! (vz is required for the next thermal run)
-elseif (solution_type==BalancethicknessSolutionEnum)
- femmodel=solver_linear(femmodel);
-else
- error('solution not implemented yet');
-end
-
-%Compute misfit for this velocity field
-J=CostFunction(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials, femmodel.parameters);
Modified: issm/trunk/src/m/solutions/prognostic_core.m
===================================================================
--- issm/trunk/src/m/solutions/prognostic_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/prognostic_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,7 @@
% femmodel=prognostic_core(femmodel)
%recover parameters common to all solutions
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
%Activate formulation
femmodel=SetCurrentConfiguration(femmodel,PrognosticAnalysisEnum);
@@ -14,7 +13,7 @@
issmprintf(VerboseSolution,'\n%s',[' call computational core']);
femmodel=solver_linear(femmodel);
- if (solution_type==PrognosticSolutionEnum & ~control_analysis)
+ if (save_results),
issmprintf(VerboseSolution,'\n%s',[' saving results']);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
end
Modified: issm/trunk/src/m/solutions/steadystate_core.m
===================================================================
--- issm/trunk/src/m/solutions/steadystate_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/steadystate_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,9 +6,9 @@
%
%recover parameters common to all solutions
- dim=femmodel.parameters.MeshDimension;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
+ isenthalpy=femmodel.parameters.ThermalIsenthalpy;
+ femmodel.parameters.SaveResults=false;
%Initialize counter
step=1;
@@ -16,7 +16,11 @@
while true,
issmprintf(VerboseSolution,'\n%s%i\n',' computing velocities and temperatures for step: ',step);
- femmodel=thermal_core(femmodel);
+ if (isenthalpy==0),
+ femmodel=thermal_core(femmodel);
+ else
+ femmodel=enthalpy_core(femmodel);
+ end
issmprintf(VerboseSolution,'\n%s',[' computing new velocity']);
femmodel=diagnostic_core(femmodel);
@@ -37,7 +41,7 @@
step=step+1;
end
- if (solution_type==SteadystateSolutionEnum & ~control_analysis),
+ if (save_results),
issmprintf(VerboseSolution,'\n%s',[' saving results']);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
@@ -45,7 +49,11 @@
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum);
- end
+ if (isenthalpy),
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum);
+ else
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum);
+ end
end %end of function
Modified: issm/trunk/src/m/solutions/surfaceslope_core.m
===================================================================
--- issm/trunk/src/m/solutions/surfaceslope_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/surfaceslope_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,9 +6,7 @@
%
%Recover some parameters:
- dim=femmodel.parameters.MeshDimension;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
%Call on core computations:
issmprintf(VerboseSolution,'\n%s',[' computing surface slope']);
@@ -17,7 +15,7 @@
femmodel=SetCurrentConfiguration(femmodel,SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
femmodel=solver_linear(femmodel);
- if (solution_type==SurfaceSlopeSolutionEnum),
+ if (save_results),
issmprintf(VerboseSolution,'\n%s',[' saving results']);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeXEnum);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeYEnum);
Modified: issm/trunk/src/m/solutions/thermal_core.m
===================================================================
--- issm/trunk/src/m/solutions/thermal_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/thermal_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,32 +6,20 @@
%recover parameters common to all solutions
- ndt=femmodel.parameters.TimesteppingFinalTime;
- dt=femmodel.parameters.TimesteppingTimeStep;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ save_results=femmodel.parameters.SaveResults;
- %Compute number of timesteps
- if (dt==0 | ndt==0),
- dt=0;
- nsteps=1;
- else
- nsteps=floor(ndt/dt);
- end
+ issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
+ femmodel=SetCurrentConfiguration(femmodel,ThermalAnalysisEnum);
+ femmodel=solver_thermal_nonlinear(femmodel);
- %Loop through time
- for i=1:nsteps,
- issmprintf(VerboseSolution,'\n%s%i/%i\n','time step: ',i,nsteps);
- time=(i+1)*dt;
+ issmprintf(VerboseSolution,'\n%s',[' computing melting']);
+ femmodel=SetCurrentConfiguration(femmodel,MeltingAnalysisEnum);
+ femmodel=solver_linear(femmodel);
- issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
- femmodel=thermal_core_step(femmodel,i,time);
-
- if (solution_type==ThermalSolutionEnum & ~control_analysis),
- issmprintf(VerboseSolution,'\n%s',[' saving results']);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,i,time);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,i,time);
- end
+ if (save_results),
+ issmprintf(VerboseSolution,'\n%s',[' saving results']);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
+ femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum);
end
end %end of function
Deleted: issm/trunk/src/m/solutions/thermal_core_step.m
===================================================================
--- issm/trunk/src/m/solutions/thermal_core_step.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/thermal_core_step.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,15 +0,0 @@
-function femmodel=thermal_core_step(femmodel,step,time)
-%THERMAL_CORE_STEP - core of the thermal solution for one step
-%
-% Usage:
-% femmodel=thermal_core_step(femmodel,step,time)
-
- issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
- femmodel=SetCurrentConfiguration(femmodel,ThermalAnalysisEnum);
- femmodel=solver_thermal_nonlinear(femmodel);
-
- issmprintf(VerboseSolution,'\n%s',[' computing melting']);
- femmodel=SetCurrentConfiguration(femmodel,MeltingAnalysisEnum);
- femmodel=solver_linear(femmodel);
-
-end %end function
Modified: issm/trunk/src/m/solutions/transient_core.m
===================================================================
--- issm/trunk/src/m/solutions/transient_core.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solutions/transient_core.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,12 +5,11 @@
% femmodel=transient3d_core(femmodel)
%recover parameters common to all solutions
- dim=femmodel.parameters.MeshDimension;
- ndt=femmodel.parameters.TimesteppingFinalTime;
+ starttime=femmodel.parameters.TimesteppingStartTime;
+ finaltime=femmodel.parameters.TimesteppingFinalTime;
dt=femmodel.parameters.TimesteppingTimeStep;
yts=femmodel.parameters.ConstantsYts;
- control_analysis=femmodel.parameters.InversionIscontrol;
- solution_type=femmodel.parameters.SolutionType;
+ dim=femmodel.parameters.MeshDimension;
output_frequency=femmodel.parameters.SettingsOutputFrequency;
time_adapt=femmodel.parameters.TimesteppingTimeAdapt;
dakota_analysis=femmodel.parameters.QmuIsdakota;
@@ -22,7 +21,7 @@
groundinglinemigration=femmodel.parameters.GroundinglineMigration;
%Initialize
- time=0;
+ time=starttime;
step=0;
%for qmu analysis, be sure the velocity input we are starting from is the one in the parameters:
@@ -41,26 +40,33 @@
end
%Loop through time
- while (time < ndt - (yts*eps)),
+ while (time < finaltime+eps),
%Increment
if(time_adapt),
dt=TimeAdapt(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
- if(time+dt>ndt), dt=ndt-time; end
+ if(time+dt>finaltime), dt=finaltime-time; end
femmodel.parameters.TimesteppingTimeStep=dt;
end
step=step+1;
time=time+dt;
femmodel.parameters.Time=time;
+ femmodel.parameters.Step=step;
- issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr] ',time/yts,' iteration number: ',step,'/',floor(ndt/dt));
+ issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr] ',time/yts,' iteration number: ',step,'/',floor((finaltime-starttime)/dt));
+ if(mod(step,output_frequency)==0 | time==ndt),
+ save_results=true;
+ else
+ save_results=false;
+ end
+ femmodel.parameters.SaveResults=save_results;
if (isthermal & dim==3)
issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
if (isenthalpy==0),
- femmodel=thermal_core_step(femmodel);
+ femmodel=thermal_core(femmodel);
else
- femmodel=enthalpy_core_step(femmodel);
+ femmodel=enthalpy_core(femmodel);
end
end
@@ -83,20 +89,10 @@
GroundinglineMigration(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
end
- if (solution_type==TransientSolutionEnum & ~control_analysis & (mod(step,output_frequency)==0 | time==ndt)),
- issmprintf(VerboseSolution,'\n%s',[' saving results']);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time);
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,step,time);
- if (dim==3), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VzEnum,step,time); end
- if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum,step,time); end
- if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum,step,time); end
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum,step,time);
+ if (save_results),
+ issmprintf(VerboseSolution,'\n%s',[' saving transient results']);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceEnum,step,time);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedEnum,step,time);
- if (dim==3 & isthermal), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end
- if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum,step,time);end
- if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum,step,time);end
- femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,step,time);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceforcingsMassBalanceEnum,step,time);
femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,MaskElementonfloatingiceEnum,step,time);
end
Deleted: issm/trunk/src/m/solvers/Makefile.am
===================================================================
--- issm/trunk/src/m/solvers/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/solvers/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Analysis/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Analysis/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Analysis/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/utils/Analysis/setcluster.m
===================================================================
--- issm/trunk/src/m/utils/Analysis/setcluster.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Analysis/setcluster.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,4 +4,5 @@
% Usage:
% md=setcluster(md,cluster);
+disp('Warning: setcluster is deprecated, use md.cluster=cluster instead');
md.cluster=cluster;
Deleted: issm/trunk/src/m/utils/Array/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Array/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Array/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/BC/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/BC/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/BC/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Basins/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Basins/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Basins/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Cluster/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Cluster/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Cluster/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/DataProcessing/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/DataProcessing/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/DataProcessing/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Ecco3/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Ecco3/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Ecco3/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Exp/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Exp/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/utils/Exp/clicktoflowline.m
===================================================================
--- issm/trunk/src/m/utils/Exp/clicktoflowline.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/clicktoflowline.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,16 +1,24 @@
function clicktoflowline(index,x,y,u,v,filename)
-%CLICKTOFLOWLINE create a flowline contour file (named 'filename') by clicking on a velocity field once.
+%CLICKTOFLOWLINE - create a flowline ARGUS file
%
-% Usage: clicktoflowline(index,x,y,u,v,x0,y0,filename)
+% create a flowline contour file (named 'filename') by clicking
+% on a velocity field once (velocity must be plotted first)
%
-% Ex: clicktoflowline(md.mesh.elements,md.mesh.x,md.mesh.y,md.inversion.vx_obs,md.inversion.vy_obs,'flowline1.exp')
+% Usage:
+% clicktoflowline(index,x,y,u,v,x0,y0,filename)
+%
+% Example:
+% clicktoflowline(md.mesh.elements,md.mesh.x,md.mesh.y,md.inversion.vx_obs,md.inversion.vy_obs,'flowline.exp')
-
+%Get click position
[x0,y0]=ginput(1);
+%Get flowline
line=flowlines(index,x,y,u,v,x0,y0,200);
+%plot
hold on
plot(line.x,line.y,'r-');
+%Write argus file
expwrite(line,filename);
Deleted: issm/trunk/src/m/utils/Exp/expconcatenate.m
===================================================================
--- issm/trunk/src/m/utils/Exp/expconcatenate.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/expconcatenate.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,56 +0,0 @@
-function expconcatenate(newfile,oldfile)
-%EXPCONCATENATE - modify several profiles to concatenate them
-%
-% this routine reads the profiles of oldfile and enables the user to concatenate
-% the profiles by clicking on the tips he/she wants to link
-%
-% Usage:
-% expconcatenate(newfile,oldfile)
-%
-% See also EXPMASTER, EXPDOC
-
-%Some checks
-if nargin~=2 | nargout
- error('expconcatenate usage: expconcatenate(newfile,oldfile)')
-elseif ~exist(oldfile)
- error(['expconcatenate error message: the file ' oldfile 'does not exist'])
-elseif exist(newfile),
- choice=input(['A file ' newfile ' already exists, do you want to modify it? (y/n)'],'s');
- if ~strcmpi(choice,'y'),
- error('no modification done ... exiting');
- end
-end
-
-%Get exp oldfile
-[path root ext ver]=fileparts(oldfile);
-A=expread(oldfile,1);
-numprofiles=size(A,2);
-
-%Figure out how nany plots have been done so far
-g=get(gca,'children');
-prevplot=length(g);
-
-%plot existing profile
-hold on
-numpoints=0;
-closed=zeros(numprofiles,1);
-for i=1:numprofiles
- plot(A(i).x,A(i).y,'-r','MarkerSize',10);
-
- %update numpoints
- numpoints=numpoints+size(A(i).x,1);
-
- %figure out if the profile is closed or not
- if (A(i).x(1)==A(i).x(end) & A(i).y(1)==A(i).y(end))
- closed(i)=1;
- end
-end
-
-%call merge profile routine
-[A,numprofiles,numpoints,closed]=mergeprofiles(A,numprofiles,numpoints,closed,prevplot,root,options);
-
-hold off
-
-%write contour using expwrite
-title('New file written, exiting','FontSize',14);
-expwrite(A,newfile);
Deleted: issm/trunk/src/m/utils/Exp/expcut.m
===================================================================
--- issm/trunk/src/m/utils/Exp/expcut.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/expcut.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,56 +0,0 @@
-function expcut(newfile,oldfile)
-%EXPCUT - cut a part of a profile
-%
-% this routine reads the profiles of oldfile and enables the user to cut
-% the profiles by clicking on the tips he/she wants to link
-%
-% Usage:
-% expcut(newfile,oldfile)
-%
-% See also EXPMASTER, EXPDOC
-
-%Some checks
-if nargin~=2 | nargout
- error('expcut usage: expcut(newfile,oldfile)')
-elseif ~exist(oldfile)
- error(['expcut error message: the file ' oldfile 'does not exist'])
-elseif exist(newfile),
- choice=input(['A file ' newfile ' already exists, do you want to modify it? (y/n)'],'s');
- if ~strcmpi(choice,'y'),
- error('no modification done ... exiting');
- end
-end
-
-%Get exp oldfile
-[path root ext ver]=fileparts(oldfile);
-A=expread(oldfile,1);
-numprofiles=size(A,2);
-
-%Figure out how nany plots have been done so far
-g=get(gca,'children');
-prevplot=length(g);
-
-%plot existing profile
-hold on
-numpoints=0;
-closed=zeros(numprofiles,1);
-for i=1:numprofiles
- plot(A(i).x,A(i).y,'-r','MarkerSize',10);
-
- %update numpoints
- numpoints=numpoints+size(A(i).x,1);
-
- %figure out if the profile is closed or not
- if (A(i).x(1)==A(i).x(end) & A(i).y(1)==A(i).y(end))
- closed(i)=1;
- end
-end
-
-%call merge profile routine
-[A,numprofiles,numpoints,closed]=cutarea(A,numprofiles,numpoints,closed,prevplot,root,options);
-
-hold off
-
-%write contour using expwrite
-title('New file written, exiting','FontSize',14);
-expwrite(A,newfile);
Deleted: issm/trunk/src/m/utils/Exp/expopen.m
===================================================================
--- issm/trunk/src/m/utils/Exp/expopen.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/expopen.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +0,0 @@
-function struct=expopen(newname,oldname)
-%EXPOPEN - read in an exp file, and open all the contours.
-%
-% Usage:
-% expopen(newname,oldname)
-%
-
-
-a=expread(oldname,0); %0 for opening.
-expwrite(a,newname);
Deleted: issm/trunk/src/m/utils/Exp/expselect.m
===================================================================
--- issm/trunk/src/m/utils/Exp/expselect.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/expselect.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,61 +0,0 @@
-function expselect(newfile,oldfile)
-%EXPSELECT - allow to select some profiles
-%
-% this routine reads the profiles of oldfile
-% and enables the user to select the profiles
-% that he/she wants to keep in newfile
-%
-% Usage:
-% expselect(newfile,oldfile)
-%
-% See also EXPMASTER, EXPDOC
-
-%Some checks
-if nargin~=2 | nargout
- error('expselect usage: expselect(newfile,oldfile)')
-elseif ~exist(oldfile)
- error(['expselect error message: the file ' oldfile 'does not exist'])
-elseif exist(newfile),
- choice=input(['A file ' newfile ' already exists, do you want to modify it? (y/n)'],'s');
- if ~strcmpi(choice,'y'),
- error('no modification done ... exiting');
- end
-end
-
-%Get exp oldfile
-[path root ext ver]=fileparts(oldfile);
-A=expread(oldfile,1);
-numprofiles=size(A,2);
-
-%Figure out how nany plots have been done so far
-g=get(gca,'children');
-prevplot=length(g);
-
-%plot existing profile
-hold on
-numpoints=0;
-closed=zeros(numprofiles,1);
-for i=1:numprofiles
- plot(A(i).x,A(i).y,'-r','MarkerSize',10);
-
- %update numpoints
- numpoints=numpoints+size(A(i).x,1);
-
- %figure out if the profile is closed or not
- if (A(i).x(1)==A(i).x(end) & A(i).y(1)==A(i).y(end))
- closed(i)=1;
- end
-end
-
-%call merge profile routine
-[A,numprofiles,numpoints,closed]=removeprofile(A,numprofiles,numpoints,closed,prevplot,root,options);
-
-hold off
-
-%write contour using expwrite
-title('New file written, exiting','FontSize',14);
-if isempty(A)
- disp('Profile empty, no file written')
-else
- expwrite(A,newfile);
-end
Property changes on: issm/trunk/src/m/utils/Exp/manipulation
___________________________________________________________________
Added: svn:ignore
+ Makefile
Makefile.in
Property changes on: issm/trunk/src/m/utils/Exp/readwrite
___________________________________________________________________
Added: svn:ignore
+ Makefile
Makefile.in
Modified: issm/trunk/src/m/utils/Exp/readwrite/expread.m
===================================================================
--- issm/trunk/src/m/utils/Exp/readwrite/expread.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/readwrite/expread.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,4 +1,4 @@
-function Struct=expread(filename,whole);
+function Struct=expread(filename);
%EXPREAD - read a file exp and build a Structure
%
% This routine reads a file .exp and build a Structure containing the
@@ -9,11 +9,11 @@
% indicate if the last point shall be read (1 to read it, 0 not to).
%
% Usage:
-% Struct=expread(filename,whole)
+% Struct=expread(filename)
%
% Example:
% Struct=expread('domainoutline.exp')
-% Struct=expread('domainoutline.exp',1)
+% Struct=expread('domainoutline.exp')
%
% See also EXPDOC, EXPWRITEASVERTICES
@@ -21,9 +21,6 @@
if ~exist(filename),
error(['expread error message: file ' filename ' not found!']);
end
-if nargin<2,
- whole=1;
-end
%initialize number of profile
count=0;
@@ -75,16 +72,9 @@
(Struct(count).x(end) == Struct(count).x(1)) && ...
(Struct(count).y(end) == Struct(count).y(1))
Struct(count).closed=true;
- %skip last coordinate if whole=0,
- if whole==0
- Struct(count).nods=Struct(count).nods-1;
- Struct(count).x =Struct(count).x(1:end-1,1);
- Struct(count).y =Struct(count).y(1:end-1,1);
- end
else
Struct(count).closed=false;
end
-
end
%close file
Deleted: issm/trunk/src/m/utils/Exp/readwrite/newline.m
===================================================================
--- issm/trunk/src/m/utils/Exp/readwrite/newline.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/readwrite/newline.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,8 +0,0 @@
-function new_line(fid)
-%NEW_LINE - add a new line in a a file
-%
-% Used by exp generators and readers.
-% DO NOT USE
-
-A='';
-fprintf(fid,'\n',A);
Deleted: issm/trunk/src/m/utils/Exp/readwrite/read_file.m
===================================================================
--- issm/trunk/src/m/utils/Exp/readwrite/read_file.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/readwrite/read_file.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,42 +0,0 @@
-function struct=read_file(name,whole);
-%READ_FILE - ???
-%
-% Usage:
-% struct=read_file(name,whole)
-
-fid=fopen(name,'r');
-i=0;
-while (~feof(fid)),
- i=i+1;
- A=readline(fid,2);
-A=readline(fid,2);
-A=readline(fid,4);
-[A,bytecount]=fscanf(fid,'%i %f',[1 2]);
-if whole==1,
- struct(i).nods=A(1);
-else
- struct(i).nods=A(1)-1;
-end
-A=readline(fid,5);
-
-struct(i).x=zeros(struct(i).nods,1);
-struct(i).y=zeros(struct(i).nods,1);
-
-for n=1:struct(i).nods,
- [A,bytecount]=fscanf(fid,'%f %f',[1 2]);
- struct(i).x(n)=A(1);
- struct(i).y(n)=A(2);
-end
-if whole==0,
- fscanf(fid,'%f %f',[1 2]);
-end
-
-end
-fclose(fid);
-
-
-
-
-
-
-
Deleted: issm/trunk/src/m/utils/Exp/readwrite/readfile.m
===================================================================
--- issm/trunk/src/m/utils/Exp/readwrite/readfile.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/readwrite/readfile.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-function string=readfile(filename)
-%READFILE - ???
-%
-% Usage:
-% string=readfile(filename)
-
-string='';
-fid=fopen(filename);
-while(1),
- tline=fgets(fid);
- if ~ischar(tline), break, end
- string=[string tline];
-end
-fclose(fid);
Deleted: issm/trunk/src/m/utils/Exp/readwrite/writefile.m
===================================================================
--- issm/trunk/src/m/utils/Exp/readwrite/writefile.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/readwrite/writefile.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,14 +0,0 @@
-function writefile(filename,string)
-%WRITEFILE - write a file from a string
-%
-% useful to recovert an exp file from md.domainoutline
-%
-% Usage:
-% writefile(filename,string)
-%
-% Example:
-% writefile('DomainOutline.exp',md.domainoutline)
-
-fid = fopen(filename,'wt');
-fprintf(fid,string);
-fclose(fid);
Deleted: issm/trunk/src/m/utils/Exp/zinput.m
===================================================================
--- issm/trunk/src/m/utils/Exp/zinput.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Exp/zinput.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,211 +0,0 @@
-function [out_regs] = zinput(arg1)
-% ZINPUT - Graphical input from mouse with zoom
-%
-% [OUT_REGS] = ZINPUT(N) gets N points or regions from the
-% current axes and returns the X- and Y-ranges in a length Nx4
-% matrix OUT_REGS.
-% The cursor can be positioned using a mouse. Data points are entered by
-% pressing the right mouse button, the region of the current axis
-% are selected with the middle button, left button is for
-% zooming, single cklick zooms in, click-and drag zooms to
-% region (and doubble-click should zoom out - feature pending).
-% Any key on the keyboard except carriage return zooms out to the
-% orignal axis except carriage return, which terminates the input
-% before N points are entered.
-%
-% [OUT_REGS] = ZINPUT gathers an unlimited number of points until the
-% return key is pressed.
-%
-% Usage:
-% [out_regs] = zinput(arg1)
-%
-% See also GINPUT
-
-% Copyright Bjorn Gustavsson 20050314
-
-ax0 = axis;
-out_regs = [];
-c = computer;
-if ~strcmp(c(1:2),'PC')
- tp = get(0,'TerminalProtocol');
-else
- tp = 'micro';
-end
-
-if ~strcmp(tp,'none') & ~strcmp(tp,'x') & ~strcmp(tp,'micro') & 0,
- % I dont know about this so better make short-cut and blindly try
- % what works for X in all environments - sorry about that.
-else
-
- fig = gcf;
- figure(gcf);
-
- if nargin == 0
- how_many = inf;
- b = [];
- else
- how_many = arg1;
- b = [];
- if isstr(how_many) ...
- | size(how_many,1) ~= 1 | size(how_many,2) ~= 1 ...
- | ~(fix(how_many) == how_many) ...
- | how_many < 0
- error('Requires a positive integer.');
- end
- if how_many == 0
- ptr_fig = 0;
- while(ptr_fig ~= fig)
- ptr_fig = get(0,'PointerWindow');
- end
- scrn_pt = get(0,'PointerLocation');
- loc = get(fig,'Position');
- pt = [scrn_pt(1) - loc(1), scrn_pt(2) - loc(2)];
- out1 = pt(1); y = pt(2);
- elseif how_many < 0
- error('Argument must be a positive integer.');
- end
- end
-
- % Remove figure button functions
- state = uisuspend(fig);
- pointer = get(gcf,'pointer');
- set(gcf,'pointer','fullcrosshair');
-
- fig_units = get(fig,'units');
- char = 0;
- while size(out_regs,1) < how_many
- % Use no-side effect WAITFORBUTTONPRESS
- waserr = 0;
- try
- keydown = wfbp;
- catch
- waserr = 1;
- end
- if(waserr == 1)
- if(ishandle(fig))
- set(fig,'units',fig_units);
- uirestore(state);
- error('Interrupted');
- else
- error('Interrupted by figure deletion');
- end
- end
-
- ptr_fig = get(0,'CurrentFigure');
- if(ptr_fig == fig)
- if keydown
- axis(ax0);
- char = get(fig, 'CurrentCharacter');
- else
- char = get(fig, 'CurrentCharacter');
- button = abs(get(fig, 'CurrentCharacter'));
-
- pnt = get(gcf,'currentpoint');
- xy1 = get(gca,'currentpoint');
- rbbox([pnt 0 0],pnt)
- xy2 = get(gca,'currentpoint');
- selection_type = get(gcf,'selectiontype');
-
- if all(xy1==xy2)
- ax1 = axis;
-
- dx = abs(ax1(2)-ax1(1));
- dy = abs(ax1(4)-ax1(3));
-
- xmin = max(ax1(1),xy1(1)-dx/4);
- xmax = min(ax1(2),xy1(1)+dx/4);
- ymin = max(ax1(3),xy1(1,2)-dy/4);
- ymax = min(ax1(4),xy1(1,2)+dy/4);
- zoom2ax = [xmin xmax ymin ymax];
- else
- %%% zoom to selected rectangle
- zoom2ax = [sort([xy1(1,1) xy2(1,1)]) sort([xy1(1,2) xy2(1,2)])];
- end
-
- switch selection_type
- case 'normal'
- axis(zoom2ax)
- reg = [];
- case 'alt'
- reg = axis;
- axis(ax0)
- case 'extend'
- reg = xy1(1,[1 1 2 2]);
- axis(ax0)
- otherwise %%% open (doubleclick in linux)
- axis(ax0);
- reg = [];
- end
- end
- pt = get(gca, 'CurrentPoint');
-
- if (char == 'r')
- rmi = size(out_regs,1);
- if rmi > 0
- out_regs(rmi,:) = [];
- end
- set(fig, 'CurrentCharacter','q')
- char = 'q';
- reg = [];
- end
- if(char == 13) % & how_many ~= 0)
- % if the return key was pressed, char will == 13,
- % and that's our signal to break out of here whether
- % or not we have collected all the requested data
- % points.
- % If this was an early breakout, don't include
- % the <Return> key info in the return arrays.
- % We will no longer count it if it's the last input.
- break;
- end
-
- if ~isempty(reg)
- out_regs = [out_regs;reg];
- end
- end
- %[size(out_regs,1), how_many, size(out_regs,1) < how_many]
- end
-
- uirestore(state);
- set(gcf,'pointer','arrow');
- set(fig,'units',fig_units);
- set(fig, 'CurrentCharacter','q');
-
-end
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-function key = wfbp
-%WFBP Replacement for WAITFORBUTTONPRESS that has no side effects.
-
-fig = gcf;
-current_char = [];
-
-% Now wait for that buttonpress, and check for error conditions
-waserr = 0;
-try
- h=findall(fig,'type','uimenu','accel','C'); % Disabling ^C for edit menu so the only ^C is for
- set(h,'accel',''); % interrupting the function.
- keydown = waitforbuttonpress;
- current_char = double(get(fig,'CurrentCharacter')); % Capturing the character.
- if~isempty(current_char) & (keydown == 1) % If the character was generated by the
- if(current_char == 3) % current keypress AND is ^C, set 'waserr'to 1
- waserr = 1; % so that it errors out.
- end
- end
-
- set(h,'accel','C'); % Set back the accelerator for edit menu.
-catch
- waserr = 1;
-end
-drawnow;
-if(waserr == 1)
- set(h,'accel','C'); % Set back the accelerator if it errored out.
- error('Interrupted');
-end
-
-selection_type = get(gcf,'selectiontype');
-if strcmp(selection_type,'open')
- axis(ax0)
-end
-if nargout>0, key = keydown; end
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Deleted: issm/trunk/src/m/utils/Geometry/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Geometry/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Geometry/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/ImageProcessing/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/ImageProcessing/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/ImageProcessing/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Interp/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Interp/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Interp/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Kml/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Kml/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Kml/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/LatLong/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/LatLong/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/LatLong/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,2 +0,0 @@
-SUBDIRS = Analysis Array BC Basins Cluster DataProcessing Ecco3 Exp Geometry ImageProcessing Interp Kml LatLong Math Meca Mesh Miscellaneous Model Numerics OS Plot Shell String consistency qmu
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Math/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Math/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Math/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Meca/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Meca/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Meca/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Mesh/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Mesh/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Mesh/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Miscellaneous/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Miscellaneous/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Miscellaneous/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Model/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Model/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Model/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Numerics/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Numerics/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Numerics/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/utils/Numerics/cfl_step.m
===================================================================
--- issm/trunk/src/m/utils/Numerics/cfl_step.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Numerics/cfl_step.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,13 +1,13 @@
function maxtime=cfl_step(md,vx,vy);
%CFL_STEP - return the maximum time step for the model in years
%
-% Dt < c / ( u/Dx +v/Dy )
+% Dt < 0.5 / ( u/Dx +v/Dy )
%
% Usage:
% maxtime=cfl_step(md,vx,vy);
%
% Example:
-% dt=cfl_step(md,md.results.diagnostic.vx,md.results.diagnostic.vy);
+% dt=cfl_step(md,md,md.results.DiagnosticSolution.Vx,md.results.DiagnosticSolution.Vy)
%Check length of velocities
if size(vx,1)~=md.mesh.numberofvertices & size(vy,1)~=md.mesh.numberofvertices,
Deleted: issm/trunk/src/m/utils/OS/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/OS/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/OS/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/utils/OS/ismumps.m
===================================================================
--- issm/trunk/src/m/utils/OS/ismumps.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/OS/ismumps.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,7 @@
% flag=ismumps();
-configfile=[issmtier() '/config.h'];
+configfile=[issmtier() '/bin/config.h']; %should find it in the install target
if ~exist(configfile,'file'),
error(['File ' configfile ' not found. ISSM has not been configured yet!']);
end
Copied: issm/trunk/src/m/utils/OS/ispetsc.m (from rev 11994, issm/trunk-jpl/src/m/utils/OS/ispetsc.m)
===================================================================
--- issm/trunk/src/m/utils/OS/ispetsc.m (rev 0)
+++ issm/trunk/src/m/utils/OS/ispetsc.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,33 @@
+function flag=ispetsc()
+%ISPETSC - figure out if PETSC package was compiled with ISSM
+%
+% Usage:
+% flag=ispetsc();
+
+
+configfile=[issmtier() '/bin/config.h']; %should find it in the install target
+if ~exist(configfile,'file'),
+ error(['File ' configfile ' not found. ISSM has not been configured yet!']);
+end
+
+%go through the file, and recover the line we want
+flag=2;
+fid=fopen(configfile,'r');
+if(fid==-1), error(['could not open file: ' configfile]); end
+
+while(true),
+ tline=fgets(fid);
+ if ~ischar(tline), break, end
+ if strncmp(tline,'/* #undef _HAVE_PETSC_ */',25),
+ flag=0;
+ break;
+ end
+ if strncmp(tline,'#define _HAVE_PETSC_',20),
+ flag=1;
+ break;
+ end
+end
+fclose(fid);
+if flag==2,
+ error('could not determine whether PETSC was or was not compiled');
+end
Modified: issm/trunk/src/m/utils/OS/oshostname.m
===================================================================
--- issm/trunk/src/m/utils/OS/oshostname.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/OS/oshostname.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,7 +6,7 @@
%
if ispc,
- [status,hostname]=system('hostname');hostname=hostname(1:end-1);
+ [status,hostname]=system('hostname | sed ''s/-//g''');hostname=hostname(1:end-1);
if status,
error('oshostname error message: could not run hostname command on windows os');
Deleted: issm/trunk/src/m/utils/Plot/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Plot/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Plot/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/Shell/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/Shell/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Shell/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Modified: issm/trunk/src/m/utils/Shell/issmtier.m
===================================================================
--- issm/trunk/src/m/utils/Shell/issmtier.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/Shell/issmtier.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,7 +8,9 @@
ISSM_TIER =getenv('ISSM_TIER');
else
ISSM_TIER =getenv('ISSM_TIER_WIN');
- ISSM_TIER = ISSM_TIER(1:end-1); %shave off the last '/'
+ if strcmpi(ISSM_TIER(end),'/') | strcmpi(ISSM_TIER(end),'\'),
+ ISSM_TIER = ISSM_TIER(1:end-1); %shave off the last '/'
+ end
end
if (isempty(ISSM_TIER)),
Deleted: issm/trunk/src/m/utils/String/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/String/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/String/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/consistency/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/consistency/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/consistency/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Deleted: issm/trunk/src/m/utils/qmu/Makefile.am
===================================================================
--- issm/trunk/src/m/utils/qmu/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/m/utils/qmu/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1 +0,0 @@
-bin_SCRIPTS=*.m
Property changes on: issm/trunk/src/mex
___________________________________________________________________
Modified: svn:ignore
- Makefile
.ignore.txt
Makefile.in
*.mexa64
.deps
*.exe
*.exp
*.lib
*.obj
*.mexw64
*.mexw64.manifest
*.mexw64.map
*.mexw32
*.mexw32.manifest
*.mexw32.map
*.exe.manifest
+ __pycache__
Makefile
.ignore.txt
Makefile.in
*.mexa64
.deps
*.exe
*.exp
*.lib
*.obj
*.mexw64
*.mexw64.manifest
*.mexw64.map
*.mexw32
*.mexw32.manifest
*.mexw32.map
*.exe.manifest
Modified: issm/trunk/src/mex/AddExternalResult/AddExternalResult.cpp
===================================================================
--- issm/trunk/src/mex/AddExternalResult/AddExternalResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/AddExternalResult/AddExternalResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,9 +18,9 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&AddExternalResultUsage);
/*Input datasets: */
- FetchMatlabData(&results,RESULTS);
- FetchMatlabData(&type,TYPE);
- FetchMatlabData(&value,&nraws,&ncols,VALUE);
+ FetchData(&results,RESULTS);
+ FetchData(&type,TYPE);
+ FetchData(&value,&nraws,&ncols,VALUE);
/*results might be NILL, allocate: */
if(!results)results=new Results();
@@ -37,7 +37,7 @@
}
/*write output datasets: */
- WriteMatlabData(RESULTSOUT,results);
+ WriteData(RESULTSOUT,results);
/*Free ressources: */
delete results;
Modified: issm/trunk/src/mex/AddExternalResult/AddExternalResult.h
===================================================================
--- issm/trunk/src/mex/AddExternalResult/AddExternalResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/AddExternalResult/AddExternalResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void AddExternalResultUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/AverageFilter/AverageFilter.cpp
===================================================================
--- issm/trunk/src/mex/AverageFilter/AverageFilter.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/AverageFilter/AverageFilter.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -36,14 +36,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&AverageFilterUsage);
/*Fetch data: */
- FetchMatlabData(&imagein,&imagein_rows,&imagein_cols,IMAGEIN);
- FetchMatlabData(&smooth,SMOOTH);
+ FetchData(&imagein,&imagein_rows,&imagein_cols,IMAGEIN);
+ FetchData(&smooth,SMOOTH);
/*Run core hole filler routine: */
AverageFilterx( &imageout,imagein,imagein_rows,imagein_cols,smooth);
/* output: */
- WriteMatlabData(IMAGEOUT,imageout,imagein_rows,imagein_cols);
+ WriteData(IMAGEOUT,imageout,imagein_rows,imagein_cols);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/AverageFilter/AverageFilter.h
===================================================================
--- issm/trunk/src/mex/AverageFilter/AverageFilter.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/AverageFilter/AverageFilter.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void AverageFilterUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.cpp
===================================================================
--- issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -37,9 +37,9 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs\n");
- FetchMatlabData(&index,&nels,&index_rows,INDEXHANDLE);
- FetchMatlabData(&x,&nods,&x_cols,XHANDLE);
- FetchMatlabData(&y,&y_rows,&y_cols,YHANDLE);
+ FetchData(&index,&nels,&index_rows,INDEXHANDLE);
+ FetchData(&x,&nods,&x_cols,XHANDLE);
+ FetchData(&y,&y_rows,&y_cols,YHANDLE);
/*Check inputs*/
if (nels<0){
Modified: issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.h
===================================================================
--- issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/BamgConvertMesh/BamgConvertMesh.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void BamgConvertMeshUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/BamgMesher/BamgMesher.h
===================================================================
--- issm/trunk/src/mex/BamgMesher/BamgMesher.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/BamgMesher/BamgMesher.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void BamgMesherUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.cpp
===================================================================
--- issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,8 +27,8 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs\n");
- FetchMatlabData(&x,&nods,&x_cols,XHANDLE);
- FetchMatlabData(&y,&y_rows,&y_cols,YHANDLE);
+ FetchData(&x,&nods,&x_cols,XHANDLE);
+ FetchData(&y,&y_rows,&y_cols,YHANDLE);
/*Check inputs*/
if(y_rows!=nods) _error_("x and y do not have the same length");
@@ -40,7 +40,7 @@
BamgTriangulatex(&index,&nels,x,y,nods);
/*Write output*/
- WriteMatlabData(INDEX,index,nels,3);
+ WriteData(INDEX,index,nels,3);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.h
===================================================================
--- issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/BamgTriangulate/BamgTriangulate.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void BamgTriangulateUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Chaco/Chaco.cpp
===================================================================
--- issm/trunk/src/mex/Chaco/Chaco.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Chaco/Chaco.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -73,19 +73,19 @@
else ewgts=NULL;
/*Fetch rest of data: */
- FetchMatlabData(&vwgts,&nterms,VWGTS_IN);
+ FetchData(&vwgts,&nterms,VWGTS_IN);
- FetchMatlabData(&x,&nterms,X_IN);
- FetchMatlabData(&y,&nterms,Y_IN);
- FetchMatlabData(&z,&nterms,Z_IN);
+ FetchData(&x,&nterms,X_IN);
+ FetchData(&y,&nterms,Y_IN);
+ FetchData(&z,&nterms,Z_IN);
- FetchMatlabData(&in_options,&nterms,OPTNS_IN);
+ FetchData(&in_options,&nterms,OPTNS_IN);
for (i=0;i<(nterms<10?nterms:10);i++) options[i]=in_options[i]; //copy in_options into default options
- FetchMatlabData(&npart,NPARTS_IN);
+ FetchData(&npart,NPARTS_IN);
nparts=(int*)xmalloc(sizeof(int)); nparts[0]=npart; //weird Chacox interface ain't it?
- FetchMatlabData(&goal,&nterms,GOAL_IN);
+ FetchData(&goal,&nterms,GOAL_IN);
/*Some debugging print: {{{*/
#ifdef _DEBUG_
@@ -119,7 +119,7 @@
/*Output data: */
doubleassignment=(double*)xmalloc(nvtxs*sizeof(double));
for (i=0;i<nvtxs;i++) doubleassignment[i]=(double)assignment[i];
- WriteMatlabData(ASSGN_OUT,doubleassignment,nvtxs);
+ WriteData(ASSGN_OUT,doubleassignment,nvtxs);
/*Free ressources:*/
xfree((void**)&assignment);
Modified: issm/trunk/src/mex/Chaco/Chaco.h
===================================================================
--- issm/trunk/src/mex/Chaco/Chaco.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Chaco/Chaco.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,6 +12,7 @@
#include <string.h> /* strcasecmp */
#include <time.h> /* clock,time,difftime */
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp
===================================================================
--- issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
int numberofnodes;
/* output datasets: */
- Vec sigma_g=NULL;
+ Vector* sigma_g=NULL;
/*Boot module: */
MODULEBOOT();
@@ -25,12 +25,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ComputeBasalStressUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,7 +41,7 @@
ComputeBasalStressx(&sigma_g, elements,nodes,vertices,loads,materials,parameters);
/*write output datasets: */
- WriteMatlabData(SIGMA,sigma_g);
+ WriteData(SIGMA,sigma_g);
/*Free ressources: */
delete nodes;
@@ -50,7 +50,7 @@
delete materials;
delete loads;
delete parameters;
- VecFree(&sigma_g);
+ xdelete(&sigma_g);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.h
===================================================================
--- issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ComputeBasalStress/ComputeBasalStress.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ComputeBasalStressUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp
===================================================================
--- issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,21 +23,21 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ConfigureObjectsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*!Configure objects:*/
ConfigureObjectsx(elements, loads, nodes, vertices,materials,parameters);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(NODESOUT,nodes);
- WriteMatlabData(PARAMETERSOUT,parameters);
+ WriteData(ELEMENTS,elements);
+ WriteData(LOADS,loads);
+ WriteData(NODESOUT,nodes);
+ WriteData(PARAMETERSOUT,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h
===================================================================
--- issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ConfigureObjects/ConfigureObjects.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void ConfigureObjectsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ConstraintsState/ConstraintsState.cpp
===================================================================
--- issm/trunk/src/mex/ConstraintsState/ConstraintsState.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ConstraintsState/ConstraintsState.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -25,12 +25,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ConstraintsStateUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,9 +41,9 @@
ConstraintsStatex(&converged, &num_unstable_constraints, elements,nodes,vertices, loads,materials,parameters);
/*write output datasets: */
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(CONVERGED,converged);
- WriteMatlabData(NUMUNSTABLECONSTRAINTS,num_unstable_constraints);
+ WriteData(LOADS,loads);
+ WriteData(CONVERGED,converged);
+ WriteData(NUMUNSTABLECONSTRAINTS,num_unstable_constraints);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ConstraintsState/ConstraintsState.h
===================================================================
--- issm/trunk/src/mex/ConstraintsState/ConstraintsState.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ConstraintsState/ConstraintsState.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ConstraintsStateUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ContourToMesh/ContourToMesh.cpp
===================================================================
--- issm/trunk/src/mex/ContourToMesh/ContourToMesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ContourToMesh/ContourToMesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -32,9 +32,9 @@
char* interptype=NULL;
/* output: */
- Vec in_nod=NULL;
+ Vector* in_nod=NULL;
int nods;
- Vec in_elem=NULL;
+ Vector* in_elem=NULL;
int nel;
//contours
@@ -57,10 +57,10 @@
mexCallMATLAB( 1, &matlabstructure, 1, (mxArray**)&FILENAME, "expread");
/*Fetch inputs: */
- FetchMatlabData(&index,&nel,NULL,INDEXHANDLE);
- FetchMatlabData(&x,&nods,NULL,XHANDLE);
- FetchMatlabData(&y,NULL,NULL,YHANDLE);
- FetchMatlabData(&edgevalue,EDGEVALUEHANDLE);
+ FetchData(&index,&nel,NULL,INDEXHANDLE);
+ FetchData(&x,&nods,NULL,XHANDLE);
+ FetchData(&y,NULL,NULL,YHANDLE);
+ FetchData(&edgevalue,EDGEVALUEHANDLE);
//Fetch contours
numcontours=mxGetNumberOfElements(matlabstructure);
@@ -77,7 +77,7 @@
}
/*Fetch interptype: */
- FetchMatlabData(&interptype,INTERPTYPEHANDLE);
+ FetchData(&interptype,INTERPTYPEHANDLE);
/* Debugging of contours :{{{1*/
/*for(i=0;i<numcontours;i++){
@@ -95,14 +95,14 @@
/* output: */
if (strcmp(interptype,"node")==0){
- WriteMatlabData(PLHS0,in_nod);
+ WriteData(PLHS0,in_nod);
}
else if (strcmp(interptype,"element")==0){
- WriteMatlabData(PLHS0,in_elem);
+ WriteData(PLHS0,in_elem);
}
else if (strcmp(interptype,"element and node")==0){
- WriteMatlabData(PLHS0,in_nod);
- WriteMatlabData(PLHS1,in_elem);
+ WriteData(PLHS0,in_nod);
+ WriteData(PLHS1,in_elem);
}
else _error_(" wrong interpolation type");
Modified: issm/trunk/src/mex/ContourToMesh/ContourToMesh.h
===================================================================
--- issm/trunk/src/mex/ContourToMesh/ContourToMesh.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ContourToMesh/ContourToMesh.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void ContourToMeshUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ContourToNodes/ContourToNodes.cpp
===================================================================
--- issm/trunk/src/mex/ContourToNodes/ContourToNodes.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ContourToNodes/ContourToNodes.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,7 +34,7 @@
char* interptype=NULL;
/* output: */
- Vec flags=NULL;
+ Vector* flags=NULL;
int nods;
//contours
@@ -51,9 +51,9 @@
/*Fetch inputs: */
- FetchMatlabData(&x,&nods,NULL,XHANDLE);
- FetchMatlabData(&y,NULL,NULL,YHANDLE);
- FetchMatlabData(&edgevalue,EDGEVALUEHANDLE);
+ FetchData(&x,&nods,NULL,XHANDLE);
+ FetchData(&y,NULL,NULL,YHANDLE);
+ FetchData(&edgevalue,EDGEVALUEHANDLE);
//Fetch contours
@@ -94,7 +94,7 @@
ContourToNodesx(&flags,x,y,nods,contours,numcontours,edgevalue);
/* output: */
- WriteMatlabData(FLAGS,flags);
+ WriteData(FLAGS,flags);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/ContourToNodes/ContourToNodes.h
===================================================================
--- issm/trunk/src/mex/ContourToNodes/ContourToNodes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ContourToNodes/ContourToNodes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void ContourToNodesUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.cpp
===================================================================
--- issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,7 +13,7 @@
Loads *loads = NULL;
Materials *materials = NULL;
Parameters *parameters = NULL;
- Vec gradient = NULL;
+ Vector* gradient = NULL;
/* output datasets: elements and loads*/
@@ -24,12 +24,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ControlInputGetGradientUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,7 +41,7 @@
ControlInputGetGradientx(&gradient,elements, nodes,vertices,loads, materials,parameters);
/*write output datasets: */
- WriteMatlabData(GRADIENT,gradient);
+ WriteData(GRADIENT,gradient);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.h
===================================================================
--- issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputGetGradient/ControlInputGetGradient.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ControlInputGetGradientUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.cpp
===================================================================
--- issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,14 +23,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ControlInputScaleGradientUsage);
/*Input datasets: */
-FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
-FetchMatlabData((DataSet**)&nodes,NODESIN);
-FetchMatlabData((DataSet**)&vertices,VERTICESIN);
-FetchMatlabData((DataSet**)&loads,LOADSIN);
-FetchMatlabData((DataSet**)&materials,MATERIALSIN);
-FetchMatlabData(¶meters,PARAMETERSIN);
-FetchMatlabData(&norm_list,NULL,NULL,NORMLIST);
-FetchMatlabData(&step,STEP);
+FetchData((DataSet**)&elements,ELEMENTSIN);
+FetchData((DataSet**)&nodes,NODESIN);
+FetchData((DataSet**)&vertices,VERTICESIN);
+FetchData((DataSet**)&loads,LOADSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
+FetchData(¶meters,PARAMETERSIN);
+FetchData(&norm_list,NULL,NULL,NORMLIST);
+FetchData(&step,STEP);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,12 +41,12 @@
ControlInputScaleGradientx(elements,nodes,vertices,loads, materials,parameters,norm_list,step);
/*write output datasets: */
-WriteMatlabData(ELEMENTS,elements);
-WriteMatlabData(NODES,nodes);
-WriteMatlabData(VERTICES,vertices);
-WriteMatlabData(LOADS,loads);
-WriteMatlabData(MATERIALS,materials);
-WriteMatlabData(PARAMETERS,parameters);
+WriteData(ELEMENTS,elements);
+WriteData(NODES,nodes);
+WriteData(VERTICES,vertices);
+WriteData(LOADS,loads);
+WriteData(MATERIALS,materials);
+WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.h
===================================================================
--- issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputScaleGradient/ControlInputScaleGradient.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ControlInputScaleGradientUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.cpp
===================================================================
--- issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -22,13 +22,13 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ControlInputSetGradientUsage);
/*Input datasets: */
-FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
-FetchMatlabData((DataSet**)&nodes,NODESIN);
-FetchMatlabData((DataSet**)&vertices,VERTICESIN);
-FetchMatlabData((DataSet**)&loads,LOADSIN);
-FetchMatlabData((DataSet**)&materials,MATERIALSIN);
-FetchMatlabData(¶meters,PARAMETERSIN);
-FetchMatlabData(&gradient,NULL,GRADIENT);
+FetchData((DataSet**)&elements,ELEMENTSIN);
+FetchData((DataSet**)&nodes,NODESIN);
+FetchData((DataSet**)&vertices,VERTICESIN);
+FetchData((DataSet**)&loads,LOADSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
+FetchData(¶meters,PARAMETERSIN);
+FetchData(&gradient,NULL,GRADIENT);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -39,12 +39,12 @@
ControlInputSetGradientx(elements,nodes,vertices,loads, materials,parameters,gradient);
/*write output datasets: */
-WriteMatlabData(ELEMENTS,elements);
-WriteMatlabData(NODES,nodes);
-WriteMatlabData(VERTICES,vertices);
-WriteMatlabData(LOADS,loads);
-WriteMatlabData(MATERIALS,materials);
-WriteMatlabData(PARAMETERS,parameters);
+WriteData(ELEMENTS,elements);
+WriteData(NODES,nodes);
+WriteData(VERTICES,vertices);
+WriteData(LOADS,loads);
+WriteData(MATERIALS,materials);
+WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.h
===================================================================
--- issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlInputSetGradient/ControlInputSetGradient.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ControlInputSetGradientUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp
===================================================================
--- issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlOptimization/ControlOptimization.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -28,14 +28,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ControlOptimizationUsage);
/*Input datasets: */
- FetchMatlabData(&function_name,FUNCTIONNAME);
- FetchMatlabData(&xmin,XMIN);
- FetchMatlabData(&xmax,XMAX);
+ FetchData(&function_name,FUNCTIONNAME);
+ FetchData(&xmin,XMIN);
+ FetchData(&xmax,XMAX);
/*Parameters: */
- FetchMatlabData(&maxiter,NULL,NULL,mxGetField(OPTIONS,0,"MaxIter"));
- FetchMatlabData(&threshold,NULL,NULL,mxGetField(PARAMETERS,0,"InversionStepThreshold"));
- FetchMatlabData(&n_value,STEP);
+ FetchData(&maxiter,NULL,NULL,mxGetField(OPTIONS,0,"MaxIter"));
+ FetchData(&threshold,NULL,NULL,mxGetField(PARAMETERS,0,"InversionStepThreshold"));
+ FetchData(&n_value,STEP);
optargs.function_name=function_name;
optargs.femmodel=FEMMODEL;
@@ -48,8 +48,8 @@
BrentSearch(&search_scalar,&J,&optpars,&OptFunc,&optargs);
/*write output : */
- WriteMatlabData(SEARCHSCALAR,search_scalar);
- WriteMatlabData(MISFIT,J);
+ WriteData(SEARCHSCALAR,search_scalar);
+ WriteData(MISFIT,J);
/*Free ressources: */
xfree((void**)&function_name);
Modified: issm/trunk/src/mex/ControlOptimization/ControlOptimization.h
===================================================================
--- issm/trunk/src/mex/ControlOptimization/ControlOptimization.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ControlOptimization/ControlOptimization.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ControlOptimizationUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/CostFunction/CostFunction.cpp
===================================================================
--- issm/trunk/src/mex/CostFunction/CostFunction.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CostFunction/CostFunction.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,12 +24,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&CostFunctionUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -40,7 +40,7 @@
CostFunctionx(&J, elements,nodes,vertices, loads,materials,parameters);
/*write output : */
- WriteMatlabData(COST,J);
+ WriteData(COST,J);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/CostFunction/CostFunction.h
===================================================================
--- issm/trunk/src/mex/CostFunction/CostFunction.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CostFunction/CostFunction.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void CostFunctionUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.cpp
===================================================================
--- issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
double kmax;
/* output datasets: */
- Mat Jff = NULL;
+ Matrix* Jff = NULL;
/*Boot module: */
MODULEBOOT();
@@ -25,13 +25,13 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&CreateJacobianMatrixUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData(&kmax,KMAX);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
+ FetchData(&kmax,KMAX);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -43,7 +43,7 @@
CreateJacobianMatrixx(&Jff,elements,nodes,vertices,loads,materials,parameters,kmax);
/*write output datasets: */
- WriteMatlabData(JFF,Jff);
+ WriteData(JFF,Jff);
/*Free ressources: */
delete elements;
@@ -52,7 +52,7 @@
delete loads;
delete materials;
delete parameters;
- MatFree(&Jff);
+ delete Jff;
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.h
===================================================================
--- issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CreateJacobianMatrix/CreateJacobianMatrix.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void CreateJacobianMatrixUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.cpp
===================================================================
--- issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -11,7 +11,7 @@
int analysis_type;
/* output datasets: */
- Vec ys=NULL;
+ Vector* ys=NULL;
/*Boot module: */
MODULEBOOT();
@@ -20,18 +20,18 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&CreateNodalConstraintsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData(&analysis_type,ANALYSISTYPE);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData(&analysis_type,ANALYSISTYPE);
/*!Reduce vector: */
CreateNodalConstraintsx(&ys,nodes,analysis_type);
/*write output datasets: */
- WriteMatlabData(YS,ys);
+ WriteData(YS,ys);
/*Free ressources: */
delete nodes;
- VecFree(&ys);
+ xdelete(&ys);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.h
===================================================================
--- issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/CreateNodalConstraints/CreateNodalConstraints.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void CreateNodalConstraintsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Dakota/Dakota.h
===================================================================
--- issm/trunk/src/mex/Dakota/Dakota.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Dakota/Dakota.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void DakotaUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/DakotaResponses/DakotaResponses.cpp
===================================================================
--- issm/trunk/src/mex/DakotaResponses/DakotaResponses.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/DakotaResponses/DakotaResponses.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -30,12 +30,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&DakotaResponsesUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
/*number of responses: */
parameters->FindParam(&numresponses,QmuNumberofresponsesEnum);
@@ -63,7 +63,7 @@
DakotaResponsesx(responses,elements,nodes, vertices,loads,materials, parameters, responses_descriptors,numresponsedescriptors,numresponses);
/*write output datasets: */
- WriteMatlabData(RESPONSES,responses,numresponses);
+ WriteData(RESPONSES,responses,numresponses);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/DakotaResponses/DakotaResponses.h
===================================================================
--- issm/trunk/src/mex/DakotaResponses/DakotaResponses.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/DakotaResponses/DakotaResponses.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void DakotaResponsesUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Echo/Echo.cpp
===================================================================
--- issm/trunk/src/mex/Echo/Echo.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Echo/Echo.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&EchoUsage);
/*Input datasets: */
- FetchMatlabData(&dataset,DATASET);
+ FetchData(&dataset,DATASET);
/*Echo dataset: */
dataset->Echo();
Modified: issm/trunk/src/mex/Echo/Echo.h
===================================================================
--- issm/trunk/src/mex/Echo/Echo.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Echo/Echo.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void EchoUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.cpp
===================================================================
--- issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -22,14 +22,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ElementConnectivityUsage);
/*Input datasets: */
- FetchMatlabData(&elements,&nel,NULL,ELEMENTS);
- FetchMatlabData(&nodeconnectivity,&nods,&width,NODECONNECTIVITY);
+ FetchData(&elements,&nel,NULL,ELEMENTS);
+ FetchData(&nodeconnectivity,&nods,&width,NODECONNECTIVITY);
/*!Generate internal degree of freedom numbers: */
ElementConnectivityx(&elementconnectivity, elements,nel, nodeconnectivity, nods, width);
/*write output datasets: */
- WriteMatlabData(ELEMENTCONNECTIVITY,elementconnectivity,nel,3);
+ WriteData(ELEMENTCONNECTIVITY,elementconnectivity,nel,3);
/*Free ressources: */
xfree((void**)&elements);
Modified: issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.h
===================================================================
--- issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ElementConnectivity/ElementConnectivity.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void ElementConnectivityUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/EnumToString/EnumToString.cpp
===================================================================
--- issm/trunk/src/mex/EnumToString/EnumToString.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/EnumToString/EnumToString.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,13 +15,13 @@
}
/*Fetch inputs: */
- FetchMatlabData(&enum_in,ENUMIN);
+ FetchData(&enum_in,ENUMIN);
/*Run core function: */
EnumToStringx(&name,enum_in);
/* output: */
- WriteMatlabData(NAME,name);
+ WriteData(NAME,name);
}
void EnumToStringUsage(void)
Modified: issm/trunk/src/mex/EnumToString/EnumToString.h
===================================================================
--- issm/trunk/src/mex/EnumToString/EnumToString.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/EnumToString/EnumToString.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void EnumToStringUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Exp2Kml/Exp2Kml.cpp
===================================================================
--- issm/trunk/src/mex/Exp2Kml/Exp2Kml.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Exp2Kml/Exp2Kml.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,11 +34,11 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&filexp,EXP_IN);
+ FetchData(&filexp,EXP_IN);
if (verbose) printf(" filexp=\"%s\"\n",filexp);
- FetchMatlabData(&filkml,KML_IN);
+ FetchData(&filkml,KML_IN);
if (verbose) printf(" filkml=\"%s\"\n",filkml);
- FetchMatlabData(&sgn,SGN_IN);
+ FetchData(&sgn,SGN_IN);
if (verbose) printf(" sgn=%d\n",sgn);
if (verbose) printf("Parsing options:\n");
@@ -75,7 +75,7 @@
if (verbose) printf(" iret=%d\n",iret);
/*Write data: */
- WriteMatlabData(RET_OUT,iret);
+ WriteData(RET_OUT,iret);
/*Clean-up*/
xfree((void**)&choles);
Modified: issm/trunk/src/mex/Exp2Kml/Exp2Kml.h
===================================================================
--- issm/trunk/src/mex/Exp2Kml/Exp2Kml.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Exp2Kml/Exp2Kml.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void Exp2KmlUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp
===================================================================
--- issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -13,7 +13,7 @@
Loads* loads=NULL;
Materials* materials=NULL;
Parameters* parameters=NULL;
- Vec ug=NULL;
+ Vector* ug=NULL;
/* output datasets: elements and loads*/
@@ -24,12 +24,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&GetSolutionFromInputsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -40,7 +40,7 @@
GetSolutionFromInputsx(&ug,elements, nodes,vertices,loads, materials,parameters);
/*write output datasets: */
- WriteMatlabData(UG,ug);
+ WriteData(UG,ug);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.h
===================================================================
--- issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GetSolutionFromInputs/GetSolutionFromInputs.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void GetSolutionFromInputsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.cpp
===================================================================
--- issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,7 +15,7 @@
Parameters* parameters=NULL;
int name_enum;
int type_enum;
- Vec ug=NULL;
+ Vector* ug=NULL;
/* output datasets: elements and loads*/
@@ -26,14 +26,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&GetVectorFromInputsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData(&name_enum,NAMEENUM);
- FetchMatlabData(&type_enum,TYPEENUM);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
+ FetchData(&name_enum,NAMEENUM);
+ FetchData(&type_enum,TYPEENUM);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -44,7 +44,7 @@
GetVectorFromInputsx(&ug,elements, nodes,vertices,loads, materials,parameters,name_enum,type_enum);
/*write output datasets: */
- WriteMatlabData(UG,ug);
+ WriteData(UG,ug);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.h
===================================================================
--- issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GetVectorFromInputs/GetVectorFromInputs.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void GetVectorFromInputsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Gradj/Gradj.cpp
===================================================================
--- issm/trunk/src/mex/Gradj/Gradj.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Gradj/Gradj.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,7 +17,7 @@
Parameters *parameters = NULL;
/* output datasets: */
- Vec gradient = NULL;
+ Vector* gradient = NULL;
/*Boot module: */
MODULEBOOT();
@@ -26,12 +26,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&GradjUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
parameters->FindParam(&num_controls,InversionNumControlParametersEnum);
/*configure: */
@@ -43,8 +43,8 @@
Gradjx(&gradient,&norm_list,elements,nodes, vertices,loads, materials,parameters);
/*write output : */
- WriteMatlabData(NORMLIST,norm_list,num_controls,1);
- WriteMatlabData(GRADG,gradient);
+ WriteData(NORMLIST,norm_list,num_controls,1);
+ WriteData(GRADG,gradient);
/*Free ressources: */
delete elements;
@@ -53,7 +53,7 @@
delete loads;
delete materials;
delete parameters;
- VecFree(&gradient);
+ xdelete(&gradient);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/Gradj/Gradj.h
===================================================================
--- issm/trunk/src/mex/Gradj/Gradj.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Gradj/Gradj.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void GradjUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp
===================================================================
--- issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,12 +21,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&GroundinglineMigrationUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -37,12 +37,12 @@
GroundinglineMigrationx(elements,nodes,vertices,loads, materials,parameters);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(NODES,nodes);
- WriteMatlabData(VERTICES,vertices);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(MATERIALS,materials);
- WriteMatlabData(PARAMETERS,parameters);
+ WriteData(ELEMENTS,elements);
+ WriteData(NODES,nodes);
+ WriteData(VERTICES,vertices);
+ WriteData(LOADS,loads);
+ WriteData(MATERIALS,materials);
+ WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h
===================================================================
--- issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/GroundinglineMigration/GroundinglineMigration.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void GroundinglineMigrationUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/HoleFiller/HoleFiller.cpp
===================================================================
--- issm/trunk/src/mex/HoleFiller/HoleFiller.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/HoleFiller/HoleFiller.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -37,8 +37,8 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&HoleFillerUsage);
/*Fetch data: */
- FetchMatlabData(&imagein,&imagein_rows,&imagein_cols,IMAGEIN);
- FetchMatlabData(&smooth_flag,SMOOTH);
+ FetchData(&imagein,&imagein_rows,&imagein_cols,IMAGEIN);
+ FetchData(&smooth_flag,SMOOTH);
/*Get smooth flag setup: */
if (smooth_flag==0)
@@ -50,7 +50,7 @@
HoleFillerx( &imageout,imagein,imagein_rows,imagein_cols,smooth);
/* output: */
- WriteMatlabData(IMAGEOUT,imageout,imagein_rows,imagein_cols);
+ WriteData(IMAGEOUT,imageout,imagein_rows,imagein_cols);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/HoleFiller/HoleFiller.h
===================================================================
--- issm/trunk/src/mex/HoleFiller/HoleFiller.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/HoleFiller/HoleFiller.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void HoleFillerUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.cpp
===================================================================
--- issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,14 +23,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputControlUpdateUsage);
/*Input datasets: */
-FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
-FetchMatlabData((DataSet**)&nodes,NODESIN);
-FetchMatlabData((DataSet**)&vertices,VERTICESIN);
-FetchMatlabData((DataSet**)&loads,LOADSIN);
-FetchMatlabData((DataSet**)&materials,MATERIALSIN);
-FetchMatlabData(¶meters,PARAMETERSIN);
-FetchMatlabData(&scalar,SCALAR);
-FetchMatlabData(&update,UPDATE);
+FetchData((DataSet**)&elements,ELEMENTSIN);
+FetchData((DataSet**)&nodes,NODESIN);
+FetchData((DataSet**)&vertices,VERTICESIN);
+FetchData((DataSet**)&loads,LOADSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
+FetchData(¶meters,PARAMETERSIN);
+FetchData(&scalar,SCALAR);
+FetchData(&update,UPDATE);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,12 +41,12 @@
InputControlUpdatex(elements,nodes,vertices,loads, materials,parameters,scalar,(bool)update);
/*write output datasets: */
-WriteMatlabData(ELEMENTS,elements);
-WriteMatlabData(NODES,nodes);
-WriteMatlabData(VERTICES,vertices);
-WriteMatlabData(LOADS,loads);
-WriteMatlabData(MATERIALS,materials);
-WriteMatlabData(PARAMETERS,parameters);
+WriteData(ELEMENTS,elements);
+WriteData(NODES,nodes);
+WriteData(VERTICES,vertices);
+WriteData(LOADS,loads);
+WriteData(MATERIALS,materials);
+WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.h
===================================================================
--- issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputControlUpdate/InputControlUpdate.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputControlUpdateUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputConvergence/InputConvergence.cpp
===================================================================
--- issm/trunk/src/mex/InputConvergence/InputConvergence.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputConvergence/InputConvergence.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,19 +34,19 @@
/*checks on arguments on the matlab side: */
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputConvergenceUsage);
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
- FetchMatlabData(&double_fields,&numfields,FIELDENUMS);
+ FetchData(&double_fields,&numfields,FIELDENUMS);
field_enums=(int*)xmalloc(numfields*sizeof(int));
for(i=0;i<numfields;i++)field_enums[i]=(int)double_fields[i];
- FetchMatlabData(&double_criterion,&numcriterions,CRITERIONENUMS);
- FetchMatlabData(&criterion_values,&numcriterions,CRITERIONVALUES);
+ FetchData(&double_criterion,&numcriterions,CRITERIONENUMS);
+ FetchData(&criterion_values,&numcriterions,CRITERIONVALUES);
criterion_enums=(int*)xmalloc(numcriterions*sizeof(int));
for(i=0;i<numcriterions;i++)criterion_enums[i]=(int)double_criterion[i];
@@ -59,7 +59,7 @@
converged=InputConvergencex(elements,nodes,vertices,loads,materials,parameters, field_enums,numfields,criterion_enums,criterion_values,numcriterions);
/*Write output data: */
- WriteMatlabData(CONVERGED,converged);
+ WriteData(CONVERGED,converged);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputConvergence/InputConvergence.h
===================================================================
--- issm/trunk/src/mex/InputConvergence/InputConvergence.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputConvergence/InputConvergence.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputConvergenceUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp
===================================================================
--- issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputDuplicate/InputDuplicate.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -22,21 +22,21 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputDuplicateUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
- FetchMatlabData(&original_enum,ORIGINALENUM);
- FetchMatlabData(&new_enum,NEWENUM);
+ FetchData(&original_enum,ORIGINALENUM);
+ FetchData(&new_enum,NEWENUM);
/*!Call core code: */
InputDuplicatex( elements, nodes, vertices, loads, materials,parameters,original_enum, new_enum);
/*write output : */
- WriteMatlabData(ELEMENTSOUT,elements);
+ WriteData(ELEMENTSOUT,elements);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputDuplicate/InputDuplicate.h
===================================================================
--- issm/trunk/src/mex/InputDuplicate/InputDuplicate.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputDuplicate/InputDuplicate.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputDuplicateUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputScale/InputScale.cpp
===================================================================
--- issm/trunk/src/mex/InputScale/InputScale.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputScale/InputScale.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,15 +23,15 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputScaleUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
- FetchMatlabData(&enum_type,ENUMTYPE);
- FetchMatlabData(&scale_factor,SCALEFACTOR);
+ FetchData(&enum_type,ENUMTYPE);
+ FetchData(&scale_factor,SCALEFACTOR);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -42,7 +42,7 @@
InputScalex( elements, nodes, vertices, loads, materials,parameters,enum_type, scale_factor);
/*write output : */
- WriteMatlabData(ELEMENTSOUT,elements);
+ WriteData(ELEMENTSOUT,elements);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputScale/InputScale.h
===================================================================
--- issm/trunk/src/mex/InputScale/InputScale.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputScale/InputScale.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputScaleUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputToResult/InputToResult.cpp
===================================================================
--- issm/trunk/src/mex/InputToResult/InputToResult.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputToResult/InputToResult.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,35 +27,25 @@
}
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
- FetchMatlabData(&enum_type,ENUMTYPE);
+ FetchData(&enum_type,ENUMTYPE);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
nodes-> Configure(elements,loads, nodes,vertices, materials,parameters);
loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
- if(nrhs==9){
- FetchMatlabData(&step,STEP);
- FetchMatlabData(&time,TIME);
+ /*Call core code: */
+ InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
- /*!Call core code: */
- InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type, step,time);
- }
- else{
-
- /*!Call core code: */
- InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
- }
-
/*write output : */
- WriteMatlabData(ELEMENTSOUT,elements);
+ WriteData(ELEMENTSOUT,elements);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputToResult/InputToResult.h
===================================================================
--- issm/trunk/src/mex/InputToResult/InputToResult.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputToResult/InputToResult.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputToResultUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp
===================================================================
--- issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,14 +23,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputUpdateFromConstantUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
- FetchMatlabData(&constant,CONSTANT);
- FetchMatlabData(&name,NAME);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
+ FetchData(&constant,CONSTANT);
+ FetchData(&name,NAME);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,8 +41,8 @@
InputUpdateFromConstantx(elements,nodes,vertices,loads, materials,parameters,constant,name);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(LOADS,loads);
+ WriteData(ELEMENTS,elements);
+ WriteData(LOADS,loads);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.h
===================================================================
--- issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromConstant/InputUpdateFromConstant.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputUpdateFromConstantUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.cpp
===================================================================
--- issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -29,14 +29,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputUpdateFromDakotaUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
/*dakota input: */
- FetchMatlabData(&variables,&numvariables,VARIABLES);
+ FetchData(&variables,&numvariables,VARIABLES);
variables_descriptors=(char**)xmalloc(numvariables*sizeof(char*));
for(i=0;i<numvariables;i++){
@@ -59,9 +59,9 @@
InputUpdateFromDakotax(elements,nodes,vertices,loads, materials,parameters,variables,variables_descriptors,numvariables);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(MATERIALS,materials);
+ WriteData(ELEMENTS,elements);
+ WriteData(LOADS,loads);
+ WriteData(MATERIALS,materials);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.h
===================================================================
--- issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromDakota/InputUpdateFromDakota.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputUpdateFromDakotaUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp
===================================================================
--- issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,13 +7,13 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Elements* elements=NULL;
- Nodes* nodes=NULL;
- Vertices* vertices=NULL;
- Loads* loads=NULL;
- Materials* materials=NULL;
- Parameters* parameters=NULL;
- Vec solution=NULL;
+ Elements *elements = NULL;
+ Nodes *nodes = NULL;
+ Vertices *vertices = NULL;
+ Loads *loads = NULL;
+ Materials *materials = NULL;
+ Parameters *parameters = NULL;
+ Vector *solution = NULL;
/*Boot module: */
MODULEBOOT();
@@ -22,13 +22,13 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputUpdateFromSolutionUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
- FetchMatlabData(&solution,SOLUTION);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
+ FetchData(&solution,SOLUTION);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -39,8 +39,8 @@
InputUpdateFromSolutionx(elements,nodes,vertices,loads, materials,parameters,solution);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(MATERIALS,materials);
+ WriteData(ELEMENTS,elements);
+ WriteData(MATERIALS,materials);
/*Free ressources: */
delete elements;
@@ -49,7 +49,7 @@
delete loads;
delete materials;
delete parameters;
- VecFree(&solution);
+ xdelete(&solution);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.h
===================================================================
--- issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromSolution/InputUpdateFromSolution.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InputUpdateFromSolutionUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp
===================================================================
--- issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -25,15 +25,15 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InputUpdateFromVectorUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
- FetchMatlabData(&vector,&dummy,VECTOR);
- FetchMatlabData(&name,NAME);
- FetchMatlabData(&type,TYPE);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
+ FetchData(&vector,&dummy,VECTOR);
+ FetchData(&name,NAME);
+ FetchData(&type,TYPE);
/*Check that type is one of Constant, Vertex or Element: */
if ((type!=ConstantEnum) && (type!=VertexEnum) && (type!=ElementEnum)){
@@ -49,12 +49,12 @@
InputUpdateFromVectorx(elements,nodes,vertices,loads, materials,parameters,vector,name,type);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(NODES,nodes);
- WriteMatlabData(VERTICES,vertices);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(MATERIALS,materials);
- WriteMatlabData(PARAMETERS,parameters);
+ WriteData(ELEMENTS,elements);
+ WriteData(NODES,nodes);
+ WriteData(VERTICES,vertices);
+ WriteData(LOADS,loads);
+ WriteData(MATERIALS,materials);
+ WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.h
===================================================================
--- issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InputUpdateFromVector/InputUpdateFromVector.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void InputUpdateFromVectorUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InternalFront/InternalFront.cpp
===================================================================
--- issm/trunk/src/mex/InternalFront/InternalFront.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InternalFront/InternalFront.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,13 +24,13 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InternalFrontUsage);
/*Fetch required fields*/
- FetchMatlabData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
+ FetchData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
if(numberofelements<=0) _error_("No elements found in the model");
- FetchMatlabData(&elements,&M,&N,mxGetAssignedField(MODEL,0,"elements"));
+ FetchData(&elements,&M,&N,mxGetAssignedField(MODEL,0,"elements"));
if(M!=numberofelements || N!=3) _error_("Field 'elements' should be of size [md.numberofelements 3]");
- FetchMatlabData(&elementonwater,&M,&N,mxGetAssignedField(MODEL,0,"elementonwater"));
+ FetchData(&elementonwater,&M,&N,mxGetAssignedField(MODEL,0,"elementonwater"));
if(M!=numberofelements || N!=1) _error_("Field 'elementonwater' should be of size [md.numberofelements 1]");
- FetchMatlabData(&elementconnectivity,&M,&N,mxGetAssignedField(MODEL,0,"elementconnectivity"));
+ FetchData(&elementconnectivity,&M,&N,mxGetAssignedField(MODEL,0,"elementconnectivity"));
if(M!=numberofelements || N!=3) _error_("Field 'elementconnectivity' should be of size [md.numberofelements 3]");
/*Allocate and initialize all variables*/
@@ -86,7 +86,7 @@
xfree((void**)&front);
/*write output datasets: */
- WriteMatlabData(FRONT,front2,numberofsegments,4);
+ WriteData(FRONT,front2,numberofsegments,4);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InternalFront/InternalFront.h
===================================================================
--- issm/trunk/src/mex/InternalFront/InternalFront.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InternalFront/InternalFront.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void InternalFrontUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/shared/shared.h"
#include "../../c/io/io.h"
Modified: issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.cpp
===================================================================
--- issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -36,7 +36,7 @@
int interpolationenum;
/* output: */
- Vec data_mesh=NULL;
+ Vector* data_mesh=NULL;
/*Boot module: */
MODULEBOOT();
@@ -49,16 +49,16 @@
}
/*Input datasets: */
- FetchMatlabData(&x,&x_rows,NULL,XHANDLE);
- FetchMatlabData(&y,&y_rows,NULL,YHANDLE);
- FetchMatlabData(&data,&data_rows,&data_cols,DATAHANDLE);
- FetchMatlabData(&x_mesh,&x_mesh_rows,NULL,XMESHHANDLE);
- FetchMatlabData(&y_mesh,&y_mesh_rows,NULL,YMESHHANDLE);
- FetchMatlabData(&default_value,DEFAULTHANDLE);
+ FetchData(&x,&x_rows,NULL,XHANDLE);
+ FetchData(&y,&y_rows,NULL,YHANDLE);
+ FetchData(&data,&data_rows,&data_cols,DATAHANDLE);
+ FetchData(&x_mesh,&x_mesh_rows,NULL,XMESHHANDLE);
+ FetchData(&y_mesh,&y_mesh_rows,NULL,YMESHHANDLE);
+ FetchData(&default_value,DEFAULTHANDLE);
/* Run core computations: */
if(nrhs==7){
- FetchMatlabData(&interpolationenum,INTERPENUM);
+ FetchData(&interpolationenum,INTERPENUM);
InterpFromGridToMeshx(&data_mesh, x, x_rows, y, y_rows, data, data_rows,data_cols, x_mesh, y_mesh, x_mesh_rows,default_value,interpolationenum);
}
else{
@@ -66,7 +66,7 @@
}
/*Write data: */
- WriteMatlabData(DATAMESH,data_mesh);
+ WriteData(DATAMESH,data_mesh);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.h
===================================================================
--- issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromGridToMesh/InterpFromGridToMesh.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InterpFromGridToMeshUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.cpp
===================================================================
--- issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -60,7 +60,7 @@
int nods_prime;
/* output: */
- Vec data_prime=NULL;
+ Vector* data_prime=NULL;
/*Boot module: */
MODULEBOOT();
@@ -76,16 +76,16 @@
}
/*Input datasets: */
- FetchMatlabData(&index_data,&index_data_rows,&dummy,INDEXHANDLE);
- FetchMatlabData(&x_data,&x_data_rows,NULL,XHANDLE);
- FetchMatlabData(&y_data,&y_data_rows,NULL,YHANDLE);
- FetchMatlabData(&data,&data_rows,&data_cols,DATAHANDLE);
- FetchMatlabData(&x_prime,&x_prime_rows,NULL,XPRIMEHANDLE);
- FetchMatlabData(&y_prime,&y_prime_rows,NULL,YPRIMEHANDLE);
+ FetchData(&index_data,&index_data_rows,&dummy,INDEXHANDLE);
+ FetchData(&x_data,&x_data_rows,NULL,XHANDLE);
+ FetchData(&y_data,&y_data_rows,NULL,YHANDLE);
+ FetchData(&data,&data_rows,&data_cols,DATAHANDLE);
+ FetchData(&x_prime,&x_prime_rows,NULL,XPRIMEHANDLE);
+ FetchData(&y_prime,&y_prime_rows,NULL,YPRIMEHANDLE);
if(nrhs>=7){
/*default values: */
- FetchMatlabData(&default_values,&num_default_values,DEFAULTHANDLE);
+ FetchData(&default_values,&num_default_values,DEFAULTHANDLE);
}
else{
default_values=NULL;
@@ -145,7 +145,7 @@
InterpFromMesh2dx(&data_prime,index_data,x_data,y_data,nods_data,nels_data,data,data_rows,x_prime,y_prime,nods_prime,default_values,num_default_values,contours,numcontours);
/*Write data: */
- WriteMatlabData(DATAPRIME,data_prime);
+ WriteData(DATAPRIME,data_prime);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.h
===================================================================
--- issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMesh2d/InterpFromMesh2d.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InterpFromMesh2dUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,25 +34,25 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InterpFromMeshToGridUsage);
/*Input datasets: */
- FetchMatlabData(&index,&nel,NULL,INDEX);
- FetchMatlabData(&x,&nods,NULL,X);
- FetchMatlabData(&y,NULL,NULL,Y);
- FetchMatlabData(&meshdata,&meshdata_length,NULL,MESHDATA);
- FetchMatlabData(&xmin,XMIN);
- FetchMatlabData(&ymax,YMAX);
- FetchMatlabData(&xposting,XPOSTING);
- FetchMatlabData(&yposting,YPOSTING);
- FetchMatlabData(&nlines,NLINES);
- FetchMatlabData(&ncols,NCOLS);
- FetchMatlabData(&default_value,DEFAULTVALUE);
+ FetchData(&index,&nel,NULL,INDEX);
+ FetchData(&x,&nods,NULL,X);
+ FetchData(&y,NULL,NULL,Y);
+ FetchData(&meshdata,&meshdata_length,NULL,MESHDATA);
+ FetchData(&xmin,XMIN);
+ FetchData(&ymax,YMAX);
+ FetchData(&xposting,XPOSTING);
+ FetchData(&yposting,YPOSTING);
+ FetchData(&nlines,NLINES);
+ FetchData(&ncols,NCOLS);
+ FetchData(&default_value,DEFAULTVALUE);
/*Call core of computation: */
InterpFromMeshToGridx(&x_m,&y_m,&griddata,index,x,y,nods,nel,meshdata,meshdata_length,xmin,ymax,xposting,yposting,nlines,ncols,default_value);
/*Write results: */
- WriteMatlabData(XM,x_m,ncols);
- WriteMatlabData(YM,y_m,nlines);
- WriteMatlabData(GRIDDATA,griddata,nlines,ncols);
+ WriteData(XM,x_m,ncols);
+ WriteData(YM,y_m,nlines);
+ WriteData(GRIDDATA,griddata,nlines,ncols);
/*Free ressources: */
//let matlab do this.
Modified: issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.h
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToGrid/InterpFromMeshToGrid.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void InterpFromMeshToGridUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -60,12 +60,12 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs\n");
- FetchMatlabData(&index,&nels_data,&index_cols,INDEXHANDLE);
- FetchMatlabData(&x_data,&x_data_rows,NULL,XHANDLE);
- FetchMatlabData(&y_data,&y_data_rows,NULL,YHANDLE);
- FetchMatlabData(&data,&data_rows,&data_cols,DATAHANDLE);
- FetchMatlabData(&x_interp,&x_interp_rows,NULL,XINTERPHANDLE);
- FetchMatlabData(&y_interp,&y_interp_rows,NULL,YINTERPHANDLE);
+ FetchData(&index,&nels_data,&index_cols,INDEXHANDLE);
+ FetchData(&x_data,&x_data_rows,NULL,XHANDLE);
+ FetchData(&y_data,&y_data_rows,NULL,YHANDLE);
+ FetchData(&data,&data_rows,&data_cols,DATAHANDLE);
+ FetchData(&x_interp,&x_interp_rows,NULL,XINTERPHANDLE);
+ FetchData(&y_interp,&y_interp_rows,NULL,YINTERPHANDLE);
if(nrhs==8){
@@ -73,7 +73,7 @@
mexCallMATLAB( 1, &matlabstructure, 1, (mxArray**)&FILENAME, "expread");
/*default values: */
- FetchMatlabData(&default_values,&num_default_values,DEFAULTHANDLE);
+ FetchData(&default_values,&num_default_values,DEFAULTHANDLE);
/*contours: */
numcontours=mxGetNumberOfElements(matlabstructure);
@@ -128,7 +128,7 @@
InterpFromMeshToMesh2dx(&data_interp,index,x_data,y_data,nods_data,nels_data,data,data_rows,data_cols,x_interp,y_interp,nods_interp,default_values,num_default_values,contours,numcontours);
/*Write data: */
- WriteMatlabData(DATAINTERP,data_interp,nods_interp,data_cols);
+ WriteData(DATAINTERP,data_interp,nods_interp,data_cols);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InterpFromMeshToMesh2dUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -54,7 +54,7 @@
int nods_prime;
/* output: */
- Vec data_prime=NULL;
+ Vector* data_prime=NULL;
/*Boot module: */
MODULEBOOT();
@@ -63,15 +63,15 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&InterpFromMeshToMesh3dUsage);
/*Input datasets: */
- FetchMatlabData(&index_data,&index_data_rows,NULL,INDEXHANDLE);
- FetchMatlabData(&x_data,&x_data_rows,NULL,XHANDLE);
- FetchMatlabData(&y_data,&y_data_rows,NULL,YHANDLE);
- FetchMatlabData(&z_data,&z_data_rows,NULL,ZHANDLE);
- FetchMatlabData(&data,&data_rows,&data_cols,DATAHANDLE);
- FetchMatlabData(&x_prime,&x_prime_rows,NULL,XPRIMEHANDLE);
- FetchMatlabData(&y_prime,&y_prime_rows,NULL,YPRIMEHANDLE);
- FetchMatlabData(&z_prime,&z_prime_rows,NULL,ZPRIMEHANDLE);
- FetchMatlabData(&default_value,DEFAULTHANDLE);
+ FetchData(&index_data,&index_data_rows,NULL,INDEXHANDLE);
+ FetchData(&x_data,&x_data_rows,NULL,XHANDLE);
+ FetchData(&y_data,&y_data_rows,NULL,YHANDLE);
+ FetchData(&z_data,&z_data_rows,NULL,ZHANDLE);
+ FetchData(&data,&data_rows,&data_cols,DATAHANDLE);
+ FetchData(&x_prime,&x_prime_rows,NULL,XPRIMEHANDLE);
+ FetchData(&y_prime,&y_prime_rows,NULL,YPRIMEHANDLE);
+ FetchData(&z_prime,&z_prime_rows,NULL,ZPRIMEHANDLE);
+ FetchData(&default_value,DEFAULTHANDLE);
/*some checks*/
if (x_data_rows!=y_data_rows || x_data_rows!=z_data_rows){
@@ -89,7 +89,7 @@
InterpFromMeshToMesh3dx(&data_prime,index_data,x_data,y_data,z_data,nods_data,nels_data,data,data_rows,x_prime,y_prime,z_prime,nods_prime,default_value);
/*Write data: */
- WriteMatlabData(DATAPRIME,data_prime);
+ WriteData(DATAPRIME,data_prime);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h
===================================================================
--- issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void InterpFromMeshToMesh3dUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/KMLFileRead/KMLFileRead.cpp
===================================================================
--- issm/trunk/src/mex/KMLFileRead/KMLFileRead.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLFileRead/KMLFileRead.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -66,7 +66,7 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&filnam,FILENAME);
+ FetchData(&filnam,FILENAME);
if (verbose) printf(" filnam =\"%s\"\n",filnam);
if (verbose) printf("Parsing options:\n");
@@ -114,7 +114,7 @@
}
/*Write data: */
- WriteMatlabData(ERRORFLAG,ierror);
+ WriteData(ERRORFLAG,ierror);
/*Clean-up*/
xfree((void**)&write);
Modified: issm/trunk/src/mex/KMLFileRead/KMLFileRead.h
===================================================================
--- issm/trunk/src/mex/KMLFileRead/KMLFileRead.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLFileRead/KMLFileRead.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void KMLFileReadUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.cpp
===================================================================
--- issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -61,7 +61,7 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&name,NAME);
+ FetchData(&name,NAME);
if (verbose) printf(" name =\"%s\"\n",name);
/* notes is typically a cell array of character strings */
@@ -83,27 +83,27 @@
}
}
else
- FetchMatlabData(¬es,NOTES);
+ FetchData(¬es,NOTES);
if (verbose) printf(" notes =\"%s\"\n",notes);
- FetchMatlabData(&elem,&melem,&nelem,ELEMHANDLE);
+ FetchData(&elem,&melem,&nelem,ELEMHANDLE);
if (verbose) printf(" elem =size [%d x %d]\n",melem,nelem);
- FetchMatlabData(&nodecon,&mncon,&nncon,NODECONHANDLE);
+ FetchData(&nodecon,&mncon,&nncon,NODECONHANDLE);
if (verbose) printf(" nodecon=size [%d x %d]\n",mncon,nncon);
- FetchMatlabData(&lat,&mlat,&nlat,LATHANDLE);
+ FetchData(&lat,&mlat,&nlat,LATHANDLE);
llat=mlat*nlat;
if (verbose) printf(" lat =length [%d]\n",llat);
- FetchMatlabData(&lng,&mlng,&nlng,LNGHANDLE);
+ FetchData(&lng,&mlng,&nlng,LNGHANDLE);
llng=mlng*nlng;
if (verbose) printf(" lng =length [%d]\n",llng);
- FetchMatlabData(&part,&mprt,&nprt,PARTHANDLE);
+ FetchData(&part,&mprt,&nprt,PARTHANDLE);
lprt=mprt*nprt;
if (verbose) printf(" part =length [%d]\n",lprt);
- FetchMatlabData(&data,&mdata,&ndata,DATAHANDLE);
+ FetchData(&data,&mdata,&ndata,DATAHANDLE);
if (verbose) printf(" data =size [%d x %d]\n",mdata,ndata);
- FetchMatlabData(&cmap,&mcmap,&ncmap,CMAPHANDLE);
+ FetchData(&cmap,&mcmap,&ncmap,CMAPHANDLE);
if (verbose) printf(" cmap =size [%d x %d]\n",mcmap,ncmap);
- FetchMatlabData(&filnam,FILENAME);
+ FetchData(&filnam,FILENAME);
if (verbose) printf(" filnam =\"%s\"\n",filnam);
if (verbose) printf("Parsing options:\n");
@@ -159,7 +159,7 @@
fclose(fid);
/*Write data: */
- WriteMatlabData(ERRORFLAG,ierror);
+ WriteData(ERRORFLAG,ierror);
/*Clean-up*/
delete options;
Modified: issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.h
===================================================================
--- issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLMeshWrite/KMLMeshWrite.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void KMLMeshWriteUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/KMLOverlay/KMLOverlay.cpp
===================================================================
--- issm/trunk/src/mex/KMLOverlay/KMLOverlay.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLOverlay/KMLOverlay.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -40,7 +40,7 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&filkml,FILENAME);
+ FetchData(&filkml,FILENAME);
if (verbose) printf(" filkml=\"%s\"\n",filkml);
if (verbose) printf("Parsing options:\n");
@@ -108,7 +108,7 @@
}
/*Write data: */
- WriteMatlabData(ERRORFLAG,ierror);
+ WriteData(ERRORFLAG,ierror);
/*Clean-up*/
if (pimages) {
Modified: issm/trunk/src/mex/KMLOverlay/KMLOverlay.h
===================================================================
--- issm/trunk/src/mex/KMLOverlay/KMLOverlay.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/KMLOverlay/KMLOverlay.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void KMLOverlayUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Kml2Exp/Kml2Exp.cpp
===================================================================
--- issm/trunk/src/mex/Kml2Exp/Kml2Exp.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Kml2Exp/Kml2Exp.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -32,11 +32,11 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&filkml,KML_IN);
+ FetchData(&filkml,KML_IN);
if (verbose) printf(" filkml=\"%s\"\n",filkml);
- FetchMatlabData(&filexp,EXP_IN);
+ FetchData(&filexp,EXP_IN);
if (verbose) printf(" filexp=\"%s\"\n",filexp);
- FetchMatlabData(&sgn,SGN_IN);
+ FetchData(&sgn,SGN_IN);
if (verbose) printf(" sgn=%d\n",sgn);
if (verbose) printf("Parsing options:\n");
@@ -68,7 +68,7 @@
if (verbose) printf(" iret=%d\n",iret);
/*Write data: */
- WriteMatlabData(RET_OUT,iret);
+ WriteData(RET_OUT,iret);
/*Clean-up*/
delete options;
Modified: issm/trunk/src/mex/Kml2Exp/Kml2Exp.h
===================================================================
--- issm/trunk/src/mex/Kml2Exp/Kml2Exp.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Kml2Exp/Kml2Exp.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void Kml2ExpUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Ll2xy/Ll2xy.cpp
===================================================================
--- issm/trunk/src/mex/Ll2xy/Ll2xy.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Ll2xy/Ll2xy.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,17 +34,17 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&lat,&nlat,LAT_IN);
+ FetchData(&lat,&nlat,LAT_IN);
if (verbose)
if (nlat == 1) printf(" lat=%g\n",lat[0]);
else printf(" lat=[%d values]\n",nlat);
// for (i=0; i<nlat; i++) printf(" lat[%d]=%g\n",i,lat[i]);
- FetchMatlabData(&lon,&nlon,LON_IN);
+ FetchData(&lon,&nlon,LON_IN);
if (verbose)
if (nlon == 1) printf(" lon=%g\n",lon[0]);
else printf(" lon=[%d values]\n",nlon);
// for (i=0; i<nlon; i++) printf(" lon[%d]=%g\n",i,lon[i]);
- FetchMatlabData(&sgn,SGN_IN);
+ FetchData(&sgn,SGN_IN);
if (verbose) printf(" sgn=%d\n",sgn);
if (verbose) printf("Parsing options:\n");
@@ -83,8 +83,8 @@
if (verbose) printf(" iret=%d\n",iret);
/*Write data: */
- WriteMatlabData(X_OUT,x,ncoord);
- WriteMatlabData(Y_OUT,y,ncoord);
+ WriteData(X_OUT,x,ncoord);
+ WriteData(Y_OUT,y,ncoord);
/*Clean-up*/
delete options;
Modified: issm/trunk/src/mex/Ll2xy/Ll2xy.h
===================================================================
--- issm/trunk/src/mex/Ll2xy/Ll2xy.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Ll2xy/Ll2xy.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void Ll2xyUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Makefile.am
===================================================================
--- issm/trunk/src/mex/Makefile.am 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Makefile.am 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,10 +1,11 @@
-INCLUDES = @MATLABINCL@ @PETSCINCL@ @MPIINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@
-EXEEXT=$(MEXEXT)
+INCLUDES = @MATLABINCL@ @PETSCINCL@ @MPIINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @BOOSTINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@
+EXEEXT=$(WRAPPEREXT)
+#Bin programs {{{1
-#Bin programs {{{1
if NOSERIAL
bin_PROGRAMS =
else
+if MATLAB
bin_PROGRAMS = AverageFilter\
AddExternalResult\
BamgMesher\
@@ -75,10 +76,10 @@
UpdateConstraints\
SurfaceArea\
SystemMatrices\
- Test\
TimeAdapt\
TriaSearch\
TriMesh\
+ TriMeshRifts\
TriMeshNoDensity\
TriMeshProcessRifts\
TriMeshRefine\
@@ -88,7 +89,10 @@
UpdateVertexPositions\
UpdateDynamicConstraints\
VerticesDof
-
+endif
+if PYTHON
+bin_PROGRAMS = TriMesh
+endif
endif
#}}}
#Dakota programs {{{1
@@ -96,35 +100,39 @@
bin_PROGRAMS +=
else
if DAKOTA
+if MATLAB
bin_PROGRAMS += DakotaResponses\
Dakota\
InputUpdateFromDakota
-else
-bin_PROGRAMS +=
+endif
+endif
endif
-endif
#}}}
#Flags and libraries {{{1
-LDADD = $(TRIANGLELIB) ../c/libISSM.a $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(SHAPELIBLIB) $(MEXLIB)
+LDADD = ../c/libISSM.a $(TRIANGLELIB) $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(SHAPELIBLIB) $(GSLLIB)
-AM_LDFLAGS = $(MEXLINK)
+#Initialize
+AM_CXXFLAGS = -D_SERIAL_
-#Matlab
-AM_CXXFLAGS= -DMATLAB -ansi -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread
+if MATLAB
+AM_LDFLAGS = $(MEXLINK)
+AM_CXXFLAGS += -DMATLAB -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread
+LDADD += $(MEXLIB)
-#Triangle library
-AM_CXXFLAGS+= -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
+endif
-
-#64 vs 32 bits
-if LARGEARRAYS
-AM_CXXFLAGS += -D__GCC4BUILD__ -D_SERIAL_
-else
-AM_CXXFLAGS += -DMX_COMPAT_32 -D_SERIAL_
+if PYTHON
+AM_LDFLAGS = $(PYTHONLINK)
+AM_CXXFLAGS+= -DNPY_NO_DEPRECATED_API
+LDADD += $(BOOSTLIB) $(PYTHONLIB)
endif
+
+#Triangle library
+AM_CXXFLAGS += -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
+
+#Optimization flags:
AM_CXXFLAGS += $(CXXOPTFLAGS)
-
#}}}
#Bin sources {{{1
AddExternalResult_SOURCES = AddExternalResult/AddExternalResult.cpp\
@@ -205,9 +213,6 @@
GroundinglineMigration_SOURCES = GroundinglineMigration/GroundinglineMigration.cpp\
GroundinglineMigration/GroundinglineMigration.h
-Test_SOURCES = Test/Test.cpp\
- Test/Test.h
-
HoleFiller_SOURCES = HoleFiller/HoleFiller.cpp\
HoleFiller/HoleFiller.h
@@ -347,6 +352,9 @@
TriMesh_SOURCES = TriMesh/TriMesh.cpp\
TriMesh/TriMesh.h
+TriMeshRifts_SOURCES = TriMeshRifts/TriMeshRifts.cpp\
+ TriMeshRifts/TriMeshRifts.h
+
TriMeshNoDensity_SOURCES = TriMeshNoDensity/TriMeshNoDensity.cpp\
TriMeshNoDensity/TriMeshNoDensity.h
Modified: issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.cpp
===================================================================
--- issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,13 +8,13 @@
/*input datasets: */
bool flag_ys0;
- Vec uf = NULL;
- Vec ys = NULL;
+ Vector* uf = NULL;
+ Vector* ys = NULL;
Nodes* nodes = NULL;
Parameters* parameters = NULL;
/* output datasets: */
- Vec ug=NULL;
+ Vector* ug=NULL;
/*Boot module: */
MODULEBOOT();
@@ -26,27 +26,27 @@
}
/*Input datasets: */
- FetchMatlabData(&uf,UF);
- FetchMatlabData(&ys,YS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData(&uf,UF);
+ FetchData(&ys,YS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData(¶meters,PARAMETERS);
/*!Reduce vector: */
if (nrhs==4){
Mergesolutionfromftogx(&ug, uf,ys,nodes,parameters);
}
else{
- FetchMatlabData(&flag_ys0,YSFLAG);
+ FetchData(&flag_ys0,YSFLAG);
Mergesolutionfromftogx(&ug, uf,ys,nodes,parameters,flag_ys0);
}
/*write output datasets: */
- WriteMatlabData(UG,ug);
+ WriteData(UG,ug);
/*Free ressources: */
- VecFree(&uf);
- VecFree(&ug);
- VecFree(&ys);
+ xdelete(&uf);
+ xdelete(&ug);
+ xdelete(&ys);
delete nodes;
delete parameters;
Modified: issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.h
===================================================================
--- issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Mergesolutionfromftog/Mergesolutionfromftog.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void MergesolutionfromftogUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/MeshPartition/MeshPartition.cpp
===================================================================
--- issm/trunk/src/mex/MeshPartition/MeshPartition.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/MeshPartition/MeshPartition.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -55,18 +55,18 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&MeshPartitionUsage);
/*Fetch data: */
- FetchMatlabData(&dim,mxGetAssignedField(MODEL,0,"dimension"));
- FetchMatlabData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
- FetchMatlabData(&numberofvertices,mxGetAssignedField(MODEL,0,"numberofvertices"));
- FetchMatlabData(&elements,NULL,&elements_width,mxGetAssignedField(MODEL,0,"elements"));
+ FetchData(&dim,mxGetAssignedField(MODEL,0,"dimension"));
+ FetchData(&numberofelements,mxGetAssignedField(MODEL,0,"numberofelements"));
+ FetchData(&numberofvertices,mxGetAssignedField(MODEL,0,"numberofvertices"));
+ FetchData(&elements,NULL,&elements_width,mxGetAssignedField(MODEL,0,"elements"));
if (dim==3){
- FetchMatlabData(&numberofelements2d,mxGetAssignedField(MODEL,0,"numberofelements2d"));
- FetchMatlabData(&numberofvertices2d,mxGetAssignedField(MODEL,0,"numberofvertices2d"));
- FetchMatlabData(&elements2d,NULL,NULL,mxGetAssignedField(MODEL,0,"elements2d"));
+ FetchData(&numberofelements2d,mxGetAssignedField(MODEL,0,"numberofelements2d"));
+ FetchData(&numberofvertices2d,mxGetAssignedField(MODEL,0,"numberofvertices2d"));
+ FetchData(&elements2d,NULL,NULL,mxGetAssignedField(MODEL,0,"elements2d"));
}
- FetchMatlabData(&numberoflayers,mxGetAssignedField(MODEL,0,"numberoflayers"));
- FetchMatlabData(&numareas,NUMAREAS);
+ FetchData(&numberoflayers,mxGetAssignedField(MODEL,0,"numberoflayers"));
+ FetchData(&numareas,NUMAREAS);
/*Run partitioning algorithm based on a "clever" use of the Metis partitioner: */
MeshPartitionx(&int_element_partitioning,&int_node_partitioning,numberofelements,numberofvertices,elements,
@@ -84,8 +84,8 @@
}
/*Write data:*/
- WriteMatlabData(ELEMENTPARTITIONING,element_partitioning,numberofelements);
- WriteMatlabData(NODEPARTITIONING,node_partitioning,numberofvertices);
+ WriteData(ELEMENTPARTITIONING,element_partitioning,numberofelements);
+ WriteData(NODEPARTITIONING,node_partitioning,numberofvertices);
/*Free ressources:*/
//don't! let matlab do it.
Modified: issm/trunk/src/mex/MeshPartition/MeshPartition.h
===================================================================
--- issm/trunk/src/mex/MeshPartition/MeshPartition.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/MeshPartition/MeshPartition.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void MeshPartitionUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.cpp
===================================================================
--- issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -52,7 +52,7 @@
/*Fetch inputs: */
//index
- FetchMatlabData(&double_index,&nel,&dummy,INDEX);
+ FetchData(&double_index,&nel,&dummy,INDEX);
if(dummy!=3 && dummy!=6)_error_(" element triangulation should be of 3 or 6 column width!");
index=(int*)xmalloc(nel*3*sizeof(int));
for(i=0;i<nel;i++){
@@ -61,8 +61,8 @@
}
}
//x and y
- FetchMatlabData(&x,&nods,X);
- FetchMatlabData(&y,&dummy,Y);
+ FetchData(&x,&nods,X);
+ FetchData(&y,&dummy,Y);
//contours
numcontours=mxGetNumberOfElements(matlabstructure);
@@ -93,7 +93,7 @@
MeshProfileIntersectionx(&segments,&numsegs,index,x,y,nel,nods,contours,numcontours);
/* output: */
- WriteMatlabData(SEGMENTS,segments,numsegs,5);
+ WriteData(SEGMENTS,segments,numsegs,5);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.h
===================================================================
--- issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/MeshProfileIntersection/MeshProfileIntersection.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void MeshProfileIntersectionUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp
===================================================================
--- issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ModelProcessor/ModelProcessor.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -33,12 +33,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ModelProcessorUsage);
/*open file input for reading: */
- FetchMatlabData(&inputfilename,INPUTFILE);
+ FetchData(&inputfilename,INPUTFILE);
IOMODEL= pfopen(inputfilename ,"rb");
/*retrieve solution type and analyses: */
- FetchMatlabData(&solution_type,SOLUTIONTYPE);
- FetchMatlabData(&double_analyses,&numanalyses,ANALYSES);
+ FetchData(&solution_type,SOLUTIONTYPE);
+ FetchData(&double_analyses,&numanalyses,ANALYSES);
analyses=(int*)xmalloc(numanalyses*sizeof(int));
for(i=0;i<numanalyses;i++)analyses[i]=(int)double_analyses[i];
@@ -46,13 +46,13 @@
ModelProcessorx(&elements,&nodes,&vertices,&materials,&constraints, &loads, ¶meters, IOMODEL,solution_type,numanalyses,analyses);
/*Write output data: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(NODES,nodes);
- WriteMatlabData(VERTICES,vertices);
- WriteMatlabData(CONSTRAINTS,constraints);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(MATERIALS,materials);
- WriteMatlabData(PARAMETERS,parameters);
+ WriteData(ELEMENTS,elements);
+ WriteData(NODES,nodes);
+ WriteData(VERTICES,vertices);
+ WriteData(CONSTRAINTS,constraints);
+ WriteData(LOADS,loads);
+ WriteData(MATERIALS,materials);
+ WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ModelProcessor/ModelProcessor.h
===================================================================
--- issm/trunk/src/mex/ModelProcessor/ModelProcessor.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ModelProcessor/ModelProcessor.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ModelProcessorUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.cpp
===================================================================
--- issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,14 +21,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&NodeConnectivityUsage);
/*Input datasets: */
- FetchMatlabData(&elements,&nel,NULL,ELEMENTS);
- FetchMatlabData(&nods,NUMNODES);
+ FetchData(&elements,&nel,NULL,ELEMENTS);
+ FetchData(&nods,NUMNODES);
/*!Generate internal degree of freedom numbers: */
NodeConnectivityx(&connectivity, &width,elements,nel, nods);
/*write output datasets: */
- WriteMatlabData(CONNECTIVITY,connectivity,nods,width);
+ WriteData(CONNECTIVITY,connectivity,nods,width);
/*Free ressources: */
xfree((void**)&elements);
Modified: issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.h
===================================================================
--- issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/NodeConnectivity/NodeConnectivity.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void NodeConnectivityUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/NodesDof/NodesDof.cpp
===================================================================
--- issm/trunk/src/mex/NodesDof/NodesDof.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/NodesDof/NodesDof.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,8 +18,8 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&NodesDofUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData(¶meters,PARAMETERS);
/*find analysis_type: */
parameters->FindParam(&analysis_type,AnalysisTypeEnum);
@@ -28,7 +28,7 @@
NodesDofx(nodes, parameters,analysis_type);
/*write output datasets: */
- WriteMatlabData(NODES,nodes);
+ WriteData(NODES,nodes);
/*Free ressources: */
delete nodes;
Modified: issm/trunk/src/mex/NodesDof/NodesDof.h
===================================================================
--- issm/trunk/src/mex/NodesDof/NodesDof.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/NodesDof/NodesDof.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void NodesDofUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Orth/Orth.cpp
===================================================================
--- issm/trunk/src/mex/Orth/Orth.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Orth/Orth.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,11 +7,11 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Vec gradj=NULL;
- Vec oldgradj=NULL;
+ Vector* gradj=NULL;
+ Vector* oldgradj=NULL;
/* output datasets: */
- Vec newgradj=NULL;
+ Vector* newgradj=NULL;
/*Boot module: */
MODULEBOOT();
@@ -20,19 +20,19 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&OrthUsage);
/*Input datasets: */
- FetchMatlabData(&gradj,GRADJ);
- FetchMatlabData(&oldgradj,OLDGRADJ);
+ FetchData(&gradj,GRADJ);
+ FetchData(&oldgradj,OLDGRADJ);
/*!Reduce load from g to f size: */
Orthx(&newgradj, gradj,oldgradj);
/*write output datasets: */
- WriteMatlabData(NEWGRADJ,newgradj);
+ WriteData(NEWGRADJ,newgradj);
/*Free ressources: */
- VecFree(&gradj);
- VecFree(&oldgradj);
- VecFree(&newgradj);
+ xdelete(&gradj);
+ xdelete(&oldgradj);
+ xdelete(&newgradj);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/Orth/Orth.h
===================================================================
--- issm/trunk/src/mex/Orth/Orth.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Orth/Orth.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void OrthUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/OutputResults/OutputResults.cpp
===================================================================
--- issm/trunk/src/mex/OutputResults/OutputResults.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/OutputResults/OutputResults.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -25,13 +25,13 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&OutputResultsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData((DataSet**)&results,RESULTS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&results,RESULTS);
/*results might be NULL, allocate: */
if(!results)results=new Results();
@@ -42,7 +42,7 @@
loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
/*Call "x" code layer: */
- OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,&results);
+ OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,results);
/*write output datasets: */
plhs[0]=dataref;
Modified: issm/trunk/src/mex/OutputResults/OutputResults.h
===================================================================
--- issm/trunk/src/mex/OutputResults/OutputResults.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/OutputResults/OutputResults.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void OutputResultsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/OutputRifts/OutputRifts.cpp
===================================================================
--- issm/trunk/src/mex/OutputRifts/OutputRifts.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/OutputRifts/OutputRifts.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -23,14 +23,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&OutputRiftsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData(&numrifts,mxGetField(PARAMETERS,0,"numrifts"));
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData(&numrifts,mxGetField(PARAMETERS,0,"numrifts"));
/*!Call core code: */
OutputRiftsx(&riftproperties,loads,numrifts);
/*write output : */
- WriteMatlabData(RIFTPROPERTIES,riftproperties);
+ WriteData(RIFTPROPERTIES,riftproperties);
/*Free ressources: */
delete loads;
Modified: issm/trunk/src/mex/OutputRifts/OutputRifts.h
===================================================================
--- issm/trunk/src/mex/OutputRifts/OutputRifts.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/OutputRifts/OutputRifts.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void OutputRiftsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp
===================================================================
--- issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ParameterOutput/ParameterOutput.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -26,21 +26,21 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ParameterOutputUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(&results,RESULTS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(&results,RESULTS);
/*parameters: */
- FetchMatlabData(&analysis_type,ANALYSIS);
- FetchMatlabData(&sub_analysis_type,SUBANALYSIS);
+ FetchData(&analysis_type,ANALYSIS);
+ FetchData(&sub_analysis_type,SUBANALYSIS);
/*!Generate internal degree of freedom numbers: */
ParameterOutputx(results, elements,nodes,loads,materials,analysis_type,sub_analysis_type);
/*write output datasets: */
- WriteMatlabData(RESULTS,results,0,0,"DataSet",NULL);
+ WriteData(RESULTS,results,0,0,"DataSet",NULL);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/ParameterOutput/ParameterOutput.h
===================================================================
--- issm/trunk/src/mex/ParameterOutput/ParameterOutput.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ParameterOutput/ParameterOutput.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ParameterOutputUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.cpp
===================================================================
--- issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -18,8 +18,8 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ParsePetscOptionsUsage);
/*Input datasets: */
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData(&petscoptionsfilename,PETSCOPTIONSFILENAME);
+ FetchData(¶meters,PARAMETERS);
+ FetchData(&petscoptionsfilename,PETSCOPTIONSFILENAME);
petscoptionsfid=fopen(petscoptionsfilename,"r");
if(petscoptionsfid==NULL)_error_("could not open petsc solver options file for reading\n");
@@ -27,7 +27,7 @@
ParsePetscOptionsx(parameters,petscoptionsfid);
/*write output datasets: */
- WriteMatlabData(PARAMETERSOUT,parameters);
+ WriteData(PARAMETERSOUT,parameters);
/*Free ressources: */
delete parameters;
Modified: issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.h
===================================================================
--- issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ParsePetscOptions/ParsePetscOptions.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ParsePetscOptionsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
===================================================================
--- issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
double multithread;
/* output: */
- Vec flags=NULL;
+ Vector* flags=NULL;
/*Boot module: */
MODULEBOOT();
@@ -25,16 +25,16 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&PointCloudFindNeighborsUsage);
/*Fetch inputs: */
- FetchMatlabData(&x,&nods,NULL,XHANDLE);
- FetchMatlabData(&y,NULL,NULL,YHANDLE);
- FetchMatlabData(&mindistance,MINDISTANCE);
- FetchMatlabData(&multithread,MULTITHREAD);
+ FetchData(&x,&nods,NULL,XHANDLE);
+ FetchData(&y,NULL,NULL,YHANDLE);
+ FetchData(&mindistance,MINDISTANCE);
+ FetchData(&multithread,MULTITHREAD);
/*Run core routine: */
PointCloudFindNeighborsx(&flags,x,y,nods,mindistance,multithread);
/* output: */
- WriteMatlabData(FLAGS,flags);
+ WriteData(FLAGS,flags);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.h
===================================================================
--- issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/PointCloudFindNeighbors/PointCloudFindNeighbors.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void PointCloudFindNeighborsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ProcessParams/ProcessParams.cpp
===================================================================
--- issm/trunk/src/mex/ProcessParams/ProcessParams.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ProcessParams/ProcessParams.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,10 +16,10 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ProcessParamsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)¶meters,PARAMETERS);
+ FetchData((DataSet**)¶meters,PARAMETERS);
/*write output datasets: */
- WriteMatlabData(PARAMETERSOUT,parameters);
+ WriteData(PARAMETERSOUT,parameters);
/*Free ressources: */
delete parameters;
Modified: issm/trunk/src/mex/ProcessParams/ProcessParams.h
===================================================================
--- issm/trunk/src/mex/ProcessParams/ProcessParams.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ProcessParams/ProcessParams.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ProcessParamsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
===================================================================
--- issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,16 +21,16 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&PropagateFlagsFromConnectivityUsage);
/*Input datasets: */
- FetchMatlabData(&connectivity,&nel,&dummy,CONNECTIVITY);
- FetchMatlabData(&pool,&dummy,POOL);
- FetchMatlabData(&index,INDEX);
- FetchMatlabData(&flags,&dummy,FLAGS);
+ FetchData(&connectivity,&nel,&dummy,CONNECTIVITY);
+ FetchData(&pool,&dummy,POOL);
+ FetchData(&index,INDEX);
+ FetchData(&flags,&dummy,FLAGS);
/*!Generate internal degree of freedom numbers: */
PropagateFlagsFromConnectivityx(pool,connectivity,index,flags);
/*write output datasets: */
- WriteMatlabData(POOLOUT,pool,nel);
+ WriteData(POOLOUT,pool,nel);
/*Free ressources: */
xfree((void**)&connectivity);
Modified: issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h
===================================================================
--- issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void PropagateFlagsFromConnectivityUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Reduceload/Reduceload.cpp
===================================================================
--- issm/trunk/src/mex/Reduceload/Reduceload.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reduceload/Reduceload.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,9 +7,9 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Vec pf = NULL;
- Mat Kfs = NULL;
- Vec ys = NULL;
+ Vector* pf = NULL;
+ Matrix* Kfs = NULL;
+ Vector* ys = NULL;
bool flag_ys0=false;
/*Boot module: */
@@ -22,13 +22,13 @@
}
/*Input datasets: */
- FetchMatlabData(&pf,PF);
- FetchMatlabData(&Kfs,KFS);
- FetchMatlabData(&ys,YS);
+ FetchData(&pf,PF);
+ FetchData(&Kfs,KFS);
+ FetchData(&ys,YS);
/*!Reduce load from g to f size: */
if(nrhs==4){
- FetchMatlabData(&flag_ys0,YSFLAG);
+ FetchData(&flag_ys0,YSFLAG);
Reduceloadx(pf, Kfs, ys,flag_ys0);
}
else{
@@ -36,12 +36,12 @@
}
/*write output datasets: */
- WriteMatlabData(PFOUT,pf);
+ WriteData(PFOUT,pf);
/*Free ressources: */
- VecFree(&pf);
- MatFree(&Kfs);
- VecFree(&ys);
+ xdelete(&pf);
+ xdelete(&Kfs);
+ xdelete(&ys);
MODULEEND();
}
Modified: issm/trunk/src/mex/Reduceload/Reduceload.h
===================================================================
--- issm/trunk/src/mex/Reduceload/Reduceload.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reduceload/Reduceload.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ReduceloadUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.cpp
===================================================================
--- issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,12 +7,12 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Vec ug=NULL;
- Nodes* nodes=NULL;
- Parameters* parameters=NULL;
+ Vector *ug = NULL;
+ Nodes *nodes = NULL;
+ Parameters *parameters = NULL;
/* output datasets: */
- Vec uf=NULL;
+ Vector *uf = NULL;
/*Boot module: */
MODULEBOOT();
@@ -21,21 +21,21 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ReducevectorgtofUsage);
/*Input datasets: */
- FetchMatlabData(&ug,UG);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData(&ug,UG);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData(¶meters,PARAMETERS);
/*!Reduce vector: */
Reducevectorgtofx(&uf,ug,nodes,parameters);
/*write output datasets: */
- WriteMatlabData(UF,uf);
+ WriteData(UF,uf);
/*Free ressources: */
delete nodes;
delete parameters;
- VecFree(&ug);
- VecFree(&uf);
+ xdelete(&ug);
+ xdelete(&uf);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.h
===================================================================
--- issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reducevectorgtof/Reducevectorgtof.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void ReducevectorgtofUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.cpp
===================================================================
--- issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,12 +7,12 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Vec yg=NULL;
+ Vector* yg=NULL;
Nodes* nodes=NULL;
Parameters* parameters=NULL;
/* output datasets: */
- Vec ys=NULL;
+ Vector* ys=NULL;
/*Boot module: */
MODULEBOOT();
@@ -21,21 +21,21 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ReducevectorgtosUsage);
/*Input datasets: */
- FetchMatlabData(&yg,YG);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData(&yg,YG);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData(¶meters,PARAMETERS);
/*!Reduce vector: */
Reducevectorgtosx(&ys,yg,nodes,parameters);
/*write output datasets: */
- WriteMatlabData(YS,ys);
+ WriteData(YS,ys);
/*Free ressources: */
delete nodes;
delete parameters;
- VecFree(&yg);
- VecFree(&ys);
+ xdelete(&yg);
+ xdelete(&ys);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.h
===================================================================
--- issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Reducevectorgtos/Reducevectorgtos.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ReducevectorgtosUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.cpp
===================================================================
--- issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,7 +16,7 @@
int numberofnodes;
/* output datasets: */
- Vec sigma_g=NULL;
+ Vector* sigma_g=NULL;
/*Boot module: */
MODULEBOOT();
@@ -25,12 +25,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ResetCoordinateSystemUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -41,7 +41,7 @@
ResetCoordinateSystemx(elements,nodes,vertices,loads,materials,parameters);
/*write output datasets: */
- WriteMatlabData(NODESOUT,nodes);
+ WriteData(NODESOUT,nodes);
/*Free ressources: */
delete nodes;
Modified: issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.h
===================================================================
--- issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/ResetCoordinateSystem/ResetCoordinateSystem.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ResetCoordinateSystemUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Response/Response.cpp
===================================================================
--- issm/trunk/src/mex/Response/Response.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Response/Response.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -27,15 +27,15 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&ResponseUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData(&response,RESPONSE);
- FetchMatlabData(&process_units,PROCESSUNITS);
- FetchMatlabData(&weight_index,WEIGHTINDEX);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
+ FetchData(&response,RESPONSE);
+ FetchData(&process_units,PROCESSUNITS);
+ FetchData(&weight_index,WEIGHTINDEX);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -46,7 +46,7 @@
Responsex(&resp, elements,nodes,vertices, loads,materials,parameters,response,process_units,weight_index);
/*write output : */
- WriteMatlabData(OUTPUT,resp);
+ WriteData(OUTPUT,resp);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/Response/Response.h
===================================================================
--- issm/trunk/src/mex/Response/Response.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Response/Response.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void ResponseUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Scotch/Scotch.h
===================================================================
--- issm/trunk/src/mex/Scotch/Scotch.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Scotch/Scotch.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,6 +12,7 @@
#include <string.h> /* strcasecmp */
#include <time.h> /* clock,time,difftime */
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Shp2Kml/Shp2Kml.cpp
===================================================================
--- issm/trunk/src/mex/Shp2Kml/Shp2Kml.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Shp2Kml/Shp2Kml.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -43,11 +43,11 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&filshp,SHP_IN);
+ FetchData(&filshp,SHP_IN);
if (verbose) printf(" filshp=\"%s\"\n",filshp);
- FetchMatlabData(&filkml,KML_IN);
+ FetchData(&filkml,KML_IN);
if (verbose) printf(" filkml=\"%s\"\n",filkml);
- FetchMatlabData(&sgn,SGN_IN);
+ FetchData(&sgn,SGN_IN);
if (verbose) printf(" sgn=%d\n",sgn);
if (verbose) printf("Parsing options:\n");
@@ -79,7 +79,7 @@
if (verbose) printf(" iret=%d\n",iret);
/*Write data: */
- WriteMatlabData(RET_OUT,iret);
+ WriteData(RET_OUT,iret);
/*Clean-up*/
delete options;
Modified: issm/trunk/src/mex/Shp2Kml/Shp2Kml.h
===================================================================
--- issm/trunk/src/mex/Shp2Kml/Shp2Kml.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Shp2Kml/Shp2Kml.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void Shp2KmlUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Solver/Solver.cpp
===================================================================
--- issm/trunk/src/mex/Solver/Solver.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Solver/Solver.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,57 +7,51 @@
void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
/*input datasets: */
- Mat Kff = NULL;
- Vec pf = NULL;
- Vec uf0 = NULL;
- Vec uf = NULL;
- Vec df = NULL;
+ Matrix* Kff = NULL;
+ Vector* pf = NULL;
+ Vector* uf0 = NULL;
+ Vector* uf = NULL;
+ Vector* df = NULL;
Parameters *parameters = NULL;
int analysis_type;
- char option[100];
- #if _PETSC_MAJOR_ < 3 || (_PETSC_MAJOR_ == 3 && _PETSC_MINOR_ < 2)
- PetscTruth flag;
- #else
- PetscBool flag;
- #endif
-
- /*Matlab solver: */
+ char* options=NULL;
+ char* token=NULL;
+ char* option=NULL;
+
+ /*For use of matlab solver: */
mxArray* array[2];
+ /*Start module: */
MODULEBOOT();
/*checks on arguments on the matlab side: */
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&SolverUsage);
/*parameters: */
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData(¶meters,PARAMETERS);
/*In serial mode, we have not set any petsc options, do it now: */
- #ifdef _SERIAL_
- parameters->FindParam(&analysis_type,AnalysisTypeEnum);
- PetscOptionsFromAnalysis(parameters,analysis_type);
- #endif
- /*Retrieve solver type: */
- PetscOptionsGetString(PETSC_NULL,"-ksp_type",&option[0],100,&flag);
+ options=OptionsFromAnalysis(parameters,analysis_type);
+ token=strstr(options,"--ksp_type");
/*Fetch rest of data only if not running the matlab solver: */
- if (strcmp(option,"matlab")!=0){
+ if ((token==NULL) || (strncmp(token+10,"matlab",6)!=0)){
/*Input datasets: */
- FetchMatlabData(&Kff,KFF);
- FetchMatlabData(&pf,PF);
- FetchMatlabData(&uf0,UF0);
- FetchMatlabData(&df,DF);
+ FetchData(&Kff,KFF);
+ FetchData(&pf,PF);
+ FetchData(&uf0,UF0);
+ FetchData(&df,DF);
/*Core module: */
Solverx(&uf, Kff, pf, uf0, df,parameters);
/*Write output*/
- WriteMatlabData(UF,uf);
+ WriteData(UF,uf);
}
else{
- /*Matlab solver: */
+ /*Call Matlab solver: */
if (VerboseModule()) printf(" Solving\n");
array[0]=KFF;
array[1]=PF;
@@ -65,11 +59,11 @@
}
/*Free ressources: */
- MatFree(&Kff);
- VecFree(&pf);
- VecFree(&uf0);
- VecFree(&uf);
- VecFree(&df);
+ xdelete(&Kff);
+ xdelete(&pf);
+ xdelete(&uf0);
+ xdelete(&uf);
+ xdelete(&df);
delete parameters;
MODULEEND();
Modified: issm/trunk/src/mex/Solver/Solver.h
===================================================================
--- issm/trunk/src/mex/Solver/Solver.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Solver/Solver.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void SolverUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/SparseToVector/SparseToVector.h
===================================================================
--- issm/trunk/src/mex/SparseToVector/SparseToVector.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SparseToVector/SparseToVector.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -12,6 +12,7 @@
#include <string.h> /* strcasecmp */
#include <time.h> /* clock,time,difftime */
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/SpcNodes/SpcNodes.cpp
===================================================================
--- issm/trunk/src/mex/SpcNodes/SpcNodes.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SpcNodes/SpcNodes.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -20,16 +20,16 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&SpcNodesUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&constraints,CONSTRAINTS);
- FetchMatlabData(¶meters,PARAMETERS);
- FetchMatlabData(&analysis_type,ANALYSISTYPE);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&constraints,CONSTRAINTS);
+ FetchData(¶meters,PARAMETERS);
+ FetchData(&analysis_type,ANALYSISTYPE);
/*!Generate internal degree of freedom numbers: */
SpcNodesx(nodes,constraints,parameters,analysis_type);
/*write output datasets: */
- WriteMatlabData(NODES,nodes);
+ WriteData(NODES,nodes);
/*Free ressources: */
delete nodes;
Modified: issm/trunk/src/mex/SpcNodes/SpcNodes.h
===================================================================
--- issm/trunk/src/mex/SpcNodes/SpcNodes.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SpcNodes/SpcNodes.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void SpcNodesUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/StringToEnum/StringToEnum.cpp
===================================================================
--- issm/trunk/src/mex/StringToEnum/StringToEnum.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/StringToEnum/StringToEnum.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,13 +15,13 @@
}
/*Fetch inputs: */
- FetchMatlabData(&name,NAME);
+ FetchData(&name,NAME);
/*Run core function: */
enum_out=StringToEnumx(name);
/* output: */
- WriteMatlabData(ENUMOUT,enum_out);
+ WriteData(ENUMOUT,enum_out);
}
void StringToEnumUsage(void)
Modified: issm/trunk/src/mex/StringToEnum/StringToEnum.h
===================================================================
--- issm/trunk/src/mex/StringToEnum/StringToEnum.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/StringToEnum/StringToEnum.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void StringToEnumUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/SurfaceArea/SurfaceArea.cpp
===================================================================
--- issm/trunk/src/mex/SurfaceArea/SurfaceArea.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SurfaceArea/SurfaceArea.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,12 +21,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&SurfaceAreaUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -37,7 +37,7 @@
SurfaceAreax(NULL,elements, nodes, vertices, loads, materials,parameters);
/*write output : */
- WriteMatlabData(ELEMENTSOUT,elements);
+ WriteData(ELEMENTSOUT,elements);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/SurfaceArea/SurfaceArea.h
===================================================================
--- issm/trunk/src/mex/SurfaceArea/SurfaceArea.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SurfaceArea/SurfaceArea.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void SurfaceAreaUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp
===================================================================
--- issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SystemMatrices/SystemMatrices.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -16,10 +16,10 @@
bool kflag,pflag,penalty_kflag,penalty_pflag;
/* output datasets: */
- Mat Kff = NULL;
- Mat Kfs = NULL;
- Vec pf = NULL;
- Vec df = NULL;
+ Matrix* Kff = NULL;
+ Matrix* Kfs = NULL;
+ Vector* pf = NULL;
+ Vector* df = NULL;
double kmax;
@@ -33,12 +33,12 @@
}
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTS);
- FetchMatlabData((DataSet**)&nodes,NODES);
- FetchMatlabData((DataSet**)&vertices,VERTICES);
- FetchMatlabData((DataSet**)&loads,LOADS);
- FetchMatlabData((DataSet**)&materials,MATERIALS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&elements,ELEMENTS);
+ FetchData((DataSet**)&nodes,NODES);
+ FetchData((DataSet**)&vertices,VERTICES);
+ FetchData((DataSet**)&loads,LOADS);
+ FetchData((DataSet**)&materials,MATERIALS);
+ FetchData(¶meters,PARAMETERS);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -48,21 +48,21 @@
/*!Generate internal degree of freedom numbers: */
if(nrhs==10){
- FetchMatlabData(&kflag,KFLAG);
- FetchMatlabData(&pflag,PFLAG);
- FetchMatlabData(&penalty_kflag,PENALTYKFLAG);
- FetchMatlabData(&penalty_pflag,PENALTYPFLAG);
+ FetchData(&kflag,KFLAG);
+ FetchData(&pflag,PFLAG);
+ FetchData(&penalty_kflag,PENALTYKFLAG);
+ FetchData(&penalty_pflag,PENALTYPFLAG);
SystemMatricesx(&Kff,&Kfs,&pf,&df,&kmax,elements,nodes,vertices,loads,materials,parameters,kflag,pflag,penalty_kflag,penalty_pflag);
}
else
SystemMatricesx(&Kff,&Kfs,&pf,&df,&kmax,elements,nodes,vertices,loads,materials,parameters);
/*write output datasets: */
- WriteMatlabData(KFF,Kff);
- WriteMatlabData(KFS,Kfs);
- WriteMatlabData(PF,pf);
- WriteMatlabData(DF,df);
- WriteMatlabData(KMAX,kmax);
+ WriteData(KFF,Kff);
+ WriteData(KFS,Kfs);
+ WriteData(PF,pf);
+ WriteData(DF,df);
+ WriteData(KMAX,kmax);
/*Free ressources: */
delete elements;
@@ -71,10 +71,10 @@
delete loads;
delete materials;
delete parameters;
- MatFree(&Kff);
- MatFree(&Kfs);
- VecFree(&pf);
- VecFree(&df);
+ xdelete(&Kff);
+ xdelete(&Kfs);
+ xdelete(&pf);
+ xdelete(&df);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/SystemMatrices/SystemMatrices.h
===================================================================
--- issm/trunk/src/mex/SystemMatrices/SystemMatrices.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/SystemMatrices/SystemMatrices.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void SystemMatricesUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/TimeAdapt/TimeAdapt.cpp
===================================================================
--- issm/trunk/src/mex/TimeAdapt/TimeAdapt.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TimeAdapt/TimeAdapt.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -24,12 +24,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&TimeAdaptUsage);
/*Input datasets: */
-FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
-FetchMatlabData((DataSet**)&nodes,NODESIN);
-FetchMatlabData((DataSet**)&vertices,VERTICESIN);
-FetchMatlabData((DataSet**)&loads,LOADSIN);
-FetchMatlabData((DataSet**)&materials,MATERIALSIN);
-FetchMatlabData(¶meters,PARAMETERSIN);
+FetchData((DataSet**)&elements,ELEMENTSIN);
+FetchData((DataSet**)&nodes,NODESIN);
+FetchData((DataSet**)&vertices,VERTICESIN);
+FetchData((DataSet**)&loads,LOADSIN);
+FetchData((DataSet**)&materials,MATERIALSIN);
+FetchData(¶meters,PARAMETERSIN);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -40,7 +40,7 @@
TimeAdaptx(&dt,elements,nodes,vertices,loads, materials,parameters);
/*write output datasets: */
-WriteMatlabData(DT,dt);
+WriteData(DT,dt);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/TimeAdapt/TimeAdapt.h
===================================================================
--- issm/trunk/src/mex/TimeAdapt/TimeAdapt.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TimeAdapt/TimeAdapt.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void TimeAdaptUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/TriMesh/TriMesh.cpp
===================================================================
--- issm/trunk/src/mex/TriMesh/TriMesh.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMesh/TriMesh.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,323 +1,75 @@
/*
- * TriMesh: out of a domain outline file ( Argus format ),
- * use the Triangle package to create a triangular mesh
- *
+ * TriMesh: mesh a domain using an .exp file
*/
#include "./TriMesh.h"
-
-void mexFunction( int nlhs, mxArray* plhs[],
- int nrhs, const mxArray* prhs[] )
-{
-
-
- /*Matlab arrays: */
- mxArray* pmxa_array=NULL;
- int i,j;
- int counter,counter2,backcounter;
- int prhs_counter;
+WRAPPER(TriMesh){
- /* returned quantities: */
-
- double* index=NULL;
- double* x=NULL;
- double* y=NULL;
- double* segments=NULL;
- double* segmentmarkerlist=NULL;
-
/* input: */
char* domainname=NULL;
- char* riftname=NULL;
double area;
- char* order=NULL;
-
- /*Domain outline variables: */
- int nprof;
- int* profnvertices=NULL;
- double** pprofx=NULL;
- double** pprofy=NULL;
- double* xprof=NULL;
- double* yprof=NULL;
- int numberofpoints;
+ bool order;
- /*Rift outline variables: */
- int numrifts;
- int* riftsnumvertices=NULL;
- double** riftsverticesx=NULL;
- double** riftsverticesy=NULL;
+ /*intermediary: */
+ DataSet* domain=NULL;
- /* Triangle structures: */
- struct triangulateio in,out;
- char options[256];
+ /* output: */
+ Matrix* index=NULL;
+ Vector* x=NULL;
+ Vector* y=NULL;
+ Matrix* segments=NULL;
+ Vector* segmentmarkerlist=NULL;
- /* verify correct usage: */
- if (nlhs==0 && nrhs==0) {
- /* special case: */
- TriMeshUsage();
- return;
- }
+ /*Boot module: */
+ MODULEBOOT();
- if (!( (nlhs==5) ||(nrhs==2) || (nrhs==3) || (nrhs==4) )){
- mexPrintf(" %s format error.\n", __FUNCT__);
- TriMeshUsage();
- printf(" ");
- mexErrMsgTxt(" ");
- }
-
- /*Fetch data needed by Triangle: */
-
- prhs_counter=0;
- /*First recover the domain outline file name: */
- if (!mxIsChar(prhs[prhs_counter])){
- mexPrintf("%s%s\n",__FUNCT__," error message; first argument should be the domain outline file name!");
- mexErrMsgTxt(" ");
- }
- domainname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],domainname,mxGetN(prhs[prhs_counter])+1);
-
- /*Look for optional rifts file name: */
- prhs_counter++;
- if (mxIsChar(prhs[prhs_counter])){
- riftname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],riftname,mxGetN(prhs[prhs_counter])+1);
- prhs_counter++;
- }
-
- /*Recover the mesh density desired:*/
- area=mxGetScalar(prhs[prhs_counter]);
-
- /*Optionaly, recover desired order: */
- prhs_counter++;
- if (mxIsChar(prhs[prhs_counter])){
- order = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],order,mxGetN(prhs[prhs_counter])+1);
- }
+ /*checks on arguments on the matlab side: */
+ CHECKARGUMENTS(NLHS,NRHS,&TriMeshUsage);
- /*Start reading the domain outline file: */
- if(!DomainOutlineRead(&nprof,&profnvertices,&pprofx,&pprofy,NULL,domainname,false)){
- printf("%s%s%s\n",__FUNCT__," error message reading domain outline ",domainname);
- mexErrMsgTxt(" ");
- }
+ /*Fetch data needed for meshing: */
+ FetchData(&domainname,DOMAINOUTLINE);
+ FetchData(&area,AREA);
+ FetchData(&order,ORDER);
- /*Read rifts file if present: */
- if(riftname){
- if(!DomainOutlineRead(&numrifts,&riftsnumvertices,&riftsverticesx,&riftsverticesy,NULL,riftname,false)){
- printf("%s%s%s\n",__FUNCT__," error message reading rifts outline ",riftname);
- mexErrMsgTxt(" ");
- }
- }
- /*Create initial triangulation to call triangulate():*/
- numberofpoints=0;
- for (i=0;i<nprof;i++){
- numberofpoints+=profnvertices[i];
- }
- if (riftname){
- for (i=0;i<numrifts;i++){
- numberofpoints+=riftsnumvertices[i];
- }
- }
- in.numberofpoints=numberofpoints;
+ /*Read domain outline: */
+ domain=DomainOutlineRead(domainname,false);
- in.numberofpointattributes=1;
- in.pointlist = (REAL *) mxMalloc(in.numberofpoints * 2 * sizeof(REAL));
-
- counter=0;
- for (i=0;i<nprof;i++){
- xprof=pprofx[i];
- yprof=pprofy[i];
- for (j=0;j<profnvertices[i];j++){
- in.pointlist[2*counter+0]=xprof[j];
- in.pointlist[2*counter+1]=yprof[j];
- counter++;
- }
- }
- if(riftname){
- for (i=0;i<numrifts;i++){
- xprof=riftsverticesx[i];
- yprof=riftsverticesy[i];
- for (j=0;j<riftsnumvertices[i];j++){
- in.pointlist[2*counter+0]=xprof[j];
- in.pointlist[2*counter+1]=yprof[j];
- counter++;
- }
- }
- }
+ /*call x core: */
+ TriMeshx(&index,&x,&y,&segments,&segmentmarkerlist,domain,area,order);
- in.pointattributelist = (REAL *) mxMalloc(in.numberofpoints *
- in.numberofpointattributes *
- sizeof(REAL));
- for (i=0;i<in.numberofpoints;i++){
- in.pointattributelist[i] = 0.0;
- }
- in.pointmarkerlist = (int *) mxMalloc(in.numberofpoints * sizeof(int));
- for(i=0;i<in.numberofpoints;i++){
- in.pointmarkerlist[i] = 0;
- }
-
- /*Build segments: */
- /*Figure out number of segments: holes and closed outlines have as many segments as vertices,
- *for rifts, we have one less segment as we have vertices*/
- in.numberofsegments=0;
- for (i=0;i<nprof;i++){
- in.numberofsegments+=profnvertices[i];
- }
- if (riftname){
- for (i=0;i<numrifts;i++){
- in.numberofsegments+=riftsnumvertices[i]-1;
- }
- }
- in.segmentlist = (int *) mxMalloc(in.numberofsegments * 2 * sizeof(int));
- in.segmentmarkerlist = (int *) mxCalloc(in.numberofsegments,sizeof(int));
- counter=0;
- backcounter=0;
- for (i=0;i<nprof;i++){
- for (j=0;j<(profnvertices[i]-1);j++){
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=counter+1;
- in.segmentmarkerlist[counter]=0;
- counter++;
- }
- /*Close this profile: */
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=backcounter;
- in.segmentmarkerlist[counter]=0;
- counter++;
- backcounter=counter;
- }
- counter2=counter;
- if(riftname){
- for (i=0;i<numrifts;i++){
- for (j=0;j<(riftsnumvertices[i]-1);j++){
- in.segmentlist[2*counter2+0]=counter;
- in.segmentlist[2*counter2+1]=counter+1;
- in.segmentmarkerlist[counter2]=2+i;
- counter2++;
- counter++;
- }
- counter++;
- }
- }
+ /*write outputs: */
+ WriteData(INDEX,index);
+ WriteData(X,x);
+ WriteData(Y,y);
+ WriteData(SEGMENTS,segments);
+ WriteData(SEGMENTMARKERLIST,segmentmarkerlist);
-
- /*Build regions: */
- in.numberofregions = 0;
+ /*free ressources: */
+ delete domain;
+ xdelete(&index);
+ xdelete(&x);
+ xdelete(&y);
+ xdelete(&segments);
+ xdelete(&segmentmarkerlist);
- /*Build holes: */
- in.numberofholes = nprof-1; /*everything is a hole, but for the first profile.*/
- in.holelist = (REAL *) mxMalloc(in.numberofholes * 2 * sizeof(REAL));
- for (i=0;i<nprof-1;i++){
- /*We are looking for a vertex that lies inside the hole: */
- GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profnvertices[i+1],pprofx[i+1],pprofy[i+1]);
- }
+ /*end module: */
+ MODULEEND();
- /* Make necessary initializations so that Triangle can return a */
- /* triangulation in `out': */
-
- out.pointlist = (REAL *) NULL;
- out.pointattributelist = (REAL *) NULL;
- out.pointmarkerlist = (int *) NULL;
- out.trianglelist = (int *) NULL;
- out.triangleattributelist = (REAL *) NULL;
- out.neighborlist = (int *) NULL;
- out.segmentlist = (int *) NULL;
- out.segmentmarkerlist = (int *) NULL;
- out.edgelist = (int *) NULL;
- out.edgemarkerlist = (int *) NULL;
-
- /* Triangulate the points:. Switches are chosen to read and write a */
- /* PSLG (p), preserve the convex hull (c), number everything from */
- /* zero (z), assign a regional attribute to each element (A), and */
- /* produce an edge list (e), a Voronoi diagram (v), and a triangle */
- /* neighbor list (n). */
-
- sprintf(options,"%s%lf","pQzDq30ia",area); /*replace V by Q to quiet down the logging*/
-
- triangulate(options, &in, &out, NULL);
- /*report(&out, 0, 1, 1, 1, 1, 0);*/
-
- /*Allocate index, x and y: */
- index=(double*)mxMalloc(3*out.numberoftriangles*sizeof(double));
- x=(double*)mxMalloc(out.numberofpoints*sizeof(double));
- y=(double*)mxMalloc(out.numberofpoints*sizeof(double));
- segments=(double*)mxMalloc(3*out.numberofsegments*sizeof(double));
- segmentmarkerlist=(double*)mxMalloc(out.numberofsegments*sizeof(double));
-
- for (i = 0; i < out.numberoftriangles; i++) {
- for (j = 0; j < out.numberofcorners; j++) {
- *(index+3*i+j)=(double)out.trianglelist[i * out.numberofcorners + j]+1;
- }
- }
- for (i = 0; i < out.numberofpoints; i++) {
- x[i]=out.pointlist[i * 2 + 0];
- y[i]=out.pointlist[i * 2 + 1];
- }
-
- for (i = 0; i < out.numberofsegments; i++) {
- segments[3*i+0]=(double)out.segmentlist[i*2+0]+1;
- segments[3*i+1]=(double)out.segmentlist[i*2+1]+1;
- segmentmarkerlist[i]=(double)out.segmentmarkerlist[i];
- }
-
- /*Associate elements with segments: */
- AssociateSegmentToElement(&segments,out.numberofsegments,index,out.numberoftriangles);
-
- /*Order segments so that their normals point outside the domain: */
- if(!strcmp(order,"yes")){
- OrderSegments(&segments,out.numberofsegments, index,out.numberoftriangles);
- }
-
- /*Output : */
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,3);
- mxSetN(pmxa_array,out.numberoftriangles);
- mxSetPr(pmxa_array,index);
- mexCallMATLAB( 1, &plhs[0], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofpoints);
- mxSetPr(pmxa_array,x);
- mexCallMATLAB( 1, &plhs[1], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofpoints);
- mxSetPr(pmxa_array,y);
- mexCallMATLAB( 1, &plhs[2], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,3);
- mxSetN(pmxa_array,out.numberofsegments);
- mxSetPr(pmxa_array,segments);
- mexCallMATLAB( 1, &plhs[3], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofsegments);
- mxSetPr(pmxa_array,segmentmarkerlist);
- mexCallMATLAB( 1, &plhs[4], 1, &pmxa_array, "transpose");
-
- return;
}
-void TriMeshUsage(void)
+void TriMeshUsage(void) //{{{1
{
printf("\n");
- printf(" usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,riftsoutlinename,area,ordered) \n");
+ printf(" usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,area,ordered) \n");
printf(" where: index,x,y defines a triangulation, segments is an array made \n");
- printf(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment \n");
- printf(" (if rifts are present, markers >=2 flag them ), outlinefilename an Argus domain outline file.\n");
- printf(" riftsoutlinename is an Argus domain file, defining rifts (ie: open profiles), \n");
- printf(" area is the maximum area desired for any element of the resulting mesh. \n");
- printf(" and ordered is a string ('yes' or 'no') that determines whether segments are output in the \n");
+ printf(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, \n");
+ printf(" outlinefilename an Argus domain outline file, \n");
+ printf(" area is the maximum area desired for any element of the resulting mesh, \n");
+ printf(" and ordered is a bool that determines whether segments are output in the \n");
printf(" order they are made by Triangle (ie none), or ordered counter clockwise around the domain outline.\n");
- printf(" riftsoutlinename and ordered are optional arguments.\n");
printf("\n");
}
-
-
-
-
+//}}}
Modified: issm/trunk/src/mex/TriMesh/TriMesh.h
===================================================================
--- issm/trunk/src/mex/TriMesh/TriMesh.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMesh/TriMesh.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,21 +1,69 @@
-/*!\file: TriMesh.h
- * \brief header prototype
- */
+/*
+ TriMesh.h
+*/
-#ifndef _TRIMESH_H_
-#define _TRIMESH_H_
+#ifndef _TRIMESH_H
+#define _TRIMESH_H
-#include "mex.h"
-#include "triangle.h"
-#include "string.h"
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+/*Very important definition in case we are compiling a python module!: needs to come before header files inclusion*/
+#ifdef _HAVE_PYTHON_
+#define PY_ARRAY_UNIQUE_SYMBOL PythonIOSymbol
+#endif
+
+#include "../../c/include/globals.h"
+#include "../../c/toolkits/toolkits.h"
+#include "../../c/include/include.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
+#include "../../c/io/io.h"
+#include "../../c/EnumDefinitions/EnumDefinitions.h"
+#ifdef _HAVE_MATLAB_
+/* serial input macros: */
+#define DOMAINOUTLINE (mxArray *)prhs[0]
+#define AREA (mxArray *)prhs[1]
+#define ORDER (mxArray *)prhs[2]
+
+/* serial output macros: */
+#define INDEX (mxArray**)&plhs[0]
+#define X (mxArray**)&plhs[1]
+#define Y (mxArray**)&plhs[2]
+#define SEGMENTS (mxArray**)&plhs[3]
+#define SEGMENTMARKERLIST (mxArray**)&plhs[4]
+
+#endif
+#ifdef _HAVE_PYTHON_
+/* serial input macros: */
+#define DOMAINOUTLINE PyTuple_GetItem(args,0)
+#define AREA PyTuple_GetItem(args,1)
+#define ORDER PyTuple_GetItem(args,2)
+
+/* serial output macros: */
+#define INDEX output,0
+#define X output,1
+#define Y output,2
+#define SEGMENTS output,3
+#define SEGMENTMARKERLIST output,4
+#endif
+
+/* local prototypes: */
void TriMeshUsage(void);
#undef __FUNCT__
-#define __FUNCT__ "TriMesh"
+#define __FUNCT__ "TriMesh"
-#endif
+/* serial arg counts: */
+#undef NLHS
+#define NLHS 5
+#undef NRHS
+#define NRHS 3
+
+#endif /* _TRIMESH_H */
Modified: issm/trunk/src/mex/TriMeshNoDensity/TriMeshNoDensity.h
===================================================================
--- issm/trunk/src/mex/TriMeshNoDensity/TriMeshNoDensity.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMeshNoDensity/TriMeshNoDensity.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,7 @@
#include "triangle.h"
#include "string.h"
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h
===================================================================
--- issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMeshProcessRifts/TriMeshProcessRifts.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,7 @@
#include "triangle.h"
#include "string.h"
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/TriMeshRefine/TriMeshRefine.h
===================================================================
--- issm/trunk/src/mex/TriMeshRefine/TriMeshRefine.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMeshRefine/TriMeshRefine.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,7 @@
#include "triangle.h"
#include "string.h"
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Deleted: issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp
===================================================================
--- issm/trunk-jpl/src/mex/TriMeshRifts/TriMeshRifts.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,322 +0,0 @@
-/*
- * TriMeshRifts: out of a domain outline file ( Argus format ),
- * use the Triangle package to create a triangular mesh
- *
- */
-
-#include "./TriMeshRifts.h"
-
-void mexFunction( int nlhs, mxArray* plhs[],
- int nrhs, const mxArray* prhs[] )
-{
-
-
- /*Matlab arrays: */
- mxArray* pmxa_array=NULL;
- int i,j;
- int counter,counter2,backcounter;
- int prhs_counter;
-
- /* returned quantities: */
-
- double* index=NULL;
- double* x=NULL;
- double* y=NULL;
- double* segments=NULL;
- double* segmentmarkerlist=NULL;
-
- /* input: */
- char* domainname=NULL;
- char* riftname=NULL;
- double area;
- char* order=NULL;
-
- /*Domain outline variables: */
- int nprof;
- int* profnvertices=NULL;
- double** pprofx=NULL;
- double** pprofy=NULL;
- double* xprof=NULL;
- double* yprof=NULL;
- int numberofpoints;
-
- /*Rift outline variables: */
- int numrifts;
- int* riftsnumvertices=NULL;
- double** riftsverticesx=NULL;
- double** riftsverticesy=NULL;
-
- /* Triangle structures: */
- struct triangulateio in,out;
- char options[256];
-
- /* verify correct usage: */
- if (nlhs==0 && nrhs==0) {
- /* special case: */
- TriMeshRiftsUsage();
- return;
- }
-
- if (!( (nlhs==5) ||(nrhs==2) || (nrhs==3) || (nrhs==4) )){
- mexPrintf(" %s format error.\n", __FUNCT__);
- TriMeshRiftsUsage();
- printf(" ");
- mexErrMsgTxt(" ");
- }
-
- /*Fetch data needed by Triangle: */
-
- prhs_counter=0;
- /*First recover the domain outline file name: */
- if (!mxIsChar(prhs[prhs_counter])){
- mexPrintf("%s%s\n",__FUNCT__," error message; first argument should be the domain outline file name!");
- mexErrMsgTxt(" ");
- }
- domainname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],domainname,mxGetN(prhs[prhs_counter])+1);
-
- /*Look for optional rifts file name: */
- prhs_counter++;
- if (mxIsChar(prhs[prhs_counter])){
- riftname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],riftname,mxGetN(prhs[prhs_counter])+1);
- prhs_counter++;
- }
-
- /*Recover the mesh density desired:*/
- area=mxGetScalar(prhs[prhs_counter]);
-
- /*Optionaly, recover desired order: */
- prhs_counter++;
- if (mxIsChar(prhs[prhs_counter])){
- order = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
- mxGetString(prhs[prhs_counter],order,mxGetN(prhs[prhs_counter])+1);
- }
-
- /*Start reading the domain outline file: */
- if(!DomainOutlineRead(&nprof,&profnvertices,&pprofx,&pprofy,NULL,domainname,false)){
- printf("%s%s%s\n",__FUNCT__," error message reading domain outline ",domainname);
- mexErrMsgTxt(" ");
- }
-
- /*Read rifts file if present: */
- if(riftname){
- if(!DomainOutlineRead(&numrifts,&riftsnumvertices,&riftsverticesx,&riftsverticesy,NULL,riftname,false)){
- printf("%s%s%s\n",__FUNCT__," error message reading rifts outline ",riftname);
- mexErrMsgTxt(" ");
- }
- }
-
- /*Create initial triangulation to call triangulate():*/
- numberofpoints=0;
- for (i=0;i<nprof;i++){
- numberofpoints+=profnvertices[i];
- }
- if (riftname){
- for (i=0;i<numrifts;i++){
- numberofpoints+=riftsnumvertices[i];
- }
- }
- in.numberofpoints=numberofpoints;
-
- in.numberofpointattributes=1;
- in.pointlist = (REAL *) mxMalloc(in.numberofpoints * 2 * sizeof(REAL));
-
- counter=0;
- for (i=0;i<nprof;i++){
- xprof=pprofx[i];
- yprof=pprofy[i];
- for (j=0;j<profnvertices[i];j++){
- in.pointlist[2*counter+0]=xprof[j];
- in.pointlist[2*counter+1]=yprof[j];
- counter++;
- }
- }
- if(riftname){
- for (i=0;i<numrifts;i++){
- xprof=riftsverticesx[i];
- yprof=riftsverticesy[i];
- for (j=0;j<riftsnumvertices[i];j++){
- in.pointlist[2*counter+0]=xprof[j];
- in.pointlist[2*counter+1]=yprof[j];
- counter++;
- }
- }
- }
-
- in.pointattributelist = (REAL *) mxMalloc(in.numberofpoints *
- in.numberofpointattributes *
- sizeof(REAL));
- for (i=0;i<in.numberofpoints;i++){
- in.pointattributelist[i] = 0.0;
- }
- in.pointmarkerlist = (int *) mxMalloc(in.numberofpoints * sizeof(int));
- for(i=0;i<in.numberofpoints;i++){
- in.pointmarkerlist[i] = 0;
- }
-
- /*Build segments: */
- /*Figure out number of segments: holes and closed outlines have as many segments as vertices,
- *for rifts, we have one less segment as we have vertices*/
- in.numberofsegments=0;
- for (i=0;i<nprof;i++){
- in.numberofsegments+=profnvertices[i];
- }
- if (riftname){
- for (i=0;i<numrifts;i++){
- in.numberofsegments+=riftsnumvertices[i]-1;
- }
- }
-
- in.segmentlist = (int *) mxMalloc(in.numberofsegments * 2 * sizeof(int));
- in.segmentmarkerlist = (int *) mxCalloc(in.numberofsegments,sizeof(int));
- counter=0;
- backcounter=0;
- for (i=0;i<nprof;i++){
- for (j=0;j<(profnvertices[i]-1);j++){
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=counter+1;
- in.segmentmarkerlist[counter]=0;
- counter++;
- }
- /*Close this profile: */
- in.segmentlist[2*counter+0]=counter;
- in.segmentlist[2*counter+1]=backcounter;
- in.segmentmarkerlist[counter]=0;
- counter++;
- backcounter=counter;
- }
- counter2=counter;
- if(riftname){
- for (i=0;i<numrifts;i++){
- for (j=0;j<(riftsnumvertices[i]-1);j++){
- in.segmentlist[2*counter2+0]=counter;
- in.segmentlist[2*counter2+1]=counter+1;
- in.segmentmarkerlist[counter2]=2+i;
- counter2++;
- counter++;
- }
- counter++;
- }
- }
-
-
- /*Build regions: */
- in.numberofregions = 0;
-
- /*Build holes: */
- in.numberofholes = nprof-1; /*everything is a hole, but for the first profile.*/
- in.holelist = (REAL *) mxMalloc(in.numberofholes * 2 * sizeof(REAL));
- for (i=0;i<nprof-1;i++){
- /*We are looking for a vertex that lies inside the hole: */
- GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profnvertices[i+1],pprofx[i+1],pprofy[i+1]);
- }
-
- /* Make necessary initializations so that Triangle can return a */
- /* triangulation in `out': */
-
- out.pointlist = (REAL *) NULL;
- out.pointattributelist = (REAL *) NULL;
- out.pointmarkerlist = (int *) NULL;
- out.trianglelist = (int *) NULL;
- out.triangleattributelist = (REAL *) NULL;
- out.neighborlist = (int *) NULL;
- out.segmentlist = (int *) NULL;
- out.segmentmarkerlist = (int *) NULL;
- out.edgelist = (int *) NULL;
- out.edgemarkerlist = (int *) NULL;
-
- /* Triangulate the points:. Switches are chosen to read and write a */
- /* PSLG (p), preserve the convex hull (c), number everything from */
- /* zero (z), assign a regional attribute to each element (A), and */
- /* produce an edge list (e), a Voronoi diagram (v), and a triangle */
- /* neighbor list (n). */
-
- sprintf(options,"%s%lf","pQzDq30ia",area); /*replace V by Q to quiet down the logging*/
-
- triangulate(options, &in, &out, NULL);
- /*report(&out, 0, 1, 1, 1, 1, 0);*/
-
- /*Allocate index, x and y: */
- index=(double*)mxMalloc(3*out.numberoftriangles*sizeof(double));
- x=(double*)mxMalloc(out.numberofpoints*sizeof(double));
- y=(double*)mxMalloc(out.numberofpoints*sizeof(double));
- segments=(double*)mxMalloc(3*out.numberofsegments*sizeof(double));
- segmentmarkerlist=(double*)mxMalloc(out.numberofsegments*sizeof(double));
-
- for (i = 0; i < out.numberoftriangles; i++) {
- for (j = 0; j < out.numberofcorners; j++) {
- *(index+3*i+j)=(double)out.trianglelist[i * out.numberofcorners + j]+1;
- }
- }
- for (i = 0; i < out.numberofpoints; i++) {
- x[i]=out.pointlist[i * 2 + 0];
- y[i]=out.pointlist[i * 2 + 1];
- }
-
- for (i = 0; i < out.numberofsegments; i++) {
- segments[3*i+0]=(double)out.segmentlist[i*2+0]+1;
- segments[3*i+1]=(double)out.segmentlist[i*2+1]+1;
- segmentmarkerlist[i]=(double)out.segmentmarkerlist[i];
- }
-
- /*Associate elements with segments: */
- AssociateSegmentToElement(&segments,out.numberofsegments,index,out.numberoftriangles);
-
- /*Order segments so that their normals point outside the domain: */
- if(!strcmp(order,"yes")){
- OrderSegments(&segments,out.numberofsegments, index,out.numberoftriangles);
- }
-
- /*Output : */
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,3);
- mxSetN(pmxa_array,out.numberoftriangles);
- mxSetPr(pmxa_array,index);
- mexCallMATLAB( 1, &plhs[0], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofpoints);
- mxSetPr(pmxa_array,x);
- mexCallMATLAB( 1, &plhs[1], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofpoints);
- mxSetPr(pmxa_array,y);
- mexCallMATLAB( 1, &plhs[2], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,3);
- mxSetN(pmxa_array,out.numberofsegments);
- mxSetPr(pmxa_array,segments);
- mexCallMATLAB( 1, &plhs[3], 1, &pmxa_array, "transpose");
-
- pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
- mxSetM(pmxa_array,1);
- mxSetN(pmxa_array,out.numberofsegments);
- mxSetPr(pmxa_array,segmentmarkerlist);
- mexCallMATLAB( 1, &plhs[4], 1, &pmxa_array, "transpose");
-
- return;
-}
-
-void TriMeshRiftsUsage(void)
-{
- printf("\n");
- printf(" usage: [index,x,y,segments,segmentmarkers]=TriMeshRifts(domainoutlinefilename,riftsoutlinename,area,ordered) \n");
- printf(" where: index,x,y defines a triangulation, segments is an array made \n");
- printf(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment \n");
- printf(" (if rifts are present, markers >=2 flag them ), outlinefilename an Argus domain outline file.\n");
- printf(" riftsoutlinename is an Argus domain file, defining rifts (ie: open profiles), \n");
- printf(" area is the maximum area desired for any element of the resulting mesh. \n");
- printf(" and ordered is a string ('yes' or 'no') that determines whether segments are output in the \n");
- printf(" order they are made by Triangle (ie none), or ordered counter clockwise around the domain outline.\n");
- printf(" riftsoutlinename and ordered are optional arguments.\n");
- printf("\n");
-}
-
-
-
-
Copied: issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp (from rev 11994, issm/trunk-jpl/src/mex/TriMeshRifts/TriMeshRifts.cpp)
===================================================================
--- issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp (rev 0)
+++ issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,322 @@
+/*
+ * TriMeshRifts: out of a domain outline file ( Argus format ),
+ * use the Triangle package to create a triangular mesh
+ *
+ */
+
+#include "./TriMeshRifts.h"
+
+void mexFunction( int nlhs, mxArray* plhs[],
+ int nrhs, const mxArray* prhs[] )
+{
+
+
+ /*Matlab arrays: */
+ mxArray* pmxa_array=NULL;
+ int i,j;
+ int counter,counter2,backcounter;
+ int prhs_counter;
+
+ /* returned quantities: */
+
+ double* index=NULL;
+ double* x=NULL;
+ double* y=NULL;
+ double* segments=NULL;
+ double* segmentmarkerlist=NULL;
+
+ /* input: */
+ char* domainname=NULL;
+ char* riftname=NULL;
+ double area;
+ char* order=NULL;
+
+ /*Domain outline variables: */
+ int nprof;
+ int* profnvertices=NULL;
+ double** pprofx=NULL;
+ double** pprofy=NULL;
+ double* xprof=NULL;
+ double* yprof=NULL;
+ int numberofpoints;
+
+ /*Rift outline variables: */
+ int numrifts;
+ int* riftsnumvertices=NULL;
+ double** riftsverticesx=NULL;
+ double** riftsverticesy=NULL;
+
+ /* Triangle structures: */
+ struct triangulateio in,out;
+ char options[256];
+
+ /* verify correct usage: */
+ if (nlhs==0 && nrhs==0) {
+ /* special case: */
+ TriMeshRiftsUsage();
+ return;
+ }
+
+ if (!( (nlhs==5) ||(nrhs==2) || (nrhs==3) || (nrhs==4) )){
+ mexPrintf(" %s format error.\n", __FUNCT__);
+ TriMeshRiftsUsage();
+ printf(" ");
+ mexErrMsgTxt(" ");
+ }
+
+ /*Fetch data needed by Triangle: */
+
+ prhs_counter=0;
+ /*First recover the domain outline file name: */
+ if (!mxIsChar(prhs[prhs_counter])){
+ mexPrintf("%s%s\n",__FUNCT__," error message; first argument should be the domain outline file name!");
+ mexErrMsgTxt(" ");
+ }
+ domainname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
+ mxGetString(prhs[prhs_counter],domainname,mxGetN(prhs[prhs_counter])+1);
+
+ /*Look for optional rifts file name: */
+ prhs_counter++;
+ if (mxIsChar(prhs[prhs_counter])){
+ riftname = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
+ mxGetString(prhs[prhs_counter],riftname,mxGetN(prhs[prhs_counter])+1);
+ prhs_counter++;
+ }
+
+ /*Recover the mesh density desired:*/
+ area=mxGetScalar(prhs[prhs_counter]);
+
+ /*Optionaly, recover desired order: */
+ prhs_counter++;
+ if (mxIsChar(prhs[prhs_counter])){
+ order = (char *) mxMalloc((mxGetN(prhs[prhs_counter])+1)*sizeof(char));
+ mxGetString(prhs[prhs_counter],order,mxGetN(prhs[prhs_counter])+1);
+ }
+
+ /*Start reading the domain outline file: */
+ if(!DomainOutlineRead(&nprof,&profnvertices,&pprofx,&pprofy,NULL,domainname,false)){
+ printf("%s%s%s\n",__FUNCT__," error message reading domain outline ",domainname);
+ mexErrMsgTxt(" ");
+ }
+
+ /*Read rifts file if present: */
+ if(riftname){
+ if(!DomainOutlineRead(&numrifts,&riftsnumvertices,&riftsverticesx,&riftsverticesy,NULL,riftname,false)){
+ printf("%s%s%s\n",__FUNCT__," error message reading rifts outline ",riftname);
+ mexErrMsgTxt(" ");
+ }
+ }
+
+ /*Create initial triangulation to call triangulate():*/
+ numberofpoints=0;
+ for (i=0;i<nprof;i++){
+ numberofpoints+=profnvertices[i];
+ }
+ if (riftname){
+ for (i=0;i<numrifts;i++){
+ numberofpoints+=riftsnumvertices[i];
+ }
+ }
+ in.numberofpoints=numberofpoints;
+
+ in.numberofpointattributes=1;
+ in.pointlist = (REAL *) mxMalloc(in.numberofpoints * 2 * sizeof(REAL));
+
+ counter=0;
+ for (i=0;i<nprof;i++){
+ xprof=pprofx[i];
+ yprof=pprofy[i];
+ for (j=0;j<profnvertices[i];j++){
+ in.pointlist[2*counter+0]=xprof[j];
+ in.pointlist[2*counter+1]=yprof[j];
+ counter++;
+ }
+ }
+ if(riftname){
+ for (i=0;i<numrifts;i++){
+ xprof=riftsverticesx[i];
+ yprof=riftsverticesy[i];
+ for (j=0;j<riftsnumvertices[i];j++){
+ in.pointlist[2*counter+0]=xprof[j];
+ in.pointlist[2*counter+1]=yprof[j];
+ counter++;
+ }
+ }
+ }
+
+ in.pointattributelist = (REAL *) mxMalloc(in.numberofpoints *
+ in.numberofpointattributes *
+ sizeof(REAL));
+ for (i=0;i<in.numberofpoints;i++){
+ in.pointattributelist[i] = 0.0;
+ }
+ in.pointmarkerlist = (int *) mxMalloc(in.numberofpoints * sizeof(int));
+ for(i=0;i<in.numberofpoints;i++){
+ in.pointmarkerlist[i] = 0;
+ }
+
+ /*Build segments: */
+ /*Figure out number of segments: holes and closed outlines have as many segments as vertices,
+ *for rifts, we have one less segment as we have vertices*/
+ in.numberofsegments=0;
+ for (i=0;i<nprof;i++){
+ in.numberofsegments+=profnvertices[i];
+ }
+ if (riftname){
+ for (i=0;i<numrifts;i++){
+ in.numberofsegments+=riftsnumvertices[i]-1;
+ }
+ }
+
+ in.segmentlist = (int *) mxMalloc(in.numberofsegments * 2 * sizeof(int));
+ in.segmentmarkerlist = (int *) mxCalloc(in.numberofsegments,sizeof(int));
+ counter=0;
+ backcounter=0;
+ for (i=0;i<nprof;i++){
+ for (j=0;j<(profnvertices[i]-1);j++){
+ in.segmentlist[2*counter+0]=counter;
+ in.segmentlist[2*counter+1]=counter+1;
+ in.segmentmarkerlist[counter]=0;
+ counter++;
+ }
+ /*Close this profile: */
+ in.segmentlist[2*counter+0]=counter;
+ in.segmentlist[2*counter+1]=backcounter;
+ in.segmentmarkerlist[counter]=0;
+ counter++;
+ backcounter=counter;
+ }
+ counter2=counter;
+ if(riftname){
+ for (i=0;i<numrifts;i++){
+ for (j=0;j<(riftsnumvertices[i]-1);j++){
+ in.segmentlist[2*counter2+0]=counter;
+ in.segmentlist[2*counter2+1]=counter+1;
+ in.segmentmarkerlist[counter2]=2+i;
+ counter2++;
+ counter++;
+ }
+ counter++;
+ }
+ }
+
+
+ /*Build regions: */
+ in.numberofregions = 0;
+
+ /*Build holes: */
+ in.numberofholes = nprof-1; /*everything is a hole, but for the first profile.*/
+ in.holelist = (REAL *) mxMalloc(in.numberofholes * 2 * sizeof(REAL));
+ for (i=0;i<nprof-1;i++){
+ /*We are looking for a vertex that lies inside the hole: */
+ GridInsideHole(&in.holelist[2*i+0],&in.holelist[2*i+1],profnvertices[i+1],pprofx[i+1],pprofy[i+1]);
+ }
+
+ /* Make necessary initializations so that Triangle can return a */
+ /* triangulation in `out': */
+
+ out.pointlist = (REAL *) NULL;
+ out.pointattributelist = (REAL *) NULL;
+ out.pointmarkerlist = (int *) NULL;
+ out.trianglelist = (int *) NULL;
+ out.triangleattributelist = (REAL *) NULL;
+ out.neighborlist = (int *) NULL;
+ out.segmentlist = (int *) NULL;
+ out.segmentmarkerlist = (int *) NULL;
+ out.edgelist = (int *) NULL;
+ out.edgemarkerlist = (int *) NULL;
+
+ /* Triangulate the points:. Switches are chosen to read and write a */
+ /* PSLG (p), preserve the convex hull (c), number everything from */
+ /* zero (z), assign a regional attribute to each element (A), and */
+ /* produce an edge list (e), a Voronoi diagram (v), and a triangle */
+ /* neighbor list (n). */
+
+ sprintf(options,"%s%lf","pQzDq30ia",area); /*replace V by Q to quiet down the logging*/
+
+ triangulate(options, &in, &out, NULL);
+ /*report(&out, 0, 1, 1, 1, 1, 0);*/
+
+ /*Allocate index, x and y: */
+ index=(double*)mxMalloc(3*out.numberoftriangles*sizeof(double));
+ x=(double*)mxMalloc(out.numberofpoints*sizeof(double));
+ y=(double*)mxMalloc(out.numberofpoints*sizeof(double));
+ segments=(double*)mxMalloc(3*out.numberofsegments*sizeof(double));
+ segmentmarkerlist=(double*)mxMalloc(out.numberofsegments*sizeof(double));
+
+ for (i = 0; i < out.numberoftriangles; i++) {
+ for (j = 0; j < out.numberofcorners; j++) {
+ *(index+3*i+j)=(double)out.trianglelist[i * out.numberofcorners + j]+1;
+ }
+ }
+ for (i = 0; i < out.numberofpoints; i++) {
+ x[i]=out.pointlist[i * 2 + 0];
+ y[i]=out.pointlist[i * 2 + 1];
+ }
+
+ for (i = 0; i < out.numberofsegments; i++) {
+ segments[3*i+0]=(double)out.segmentlist[i*2+0]+1;
+ segments[3*i+1]=(double)out.segmentlist[i*2+1]+1;
+ segmentmarkerlist[i]=(double)out.segmentmarkerlist[i];
+ }
+
+ /*Associate elements with segments: */
+ AssociateSegmentToElement(&segments,out.numberofsegments,index,out.numberoftriangles);
+
+ /*Order segments so that their normals point outside the domain: */
+ if(!strcmp(order,"yes")){
+ OrderSegments(&segments,out.numberofsegments, index,out.numberoftriangles);
+ }
+
+ /*Output : */
+ pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pmxa_array,3);
+ mxSetN(pmxa_array,out.numberoftriangles);
+ mxSetPr(pmxa_array,index);
+ mexCallMATLAB( 1, &plhs[0], 1, &pmxa_array, "transpose");
+
+ pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pmxa_array,1);
+ mxSetN(pmxa_array,out.numberofpoints);
+ mxSetPr(pmxa_array,x);
+ mexCallMATLAB( 1, &plhs[1], 1, &pmxa_array, "transpose");
+
+ pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pmxa_array,1);
+ mxSetN(pmxa_array,out.numberofpoints);
+ mxSetPr(pmxa_array,y);
+ mexCallMATLAB( 1, &plhs[2], 1, &pmxa_array, "transpose");
+
+ pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pmxa_array,3);
+ mxSetN(pmxa_array,out.numberofsegments);
+ mxSetPr(pmxa_array,segments);
+ mexCallMATLAB( 1, &plhs[3], 1, &pmxa_array, "transpose");
+
+ pmxa_array= mxCreateDoubleMatrix(0,0,mxREAL);
+ mxSetM(pmxa_array,1);
+ mxSetN(pmxa_array,out.numberofsegments);
+ mxSetPr(pmxa_array,segmentmarkerlist);
+ mexCallMATLAB( 1, &plhs[4], 1, &pmxa_array, "transpose");
+
+ return;
+}
+
+void TriMeshRiftsUsage(void)
+{
+ printf("\n");
+ printf(" usage: [index,x,y,segments,segmentmarkers]=TriMeshRifts(domainoutlinefilename,riftsoutlinename,area,ordered) \n");
+ printf(" where: index,x,y defines a triangulation, segments is an array made \n");
+ printf(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment \n");
+ printf(" (if rifts are present, markers >=2 flag them ), outlinefilename an Argus domain outline file.\n");
+ printf(" riftsoutlinename is an Argus domain file, defining rifts (ie: open profiles), \n");
+ printf(" area is the maximum area desired for any element of the resulting mesh. \n");
+ printf(" and ordered is a string ('yes' or 'no') that determines whether segments are output in the \n");
+ printf(" order they are made by Triangle (ie none), or ordered counter clockwise around the domain outline.\n");
+ printf(" riftsoutlinename and ordered are optional arguments.\n");
+ printf("\n");
+}
+
+
+
+
Deleted: issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h
===================================================================
--- issm/trunk-jpl/src/mex/TriMeshRifts/TriMeshRifts.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,22 +0,0 @@
-/*!\file: TriMeshRifts.h
- * \brief header prototype
- */
-
-#ifndef _TRIMESHRIFTS_H_
-#define _TRIMESHRIFTS_H_
-
-#include "mex.h"
-#include "triangle.h"
-#include "string.h"
-
-#include "../../c/include/globals.h"
-#include "../../c/modules/modules.h"
-#include "../../c/Container/Container.h"
-#include "../../c/shared/shared.h"
-
-void TriMeshRiftsUsage(void);
-
-#undef __FUNCT__
-#define __FUNCT__ "TriMeshRifts"
-
-#endif
Copied: issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h (from rev 11994, issm/trunk-jpl/src/mex/TriMeshRifts/TriMeshRifts.h)
===================================================================
--- issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h (rev 0)
+++ issm/trunk/src/mex/TriMeshRifts/TriMeshRifts.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,22 @@
+/*!\file: TriMeshRifts.h
+ * \brief header prototype
+ */
+
+#ifndef _TRIMESHRIFTS_H_
+#define _TRIMESHRIFTS_H_
+
+#include "mex.h"
+#include "triangle.h"
+#include "string.h"
+
+#include "../../c/include/globals.h"
+#include "../../c/modules/modules.h"
+#include "../../c/Container/Container.h"
+#include "../../c/shared/shared.h"
+
+void TriMeshRiftsUsage(void);
+
+#undef __FUNCT__
+#define __FUNCT__ "TriMeshRifts"
+
+#endif
Modified: issm/trunk/src/mex/TriaSearch/TriaSearch.cpp
===================================================================
--- issm/trunk/src/mex/TriaSearch/TriaSearch.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriaSearch/TriaSearch.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -30,11 +30,11 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&TriaSearchUsage);
/*Input datasets: */
- FetchMatlabData(&index,&nel,&dummy,INDEXHANDLE);
- FetchMatlabData(&x,&nods,XHANDLE);
- FetchMatlabData(&y,&nods,YHANDLE);
- FetchMatlabData(&x0,&numberofnodes,X0HANDLE);
- FetchMatlabData(&y0,&numberofnodes,Y0HANDLE);
+ FetchData(&index,&nel,&dummy,INDEXHANDLE);
+ FetchData(&x,&nods,XHANDLE);
+ FetchData(&y,&nods,YHANDLE);
+ FetchData(&x0,&numberofnodes,X0HANDLE);
+ FetchData(&y0,&numberofnodes,Y0HANDLE);
/* Echo: {{{1*/
//printf("(x0,y0)=(%g,%g)\n",x0,y0);
@@ -47,7 +47,7 @@
for(i=0;i<numberofnodes;i++)tria[i]++;
/*Write data: */
- WriteMatlabData(TRIA,tria,numberofnodes);
+ WriteData(TRIA,tria,numberofnodes);
/*end module: */
MODULEEND();
Modified: issm/trunk/src/mex/TriaSearch/TriaSearch.h
===================================================================
--- issm/trunk/src/mex/TriaSearch/TriaSearch.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/TriaSearch/TriaSearch.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,6 +7,7 @@
/* local prototypes: */
void TriaSearchUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.cpp
===================================================================
--- issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -19,15 +19,15 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateConstraintsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&constraints,CONSTRAINTS);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&constraints,CONSTRAINTS);
+ FetchData(¶meters,PARAMETERS);
/*!Generate internal degree of freedom numbers: */
UpdateConstraintsx(nodes,constraints,parameters);
/*write output datasets: */
- WriteMatlabData(NODES,nodes);
+ WriteData(NODES,nodes);
/*Free ressources: */
delete nodes;
Modified: issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.h
===================================================================
--- issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateConstraints/UpdateConstraints.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,6 +10,7 @@
/* local prototypes: */
void UpdateConstraintsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.cpp
===================================================================
--- issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -10,7 +10,7 @@
Constraints *constraints = NULL;
Nodes *nodes = NULL;
Parameters *parameters = NULL;
- Vec yg = NULL;
+ Vector* yg = NULL;
/*Boot module: */
MODULEBOOT();
@@ -19,19 +19,19 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateDynamicConstraintsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&constraints,CONSTRAINTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((Parameters**)¶meters,PARAMETERS);
- FetchMatlabData(&yg,YG);
+ FetchData((DataSet**)&constraints,CONSTRAINTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((Parameters**)¶meters,PARAMETERS);
+ FetchData(&yg,YG);
/*!Generate internal degree of freedom numbers: */
UpdateDynamicConstraintsx(constraints,nodes,parameters,yg);
/*write output datasets: */
- WriteMatlabData(CONSTRAINTSOUT,constraints);
+ WriteData(CONSTRAINTSOUT,constraints);
/*Free ressources: */
- VecFree(&yg);
+ xdelete(&yg);
delete constraints;
delete nodes;
delete parameters;
Modified: issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.h
===================================================================
--- issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateDynamicConstraints/UpdateDynamicConstraints.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void UpdateDynamicConstraintsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp
===================================================================
--- issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -21,12 +21,12 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&UpdateVertexPositionsUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&elements,ELEMENTSIN);
- FetchMatlabData((DataSet**)&nodes,NODESIN);
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData((DataSet**)&loads,LOADSIN);
- FetchMatlabData((DataSet**)&materials,MATERIALSIN);
- FetchMatlabData(¶meters,PARAMETERSIN);
+ FetchData((DataSet**)&elements,ELEMENTSIN);
+ FetchData((DataSet**)&nodes,NODESIN);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData((DataSet**)&loads,LOADSIN);
+ FetchData((DataSet**)&materials,MATERIALSIN);
+ FetchData(¶meters,PARAMETERSIN);
/*configure: */
elements-> Configure(elements,loads, nodes,vertices, materials,parameters);
@@ -37,12 +37,12 @@
UpdateVertexPositionsx(elements,nodes,vertices,loads, materials,parameters);
/*write output datasets: */
- WriteMatlabData(ELEMENTS,elements);
- WriteMatlabData(NODES,nodes);
- WriteMatlabData(VERTICES,vertices);
- WriteMatlabData(LOADS,loads);
- WriteMatlabData(MATERIALS,materials);
- WriteMatlabData(PARAMETERS,parameters);
+ WriteData(ELEMENTS,elements);
+ WriteData(NODES,nodes);
+ WriteData(VERTICES,vertices);
+ WriteData(LOADS,loads);
+ WriteData(MATERIALS,materials);
+ WriteData(PARAMETERS,parameters);
/*Free ressources: */
delete elements;
Modified: issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h
===================================================================
--- issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/UpdateVertexPositions/UpdateVertexPositions.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void UpdateVertexPositionsUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/VerticesDof/VerticesDof.cpp
===================================================================
--- issm/trunk/src/mex/VerticesDof/VerticesDof.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/VerticesDof/VerticesDof.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -17,14 +17,14 @@
CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,&VerticesDofUsage);
/*Input datasets: */
- FetchMatlabData((DataSet**)&vertices,VERTICESIN);
- FetchMatlabData(¶meters,PARAMETERS);
+ FetchData((DataSet**)&vertices,VERTICESIN);
+ FetchData(¶meters,PARAMETERS);
/*!Generate internal degree of freedom numbers: */
VerticesDofx(vertices, parameters);
/*write output datasets: */
- WriteMatlabData(VERTICES,vertices);
+ WriteData(VERTICES,vertices);
/*Free ressources: */
delete vertices;
Modified: issm/trunk/src/mex/VerticesDof/VerticesDof.h
===================================================================
--- issm/trunk/src/mex/VerticesDof/VerticesDof.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/VerticesDof/VerticesDof.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void VerticesDofUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/mex/Xy2ll/Xy2ll.cpp
===================================================================
--- issm/trunk/src/mex/Xy2ll/Xy2ll.cpp 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Xy2ll/Xy2ll.cpp 2012-04-16 21:57:18 UTC (rev 11995)
@@ -34,17 +34,17 @@
/*Input datasets: */
if (verbose) printf("Fetching inputs:\n");
- FetchMatlabData(&x,&nx,X_IN);
+ FetchData(&x,&nx,X_IN);
if (verbose)
if (nx == 1) printf(" x=%g\n",x[0]);
else printf(" x=[%d values]\n",nx);
// for (i=0; i<nx; i++) printf(" x[%d]=%g\n",i,x[i]);
- FetchMatlabData(&y,&ny,Y_IN);
+ FetchData(&y,&ny,Y_IN);
if (verbose)
if (ny == 1) printf(" y=%g\n",y[0]);
else printf(" y=[%d values]\n",ny);
// for (i=0; i<ny; i++) printf(" y[%d]=%g\n",i,y[i]);
- FetchMatlabData(&sgn,SGN_IN);
+ FetchData(&sgn,SGN_IN);
if (verbose) printf(" sgn=%d\n",sgn);
if (verbose) printf("Parsing options:\n");
@@ -83,8 +83,8 @@
if (verbose) printf(" iret=%d\n",iret);
/*Write data: */
- WriteMatlabData(LAT_OUT,lat,ncoord);
- WriteMatlabData(LON_OUT,lon,ncoord);
+ WriteData(LAT_OUT,lat,ncoord);
+ WriteData(LON_OUT,lon,ncoord);
/*Clean-up*/
delete options;
Modified: issm/trunk/src/mex/Xy2ll/Xy2ll.h
===================================================================
--- issm/trunk/src/mex/Xy2ll/Xy2ll.h 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/mex/Xy2ll/Xy2ll.h 2012-04-16 21:57:18 UTC (rev 11995)
@@ -8,6 +8,7 @@
/* local prototypes: */
void Xy2llUsage(void);
+#include "../../c/include/globals.h"
#include "../../c/modules/modules.h"
#include "../../c/Container/Container.h"
#include "../../c/shared/shared.h"
Modified: issm/trunk/src/py/README
===================================================================
--- issm/trunk/src/py/README 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/README 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,7 +4,7 @@
#
# launch python
->>> md=mode();
+>>> md=model();
>>> md
>>> md.mesh
>>> md.mesh.x
Property changes on: issm/trunk/src/py/classes
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Copied: issm/trunk/src/py/classes/autodiff.py (from rev 11994, issm/trunk-jpl/src/py/classes/autodiff.py)
===================================================================
--- issm/trunk/src/py/classes/autodiff.py (rev 0)
+++ issm/trunk/src/py/classes/autodiff.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class autodiff:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.isautodiff = False
+ self.forward = True
+ self.reverse = False
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' automatic differentiation parameters:'
+ string="%s\n%s"%(string,fielddisplay(obj,'isautodiff','indicates if the automatic differentiation is activated'))
+ string="%s\n%s"%(string,fielddisplay(obj,'forward','forward differentiation'))
+ string="%s\n%s"%(string,fielddisplay(obj,'reverse','backward differentiation'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/balancethickness.py (from rev 11994, issm/trunk-jpl/src/py/classes/balancethickness.py)
===================================================================
--- issm/trunk/src/py/classes/balancethickness.py (rev 0)
+++ issm/trunk/src/py/classes/balancethickness.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+#module imports
+from fielddisplay import fielddisplay
+class balancethickness:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.spcthickness = float('NaN')
+ self.thickening_rate = float('NaN')
+ self.stabilization = 0
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string=' balance thickness solution parameters:'
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'thickening_rate','ice thickening rate used in the mass conservation (dh/dt)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'stabilization','0: None, 1: SU, 2: MacAyeal''s artificial diffusivity, 3:DG'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/basalforcings.py (from rev 11994, issm/trunk-jpl/src/py/classes/basalforcings.py)
===================================================================
--- issm/trunk/src/py/classes/basalforcings.py (rev 0)
+++ issm/trunk/src/py/classes/basalforcings.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class basalforcings:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.melting_rate = float('NaN')
+ self.melting_rate_correction = float('NaN')
+ self.geothermalflux = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" basal forcings parameters:"
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,"melting_rate","basal melting rate (positive if melting)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"melting_rate_correction","additional melting applied when the grounding line retreats"))
+ string="%s\n%s"%(string,fielddisplay(obj,"geothermalflux","geothermal heat flux [W/m^2]"))
+ return string
+ #}}}
Property changes on: issm/trunk/src/py/classes/clusters
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Deleted: issm/trunk/src/py/classes/clusters/generic.py
===================================================================
--- issm/trunk-jpl/src/py/classes/clusters/generic.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/classes/clusters/generic.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,217 +0,0 @@
-#GENERIC cluster class definition
-#
-# Usage:
-# cluster=generic('name','astrid',);
-# cluster=generic('name','astrid','np',3);
-# cluster=generic('name',oshostname(),'np',3,'login','username');
-
-
-class generic:
- #properties
- def __init__(self):
- # {{{ Properties
- self.name=''
- self.login=''
- self.np=1
- self.port=0
- self.interactive=1
- self.codepath=issmtier() + '/bin'
- self.executionpath=issmtier() + '/execution'
- self.valgrind=issmtier() + '/externalpackages/valgrind/install/bin/valgrind'
- self.valgrindlib=issmtier() + '/externalpackages/valgrind/install/lib/libmpidebug.so'
- self.valgrindsup=issmtier() + '/externalpackages/valgrind/issm.supp'
- #}}}
- def __repr__(obj):
- # {{{ Display
-
- string="class 'generic' object:"
- string="%s\n\n%s"%(string,"%s%s"%(' name: ',obj.name))
- string="%s\n%s"%(string,"%s%i"%(' np: ',obj.np))
- string="%s\n%s"%(string,"%s%i"%(' port: ',obj.port))
- string="%s\n%s"%(string,"%s%s"%(' codepath: ',obj.codepath))
- string="%s\n%s"%(string,"%s%s"%(' executionpath: ',obj.executionpath))
- string="%s\n%s"%(string,"%s%s"%(' valgrind: ',obj.valgrind))
- string="%s\n%s"%(string,"%s%s"%(' valgrindlib: ',obj.valgrindlib))
- string="%s\n%s"%(string,"%s%s"%(' valgrindsup: ',obj.valgrindsup))
- return string
- #}}}
-
-
-#old matlab
-# function cluster=generic(varargin) % {{{1
-#
-# %use provided options to change fields
-# options=pairoptions(varargin{:});
-#
-# %get name
-# if ~exist(options,'name'), error('option ''name'' has not been provided'); end
-# cluster.name=getfieldvalue(options,'name');
-#
-# %initialize cluster using user settings if provided
-# if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
-#
-# %OK get other fields
-# for i=1:size(options.list,1),
-# fieldname=options.list{i,1};
-# fieldvalue=options.list{i,2};
-# if ismember(fieldname,properties('generic')),
-# cluster.(fieldname)=fieldvalue;
-# else
-# disp(['''' fieldname ''' is not a property of cluster generic']);
-# end
-# end
-# end
-# %}}}
-# function checkconsistency(cluster,md,solution,analyses) % {{{1
-# if cluster.np<1
-# checkmessage(['number of processors should be at least 1']);
-# end
-# if isnan(cluster.np),
-# checkessage('number of processors should not be NaN!');
-# end
-# end
-# %}}}
-# function BuildQueueScript(cluster,md) % {{{1
-#
-# %retrieve parameters
-# modelname=md.miscellaneous.name;
-# solution=md.private.solution;
-# isvalgrind=md.debug.valgrind;
-# isgprof=md.debug.gprof;
-#
-# %open file for writing:
-# if ~ispc,
-# fid=fopen([modelname '.queue'],'w');
-# else
-# fid=fopen([modelname '.bat'],'w');
-# end
-#
-# %write instructions for launching a job on the cluster
-# if ~ispc,
-# fprintf(fid,'#!/bin/sh\n');
-# else
-# fprintf(fid,'@echo off\n');
-# end
-#
-# if ~isvalgrind,
-# if cluster.interactive
-# if ~ispc,
-# fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s ',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
-# else
-# fprintf(fid,'"%s/issm.exe" %s "%s" %s ',cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
-# end
-# else
-# if ~ispc,
-# fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
-# else
-# fprintf(fid,'"%s/issm.exe" %s "%s" %s 2> %s.errlog >%s.outlog ',cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
-# end
-# end
-# else
-# if ~ispc,
-# %Add --gen-suppressions=all to get suppression lines
-# fprintf(fid,'LD_PRELOAD=%s \\\n',cluster.valgrindlib);
-# fprintf(fid,'mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
-# cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
-# else
-# error('valgrind not supported on windows platforms');
-# end
-# end
-#
-# if isgprof,
-# if ~ispc,
-# fprintf(fid,'\n gprof %s/issm.exe gmon.out > %s.performance',cluster.codepath,modelname);
-# else
-# error('gprof not supported on windows platforms');
-# end
-#
-# end
-#
-# if ~md.settings.io_gather,
-# if ~ispc,
-# %concatenate the output files:
-# fprintf(fid,'\ncat %s.outbin.* > %s.outbin',modelname,modelname);
-# else
-# error('iogather not supported on windows platforms');
-# end
-#
-# end
-#
-# %close file:
-# fclose(fid);
-#
-# %in interactive mode, create a run file, and errlog and outlog file
-# if cluster.interactive,
-# fid=fopen([modelname '.errlog'],'w'); fclose(fid);
-# fid=fopen([modelname '.outlog'],'w'); fclose(fid);
-# end
-#
-#
-# end
-# %}}}
-# function LaunchQueueJob(cluster,md,options)% {{{1
-#
-# if ~ispc,
-# %lauch command, to be executed via ssh
-# launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' md.private.runtimename ' && mkdir ' md.private.runtimename ...
-# ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && source ' md.miscellaneous.name '.queue '];
-#
-# if ~strcmpi(options.batch,'yes'),
-#
-# %compress the files into one zip.
-# compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc '];
-# if md.qmu.isdakota,
-# compressstring=[compressstring md.miscellaneous.name '.qmu.in'];
-# end
-# if cluster.interactive,
-# compressstring=[compressstring ' ' md.miscellaneous.name '.errlog ' md.miscellaneous.name '.outlog '];
-# end
-# system(compressstring);
-#
-# disp('uploading input file and queueing script');
-# issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[md.private.runtimename '.tar.gz']});
-#
-# disp('launching solution sequence on remote cluster');
-# issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
-# else
-# disp('batch mode requested: not launching job interactively');
-# disp('launch solution sequence on remote cluster by hand');
-# end
-# else
-# %launch right here, do not compress or archive.
-# system([md.miscellaneous.name '.bat']);
-# end
-#
-# end %}}}
-# function Download(cluster,md)% {{{1
-#
-# if ~ispc,
-# %some check
-# if isempty(md.private.runtimename),
-# error('supply runtime name for results to be loaded!');
-# end
-#
-# %Figure out the directory where all the files are in:
-# directory=[cluster.executionpath '/' md.private.runtimename '/'];
-#
-# %What packages are we picking up from remote cluster
-# packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']};
-# if md.qmu.isdakota,
-# packages{end+1}=[md.miscellaneous.name '.qmu.err'];
-# packages{end+1}=[md.miscellaneous.name '.qmu.out'];
-# if isfield(md.qmu.params,'tabular_graphics_data'),
-# if md.qmu.params.tabular_graphics_data==true,
-# packages{end+1}='dakota_tabular.dat';
-# end
-# end
-# else
-# packages{end+1}=[md.miscellaneous.name '.outbin'];
-# end
-#
-# %copy files from cluster to present directory
-# issmscpin(cluster.name, cluster.login, cluster.port, directory, packages);
-# else
-# %do nothing!
-# end
-# end %}}}
-#
Copied: issm/trunk/src/py/classes/clusters/generic.py (from rev 11994, issm/trunk-jpl/src/py/classes/clusters/generic.py)
===================================================================
--- issm/trunk/src/py/classes/clusters/generic.py (rev 0)
+++ issm/trunk/src/py/classes/clusters/generic.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,217 @@
+#GENERIC cluster class definition
+#
+# Usage:
+# cluster=generic('name','astrid',);
+# cluster=generic('name','astrid','np',3);
+# cluster=generic('name',oshostname(),'np',3,'login','username');
+
+
+class generic:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.name=''
+ self.login=''
+ self.np=1
+ self.port=0
+ self.interactive=1
+ self.codepath=issmtier() + '/bin'
+ self.executionpath=issmtier() + '/execution'
+ self.valgrind=issmtier() + '/externalpackages/valgrind/install/bin/valgrind'
+ self.valgrindlib=issmtier() + '/externalpackages/valgrind/install/lib/libmpidebug.so'
+ self.valgrindsup=issmtier() + '/externalpackages/valgrind/issm.supp'
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string="class 'generic' object:"
+ string="%s\n\n%s"%(string,"%s%s"%(' name: ',obj.name))
+ string="%s\n%s"%(string,"%s%i"%(' np: ',obj.np))
+ string="%s\n%s"%(string,"%s%i"%(' port: ',obj.port))
+ string="%s\n%s"%(string,"%s%s"%(' codepath: ',obj.codepath))
+ string="%s\n%s"%(string,"%s%s"%(' executionpath: ',obj.executionpath))
+ string="%s\n%s"%(string,"%s%s"%(' valgrind: ',obj.valgrind))
+ string="%s\n%s"%(string,"%s%s"%(' valgrindlib: ',obj.valgrindlib))
+ string="%s\n%s"%(string,"%s%s"%(' valgrindsup: ',obj.valgrindsup))
+ return string
+ #}}}
+
+
+#old matlab
+# function cluster=generic(varargin) % {{{1
+#
+# %use provided options to change fields
+# options=pairoptions(varargin{:});
+#
+# %get name
+# if ~exist(options,'name'), error('option ''name'' has not been provided'); end
+# cluster.name=getfieldvalue(options,'name');
+#
+# %initialize cluster using user settings if provided
+# if (exist([cluster.name '_settings'])==2), eval([cluster.name '_settings']); end
+#
+# %OK get other fields
+# for i=1:size(options.list,1),
+# fieldname=options.list{i,1};
+# fieldvalue=options.list{i,2};
+# if ismember(fieldname,properties('generic')),
+# cluster.(fieldname)=fieldvalue;
+# else
+# disp(['''' fieldname ''' is not a property of cluster generic']);
+# end
+# end
+# end
+# %}}}
+# function checkconsistency(cluster,md,solution,analyses) % {{{1
+# if cluster.np<1
+# checkmessage(['number of processors should be at least 1']);
+# end
+# if isnan(cluster.np),
+# checkessage('number of processors should not be NaN!');
+# end
+# end
+# %}}}
+# function BuildQueueScript(cluster,md) % {{{1
+#
+# %retrieve parameters
+# modelname=md.miscellaneous.name;
+# solution=md.private.solution;
+# isvalgrind=md.debug.valgrind;
+# isgprof=md.debug.gprof;
+#
+# %open file for writing:
+# if ~ispc,
+# fid=fopen([modelname '.queue'],'w');
+# else
+# fid=fopen([modelname '.bat'],'w');
+# end
+#
+# %write instructions for launching a job on the cluster
+# if ~ispc,
+# fprintf(fid,'#!/bin/sh\n');
+# else
+# fprintf(fid,'@echo off\n');
+# end
+#
+# if ~isvalgrind,
+# if cluster.interactive
+# if ~ispc,
+# fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s ',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
+# else
+# fprintf(fid,'"%s/issm.exe" %s "%s" %s ',cluster.codepath,EnumToString(solution),cluster.executionpath,modelname);
+# end
+# else
+# if ~ispc,
+# fprintf(fid,'mpiexec -np %i %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',cluster.np,cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
+# else
+# fprintf(fid,'"%s/issm.exe" %s "%s" %s 2> %s.errlog >%s.outlog ',cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
+# end
+# end
+# else
+# if ~ispc,
+# %Add --gen-suppressions=all to get suppression lines
+# fprintf(fid,'LD_PRELOAD=%s \\\n',cluster.valgrindlib);
+# fprintf(fid,'mpiexec -np %i %s --leak-check=full --suppressions=%s %s/issm.exe %s %s %s 2> %s.errlog >%s.outlog ',...
+# cluster.np,cluster.valgrind,cluster.valgrindsup, cluster.codepath,EnumToString(solution),cluster.executionpath,modelname,modelname,modelname);
+# else
+# error('valgrind not supported on windows platforms');
+# end
+# end
+#
+# if isgprof,
+# if ~ispc,
+# fprintf(fid,'\n gprof %s/issm.exe gmon.out > %s.performance',cluster.codepath,modelname);
+# else
+# error('gprof not supported on windows platforms');
+# end
+#
+# end
+#
+# if ~md.settings.io_gather,
+# if ~ispc,
+# %concatenate the output files:
+# fprintf(fid,'\ncat %s.outbin.* > %s.outbin',modelname,modelname);
+# else
+# error('iogather not supported on windows platforms');
+# end
+#
+# end
+#
+# %close file:
+# fclose(fid);
+#
+# %in interactive mode, create a run file, and errlog and outlog file
+# if cluster.interactive,
+# fid=fopen([modelname '.errlog'],'w'); fclose(fid);
+# fid=fopen([modelname '.outlog'],'w'); fclose(fid);
+# end
+#
+#
+# end
+# %}}}
+# function LaunchQueueJob(cluster,md,options)% {{{1
+#
+# if ~ispc,
+# %lauch command, to be executed via ssh
+# launchcommand=['cd ' cluster.executionpath ' && rm -rf ./' md.private.runtimename ' && mkdir ' md.private.runtimename ...
+# ' && cd ' md.private.runtimename ' && mv ../' md.private.runtimename '.tar.gz ./ && tar -zxf ' md.private.runtimename '.tar.gz && source ' md.miscellaneous.name '.queue '];
+#
+# if ~strcmpi(options.batch,'yes'),
+#
+# %compress the files into one zip.
+# compressstring=['tar -zcf ' md.private.runtimename '.tar.gz ' md.miscellaneous.name '.bin ' md.miscellaneous.name '.queue ' md.miscellaneous.name '.petsc '];
+# if md.qmu.isdakota,
+# compressstring=[compressstring md.miscellaneous.name '.qmu.in'];
+# end
+# if cluster.interactive,
+# compressstring=[compressstring ' ' md.miscellaneous.name '.errlog ' md.miscellaneous.name '.outlog '];
+# end
+# system(compressstring);
+#
+# disp('uploading input file and queueing script');
+# issmscpout(cluster.name,cluster.executionpath,cluster.login,cluster.port,{[md.private.runtimename '.tar.gz']});
+#
+# disp('launching solution sequence on remote cluster');
+# issmssh(cluster.name,cluster.login,cluster.port,launchcommand);
+# else
+# disp('batch mode requested: not launching job interactively');
+# disp('launch solution sequence on remote cluster by hand');
+# end
+# else
+# %launch right here, do not compress or archive.
+# system([md.miscellaneous.name '.bat']);
+# end
+#
+# end %}}}
+# function Download(cluster,md)% {{{1
+#
+# if ~ispc,
+# %some check
+# if isempty(md.private.runtimename),
+# error('supply runtime name for results to be loaded!');
+# end
+#
+# %Figure out the directory where all the files are in:
+# directory=[cluster.executionpath '/' md.private.runtimename '/'];
+#
+# %What packages are we picking up from remote cluster
+# packages={[md.miscellaneous.name '.outlog'],[md.miscellaneous.name '.errlog']};
+# if md.qmu.isdakota,
+# packages{end+1}=[md.miscellaneous.name '.qmu.err'];
+# packages{end+1}=[md.miscellaneous.name '.qmu.out'];
+# if isfield(md.qmu.params,'tabular_graphics_data'),
+# if md.qmu.params.tabular_graphics_data==true,
+# packages{end+1}='dakota_tabular.dat';
+# end
+# end
+# else
+# packages{end+1}=[md.miscellaneous.name '.outbin'];
+# end
+#
+# %copy files from cluster to present directory
+# issmscpin(cluster.name, cluster.login, cluster.port, directory, packages);
+# else
+# %do nothing!
+# end
+# end %}}}
+#
Deleted: issm/trunk/src/py/classes/clusters/none.py
===================================================================
--- issm/trunk-jpl/src/py/classes/clusters/none.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/classes/clusters/none.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,24 +0,0 @@
-#NONE cluster class definition
-#
-# Usage:
-# cluster=none();
-# cluster=none('np',3);
-# cluster=none('np',3,'login','username');
-
-class none:
- #properties
- def __init__(self):
- # {{{ Properties
- self.name='none'
- #}}}
- def __repr__(obj):
- # {{{ Display
-
- string="class 'none' object:"
- string="%s\n\n%s"%(string,"%s%s"%(' name: ',obj.name))
- return string
- #}}}
- def checkconsistency(cluster,md,solution,analyses):
- pass
- def BuildQueueScript(cluster,md):
- raise RuntimeError('none.BuildQueueScript error message: serial cluster cannot build queue script')
Copied: issm/trunk/src/py/classes/clusters/none.py (from rev 11994, issm/trunk-jpl/src/py/classes/clusters/none.py)
===================================================================
--- issm/trunk/src/py/classes/clusters/none.py (rev 0)
+++ issm/trunk/src/py/classes/clusters/none.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+#NONE cluster class definition
+#
+# Usage:
+# cluster=none();
+# cluster=none('np',3);
+# cluster=none('np',3,'login','username');
+
+class none:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.name='none'
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string="class 'none' object:"
+ string="%s\n\n%s"%(string,"%s%s"%(' name: ',obj.name))
+ return string
+ #}}}
+ def checkconsistency(cluster,md,solution,analyses):
+ pass
+ def BuildQueueScript(cluster,md):
+ raise RuntimeError('none.BuildQueueScript error message: serial cluster cannot build queue script')
Copied: issm/trunk/src/py/classes/constants.py (from rev 11994, issm/trunk-jpl/src/py/classes/constants.py)
===================================================================
--- issm/trunk/src/py/classes/constants.py (rev 0)
+++ issm/trunk/src/py/classes/constants.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,21 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class constants:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.g = 0
+ self.yts = 0
+ self.referencetemperature = 0
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" constants parameters:"
+ string="%s\n\n%s"%(string,fielddisplay(obj,"g","gravitational acceleration"))
+ string="%s\n%s"%(string,fielddisplay(obj,"yts","number of seconds in a year"))
+ string="%s\n%s"%(string,fielddisplay(obj,"referencetemperature","reference temperature used in the enthalpy model"))
+
+
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/debug.py (from rev 11994, issm/trunk-jpl/src/py/classes/debug.py)
===================================================================
--- issm/trunk/src/py/classes/debug.py (rev 0)
+++ issm/trunk/src/py/classes/debug.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class debug:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.valgrind=False
+ self.gprof = False
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" debug parameters:"
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,"valgrind","use Valgrind to debug (0 or 1)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"gprof","use gnu-profiler to find out where the time is spent"))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/diagnostic.py (from rev 11994, issm/trunk-jpl/src/py/classes/diagnostic.py)
===================================================================
--- issm/trunk/src/py/classes/diagnostic.py (rev 0)
+++ issm/trunk/src/py/classes/diagnostic.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,63 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class diagnostic:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.spcvx = float('NaN')
+ self.spcvy = float('NaN')
+ self.spcvz = float('NaN')
+ self.restol = 0
+ self.reltol = 0
+ self.abstol = 0
+ self.isnewton = 0
+ self.stokesreconditioning = 0
+ self.viscosity_overshoot = 0
+ self.icefront = float('NaN')
+ self.maxiter = 0
+ self.shelf_dampening = 0
+ self.vertex_pairing = float('NaN')
+ self.penalty_factor = float('NaN')
+ self.rift_penalty_lock = float('NaN')
+ self.rift_penalty_threshold = 0
+ self.referential = float('NaN')
+ self.requested_outputs = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+
+ string='\n Diagnostic solution parameters:'
+ string="%s\n\n%s"%(string,' Convergence criteria:')
+
+ string="%s\n%s"%(string,fielddisplay(obj,'restol','mechanical equilibrium residual convergence criterion'))
+ string="%s\n%s"%(string,fielddisplay(obj,'reltol','velocity relative convergence criterion, NaN -> not applied'))
+ string="%s\n%s"%(string,fielddisplay(obj,'abstol','velocity absolute convergence criterion, NaN -> not applied'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isnewton','Apply Newton''s method instead of a Picard fixed point method'))
+ string="%s\n%s"%(string,fielddisplay(obj,'maxiter','maximum number of nonlinear iterations'))
+ string="%s\n%s"%(string,fielddisplay(obj,'viscosity_overshoot','over-shooting constant new=new+C*(new-old)'))
+
+ string="%s\n%s"%(string,' boundary conditions:')
+
+ string="%s\n%s"%(string,fielddisplay(obj,'spcvx','x-axis velocity constraint (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'spcvy','y-axis velocity constraint (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'spcvz','z-axis velocity constraint (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'icefront','segments on ice front list (last column 0-> Air, 1-> Water, 2->Ice'))
+
+ string="%s\n%s"%(string,' Rift options:')
+ string="%s\n%s"%(string,fielddisplay(obj,'rift_penalty_threshold','threshold for instability of mechanical constraints'))
+ string="%s\n%s"%(string,fielddisplay(obj,'rift_penalty_lock','number of iterations before rift penalties are locked'))
+
+ string="%s\n%s"%(string,' Penalty options:')
+ string="%s\n%s"%(string,fielddisplay(obj,'penalty_factor','offset used by penalties: penalty = Kmax*10^offset'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vertex_pairing','pairs of vertices that are penalized'))
+
+ string="%s\n%s"%(string,' Other:')
+ string="%s\n%s"%(string,fielddisplay(obj,'shelf_dampening','use dampening for floating ice ? Only for Stokes model'))
+ string="%s\n%s"%(string,fielddisplay(obj,'stokesreconditioning','multiplier for incompressibility equation. Only for Stokes model'))
+ string="%s\n%s"%(string,fielddisplay(obj,'referential','local referential'))
+ string="%s\n%s"%(string,fielddisplay(obj,'requested_outputs','additional outputs requested'))
+
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/flaim.py (from rev 11994, issm/trunk-jpl/src/py/classes/flaim.py)
===================================================================
--- issm/trunk/src/py/classes/flaim.py (rev 0)
+++ issm/trunk/src/py/classes/flaim.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,50 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class flaim:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.targets = ''
+ self.tracks = ''
+ self.flightreqs = {}
+ self.criterion = float('NaN')
+ self.gridsatequator = 200000
+ self.usevalueordering = True
+ self.split_antimeridian = True
+ self.solution = ''
+ self.quality = 0
+ self.path_optimize = False
+ self.opt_ndir = 1
+ self.opt_dist = 25
+ self.opt_niter = 30000
+ #}}}
+ def __repr__(obj):
+ # {{{ Displa
+ string=' FLAIM - Flight Line Adaptation using Ice sheet Modeling:'
+
+ string="%s\n\n%s"%(string,' Input:')
+ string="%s\n%s"%(string,fielddisplay(obj,'targets' ,'name of kml output targets file '))
+ string="%s\n%s"%(string,fielddisplay(obj,'tracks' ,'name of kml input tracks file '))
+ string="%s\n%s"%(string,fielddisplay(obj,'flightreqs' ,'structure of kml flight requirements (not used yet)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'criterion' ,'element or nodal criterion for flight path evaluation (metric)'))
+
+ string="%s\n\n%s"%(string,' Arguments:')
+ string="%s\n%s"%(string,fielddisplay(obj,'gridsatequator' ,'number of grids at equator (determines resolution)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'usevalueordering' ,'flag to consider target values for flight path evaluation'))
+ string="%s\n%s"%(string,fielddisplay(obj,'split_antimeridian' ,'flag to split polygons on the antimeridian'))
+
+ string="%s\n\n%s"%(string,' Optimization:')
+ string="%s\n%s"%(string,fielddisplay(obj,'path_optimize' ,'optimize? (default false)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'opt_ndir' ,['number of directions to test when moving a point. If this value = 1, a random direction is tested.',\
+ 'A value > 1 results in directions equally spaced from [0, 2*PI] being tested.',\
+ 'For example, 4 would result in directions [0, PI/2, PI, 3PI/2].']))
+ string="%s\n%s"%(string,fielddisplay(obj,'opt_dist' ,'specifies the distance in km (default 25) to move a randomly selected path point on each iteration'))
+ string="%s\n%s"%(string,fielddisplay(obj,'opt_niter' ,['number of iterations (default 30,000) to run for flightplan optimization',\
+ 'i.e. the number of times to randomly select a point and move it.']))
+
+ string="%s\n\n%s"%(string,' Output:')
+ string="%s\n%s"%(string,fielddisplay(obj,'solution' ,'name of kml solution file'))
+ string="%s\n%s"%(string,fielddisplay(obj,'quality' ,'quality of kml solution'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/flowequation.py (from rev 11994, issm/trunk-jpl/src/py/classes/flowequation.py)
===================================================================
--- issm/trunk/src/py/classes/flowequation.py (rev 0)
+++ issm/trunk/src/py/classes/flowequation.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class flowequation:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+
+ self.ismacayealpattyn = 0;
+ self.ishutter = 0;
+ self.isstokes = 0;
+ self.vertex_equation = float('NaN')
+ self.element_equation = float('NaN')
+ self.bordermacayeal = float('NaN')
+ self.borderpattyn = float('NaN')
+ self.borderstokes = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' flow equation parameters:'
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'ismacayealpattyn','is the macayeal or pattyn approximation used ?'))
+ string="%s\n%s"%(string,fielddisplay(obj,'ishutter','is the shallow ice approximation used ?'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isstokes','are the Full-Stokes equations used ?'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vertex_equation','flow equation for each vertex'))
+ string="%s\n%s"%(string,fielddisplay(obj,'element_equation','flow equation for each element'))
+ string="%s\n%s"%(string,fielddisplay(obj,'bordermacayeal','vertices on MacAyeal''s border (for tiling)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'borderpattyn','vertices on Pattyn''s border (for tiling)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'borderstokes','vertices on Stokes'' border (for tiling)'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/friction.py (from rev 11994, issm/trunk-jpl/src/py/classes/friction.py)
===================================================================
--- issm/trunk/src/py/classes/friction.py (rev 0)
+++ issm/trunk/src/py/classes/friction.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class friction:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.coefficient = float('NaN')
+ self.p = float('NaN')
+ self.q = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string="Sigma= drag^2 * Neff ^r * u ^s, with Neff=rho_ice*g*thickness+rho_water*g*bed, r=q/p and s=1/p"
+ string="%s\n\n%s"%(string,fielddisplay(obj,"coefficient","friction coefficient [SI]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"p","p exponent"))
+ string="%s\n%s"%(string,fielddisplay(obj,"q","q exponent"))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/geometry.py (from rev 11994, issm/trunk-jpl/src/py/classes/geometry.py)
===================================================================
--- issm/trunk/src/py/classes/geometry.py (rev 0)
+++ issm/trunk/src/py/classes/geometry.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,25 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class geometry:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.surface = float('NaN')
+ self.thickness = float('NaN')
+ self.bed = float('NaN')
+ self.bathymetry = float('NaN')
+ self.hydrostatic_ratio = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string=" geometry parameters:"
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'surface','surface elevation'))
+ string="%s\n%s"%(string,fielddisplay(obj,'thickness','ice thickness'))
+ string="%s\n%s"%(string,fielddisplay(obj,'bed','bed elevation'))
+ string="%s\n%s"%(string,fielddisplay(obj,'bathymetry','bathymetry elevation'))
+ string="%s\n%s"%(string,fielddisplay(obj,'hydrostatic_ratio','coefficient for ice shelves'' thickness correction: hydrostatic_ratio H_obs+ (1-hydrostatic_ratio) H_hydro'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/groundingline.py (from rev 11994, issm/trunk-jpl/src/py/classes/groundingline.py)
===================================================================
--- issm/trunk/src/py/classes/groundingline.py (rev 0)
+++ issm/trunk/src/py/classes/groundingline.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class groundingline:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.migration=''
+ self.melting_rate=float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' grounding line solution parameters:'
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'migration','type of grounding line migration: ''SoftMigration'',''AgressiveMigration'' or ''None'''))
+ string="%s\n%s"%(string,fielddisplay(obj,'melting_rate','melting rate applied when previously grounded parts start floating'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/hydrology.py (from rev 11994, issm/trunk-jpl/src/py/classes/hydrology.py)
===================================================================
--- issm/trunk/src/py/classes/hydrology.py (rev 0)
+++ issm/trunk/src/py/classes/hydrology.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,29 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class hydrology:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.spcwatercolumn = float('NaN')
+ self.n = 0
+ self.CR = 0
+ self.p = 0
+ self.q = 0
+ self.kn = 0
+ self.stabilization = 0
+
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string=' hydrology solution parameters:'
+ string="%s\n\n%s"%(string,fielddisplay(obj,'spcwatercolumn','water thickness constraints (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'n','Manning roughness coefficient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'CR','tortuosity parameter'))
+ string="%s\n%s"%(string,fielddisplay(obj,'p','dimensionless exponent in Manning velocity formula'))
+ string="%s\n%s"%(string,fielddisplay(obj,'q','dimensionless exponent in Manning velocity formula'))
+ string="%s\n%s"%(string,fielddisplay(obj,'kn','parameter in effective pressure formula'))
+ string="%s\n%s"%(string,fielddisplay(obj,'stabilization','artificial diffusivity (default is 1). can be more than 1 to increase diffusivity.'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/initialization.py (from rev 11994, issm/trunk-jpl/src/py/classes/initialization.py)
===================================================================
--- issm/trunk/src/py/classes/initialization.py (rev 0)
+++ issm/trunk/src/py/classes/initialization.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,32 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class initialization:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+
+ self.vx = float('NaN')
+ self.vy = float('NaN')
+ self.vz = float('NaN')
+ self.vel = float('NaN')
+ self.pressure = float('NaN')
+ self.temperature = float('NaN')
+ self.watercolumn = float('NaN')
+ self.waterfraction = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' initial field values:'
+
+ string="%s\n%s"%(string,fielddisplay(obj,'vx','x component of velocity'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vy','y component of velocity'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vz','z component of velocity'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vel','velocity norm'))
+ string="%s\n%s"%(string,fielddisplay(obj,'pressure','pressure field'))
+ string="%s\n%s"%(string,fielddisplay(obj,'temperature','temperature in Kelvins'))
+ string="%s\n%s"%(string,fielddisplay(obj,'watercolumn','thickness of subglacial water'))
+ string="%s\n%s"%(string,fielddisplay(obj,'waterfraction','fraction of water in the ice'))
+
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/inversion.py (from rev 11994, issm/trunk-jpl/src/py/classes/inversion.py)
===================================================================
--- issm/trunk/src/py/classes/inversion.py (rev 0)
+++ issm/trunk/src/py/classes/inversion.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,59 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class inversion:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.iscontrol = 0
+ self.tao = 0
+ self.incomplete_adjoint = 0
+ self.control_parameters = float('NaN')
+ self.nsteps = 0
+ self.maxiter_per_step = float('NaN')
+ self.cost_functions = float('NaN')
+ self.cost_functions_coefficients = float('NaN')
+ self.gradient_scaling = float('NaN')
+ self.cost_function_threshold = 0
+ self.min_parameters = float('NaN')
+ self.max_parameters = float('NaN')
+ self.step_threshold = float('NaN')
+ self.gradient_only = 0
+ self.vx_obs = float('NaN')
+ self.vy_obs = float('NaN')
+ self.vz_obs = float('NaN')
+ self.vel_obs = float('NaN')
+ self.thickness_obs = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string='\n Inversion parameters:'
+ string="%s\n%s"%(string,fielddisplay(obj,'iscontrol','is inversion activated?'))
+ string="%s\n%s"%(string,fielddisplay(obj,'incomplete_adjoint','do we assume linear viscosity?'))
+ string="%s\n%s"%(string,fielddisplay(obj,'control_parameters','parameter where inverse control is carried out; ex: {''FrictionCoefficient''}, or {''MaterialsRheologyBbar''}'))
+ string="%s\n%s"%(string,fielddisplay(obj,'nsteps','number of optimization searches'))
+ string="%s\n%s"%(string,fielddisplay(obj,'cost_functions','indicate the type of response for each optimization step'))
+ string="%s\n%s"%(string,fielddisplay(obj,'cost_functions_coefficients','cost_functions_coefficients applied to the misfit of each vertex and for each control_parameter'))
+ string="%s\n%s"%(string,fielddisplay(obj,'cost_function_threshold','misfit convergence criterion. Default is 1%, NaN if not applied'))
+ string="%s\n%s"%(string,fielddisplay(obj,'maxiter_per_step','maximum iterations during each optimization step'))
+ string="%s\n%s"%(string,fielddisplay(obj,'gradient_scaling','scaling factor on gradient direction during optimization, for each optimization step'))
+ string="%s\n%s"%(string,fielddisplay(obj,'step_threshold','decrease threshold for misfit, default is 30%'))
+ string="%s\n%s"%(string,fielddisplay(obj,'min_parameters','absolute minimum acceptable value of the inversed parameter on each vertex'))
+ string="%s\n%s"%(string,fielddisplay(obj,'max_parameters','absolute maximum acceptable value of the inversed parameter on each vertex'))
+ string="%s\n%s"%(string,fielddisplay(obj,'gradient_only','stop control method solution at gradient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vx_obs','observed velocity x component [m/a]'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vy_obs','observed velocity y component [m/a]'))
+ string="%s\n%s"%(string,fielddisplay(obj,'vel_obs','observed velocity magnitude [m/a]'))
+ string="%s\n%s"%(string,fielddisplay(obj,'thickness_obs','observed thickness [m]'))
+ string="%s\n%s"%(string,'Available cost functions:')
+ string="%s\n%s"%(string,' 101: SurfaceAbsVelMisfit')
+ string="%s\n%s"%(string,' 102: SurfaceRelVelMisfit')
+ string="%s\n%s"%(string,' 103: SurfaceLogVelMisfit')
+ string="%s\n%s"%(string,' 104: SurfaceLogVxVyMisfit')
+ string="%s\n%s"%(string,' 105: SurfaceAverageVelMisfit')
+ string="%s\n%s"%(string,' 201: ThicknessAbsMisfit')
+ string="%s\n%s"%(string,' 501: DragCoefficientAbsGradient')
+ string="%s\n%s"%(string,' 502: RheologyBbarAbsGradient')
+ string="%s\n%s"%(string,' 503: ThicknessAbsGradient')
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/mask.py (from rev 11994, issm/trunk-jpl/src/py/classes/mask.py)
===================================================================
--- issm/trunk/src/py/classes/mask.py (rev 0)
+++ issm/trunk/src/py/classes/mask.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,26 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class mask:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.elementonfloatingice = float('NaN')
+ self.elementongroundedice = float('NaN')
+ self.elementonwater = float('NaN')
+ self.vertexonfloatingice = float('NaN')
+ self.vertexongroundedice = float('NaN')
+ self.vertexonwater = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string="";
+ string="%s\n%s"%(string,fielddisplay(obj,"elementonfloatingice","element on floating ice flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexonfloatingice","vertex on floating ice flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elementongroundedice","element on grounded ice list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexongroundedice","vertex on grounded ice flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elementonwater","element on water flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexonwater","vertex on water flags list"))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/materials.py (from rev 11994, issm/trunk-jpl/src/py/classes/materials.py)
===================================================================
--- issm/trunk/src/py/classes/materials.py (rev 0)
+++ issm/trunk/src/py/classes/materials.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,41 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class materials:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.rho_ice = 0;
+ self.rho_water = 0;
+ self.mu_water = 0;
+ self.heatcapacity = 0;
+ self.latentheat = 0;
+ self.thermalconductivity = 0;
+ self.meltingpoint = 0;
+ self.beta = 0;
+ self.mixed_layer_capacity = 0;
+ self.thermal_exchange_velocity = 0;
+ self.rheology_B = float('NaN')
+ self.rheology_n = float('NaN')
+ self.rheology_law = "";
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" Materials:"
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,"rho_ice","ice density [kg/m^3]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"rho_water","water density [kg/m^3]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"mu_water","water viscosity [N s/m^2]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"heatcapacity","heat capacity [J/kg/K]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"thermalconductivity","ice thermal conductivity [W/m/K]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"meltingpoint","melting point of ice at 1atm in K"))
+ string="%s\n%s"%(string,fielddisplay(obj,"latentheat","latent heat of fusion [J/m^3]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"beta","rate of change of melting point with pressure [K/Pa]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"mixed_layer_capacity","mixed layer capacity [W/kg/K]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"thermal_exchange_velocity","thermal exchange velocity [m/s]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"rheology_B","flow law parameter [Pa/s^(1/n)]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"rheology_n","Glen""s flow law exponent"))
+ string="%s\n%s"%(string,fielddisplay(obj,"rheology_law","law for the temperature dependance of the rheology: ""None"", ""Paterson"" or ""Arrhenius"""))
+
+ return string
+ #}}}
Modified: issm/trunk/src/py/classes/mesh.py
===================================================================
--- issm/trunk/src/py/classes/mesh.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/classes/mesh.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,9 +1,108 @@
+#module imports
+from fielddisplay import fielddisplay
+
class mesh:
- """Python mesh class"""
- x = []
- y = []
- elements = []
- def __repr__(self):
- return """x: X coordinates
- y: Y coordinates
- elements: indexing """
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.x = float('NaN');
+ self.y = float('NaN');
+ self.z = float('NaN');
+ self.elements = float('NaN');
+ self.dimension = 0;
+ self.numberoflayers = 0;
+ self.numberofelements = 0;
+ self.numberofvertices = 0;
+ self.numberofedges = 0;
+
+ self.lat = float('NaN');
+ self.long = float('NaN');
+ self.hemisphere = float('NaN');
+
+ self.elementonbed = float('NaN');
+ self.elementonsurface = float('NaN');
+ self.vertexonbed = float('NaN');
+ self.vertexonsurface = float('NaN');
+ self.lowerelements = float('NaN');
+ self.lowervertex = float('NaN');
+ self.upperelements = float('NaN');
+ self.uppervertex = float('NaN');
+ self.vertexonboundary = float('NaN');
+
+ self.edges = float('NaN');
+ self.segments = float('NaN');
+ self.segmentmarkers = float('NaN');
+ self.vertexconnectivity = float('NaN');
+ self.elementconnectivity = float('NaN');
+ self.average_vertex_connectivity = 0;
+
+ self.x2d = float('NaN');
+ self.y2d = float('NaN');
+ self.elements2d = float('NaN');
+ self.numberofvertices2d = 0;
+ self.numberofelements2d = 0;
+
+ self.extractedvertices = float('NaN');
+ self.extractedelements = float('NaN');
+
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ if obj.dimension==3:
+ string="\n%s"%(" Elements and vertices of the original 2d mesh:")
+
+ string="%s\n%s"%(string,fielddisplay(obj,"numberofelements2d","number of elements"))
+ string="%s\n%s"%(string,fielddisplay(obj,"numberofvertices2d","number of vertices"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elements2d","index into (x,y,z), coordinates of the vertices"))
+ string="%s\n%s"%(string,fielddisplay(obj,"x2d","vertices x coordinate"))
+ string="%s\n%s"%(string,fielddisplay(obj,"y2d","vertices y coordinate"))
+
+ string="%s\n%s" %(string,"Elements and vertices of the extruded 3d mesh:")
+ else:
+ string="\n%s"%(" Elements and vertices:")
+
+ string="%s\n%s"%(string,fielddisplay(obj,"numberofelements","number of elements"))
+
+
+
+
+ string="%s\n%s"%(string,fielddisplay(obj,"numberofvertices","number of vertices"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elements","index into (x,y,z), coordinates of the vertices"))
+ string="%s\n%s"%(string,fielddisplay(obj,"x","vertices x coordinate"))
+ string="%s\n%s"%(string,fielddisplay(obj,"y","vertices y coordinate"))
+ string="%s\n%s"%(string,fielddisplay(obj,"z","vertices z coordinate"))
+ string="%s\n%s"%(string,fielddisplay(obj,"edges","edges of the 2d mesh (vertex1 vertex2 element1 element2)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"numberofedges","number of edges of the 2d mesh"))
+
+ string="%s%s"%(string,"\n Properties:")
+
+ string="%s\n%s"%(string,fielddisplay(obj,"dimension","mesh dimension (2d or 3d)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"numberoflayers","number of extrusion layers"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexonbed","lower vertices flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elementonbed","lower elements flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexonsurface","upper vertices flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elementonsurface","upper elements flags list"))
+ string="%s\n%s"%(string,fielddisplay(obj,"uppervertex","upper vertex list (NaN for vertex on the upper surface)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"upperelements","upper element list (NaN for element on the upper layer)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"lowervertex","lower vertex list (NaN for vertex on the lower surface)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"lowerelements","lower element list (NaN for element on the lower layer"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexonboundary","vertices on the boundary of the domain flag list"))
+
+ string="%s\n%s"%(string,fielddisplay(obj,"segments","edges on domain boundary (vertex1 vertex2 element)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"segmentmarkers","number associated to each segment"))
+ string="%s\n%s"%(string,fielddisplay(obj,"vertexconnectivity","list of vertices connected to vertex_i"))
+ string="%s\n%s"%(string,fielddisplay(obj,"elementconnectivity","list of vertices connected to element_i"))
+ string="%s\n%s"%(string,fielddisplay(obj,"average_vertex_connectivity","average number of vertices connected to one vertex"))
+
+ string="%s%s"%(string,"\n Extracted model:")
+
+ string="%s\n%s"%(string,fielddisplay(obj,"extractedvertices","vertices extracted from the model"))
+ string="%s\n%s"%(string,fielddisplay(obj,"extractedelements","elements extracted from the model"))
+
+ string="%s%s"%(string,"\n Projection:")
+ string="%s\n%s"%(string,fielddisplay(obj,"lat","vertices latitude"))
+ string="%s\n%s"%(string,fielddisplay(obj,"long","vertices longitude"))
+ string="%s\n%s"%(string,fielddisplay(obj,"hemisphere","Indicate hemisphere ""n"" or ""s"" "))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/miscellaneous.py (from rev 11994, issm/trunk-jpl/src/py/classes/miscellaneous.py)
===================================================================
--- issm/trunk/src/py/classes/miscellaneous.py (rev 0)
+++ issm/trunk/src/py/classes/miscellaneous.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class miscellaneous:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.notes = ''
+ self.name = ''
+ self.dummy = {}
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' miscellaneous parameters:'
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'notes','notes in a cell of strings'))
+ string="%s\n%s"%(string,fielddisplay(obj,'name','model name'))
+ string="%s\n%s"%(string,fielddisplay(obj,'dummy','empty field to store some data'))
+ return string
+ #}}}
Modified: issm/trunk/src/py/classes/model.py
===================================================================
--- issm/trunk/src/py/classes/model.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/classes/model.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,9 +1,115 @@
-from mesh import *
-
+#module imports {{{
+from mesh import mesh
+from mask import mask
+from geometry import geometry
+from constants import constants
+from surfaceforcings import surfaceforcings
+from basalforcings import basalforcings
+from materials import materials
+from friction import friction
+from flowequation import flowequation
+from timestepping import timestepping
+from initialization import initialization
+from rifts import rifts
+from debug import debug
+from verbose import verbose
+from settings import settings
+from solver import solver
+from none import none
+from balancethickness import balancethickness
+from diagnostic import diagnostic
+from groundingline import groundingline
+from hydrology import hydrology
+from prognostic import prognostic
+from thermal import thermal
+from steadystate import steadystate
+from transient import transient
+from autodiff import autodiff
+from flaim import flaim
+from inversion import inversion
+from qmu import qmu
+from radaroverlay import radaroverlay
+from miscellaneous import miscellaneous
+from private import private
+#}}}
class model:
- """Python model class"""
- mesh=mesh()
+ #properties
def __init__(self):
- print 'new model created'
- def __repr__(self):
- return " mesh: mesh properties"
+ # {{{ Properties
+ self.mesh = mesh()
+ self.mask = mask()
+ self.geometry = geometry()
+ self.constants = constants()
+ self.surfaceforcings = surfaceforcings()
+ self.basalforcings = basalforcings()
+ self.materials = materials()
+ self.friction = friction()
+ self.flowequation = flowequation()
+ self.timestepping = timestepping()
+ self.initialization = initialization()
+ self.rifts = rifts()
+
+ self.debug = debug()
+ self.verbose = verbose()
+ self.settings = settings()
+ self.solver = solver()
+ self.cluster = none()
+
+ self.balancethickness = balancethickness()
+ self.diagnostic = diagnostic()
+ self.groundingline = groundingline()
+ self.hydrology = hydrology()
+ self.prognostic = prognostic()
+ self.thermal = thermal()
+ self.steadystate = steadystate()
+ self.transient = transient()
+
+ self.autodiff = autodiff()
+ self.flaim = flaim()
+ self.inversion = inversion()
+ self.qmu = qmu()
+
+ self.results = [];
+ self.radaroverlay = radaroverlay()
+ self.miscellaneous = miscellaneous()
+ self.private = private()
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ #print "Here %s the number: %d" % ("is", 37)
+ string="%19s: %-22s -- %s" % ("mesh","[%s,%s]" % ("1x1",obj.mesh.__class__.__name__),"mesh properties")
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("mask","[%s,%s]" % ("1x1",obj.mask.__class__.__name__),"defines grounded and floating elements"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("geometry","[%s,%s]" % ("1x1",obj.geometry.__class__.__name__),"surface elevation, bedrock topography, ice thickness,..."))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("constants","[%s,%s]" % ("1x1",obj.constants.__class__.__name__),"physical constants"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("surfaceforcings","[%s,%s]" % ("1x1",obj.surfaceforcings.__class__.__name__),"surface forcings"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("basalforcings","[%s,%s]" % ("1x1",obj.basalforcings.__class__.__name__),"bed forcings"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("materials","[%s,%s]" % ("1x1",obj.materials.__class__.__name__),"material properties"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("friction","[%s,%s]" % ("1x1",obj.friction.__class__.__name__),"basal friction/drag properties"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("flowequation","[%s,%s]" % ("1x1",obj.flowequation.__class__.__name__),"flow equations"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("timestepping","[%s,%s]" % ("1x1",obj.timestepping.__class__.__name__),"time stepping for transient models"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("initialization","[%s,%s]" % ("1x1",obj.initialization.__class__.__name__),"initial guess/state"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("rifts","[%s,%s]" % ("1x1",obj.rifts.__class__.__name__),"rifts properties'"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("debug","[%s,%s]" % ("1x1",obj.debug.__class__.__name__),"debugging tools (valgrind, gprof"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("verbose","[%s,%s]" % ("1x1",obj.verbose.__class__.__name__),"verbosity level in solve"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("settings","[%s,%s]" % ("1x1",obj.settings.__class__.__name__),"settings properties"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("solver","[%s,%s]" % ("1x1",obj.solver.__class__.__name__),"PETSc options for each solution'"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("cluster","[%s,%s]" % ("1x1",obj.cluster.__class__.__name__),"cluster parameters (number of cpus...)"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("balancethickness","[%s,%s]" % ("1x1",obj.balancethickness.__class__.__name__),"parameters for balancethickness solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("diagnostic","[%s,%s]" % ("1x1",obj.diagnostic.__class__.__name__),"parameters for diagnostic solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("groundingline","[%s,%s]" % ("1x1",obj.groundingline.__class__.__name__),"parameters for groundingline solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("hydrology","[%s,%s]" % ("1x1",obj.hydrology.__class__.__name__),"parameters for hydrology solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("prognostic","[%s,%s]" % ("1x1",obj.prognostic.__class__.__name__),"parameters for prognostic solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("thermal","[%s,%s]" % ("1x1",obj.thermal.__class__.__name__),"parameters for thermal solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("steadystate","[%s,%s]" % ("1x1",obj.steadystate.__class__.__name__),"parameters for steadystate solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("transient","[%s,%s]" % ("1x1",obj.transient.__class__.__name__),"parameters for transient solution"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("autodiff","[%s,%s]" % ("1x1",obj.autodiff.__class__.__name__),"automatic differentiation parameters"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("flaim","[%s,%s]" % ("1x1",obj.flaim.__class__.__name__),"flaim parameters"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("inversion","[%s,%s]" % ("1x1",obj.inversion.__class__.__name__),"parameters for inverse methods"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("qmu","[%s,%s]" % ("1x1",obj.qmu.__class__.__name__),"dakota properties"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("results","[%s,%s]" % ("1x1",obj.results.__class__.__name__),"model results'"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("radaroverlay","[%s,%s]" % ("1x1",obj.radaroverlay.__class__.__name__),"radar image for plot overlay"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("miscellaneous","[%s,%s]" % ("1x1",obj.miscellaneous.__class__.__name__),"miscellaneous fields"))
+ string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("miscellaneous","[%s,%s]" % ("1x1",obj.miscellaneous.__class__.__name__),"miscellaneous fields"))
+ return string;
+ #}}}
Copied: issm/trunk/src/py/classes/pairoptions.py (from rev 11994, issm/trunk-jpl/src/py/classes/pairoptions.py)
===================================================================
--- issm/trunk/src/py/classes/pairoptions.py (rev 0)
+++ issm/trunk/src/py/classes/pairoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,38 @@
+class pairoptions:
+ #properties
+ def __init__(self,*args):
+ # {{{ Properties
+ if len(args)%2==1:
+ raise RuntimeError('pairoption error message: an even number of options is required')
+
+ #create a pairoption object
+ if len(args)==0:
+ self.list=[]
+ else:
+ self.list=[]
+ for i in range(int(round(len(args)/2))):
+ if isinstance(args[2*i],str):
+ self.list.append([args[2*i],args[2*i+1]])
+ else:
+ #option is not a string, ignore it
+ print("%s%i%s"%('buildlist info: option number ',i,' is not a string, it will be ignored'))
+ continue
+
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ if not obj.list:
+ string=' list: empty'
+ else:
+ string=" list: (%i)"%(len(obj.list))
+ for i in range(len(obj.list)):
+ if isinstance(obj.list[i][1],str):
+ string2=" field: %-10s value: '%s'"%(obj.list[i][0],obj.list[i][1])
+ elif isinstance(obj.list[i][1],float):
+ string2=" field: %-10s value: %g"%(obj.list[i][0],obj.list[i][1])
+ elif isinstance(obj.list[i][1],int):
+ string2=" field: %-10s value: %i"%(obj.list[i][0],obj.list[i][1])
+ else:
+ string2=" field: %-10s value: (%i)"%(len(obj.list[i][1]))
+ string="%s\n%s"%(string,string2)
+ return string
Copied: issm/trunk/src/py/classes/private.py (from rev 11994, issm/trunk-jpl/src/py/classes/private.py)
===================================================================
--- issm/trunk/src/py/classes/private.py (rev 0)
+++ issm/trunk/src/py/classes/private.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class private:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.runtimename = ''
+ self.bamg = {}
+ self.solution = '';
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' private parameters: do not change'
+ string="%s\n%s"%(string,fielddisplay(obj,'runtimename','name of the run launched'))
+ string="%s\n%s"%(string,fielddisplay(obj,'bamg','structure with mesh properties construced if bamg is used to mesh the domain'))
+ string="%s\n%s"%(string,fielddisplay(obj,'solution','type of solution launched'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/prognostic.py (from rev 11994, issm/trunk-jpl/src/py/classes/prognostic.py)
===================================================================
--- issm/trunk/src/py/classes/prognostic.py (rev 0)
+++ issm/trunk/src/py/classes/prognostic.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class prognostic:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.spcthickness = float('NaN')
+ self.min_thickness = 0
+ self.hydrostatic_adjustment = 0
+ self.stabilization = 0
+ self.vertex_pairing = float('NaN')
+ self.penalty_factor = 0
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' Prognostic solution parameters:'
+ string="%s\n\n%s"%(string,fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'min_thickness','minimum ice thickness allowed'))
+ string="%s\n%s"%(string,fielddisplay(obj,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' '))
+ string="%s\n%s"%(string,fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 2->streamline upwinding, 3->discontinuous Galerkin'))
+
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/qmu.py (from rev 11994, issm/trunk-jpl/src/py/classes/qmu.py)
===================================================================
--- issm/trunk/src/py/classes/qmu.py (rev 0)
+++ issm/trunk/src/py/classes/qmu.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,29 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class qmu:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.isdakota = 0
+ self.variables = {}
+ self.responses = {}
+ self.method = {}
+ self.params = {}
+ self.results = {}
+ self.partition = float('NaN')
+ self.numberofpartitions = 0
+ self.numberofresponses = 0
+ self.variabledescriptors = []
+ self.responsedescriptors = []
+ self.mass_flux_profile_directory = float('NaN')
+ self.mass_flux_profiles = float('NaN')
+ self.mass_flux_segments = []
+ self.adjacency = float('NaN')
+ self.vertex_weight = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" qmu parameters: not implemented yet!"
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/radaroverlay.py (from rev 11994, issm/trunk-jpl/src/py/classes/radaroverlay.py)
===================================================================
--- issm/trunk/src/py/classes/radaroverlay.py (rev 0)
+++ issm/trunk/src/py/classes/radaroverlay.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class radaroverlay:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.pwr = float('NaN')
+ self.x = float('NaN')
+ self.y = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' radaroverlay parameters:'
+ string="%s\n\n%s"%(string,fielddisplay(obj,'pwr','radar power image (matrix)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'x','corresponding x coordinates'))
+ string="%s\n%s"%(string,fielddisplay(obj,'y','corresponding y coordinates'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/rifts.py (from rev 11994, issm/trunk-jpl/src/py/classes/rifts.py)
===================================================================
--- issm/trunk/src/py/classes/rifts.py (rev 0)
+++ issm/trunk/src/py/classes/rifts.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class rifts:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.riftstruct = float('NaN')
+ self.riftproperties = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' rifts parameters:'
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'riftstruct','structure containing all rift information (vertices coordinates, segments, type of melange, ...)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'riftproperties',''))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/settings.py (from rev 11994, issm/trunk-jpl/src/py/classes/settings.py)
===================================================================
--- issm/trunk/src/py/classes/settings.py (rev 0)
+++ issm/trunk/src/py/classes/settings.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class settings:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.io_gather = 0;
+ self.lowmem = 0;
+ self.results_as_patches = 0;
+ self.output_frequency = 0;
+ self.waitonlock = 0;
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" general settings parameters:"
+
+ string="%s\n%s"%(string,fielddisplay(obj,"io_gather","I/O gathering strategy for result outputs (default 1)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"lowmem","is the memory limited ? (0 or 1)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"results_as_patches","provide results as patches for each element (0 or 1)"))
+ string="%s\n%s"%(string,fielddisplay(obj,"output_frequency","frequency at which results are saved in all solutions with multiple time_steps"))
+ string="%s\n%s"%(string,fielddisplay(obj,"waitonlock","maximum number of minutes to wait for batch results, or return 0"))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/solver.py (from rev 11994, issm/trunk-jpl/src/py/classes/solver.py)
===================================================================
--- issm/trunk/src/py/classes/solver.py (rev 0)
+++ issm/trunk/src/py/classes/solver.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,49 @@
+#module imports {{{
+import fielddisplay
+import ismumps
+from mumpsoptions import *
+from iluasmoptions import *
+#}}}
+class solver:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ if ismumps:
+ self.options=[["NoneAnalysis",mumpsoptions()]]
+ else:
+ self.options=[["NoneAnalysis",iluasmoptions()]]
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+
+ string2=" solver parameters:"
+ for i in range(len(obj.options)):
+ option=obj.options[i]
+ analysis=option[0]
+ ioptions=option[1]
+
+ string=""
+ for i in range(len(ioptions)):
+ option=ioptions[i]
+ if not option:
+ #do nothing
+ pass
+ elif len(option)==1:
+ #this option has only one argument
+ string="%s%s%s"%(string," -",option[0])
+ elif len(option)==2:
+ #option with value. value can be string or scalar
+ if isinstance(option[1],float):
+ string="%s%s%s%s%s"%(string," -",option[0]," ","%g"%(option[1]))
+ elif isinstance(option[1],str):
+ string="%s%s%s%s%s"%(string," -",option[0]," ",option[1])
+ elif isinstance(option[1],int):
+ string="%s%s%s%s%s"%(string," -",option[0]," ","%i"%(option[1]))
+ else:
+ raise RuntimeError("%s%s%s"%("PetscString error: option #","%i"%(i)," is not well formatted"))
+ else:
+ raise RuntimeError("%s%s%s"%("PetscString error: option #","%i"%(i)," is not well formatted"))
+
+ string2="%s\n%s"%(string2," %s -> '%s'"%(analysis,string))
+ return string2
+ #}}}
Copied: issm/trunk/src/py/classes/steadystate.py (from rev 11994, issm/trunk-jpl/src/py/classes/steadystate.py)
===================================================================
--- issm/trunk/src/py/classes/steadystate.py (rev 0)
+++ issm/trunk/src/py/classes/steadystate.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class steadystate:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.reltol = 0
+ self.maxiter = 0
+ self.requested_outputs = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' steadystate solution parameters:'
+ string="%s\n%s"%(string,fielddisplay(obj,'reltol','relative tolerance criterion'))
+ string="%s\n%s"%(string,fielddisplay(obj,'maxiter','maximum number of iterations'))
+ string="%s\n%s"%(string,fielddisplay(obj,'requested_outputs','additional requested outputs'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/surfaceforcings.py (from rev 11994, issm/trunk-jpl/src/py/classes/surfaceforcings.py)
===================================================================
--- issm/trunk/src/py/classes/surfaceforcings.py (rev 0)
+++ issm/trunk/src/py/classes/surfaceforcings.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class surfaceforcings:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.precipitation = float('NaN')
+ self.mass_balance = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" surface forcings parameters:"
+
+ string="%s\n\n%s"%(string,fielddisplay(obj,'precipitation','surface precipitation [m/yr water eq]'))
+ string="%s\n%s"%(string,fielddisplay(obj,'mass_balance','surface mass balance [m/yr ice eq]'))
+
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/thermal.py (from rev 11994, issm/trunk-jpl/src/py/classes/thermal.py)
===================================================================
--- issm/trunk/src/py/classes/thermal.py (rev 0)
+++ issm/trunk/src/py/classes/thermal.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,26 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class thermal:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.spctemperature = float('NaN')
+ self.penalty_threshold = 0
+ self.stabilization = 0
+ self.maxiter = 0
+ self.penalty_lock = 0
+ self.penalty_factor = 0
+ self.isenthalpy = 0
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' Thermal solution parameters:'
+ string="%s\n\n%s"%(string,fielddisplay(obj,'spctemperature','temperature constraints (NaN means no constraint)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'stabilization','0->no, 1->artificial_diffusivity, 2->SUPG'))
+ string="%s\n%s"%(string,fielddisplay(obj,'maxiter','maximum number of non linear iterations'))
+ string="%s\n%s"%(string,fielddisplay(obj,'penalty_lock','stabilize unstable thermal constraints that keep zigzagging after n iteration (default is 0, no stabilization)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'penalty_threshold','threshold to declare convergence of thermal solution (default is 0)'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isenthalpy','use an enthalpy formulation to include temperate ice (default is 0)'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/timestepping.py (from rev 11994, issm/trunk-jpl/src/py/classes/timestepping.py)
===================================================================
--- issm/trunk/src/py/classes/timestepping.py (rev 0)
+++ issm/trunk/src/py/classes/timestepping.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,21 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class timestepping:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.time_step = 0;
+ self.final_time = 0;
+ self.time_adapt = 0;
+ self.cfl_coefficient = 0;
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=" timestepping parameters:"
+ string="%s\n\n%s"%(string,fielddisplay(obj,"time_step","length of time steps [yrs]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"final_time","final time to stop the simulation [yrs]"))
+ string="%s\n%s"%(string,fielddisplay(obj,"time_adapt","use cfl condition to define time step ? (0 or 1) "))
+ string="%s\n%s"%(string,fielddisplay(obj,"cfl_coefficient","coefficient applied to cfl condition"))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/transient.py (from rev 11994, issm/trunk-jpl/src/py/classes/transient.py)
===================================================================
--- issm/trunk/src/py/classes/transient.py (rev 0)
+++ issm/trunk/src/py/classes/transient.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,23 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class transient:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.isprognostic = 0
+ self.isdiagnostic = 0
+ self.isthermal = 0
+ self.isgroundingline = 0
+ self.requested_outputs = float('NaN')
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string=' transient solution parameters:'
+ string="%s\n%s"%(string,fielddisplay(obj,'isprognostic','indicates if a prognostic solution is used in the transient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isthermal','indicates if a thermal solution is used in the transient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isdiagnostic','indicates if a diagnostic solution is used in the transient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'isgroundingline','indicates if a groundingline migration is used in the transient'))
+ string="%s\n%s"%(string,fielddisplay(obj,'requested_outputs','list of additional outputs requested'))
+ return string
+ #}}}
Copied: issm/trunk/src/py/classes/verbose.py (from rev 11994, issm/trunk-jpl/src/py/classes/verbose.py)
===================================================================
--- issm/trunk/src/py/classes/verbose.py (rev 0)
+++ issm/trunk/src/py/classes/verbose.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,27 @@
+#module imports
+from fielddisplay import fielddisplay
+
+class verbose:
+ #properties
+ def __init__(self):
+ # {{{ Properties
+ self.mprocessor = False
+ self.module = False
+ self.solution = False
+ self.solver = False
+ self.convergence = False
+ self.control = False
+ self.qmu = False
+ #}}}
+ def __repr__(obj):
+ # {{{ Display
+ string="%s%s%s\n\n"%("class '",obj.__class__.__name__,"'=")
+ string="%s%s\n"%(string," %15s : %s"%("mprocessor",obj.mprocessor))
+ string="%s%s\n"%(string," %15s : %s"%("module",obj.module))
+ string="%s%s\n"%(string," %15s : %s"%("solution",obj.solution))
+ string="%s%s\n"%(string," %15s : %s"%("solver",obj.solver))
+ string="%s%s\n"%(string," %15s : %s"%("convergence",obj.convergence))
+ string="%s%s\n"%(string," %15s : %s"%("control",obj.control))
+ string="%s%s\n"%(string," %15s : %s"%("qmu",obj.qmu))
+ return string
+ #}}}
Property changes on: issm/trunk/src/py/model
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Property changes on: issm/trunk/src/py/model/display
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Deleted: issm/trunk/src/py/model/display/fielddisplay.py
===================================================================
--- issm/trunk-jpl/src/py/model/display/fielddisplay.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/display/fielddisplay.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,102 +0,0 @@
-#Module import
-from math import isnan
-
-
-def fielddisplay(md,name,comment):
-#FIELDDISPLAY - display model field
-#
-# Usage:
-# fielddisplay(md,name,comment)
-
- #get field
- field=getattr(md,name)
-
- #disp corresponding line as a function of field type (offset set as 9 spaces)
- return parsedisplay(" ",name,field,comment);
-
-#parsedisplay{{{
-def parsedisplay(offset,name,field,comment):
-
- #string
- if isinstance(field,str):
- if len(field)>30:
- string=displayunit(offset,name,"not displayed",comment)
- else:
- string=displayunit(offset,name,field,comment)
-
- #numeric
- elif isinstance(field, int):
- string=displayunit(offset,name,"%i" % (field),comment)
-
- elif isinstance(field, complex):
- raise RuntimeError("fielddisplay cannot handle complex numbers")
-
- elif isinstance(field, float):
- string=displayunit(offset,name,"%g"%(field),comment)
-
- #logical
- elif isinstance(field,bool):
- if field:
- string=displayunit(offset,name,"true",comment)
- else:
- string=displayunit(offset,name,"false",comment)
-
- elif isinstance(field,dict):
- if not field:
- string=displayunit(offset,name,'N/A',comment)
- else:
- string=displayunit(offset,name,'(dictionary)',comment)
- for key in field.keys():
- string="%s\n%s"%(string,parsedisplay(offset + ' ',key,field[key],''))
-
- elif isinstance(field,list):
- if not field:
- string=displayunit(offset,name,'N/A',comment),
- else:
- string=displayunit(offset,name,'(structure)',comment)
- for i in range(len(field)):
- string="%s\n%s"%(string,displayunit(offset + ' ',name,field[i],comment))
- #cell
- #elif iscell(field):
- # cell_display(offset,name,field,comment),
-
- else:
- string=displayunit(offset,name,"not displayed",comment)
-
- return string
-
-#}}}
-#displayunit {{{
-def displayunit(offset,name,characterization,comment):
-
- #take care of name
- if len(name)>23:
- name="%s..." % (name[:19])
-
- #take care of characterization
- if characterization=="":
- characterization="N/A"
-
- if characterization=="nan":
- characterization="N/A"
-
- if len(characterization)>15:
- characterization="%s%s" % (characterization[:11],"...")
-
- #print
- if not comment:
- string="%s%-23s: %-15s" % (offset,name,characterization)
- else:
- if isinstance(comment,str):
- string="%s%-23s: %-15s -- %s" % (offset,name,characterization,comment)
- elif isinstance(comment,list):
- print(comment)
- string="%s%-23s: %-15s -- %s" % (offset,name,characterization,comment[0])
- for i in range(1,len(comment)):
- string2="%s%-23s %-15s %s" %(offset,"","",comment[i])
- string="%s\n%s"%(string,string2)
- else:
- raise RuntimeError("fielddisplay error message: format for comment not supportet yet")
-
- return string
-#}}}
Copied: issm/trunk/src/py/model/display/fielddisplay.py (from rev 11994, issm/trunk-jpl/src/py/model/display/fielddisplay.py)
===================================================================
--- issm/trunk/src/py/model/display/fielddisplay.py (rev 0)
+++ issm/trunk/src/py/model/display/fielddisplay.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,102 @@
+#Module import
+from math import isnan
+
+
+def fielddisplay(md,name,comment):
+#FIELDDISPLAY - display model field
+#
+# Usage:
+# fielddisplay(md,name,comment)
+
+ #get field
+ field=getattr(md,name)
+
+ #disp corresponding line as a function of field type (offset set as 9 spaces)
+ return parsedisplay(" ",name,field,comment);
+
+#parsedisplay{{{
+def parsedisplay(offset,name,field,comment):
+
+ #string
+ if isinstance(field,str):
+ if len(field)>30:
+ string=displayunit(offset,name,"not displayed",comment)
+ else:
+ string=displayunit(offset,name,field,comment)
+
+ #numeric
+ elif isinstance(field, int):
+ string=displayunit(offset,name,"%i" % (field),comment)
+
+ elif isinstance(field, complex):
+ raise RuntimeError("fielddisplay cannot handle complex numbers")
+
+ elif isinstance(field, float):
+ string=displayunit(offset,name,"%g"%(field),comment)
+
+ #logical
+ elif isinstance(field,bool):
+ if field:
+ string=displayunit(offset,name,"true",comment)
+ else:
+ string=displayunit(offset,name,"false",comment)
+
+ elif isinstance(field,dict):
+ if not field:
+ string=displayunit(offset,name,'N/A',comment)
+ else:
+ string=displayunit(offset,name,'(dictionary)',comment)
+ for key in field.keys():
+ string="%s\n%s"%(string,parsedisplay(offset + ' ',key,field[key],''))
+
+ elif isinstance(field,list):
+ if not field:
+ string=displayunit(offset,name,'N/A',comment),
+ else:
+ string=displayunit(offset,name,'(structure)',comment)
+ for i in range(len(field)):
+ string="%s\n%s"%(string,displayunit(offset + ' ',name,field[i],comment))
+ #cell
+ #elif iscell(field):
+ # cell_display(offset,name,field,comment),
+
+ else:
+ string=displayunit(offset,name,"not displayed",comment)
+
+ return string
+
+#}}}
+#displayunit {{{
+def displayunit(offset,name,characterization,comment):
+
+ #take care of name
+ if len(name)>23:
+ name="%s..." % (name[:19])
+
+ #take care of characterization
+ if characterization=="":
+ characterization="N/A"
+
+ if characterization=="nan":
+ characterization="N/A"
+
+ if len(characterization)>15:
+ characterization="%s%s" % (characterization[:11],"...")
+
+ #print
+ if not comment:
+ string="%s%-23s: %-15s" % (offset,name,characterization)
+ else:
+ if isinstance(comment,str):
+ string="%s%-23s: %-15s -- %s" % (offset,name,characterization,comment)
+ elif isinstance(comment,list):
+ print(comment)
+ string="%s%-23s: %-15s -- %s" % (offset,name,characterization,comment[0])
+ for i in range(1,len(comment)):
+ string2="%s%-23s %-15s %s" %(offset,"","",comment[i])
+ string="%s\n%s"%(string,string2)
+ else:
+ raise RuntimeError("fielddisplay error message: format for comment not supportet yet")
+
+ return string
+#}}}
Deleted: issm/trunk/src/py/model/display/fielddisplay.rest
===================================================================
--- issm/trunk-jpl/src/py/model/display/fielddisplay.rest 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/display/fielddisplay.rest 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,154 +0,0 @@
-def fielddisplay(md,name,comment):
-#FIELDDISPLAY - display model field
-#
-# Usage:
-# fielddisplay(md,offset,name,comment)
-
- #get field
- field=getattr(md,name)
-
- #disp corresponding line as a function of field type (offset set as 9 spaces)
- #parsedisplay(' ',name,field,comment);
-
- return
-
-function parsedisplay(offset,name,field,comment); %{{{
-
- %string
- if ischar(field),
-
- if length(field)>30;
- displayunit(offset,name,'not displayed',comment),
- else
- displayunit(offset,name,['''' field ''''],comment),
- end
-
- %numeric
- elseif isnumeric(field)
-
- %get size
- fieldsize=size(field);
-
- %double
- if max(fieldsize)==1,
- displayunit(offset,name,num2str(field),comment),
- %matrix
- else
- displayunit(offset,name,['(' num2str(fieldsize(1)) 'x' num2str(fieldsize(2)) ')'],comment),
- end
-
- %logical
- elseif islogical(field)
-
- %get size
- fieldsize=size(field);
-
- %single value
- if max(fieldsize)==1,
- if (field)
- displayunit(offset,name,'true',comment),
- else
- displayunit(offset,name,'false',comment),
- end
- %matrix
- else
- displayunit(offset,name,['(' num2str(fieldsize(1)) 'x' num2str(fieldsize(2)) ')'],comment),
- end
-
- %structure
- elseif isstruct(field),
- if ~isempty(fields(field))
- displayunit(offset,name,'(structure)',comment),
- struct_display(field,[offset ' ']),
- else
- displayunit(offset,name,'N/A',comment),
- end
-
- %cell
- elseif iscell(field),
- cell_display(offset,name,field,comment),
-
- else
- displayunit(offset,name,'not displayed',comment),
-
- end
-end%}}}
-
-function struct_display(structure,offset) % {{{
-
- structure_fields=fields(structure);
-
- for i=1:length(structure_fields),
-
- %get current field
- field=structure.(structure_fields{i});
-
- %recursive call if necessary
- if isstruct(field),
- displayunit(offset,structure_fields{i},'(structure)',''),
- struct_display(field,[offset ' ']);
-
- %display value
- else
- parsedisplay(offset,structure_fields{i},field,'');
- end
- end
-end% }}}
-function cell_display(offset,name,field,comment) % {{{
-
- %initialization
- string='{';
-
- %go through the cell and fill string
- if length(field)<5;
- for i=1:length(field),
- if ischar(field{i}),
- string=[string '''' field{i} ''','];
- elseif (isnumeric(field{i}) & length(field{i})==1)
- string=[string num2str(field{i}) ',' ];
- else
- string='{';
- break
- end
- end
- end
- if strcmp(string,'{'),
- string=['(' num2str(size(field,1)) 'x' num2str(size(field,2)) ')'];
- else
- string=[string(1:end-1) '}'];
- end
-
- %call displayunit
- displayunit(offset,name,string,comment);
-end% }}}
-function displayunit(offset,name,characterization,comment),% {{{
-
- %take care of name
- if length(name)>23,
- name=[name(1:20) '...'];
- end
-
- %take care of characterization
- if (strcmp(characterization,['''' '''']) | strcmp(characterization,'NaN')),
- characterization='N/A';
- end
- if length(characterization)>15,
- characterization=[characterization(1:12) '...'];
- end
-
- %print
- if isempty(comment)
- disp(sprintf('%s%-23s: %-15s',offset,name,characterization));
- else
- if ischar(comment),
- disp(sprintf('%s%-23s: %-15s -- %s',offset,name,characterization,comment));
- elseif iscell(comment),
- disp(sprintf('%s%-23s: %-15s -- %s',offset,name,characterization,comment{1}));
- for i=2:length(comment),
- disp(sprintf('%s%-23s %-15s %s',offset,'','',comment{i}));
- end
- else
- error('fielddisplay error message: format for comment not supportet yet');
- end
- end
-end% }}}
Copied: issm/trunk/src/py/model/display/fielddisplay.rest (from rev 11994, issm/trunk-jpl/src/py/model/display/fielddisplay.rest)
===================================================================
--- issm/trunk/src/py/model/display/fielddisplay.rest (rev 0)
+++ issm/trunk/src/py/model/display/fielddisplay.rest 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,154 @@
+def fielddisplay(md,name,comment):
+#FIELDDISPLAY - display model field
+#
+# Usage:
+# fielddisplay(md,offset,name,comment)
+
+ #get field
+ field=getattr(md,name)
+
+ #disp corresponding line as a function of field type (offset set as 9 spaces)
+ #parsedisplay(' ',name,field,comment);
+
+ return
+
+function parsedisplay(offset,name,field,comment); %{{{
+
+ %string
+ if ischar(field),
+
+ if length(field)>30;
+ displayunit(offset,name,'not displayed',comment),
+ else
+ displayunit(offset,name,['''' field ''''],comment),
+ end
+
+ %numeric
+ elseif isnumeric(field)
+
+ %get size
+ fieldsize=size(field);
+
+ %double
+ if max(fieldsize)==1,
+ displayunit(offset,name,num2str(field),comment),
+ %matrix
+ else
+ displayunit(offset,name,['(' num2str(fieldsize(1)) 'x' num2str(fieldsize(2)) ')'],comment),
+ end
+
+ %logical
+ elseif islogical(field)
+
+ %get size
+ fieldsize=size(field);
+
+ %single value
+ if max(fieldsize)==1,
+ if (field)
+ displayunit(offset,name,'true',comment),
+ else
+ displayunit(offset,name,'false',comment),
+ end
+ %matrix
+ else
+ displayunit(offset,name,['(' num2str(fieldsize(1)) 'x' num2str(fieldsize(2)) ')'],comment),
+ end
+
+ %structure
+ elseif isstruct(field),
+ if ~isempty(fields(field))
+ displayunit(offset,name,'(structure)',comment),
+ struct_display(field,[offset ' ']),
+ else
+ displayunit(offset,name,'N/A',comment),
+ end
+
+ %cell
+ elseif iscell(field),
+ cell_display(offset,name,field,comment),
+
+ else
+ displayunit(offset,name,'not displayed',comment),
+
+ end
+end%}}}
+
+function struct_display(structure,offset) % {{{
+
+ structure_fields=fields(structure);
+
+ for i=1:length(structure_fields),
+
+ %get current field
+ field=structure.(structure_fields{i});
+
+ %recursive call if necessary
+ if isstruct(field),
+ displayunit(offset,structure_fields{i},'(structure)',''),
+ struct_display(field,[offset ' ']);
+
+ %display value
+ else
+ parsedisplay(offset,structure_fields{i},field,'');
+ end
+ end
+end% }}}
+function cell_display(offset,name,field,comment) % {{{
+
+ %initialization
+ string='{';
+
+ %go through the cell and fill string
+ if length(field)<5;
+ for i=1:length(field),
+ if ischar(field{i}),
+ string=[string '''' field{i} ''','];
+ elseif (isnumeric(field{i}) & length(field{i})==1)
+ string=[string num2str(field{i}) ',' ];
+ else
+ string='{';
+ break
+ end
+ end
+ end
+ if strcmp(string,'{'),
+ string=['(' num2str(size(field,1)) 'x' num2str(size(field,2)) ')'];
+ else
+ string=[string(1:end-1) '}'];
+ end
+
+ %call displayunit
+ displayunit(offset,name,string,comment);
+end% }}}
+function displayunit(offset,name,characterization,comment),% {{{
+
+ %take care of name
+ if length(name)>23,
+ name=[name(1:20) '...'];
+ end
+
+ %take care of characterization
+ if (strcmp(characterization,['''' '''']) | strcmp(characterization,'NaN')),
+ characterization='N/A';
+ end
+ if length(characterization)>15,
+ characterization=[characterization(1:12) '...'];
+ end
+
+ %print
+ if isempty(comment)
+ disp(sprintf('%s%-23s: %-15s',offset,name,characterization));
+ else
+ if ischar(comment),
+ disp(sprintf('%s%-23s: %-15s -- %s',offset,name,characterization,comment));
+ elseif iscell(comment),
+ disp(sprintf('%s%-23s: %-15s -- %s',offset,name,characterization,comment{1}));
+ for i=2:length(comment),
+ disp(sprintf('%s%-23s %-15s %s',offset,'','',comment{i}));
+ end
+ else
+ error('fielddisplay error message: format for comment not supportet yet');
+ end
+ end
+end% }}}
Deleted: issm/trunk/src/py/model/petscversion.py
===================================================================
--- issm/trunk-jpl/src/py/model/petscversion.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/petscversion.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,39 +0,0 @@
-#PETSCVERSION - recover petsc version number, inside config.h file
-#
-# Usage:
-# PETSC_VERSION=petscversion();
-
-#Module imports {{{
-import os
-import sys
-from issmtier import *
-#}}}
-
-def petscversion():
-
- #default
- PETSC_VERSION=3;
-
- configfile=issmtier() + "/bin/config.h" #should find it in the install target
-
- if not os.path.isfile(configfile):
- raise RuntimeError("%s%s%s"%("File ",configfile," not found. ISSM has not been configured yet!"))
-
- #go through the file, and recover the line we want
- fid=open(configfile,'r');
-
- tline=fid.readline()
- while tline:
-
- if tline=='':
- break
-
- if tline[0:21]=="#define _PETSC_MAJOR_":
- PETSC_VERSION=int(tline[22])
- break
-
- tline=fid.readline()
-
- fid.close();
-
- return PETSC_VERSION
Copied: issm/trunk/src/py/model/petscversion.py (from rev 11994, issm/trunk-jpl/src/py/model/petscversion.py)
===================================================================
--- issm/trunk/src/py/model/petscversion.py (rev 0)
+++ issm/trunk/src/py/model/petscversion.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,39 @@
+#PETSCVERSION - recover petsc version number, inside config.h file
+#
+# Usage:
+# PETSC_VERSION=petscversion();
+
+#Module imports {{{
+import os
+import sys
+from issmtier import *
+#}}}
+
+def petscversion():
+
+ #default
+ PETSC_VERSION=3;
+
+ configfile=issmtier() + "/bin/config.h" #should find it in the install target
+
+ if not os.path.isfile(configfile):
+ raise RuntimeError("%s%s%s"%("File ",configfile," not found. ISSM has not been configured yet!"))
+
+ #go through the file, and recover the line we want
+ fid=open(configfile,'r');
+
+ tline=fid.readline()
+ while tline:
+
+ if tline=='':
+ break
+
+ if tline[0:21]=="#define _PETSC_MAJOR_":
+ PETSC_VERSION=int(tline[22])
+ break
+
+ tline=fid.readline()
+
+ fid.close();
+
+ return PETSC_VERSION
Property changes on: issm/trunk/src/py/model/solvers
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Deleted: issm/trunk/src/py/model/solvers/asmoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/asmoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/asmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def asmoptions(*args):
- #ASMOPTIONS - return ASM petsc options
- #
- # Usage:
- # options=asmoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','lu'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-30]];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/asmoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/asmoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/asmoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/asmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def asmoptions(*args):
+ #ASMOPTIONS - return ASM petsc options
+ #
+ # Usage:
+ # options=asmoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','lu'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-30]];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/iluasmoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/iluasmoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/iluasmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def iluasmoptions(*args):
- #ILUASMOPTIONS - return MUMPS direct solver petsc options
- #
- # Usage:
- # options=iluasmoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','ilu'],['pc_asm_overlap',5],['ksp_max_it',100],['ksp_rtol',1e-15]];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/iluasmoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/iluasmoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/iluasmoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/iluasmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def iluasmoptions(*args):
+ #ILUASMOPTIONS - return MUMPS direct solver petsc options
+ #
+ # Usage:
+ # options=iluasmoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','ilu'],['pc_asm_overlap',5],['ksp_max_it',100],['ksp_rtol',1e-15]];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/jacobiasmoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/jacobiasmoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/jacobiasmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def jacobiasmoptions(*args):
- #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
- #
- # Usage:
- # options=jacobiasmoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','jacobi'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-15]];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/jacobiasmoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/jacobiasmoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/jacobiasmoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/jacobiasmoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def jacobiasmoptions(*args):
+ #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
+ #
+ # Usage:
+ # options=jacobiasmoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['mat_type','aij'],['ksp_type','gmres'],['pc_type','asm'],['sub_pc_type','jacobi'],['pc_asm_overlap',3],['ksp_max_it',100],['ksp_rtol',1e-15]];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/jacobicgoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/jacobicgoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/jacobicgoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def jacobicgoptions(*args):
- #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
- #
- # Usage:
- # options=jacobicgoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['mat_type','aij'],['ksp_type','cg'],['ksp_max_it',100],['ksp_rtol',1e-15]];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/jacobicgoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/jacobicgoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/jacobicgoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/jacobicgoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def jacobicgoptions(*args):
+ #ASMOPTIONS - return Additive Shwartz Method with Jacobi preconditioner petsc options
+ #
+ # Usage:
+ # options=jacobicgoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['mat_type','aij'],['ksp_type','cg'],['ksp_max_it',100],['ksp_rtol',1e-15]];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/matlaboptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/matlaboptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/matlaboptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def matlaboptions(*args):
- #MATLABOPTIONS - return Matlab petsc options
- #
- # Usage:
- # options=matlaboptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['ksp_type','matlab']];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/matlaboptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/matlaboptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/matlaboptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/matlaboptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def matlaboptions(*args):
+ #MATLABOPTIONS - return Matlab petsc options
+ #
+ # Usage:
+ # options=matlaboptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['ksp_type','matlab']];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/mumpsoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/mumpsoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/mumpsoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,38 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def mumpsoptions(*args):
- #MUMPSOPTIONS - return MUMPS direct solver petsc options
- #
- # Usage:
- # options=mumpsoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
-
- #default mumps options
- PETSC_VERSION=petscversion()
-
- if PETSC_VERSION==2:
- options=[['mat_type','aijmumps'],['ksp_type','preonly'],['pc_type','lu'],['mat_mumps_icntl_14',120],['pc_factor_shift_positive_definite','true']]
- if PETSC_VERSION==3:
- options=[['mat_type','mpiaij'],['ksp_type','preonly'],['pc_type','lu'],['pc_factor_mat_solver_package','mumps'],['mat_mumps_icntl_14',120],['pc_factor_shift_positive_definite','true']]
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/mumpsoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/mumpsoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/mumpsoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/mumpsoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,38 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def mumpsoptions(*args):
+ #MUMPSOPTIONS - return MUMPS direct solver petsc options
+ #
+ # Usage:
+ # options=mumpsoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+
+ #default mumps options
+ PETSC_VERSION=petscversion()
+
+ if PETSC_VERSION==2:
+ options=[['mat_type','aijmumps'],['ksp_type','preonly'],['pc_type','lu'],['mat_mumps_icntl_14',120],['pc_factor_shift_positive_definite','true']]
+ if PETSC_VERSION==3:
+ options=[['mat_type','mpiaij'],['ksp_type','preonly'],['pc_type','lu'],['pc_factor_mat_solver_package','mumps'],['mat_mumps_icntl_14',120],['pc_factor_shift_positive_definite','true']]
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/soroptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/soroptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/soroptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,31 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def soroptions(*args):
- #SOROPTIONS - return Relaxation Solver petsc options
- #
- # Usage:
- # options=soroptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
- options=[['mat_type','aij'],['ksp_type','cg'],['pc_type','sor'],['pc_sor_omega',1.1],['pc_sor_its',2]];
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/soroptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/soroptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/soroptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/soroptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,31 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def soroptions(*args):
+ #SOROPTIONS - return Relaxation Solver petsc options
+ #
+ # Usage:
+ # options=soroptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+ options=[['mat_type','aij'],['ksp_type','cg'],['pc_type','sor'],['pc_sor_omega',1.1],['pc_sor_its',2]];
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Deleted: issm/trunk/src/py/model/solvers/stokesoptions.py
===================================================================
--- issm/trunk-jpl/src/py/model/solvers/stokesoptions.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/model/solvers/stokesoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,40 +0,0 @@
-#module imports {{{
-from pairoptions import *
-from petscversion import *
-#}}}
-def stokesoptions(*args):
- #STOKESOPTIONS - return STOKES multi-physics solver petsc options
- #
- # Usage:
- # options=stokesoptions;
-
- #retrieve options provided in varargin
- arguments=pairoptions(*args)
-
-
- #default stokes options
- PETSC_VERSION=petscversion()
-
- if PETSC_VERSION==2:
- raise RuntimeError('stokesoptions error message: multi-physics options not supported in Petsc 2')
- if PETSC_VERSION==3:
- options=[['mat_type','mpiaij'],['ksp_max_it',1000],['ksp_type','gmres'],['pc_type','fieldsplit'],['pc_field_split_type','schur'],\
- ['fieldsplit_0_pc_type','hypre'],['fieldsplit_0_ksp_type','gmres'],['fieldsplit_0_pc_hypre_type','boomerang'],\
- ['fieldsplit_1_pc_type','jacobi'],['fieldsplit_1_ksp_type','preonly'],['issm_option_solver','stokes']]
-
- #now, go through our arguments, and write over default options.
- for i in range(len(arguments.list)):
- arg1=arguments.list[i][0]
- arg2=arguments.list[i][1]
- found=0;
- for j in range(len(options)):
- joption=options[j][0]
- if joption==arg1:
- joption[1]=arg2;
- options[j]=joption;
- found=1;
- break
- if not found:
- #this option did not exist, add it:
- options.append([arg1,arg2])
- return options
Copied: issm/trunk/src/py/model/solvers/stokesoptions.py (from rev 11994, issm/trunk-jpl/src/py/model/solvers/stokesoptions.py)
===================================================================
--- issm/trunk/src/py/model/solvers/stokesoptions.py (rev 0)
+++ issm/trunk/src/py/model/solvers/stokesoptions.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,40 @@
+#module imports {{{
+from pairoptions import *
+from petscversion import *
+#}}}
+def stokesoptions(*args):
+ #STOKESOPTIONS - return STOKES multi-physics solver petsc options
+ #
+ # Usage:
+ # options=stokesoptions;
+
+ #retrieve options provided in varargin
+ arguments=pairoptions(*args)
+
+
+ #default stokes options
+ PETSC_VERSION=petscversion()
+
+ if PETSC_VERSION==2:
+ raise RuntimeError('stokesoptions error message: multi-physics options not supported in Petsc 2')
+ if PETSC_VERSION==3:
+ options=[['mat_type','mpiaij'],['ksp_max_it',1000],['ksp_type','gmres'],['pc_type','fieldsplit'],['pc_field_split_type','schur'],\
+ ['fieldsplit_0_pc_type','hypre'],['fieldsplit_0_ksp_type','gmres'],['fieldsplit_0_pc_hypre_type','boomerang'],\
+ ['fieldsplit_1_pc_type','jacobi'],['fieldsplit_1_ksp_type','preonly'],['issm_option_solver','stokes']]
+
+ #now, go through our arguments, and write over default options.
+ for i in range(len(arguments.list)):
+ arg1=arguments.list[i][0]
+ arg2=arguments.list[i][1]
+ found=0;
+ for j in range(len(options)):
+ joption=options[j][0]
+ if joption==arg1:
+ joption[1]=arg2;
+ options[j]=joption;
+ found=1;
+ break
+ if not found:
+ #this option did not exist, add it:
+ options.append([arg1,arg2])
+ return options
Property changes on: issm/trunk/src/py/utils/OS
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Deleted: issm/trunk/src/py/utils/OS/ismumps.py
===================================================================
--- issm/trunk-jpl/src/py/utils/OS/ismumps.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/utils/OS/ismumps.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,41 +0,0 @@
-#ISMUMPS - figure out if MUMPS package was compiled with ISSM
-#
-# Usage:
-# flag=ismumps();
-
-#Module imports {{{
-import os
-import sys
-from issmtier import *
-#}}}
-
-def ismumps():
-
- configfile=issmtier() + "/bin/config.h" #should find it in the install target
-
- if not os.path.isfile(configfile):
- raise RuntimeError("%s%s%s"%("File ",configfile," not found. ISSM has not been configured yet!"))
-
- #%go through the file, and recover the line we want
- flag=2;
- fid=open(configfile,'r');
-
- tline=fid.readline()
- while tline:
-
- if tline=='':
- break
- if tline[0:25]=="/* #undef _HAVE_MUMPS_ */":
- flag=0;
- break
- if tline[0:20]=="#define _HAVE_MUMPS_":
- flag=1
- break
- tline=fid.readline()
-
- fid.close();
-
- if flag==2:
- raise RuntimeError('could not determine whether MUMPS was or was not compiled')
-
- return flag
Copied: issm/trunk/src/py/utils/OS/ismumps.py (from rev 11994, issm/trunk-jpl/src/py/utils/OS/ismumps.py)
===================================================================
--- issm/trunk/src/py/utils/OS/ismumps.py (rev 0)
+++ issm/trunk/src/py/utils/OS/ismumps.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,41 @@
+#ISMUMPS - figure out if MUMPS package was compiled with ISSM
+#
+# Usage:
+# flag=ismumps();
+
+#Module imports {{{
+import os
+import sys
+from issmtier import *
+#}}}
+
+def ismumps():
+
+ configfile=issmtier() + "/bin/config.h" #should find it in the install target
+
+ if not os.path.isfile(configfile):
+ raise RuntimeError("%s%s%s"%("File ",configfile," not found. ISSM has not been configured yet!"))
+
+ #%go through the file, and recover the line we want
+ flag=2;
+ fid=open(configfile,'r');
+
+ tline=fid.readline()
+ while tline:
+
+ if tline=='':
+ break
+ if tline[0:25]=="/* #undef _HAVE_MUMPS_ */":
+ flag=0;
+ break
+ if tline[0:20]=="#define _HAVE_MUMPS_":
+ flag=1
+ break
+ tline=fid.readline()
+
+ fid.close();
+
+ if flag==2:
+ raise RuntimeError('could not determine whether MUMPS was or was not compiled')
+
+ return flag
Property changes on: issm/trunk/src/py/utils/Shell
___________________________________________________________________
Added: svn:ignore
+ __pycache__
Deleted: issm/trunk/src/py/utils/Shell/issmtier.py
===================================================================
--- issm/trunk-jpl/src/py/utils/Shell/issmtier.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/src/py/utils/Shell/issmtier.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -1,24 +0,0 @@
-
-#ISSMTIER - Get ISSM_TIER environment variable contents.
-#
-# Usage:
-# ISSM_TIER=issmtier()
-
-
-#Module imports
-import os
-
-def issmtier():
-
- if os.name =="posix":
- ISSM_TIER =os.getenv('ISSM_TIER')
- else:
- ISSM_TIER =os.getenv('ISSM_TIER_WIN')
-
- if(ISSM_TIER[-1]=="/") or (ISSM_TIER[-1]=="\\"):
- ISSM_TIER = ISSM_TIER[:-2]; #shave off the last '/'
-
- if ISSM_TIER == "":
- raise RuntimeError("issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!")
-
- return ISSM_TIER
Copied: issm/trunk/src/py/utils/Shell/issmtier.py (from rev 11994, issm/trunk-jpl/src/py/utils/Shell/issmtier.py)
===================================================================
--- issm/trunk/src/py/utils/Shell/issmtier.py (rev 0)
+++ issm/trunk/src/py/utils/Shell/issmtier.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+
+#ISSMTIER - Get ISSM_TIER environment variable contents.
+#
+# Usage:
+# ISSM_TIER=issmtier()
+
+
+#Module imports
+import os
+
+def issmtier():
+
+ if os.name =="posix":
+ ISSM_TIER =os.getenv('ISSM_TIER')
+ else:
+ ISSM_TIER =os.getenv('ISSM_TIER_WIN')
+
+ if(ISSM_TIER[-1]=="/") or (ISSM_TIER[-1]=="\\"):
+ ISSM_TIER = ISSM_TIER[:-2]; #shave off the last '/'
+
+ if ISSM_TIER == "":
+ raise RuntimeError("issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!")
+
+ return ISSM_TIER
Modified: issm/trunk/startup.m
===================================================================
--- issm/trunk/startup.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/startup.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -15,9 +15,10 @@
ISSM_TIER=getenv('ISSM_TIER');
else
ISSM_TIER=getenv('ISSM_TIER_WIN');
+ %ISSM_TIER='';
end
if (isempty(ISSM_TIER)),
- error('issmdir error message: ''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
+ error('''ISSM_TIER'' environment variable is empty! You should define ISSM_TIER in your .cshrc or .bashrc!');
end
%Now add all issm code paths necessary to run issm smoothly.
@@ -25,35 +26,16 @@
%the variable ISSM_TIER in this file, in case it is not correctly setup.
%ISSM path
-addpath(pwd); %add current path first
+addpath([ISSM_TIER '/src/m/utils/']); %loads recursivepath
+addpath([ISSM_TIER '/bin']);
+addpath(recursivepath([ISSM_TIER '/src/m']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/scotch']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/canos']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/kml']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/export_fig']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/googleearthtoolbox']));
+addpath(recursivepath([ISSM_TIER '/externalpackages/cm_and_cb_utilities']));
-if exist([ISSM_TIER '/src/m/utils/'],'dir'),
- addpath([ISSM_TIER '/src/m/utils/']); %loads recursivepath
-end
-if exist([ISSM_TIER '/doc'],'dir'),
- addpath([ISSM_TIER '/doc']);
-end
-if exist([ISSM_TIER '/bin'],'dir'),
- addpath([ISSM_TIER '/bin']);
-end
-if exist([ISSM_TIER '/src/m'],'dir'),
- addpath(recursivepath([ISSM_TIER '/src/m']));
-end
-if exist([ISSM_TIER '/externalpackages/scotch'],'dir'),
- addpath(recursivepath([ISSM_TIER '/externalpackages/scotch']));
-end
-if exist([ISSM_TIER '/externalpackages/canos'],'dir'),
- addpath(recursivepath([ISSM_TIER '/externalpackages/canos']));
-end
-if exist([ISSM_TIER '/externalpackages/kml'],'dir'),
- addpath(recursivepath([ISSM_TIER '/externalpackages/kml']));
-end
-if exist([ISSM_TIER '/externalpackages/googleearthtoolbox/'],'dir'),
- addpath(recursivepath([ISSM_TIER '/externalpackages/googleearthtoolbox/']));
-end
-if exist([ISSM_TIER '/externalpackages/export_fig'],'dir'),
- addpath(recursivepath([ISSM_TIER '/externalpackages/export_fig']));
-end
clear ISSM_TIER;
%Check on any warning messages that might indicate that the paths were not correct.
@@ -85,12 +67,3 @@
% no warning if we try to plot while in nojvm (will not be supported in future releases)
warning off MATLAB:HandleGraphics:noJVM
-
-%at the end, get to tests directory if ISSM_TESTS exists:
-if ispc,
- addpath([pwd '\bin']);
- ISSM_TESTS=getenv('ISSM_TESTS');
- if ~isempty(ISSM_TESTS),
- cd(ISSM_TESTS);
- end
-end
Modified: issm/trunk/startup.py
===================================================================
--- issm/trunk/startup.py 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/startup.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -9,6 +9,12 @@
import os,sys
+
+#First check we are running python 3 at least
+if sys.version_info[0] < 3:
+ print("ISSM can only work in Python 3. Exiting python")
+ sys.exit(1)
+
#Recover ISSM_TIER, ISSM_DIR and USERNAME
ISSM_TIER=os.getenv('ISSM_TIER')
USERNAME =os.getenv('USER')
@@ -19,11 +25,61 @@
#We capture the error output, so that we can warn the user to update
#the variable ISSM_TIER in this file, in case it is not correctly setup.
-#ISSM path
-sys.path.append(ISSM_TIER+'/src/py')
-sys.path.append(ISSM_TIER+'/src/py/classes')
-sys.path.append(ISSM_TIER+'/src/py/modules/TriMesh')
-sys.path.append(ISSM_TIER+'/src/py/modules/hello')
+#ISSM path. Go through src/py and load everything we find that looks like a python file
+for root,dirs,files in os.walk(ISSM_TIER+ '/src/py'):
+ for file in files:
+ if file.find(".py") != -1:
+ if file.find(".pyc") == -1:
+ #add to path
+ sys.path.append(root)
+ file=os.path.splitext(file)[0]
+ #__import__(file)
+
+sys.path.append(ISSM_TIER + '/src/mex')
+
+#Deal with scipy import:
+import scipy
+import numpy
+import nose
+
+#Import modules that are absolutely needed in ISSM {{{
from model import *
+from mesh import *
+from mask import *
+from geometry import *
+from constants import *
+from surfaceforcings import *
+from basalforcings import *
+from materials import *
+from friction import *
+from flowequation import *
+from fielddisplay import *
+from timestepping import *
+from initialization import *
+from rifts import *
+from debug import *
+from settings import *
+from solver import *
+from issmtier import *
+from ismumps import *
+from pairoptions import *
+from petscversion import *
+from asmoptions import *
+from iluasmoptions import *
+from jacobiasmoptions import *
+from jacobicgoptions import *
+from matlaboptions import *
+from mumpsoptions import *
+from soroptions import *
+from stokesoptions import *
+from generic import *
+from none import *
+from none import *
+from hydrology import *
+from miscellaneous import *
+from private import *
+from TriMesh import *
-print "\n To get started with ISSM, type issmdoc at the command prompt.\n\n"
+#}}}
+
+print("\n To get started with ISSM, type issmdoc at the command prompt.\n\n")
Modified: issm/trunk/test/Archives/Archive263.mat
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive455.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive455.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive456.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive456.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive457.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive457.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive458.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive458.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive459.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive459.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive460.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive460.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive461.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive461.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive462.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive462.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive463.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive463.mat)
===================================================================
(Binary files differ)
Copied: issm/trunk/test/Archives/Archive464.mat (from rev 11994, issm/trunk-jpl/test/Archives/Archive464.mat)
===================================================================
(Binary files differ)
Property changes on: issm/trunk/test/NightlyRun
___________________________________________________________________
Modified: svn:ignore
- *.tar.gz
*.bin
*.petsc
*.outlog
*.errlog
*.queue
+ __pycache__
*.tar.gz
*.bin
*.petsc
*.outlog
*.errlog
*.queue
*.lock
*settings*
startup.m
*.bat
*.outbin
qmu*
*.bin
Modified: issm/trunk/test/NightlyRun/IdToName.m
===================================================================
--- issm/trunk/test/NightlyRun/IdToName.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/IdToName.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -223,6 +223,16 @@
case 452, name='SquareSheetShelfGroundingLine3dAgressiceParallel';
case 453, name='SquareSheetShelfGroundingLine3dSoftSerial';
case 454, name='SquareSheetShelfGroundingLine3dSoftParallel';
+ case 455, name='SquareSheetShelfDiagM2dNewtonSerial';
+ case 456, name='SquareSheetShelfDiagM2dNewtonParallel';
+ case 457, name='SquareSheetShelfDiagP3dNewtonSerial';
+ case 458, name='SquareSheetShelfDiagP3dNewtonParallel';
+ case 459, name='SquareSheetShelfDiagS3dNewtonSerial';
+ case 460, name='SquareSheetShelfDiagS3dNewtonParallel';
+ case 461, name='SquareSheetShelfSteaEnthalpyM3dSerial';
+ case 462, name='SquareSheetShelfSteaEnthalpyM3dParallel';
+ case 463, name='SquareSheetShelfSteaEnthalpyP3dSerial';
+ case 464, name='SquareSheetShelfSteaEnthalpyP3dParallel';
case 501, name='PigDiagM2dSerial';
case 502, name='PigDiagM2dParallel';
case 503, name='PigDiagP3dSerial';
Modified: issm/trunk/test/NightlyRun/runme.m
===================================================================
--- issm/trunk/test/NightlyRun/runme.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/runme.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -179,6 +179,7 @@
fclose(fid);
disp(sprintf(['FAILURE difference: N/A test id: %i test name: %s field: %s'],id,id_string,fieldname));
else
+ disp(sprintf(['FAILURE difference: N/A test id: %i test name: %s field: %s'],id,id_string,fieldname));
rethrow(me2);
end
end
@@ -203,6 +204,7 @@
fclose(fid);
disp(sprintf(['FAILURE difference: N/A test id: %i test name: %s field: %s'],id,id_string,'N/A'));
else
+ disp(sprintf(['FAILURE difference: N/A test id: %i test name: %s field: %s'],id,id_string,'N/A'));
rethrow(me);
end
end
Copied: issm/trunk/test/NightlyRun/test101.py (from rev 11994, issm/trunk-jpl/test/NightlyRun/test101.py)
===================================================================
--- issm/trunk/test/NightlyRun/test101.py (rev 0)
+++ issm/trunk/test/NightlyRun/test101.py 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,6 @@
+from model import *
+from TriMesh import *
+
+md=model()
+[a,b,c,d,e]=TriMesh('../Exp/Square.exp',15000.0**2.0,True)
+print(a,b,c,d,e)
Modified: issm/trunk/test/NightlyRun/test1104.m
===================================================================
--- issm/trunk/test/NightlyRun/test1104.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test1104.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -67,7 +67,7 @@
1e-08,1e-08,1e-08,...
1e-08,1e-08,1e-08,...
1e-08,1e-08,1e-08,...
- 1e-08,1e-08,1e-08,...
+ 1e-08,1e-07,1e-08,...
1e-07,1e-07,1e-07,...
};
field_values={};
Modified: issm/trunk/test/NightlyRun/test1105.m
===================================================================
--- issm/trunk/test/NightlyRun/test1105.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test1105.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -142,7 +142,7 @@
};
field_tolerances={...
1e-08,1e-07,1e-07,...
- 1e-09,1e-07,1e-08,...
+ 1e-09,1e-07,1e-07,...
1e-09,1e-09,1e-07,...
1e-09,1e-09,1e-08,...
1e-09,1e-08,1e-08,...
Modified: issm/trunk/test/NightlyRun/test1109.m
===================================================================
--- issm/trunk/test/NightlyRun/test1109.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test1109.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -94,9 +94,9 @@
};
field_tolerances={...
1e-05,1e-05,...
- 1e-06,1e-06,1e-06,...
+ 1e-05,1e-06,1e-06,...
1e-05,1e-04,...
- 1e-06,1e-06,1e-06,...
+ 1e-05,1e-05,1e-06,...
};
field_values={};
for i=1:4,
Modified: issm/trunk/test/NightlyRun/test1110.m
===================================================================
--- issm/trunk/test/NightlyRun/test1110.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test1110.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -113,8 +113,8 @@
field_tolerances={...
1e-10,1e-09,1e-09,1e-10,...
1e-10,1e-09,1e-09,1e-10,...
- 1e-09,1e-09,1e-08,1e-09,...
1e-08,1e-09,1e-08,1e-09,...
+ 1e-08,1e-09,1e-08,1e-09,...
};
field_values={};
for i=1:4,
Modified: issm/trunk/test/NightlyRun/test117.m
===================================================================
--- issm/trunk/test/NightlyRun/test117.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test117.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,16 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=none;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test118.m
===================================================================
--- issm/trunk/test/NightlyRun/test118.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test118.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,16 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test140.m
===================================================================
--- issm/trunk/test/NightlyRun/test140.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test140.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -6,12 +6,11 @@
md.timestepping.time_step=0;
md.cluster=generic('name',oshostname(),'np',3);
md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
-%md=solve(md,ThermalSolutionEnum);
md=solve(md,EnthalpySolutionEnum);
%Fields and tolerances to track changes
field_names ={'Enthalpy','Waterfraction','Temperature'};
-field_tolerances={1e-13,1e-13,1e-13};
+field_tolerances={1e-13,1e-10,1e-13};
field_values={...
(md.results.EnthalpySolution.Enthalpy),...
(md.results.EnthalpySolution.Waterfraction),...
Modified: issm/trunk/test/NightlyRun/test141.m
===================================================================
--- issm/trunk/test/NightlyRun/test141.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test141.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,12 @@
md=setflowequation(md,'macayeal','all');
md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
md.cluster=none;
-md=solve(md,EnthalpySolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md.thermal.isenthalpy=1;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Enthalpy1','Waterfraction1','Temperature1',...
@@ -13,13 +18,13 @@
'Enthalpy3','Waterfraction3','Temperature3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.EnthalpySolution(1).Enthalpy),...
- (md.results.EnthalpySolution(1).Waterfraction),...
- (md.results.EnthalpySolution(1).Temperature),...
- (md.results.EnthalpySolution(2).Enthalpy),...
- (md.results.EnthalpySolution(2).Waterfraction),...
- (md.results.EnthalpySolution(2).Temperature),...
- (md.results.EnthalpySolution(3).Enthalpy),...
- (md.results.EnthalpySolution(3).Waterfraction),...
- (md.results.EnthalpySolution(3).Temperature),...
+ (md.results.TransientSolution(1).Enthalpy),...
+ (md.results.TransientSolution(1).Waterfraction),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(2).Enthalpy),...
+ (md.results.TransientSolution(2).Waterfraction),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(3).Enthalpy),...
+ (md.results.TransientSolution(3).Waterfraction),...
+ (md.results.TransientSolution(3).Temperature),...
};
Modified: issm/trunk/test/NightlyRun/test142.m
===================================================================
--- issm/trunk/test/NightlyRun/test142.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test142.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,12 @@
md=setflowequation(md,'macayeal','all');
md.cluster=generic('name',oshostname(),'np',3);
md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
-%md=solve(md,ThermalSolutionEnum);
-md=solve(md,EnthalpySolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md.thermal.isenthalpy=1;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Enthalpy1','Waterfraction1','Temperature1',...
@@ -14,13 +18,13 @@
'Enthalpy3','Waterfraction3','Temperature3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-10,1e-13};
field_values={...
- (md.results.EnthalpySolution(1).Enthalpy),...
- (md.results.EnthalpySolution(1).Waterfraction),...
- (md.results.EnthalpySolution(1).Temperature),...
- (md.results.EnthalpySolution(2).Enthalpy),...
- (md.results.EnthalpySolution(2).Waterfraction),...
- (md.results.EnthalpySolution(2).Temperature),...
- (md.results.EnthalpySolution(3).Enthalpy),...
- (md.results.EnthalpySolution(3).Waterfraction),...
- (md.results.EnthalpySolution(3).Temperature),...
+ (md.results.TransientSolution(1).Enthalpy),...
+ (md.results.TransientSolution(1).Waterfraction),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(2).Enthalpy),...
+ (md.results.TransientSolution(2).Waterfraction),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(3).Enthalpy),...
+ (md.results.TransientSolution(3).Waterfraction),...
+ (md.results.TransientSolution(3).Temperature),...
};
Modified: issm/trunk/test/NightlyRun/test213.m
===================================================================
--- issm/trunk/test/NightlyRun/test213.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test213.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,16 +4,20 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=none;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','MeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(3).Temperature),...
- (md.results.ThermalSolution(3).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(3).Temperature),...
+ (md.results.TransientSolution(3).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test214.m
===================================================================
--- issm/trunk/test/NightlyRun/test214.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test214.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,16 +4,20 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(3).Temperature),...
- (md.results.ThermalSolution(3).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(3).Temperature),...
+ (md.results.TransientSolution(3).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test263.m
===================================================================
--- issm/trunk/test/NightlyRun/test263.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test263.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,18 +7,22 @@
md.thermal.spctemperature=[md.thermal.spctemperature, md.thermal.spctemperature+5, md.thermal.spctemperature+10, md.thermal.spctemperature+15; 1.5 2.5 3.5 4];
md.timestepping.time_step=1;
md.timestepping.final_time=4;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3','Temperature4','BasalforcingsMeltingRate4'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(3).Temperature),...
- (md.results.ThermalSolution(3).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(4).Temperature),...
- (md.results.ThermalSolution(4).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(3).Temperature),...
+ (md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(4).Temperature),...
+ (md.results.TransientSolution(4).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test264.m
===================================================================
--- issm/trunk/test/NightlyRun/test264.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test264.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -7,18 +7,22 @@
md.thermal.spctemperature=[md.thermal.spctemperature, md.thermal.spctemperature+5, md.thermal.spctemperature+10, md.thermal.spctemperature+15; 1.5 2.5 3.5 4];
md.timestepping.time_step=1;
md.timestepping.final_time=4;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','BasalforcingsMeltingRate1','Temperature2','BasalforcingsMeltingRate2','Temperature3','BasalforcingsMeltingRate3','Temperature4','BasalforcingsMeltingRate4'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(3).Temperature),...
- (md.results.ThermalSolution(3).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(4).Temperature),...
- (md.results.ThermalSolution(4).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(3).Temperature),...
+ (md.results.TransientSolution(3).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(4).Temperature),...
+ (md.results.TransientSolution(4).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test325.m
===================================================================
--- issm/trunk/test/NightlyRun/test325.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test325.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,16 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=none;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test326.m
===================================================================
--- issm/trunk/test/NightlyRun/test326.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test326.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,17 @@
md=extrude(md,3,1);
md=setflowequation(md,'macayeal','all');
md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum);
+md.verbose=verbose('convergence',true,'solution',true);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test351.m
===================================================================
--- issm/trunk/test/NightlyRun/test351.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test351.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,7 +5,12 @@
md=setflowequation(md,'macayeal','all');
md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
md.cluster=none;
-md=solve(md,EnthalpySolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md.thermal.isenthalpy=1;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Enthalpy1','Waterfraction1','Temperature1',...
@@ -13,13 +18,13 @@
'Enthalpy3','Waterfraction3','Temperature3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.EnthalpySolution(1).Enthalpy),...
- (md.results.EnthalpySolution(1).Waterfraction),...
- (md.results.EnthalpySolution(1).Temperature),...
- (md.results.EnthalpySolution(2).Enthalpy),...
- (md.results.EnthalpySolution(2).Waterfraction),...
- (md.results.EnthalpySolution(2).Temperature),...
- (md.results.EnthalpySolution(3).Enthalpy),...
- (md.results.EnthalpySolution(3).Waterfraction),...
- (md.results.EnthalpySolution(3).Temperature),...
+ (md.results.TransientSolution(1).Enthalpy),...
+ (md.results.TransientSolution(1).Waterfraction),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(2).Enthalpy),...
+ (md.results.TransientSolution(2).Waterfraction),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(3).Enthalpy),...
+ (md.results.TransientSolution(3).Waterfraction),...
+ (md.results.TransientSolution(3).Temperature),...
};
Modified: issm/trunk/test/NightlyRun/test352.m
===================================================================
--- issm/trunk/test/NightlyRun/test352.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test352.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,8 +5,12 @@
md=setflowequation(md,'macayeal','all');
md.cluster=generic('name',oshostname(),'np',3);
md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
-%md=solve(md,ThermalSolutionEnum);
-md=solve(md,EnthalpySolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md.thermal.isenthalpy=1;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Enthalpy1','Waterfraction1','Temperature1',...
@@ -14,13 +18,13 @@
'Enthalpy3','Waterfraction3','Temperature3'};
field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
field_values={...
- (md.results.EnthalpySolution(1).Enthalpy),...
- (md.results.EnthalpySolution(1).Waterfraction),...
- (md.results.EnthalpySolution(1).Temperature),...
- (md.results.EnthalpySolution(2).Enthalpy),...
- (md.results.EnthalpySolution(2).Waterfraction),...
- (md.results.EnthalpySolution(2).Temperature),...
- (md.results.EnthalpySolution(3).Enthalpy),...
- (md.results.EnthalpySolution(3).Waterfraction),...
- (md.results.EnthalpySolution(3).Temperature),...
+ (md.results.TransientSolution(1).Enthalpy),...
+ (md.results.TransientSolution(1).Waterfraction),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(2).Enthalpy),...
+ (md.results.TransientSolution(2).Waterfraction),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(3).Enthalpy),...
+ (md.results.TransientSolution(3).Waterfraction),...
+ (md.results.TransientSolution(3).Temperature),...
};
Modified: issm/trunk/test/NightlyRun/test413.m
===================================================================
--- issm/trunk/test/NightlyRun/test413.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test413.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,16 @@
md=extrude(md,4,1);
md=setflowequation(md,'pattyn','all');
md.cluster=none;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test414.m
===================================================================
--- issm/trunk/test/NightlyRun/test414.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test414.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,12 +4,16 @@
md=extrude(md,4,1);
md=setflowequation(md,'pattyn','all');
md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature','BasalforcingsMeltingRate'};
field_tolerances={1e-13,1e-13};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
};
Copied: issm/trunk/test/NightlyRun/test455.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test455.m)
===================================================================
--- issm/trunk/test/NightlyRun/test455.m (rev 0)
+++ issm/trunk/test/NightlyRun/test455.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md.cluster=none;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vel','Pressure'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test456.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test456.m)
===================================================================
--- issm/trunk/test/NightlyRun/test456.m (rev 0)
+++ issm/trunk/test/NightlyRun/test456.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,18 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vel','Pressure'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test457.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test457.m)
===================================================================
--- issm/trunk/test/NightlyRun/test457.m (rev 0)
+++ issm/trunk/test/NightlyRun/test457.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,5,1);
+md=setflowequation(md,'pattyn','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md.cluster=none;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vz),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test458.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test458.m)
===================================================================
--- issm/trunk/test/NightlyRun/test458.m (rev 0)
+++ issm/trunk/test/NightlyRun/test458.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,5,1);
+md=setflowequation(md,'pattyn','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-09};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vz),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test459.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test459.m)
===================================================================
--- issm/trunk/test/NightlyRun/test459.m (rev 0)
+++ issm/trunk/test/NightlyRun/test459.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,19 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,1);
+md=setflowequation(md,'stokes','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vz),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test460.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test460.m)
===================================================================
--- issm/trunk/test/NightlyRun/test460.m (rev 0)
+++ issm/trunk/test/NightlyRun/test460.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,20 @@
+md=triangle(model,'../Exp/Square.exp',180000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,1);
+md=setflowequation(md,'stokes','all');
+md.diagnostic.isnewton=1;
+md.diagnostic.restol=0.0001;
+md.cluster=generic('name',oshostname(),'np',3);
+md=solve(md,DiagnosticSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure'};
+field_tolerances={1e-07,1e-07,1e-06,1e-07,1e-07};
+field_values={...
+ (md.results.DiagnosticSolution.Vx),...
+ (md.results.DiagnosticSolution.Vy),...
+ (md.results.DiagnosticSolution.Vz),...
+ (md.results.DiagnosticSolution.Vel),...
+ (md.results.DiagnosticSolution.Pressure),...
+ };
Copied: issm/trunk/test/NightlyRun/test461.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test461.m)
===================================================================
--- issm/trunk/test/NightlyRun/test461.m (rev 0)
+++ issm/trunk/test/NightlyRun/test461.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'macayeal','all');
+md.cluster=none;
+md.timestepping.time_step=0;
+md.thermal.isenthalpy=1;
+md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
+md=solve(md,SteadystateSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure','Temperature','Water fraction','Enthalpy'};
+field_tolerances={1e-10,1e-10,1e-09,1e-10,1e-13,1e-10,1e-10,1e-10};
+field_values={...
+ (md.results.SteadystateSolution.Vx),...
+ (md.results.SteadystateSolution.Vy),...
+ (md.results.SteadystateSolution.Vz),...
+ (md.results.SteadystateSolution.Vel),...
+ (md.results.SteadystateSolution.Pressure),...
+ (md.results.SteadystateSolution.Temperature),...
+ (md.results.SteadystateSolution.Waterfraction),...
+ (md.results.SteadystateSolution.Enthalpy),...
+ };
Copied: issm/trunk/test/NightlyRun/test462.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test462.m)
===================================================================
--- issm/trunk/test/NightlyRun/test462.m (rev 0)
+++ issm/trunk/test/NightlyRun/test462.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'macayeal','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.timestepping.time_step=0;
+md.thermal.isenthalpy=1;
+md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
+md=solve(md,SteadystateSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure','Temperature','Water fraction','Enthalpy'};
+field_tolerances={1e-10,1e-10,1e-09,1e-10,1e-13,1e-10,1e-10,1e-10};
+field_values={...
+ (md.results.SteadystateSolution.Vx),...
+ (md.results.SteadystateSolution.Vy),...
+ (md.results.SteadystateSolution.Vz),...
+ (md.results.SteadystateSolution.Vel),...
+ (md.results.SteadystateSolution.Pressure),...
+ (md.results.SteadystateSolution.Temperature),...
+ (md.results.SteadystateSolution.Waterfraction),...
+ (md.results.SteadystateSolution.Enthalpy),...
+ };
Copied: issm/trunk/test/NightlyRun/test463.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test463.m)
===================================================================
--- issm/trunk/test/NightlyRun/test463.m (rev 0)
+++ issm/trunk/test/NightlyRun/test463.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'pattyn','all');
+md.cluster=none;
+md.timestepping.time_step=0;
+md.thermal.isenthalpy=1;
+md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
+md=solve(md,SteadystateSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure','Temperature','Water fraction','Enthalpy'};
+field_tolerances={1e-09,1e-10,1e-09,1e-10,1e-13,1e-10,1e-10,1e-10};
+field_values={...
+ (md.results.SteadystateSolution.Vx),...
+ (md.results.SteadystateSolution.Vy),...
+ (md.results.SteadystateSolution.Vz),...
+ (md.results.SteadystateSolution.Vel),...
+ (md.results.SteadystateSolution.Pressure),...
+ (md.results.SteadystateSolution.Temperature),...
+ (md.results.SteadystateSolution.Waterfraction),...
+ (md.results.SteadystateSolution.Enthalpy),...
+ };
Copied: issm/trunk/test/NightlyRun/test464.m (from rev 11994, issm/trunk-jpl/test/NightlyRun/test464.m)
===================================================================
--- issm/trunk/test/NightlyRun/test464.m (rev 0)
+++ issm/trunk/test/NightlyRun/test464.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -0,0 +1,24 @@
+md=triangle(model,'../Exp/Square.exp',150000);
+md=setmask(md,'../Exp/SquareShelf.exp','');
+md=parameterize(md,'../Par/SquareSheetShelf.par');
+md=extrude(md,3,2);
+md=setflowequation(md,'pattyn','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.timestepping.time_step=0;
+md.thermal.isenthalpy=1;
+md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
+md=solve(md,SteadystateSolutionEnum);
+
+%Fields and tolerances to track changes
+field_names ={'Vx','Vy','Vz','Vel','Pressure','Temperature','Water fraction','Enthalpy'};
+field_tolerances={1e-09,1e-09,1e-09,1e-09,1e-13,1e-10,1e-10,1e-10};
+field_values={...
+ (md.results.SteadystateSolution.Vx),...
+ (md.results.SteadystateSolution.Vy),...
+ (md.results.SteadystateSolution.Vz),...
+ (md.results.SteadystateSolution.Vel),...
+ (md.results.SteadystateSolution.Pressure),...
+ (md.results.SteadystateSolution.Temperature),...
+ (md.results.SteadystateSolution.Waterfraction),...
+ (md.results.SteadystateSolution.Enthalpy),...
+ };
Modified: issm/trunk/test/NightlyRun/test529.m
===================================================================
--- issm/trunk/test/NightlyRun/test529.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test529.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -4,15 +4,19 @@
md=extrude(md,3,1);
md=setflowequation(md,'pattyn','all');
md.thermal.stabilization=2;
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','BasalforcingsMeltingRate1', ...
'Temperature2','BasalforcingsMeltingRate2'};
field_tolerances={1e-13,1e-9,1e-13,1e-9};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
};
Modified: issm/trunk/test/NightlyRun/test530.m
===================================================================
--- issm/trunk/test/NightlyRun/test530.m 2012-04-16 21:48:34 UTC (rev 11994)
+++ issm/trunk/test/NightlyRun/test530.m 2012-04-16 21:57:18 UTC (rev 11995)
@@ -5,15 +5,19 @@
md=setflowequation(md,'pattyn','all');
md.thermal.stabilization=2;
md.cluster=generic('name',oshostname(),'np',3);
-md=solve(md,ThermalSolutionEnum);
+md.transient.isdiagnostic=0;
+md.transient.isprognostic=0;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,TransientSolutionEnum);
%Fields and tolerances to track changes
field_names ={'Temperature1','BasalforcingsMeltingRate1', ...
'Temperature2','BasalforcingsMeltingRate2'};
field_tolerances={1e-13,1e-8,1e-13,1e-8};
field_values={...
- (md.results.ThermalSolution(1).Temperature),...
- (md.results.ThermalSolution(1).BasalforcingsMeltingRate),...
- (md.results.ThermalSolution(2).Temperature),...
- (md.results.ThermalSolution(2).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(1).Temperature),...
+ (md.results.TransientSolution(1).BasalforcingsMeltingRate),...
+ (md.results.TransientSolution(2).Temperature),...
+ (md.results.TransientSolution(2).BasalforcingsMeltingRate),...
};
More information about the issm-svn
mailing list