diff --git a/docs/_sources/content/getting_started/installation.rst.txt b/docs/_sources/content/getting_started/installation.rst.txt index d23724d3..6a580968 100644 --- a/docs/_sources/content/getting_started/installation.rst.txt +++ b/docs/_sources/content/getting_started/installation.rst.txt @@ -15,8 +15,8 @@ If you require parallel file reading and writing, you will also need to install If you need to install the parallel IO version of the code, we would recommend that you start with a clean install of Python. This makes it easier to determine whether you have installed and linked the correct version of the parallel HDF5 library. -There are two versions when installing GeoBIPy, a serial version, and a parallel version. Since GeoBIPy uses a Fortran backend for forward modelling frequency domain data, you will need to have a Fortran compiler installed. Make sure that the compiler can handle derived data types since I make use of object oriented programming in Fortran. +There are two versions when installing GeoBIPy, a serial version, and a parallel version. Since GeoBIPy uses a Fortran backend for forward modelling frequency domain data, you will need to have a Fortran compiler installed. Make sure that the compiler can handle derived data types since I make use of object oriented programming in Fortran. Installing a serial version of GeoBIPy ====================================== @@ -28,7 +28,6 @@ You should then be able to import modules from geobipy. For this type of instal **Side note:** Let's say you ran a production run on a parallel machine with MPI and parallel HDF capabilities. You generated all the results, copied them back to your local machine, and wish to make plots and images. You will only need to install the serial version of the code on your local machine to do this. - Installing a parallel version of GeoBIPy ======================================== Installing the parallel version of the code is a little trickier due to the dependencies necessary between the OpenMPI and/or HDF libraries, and how Python's mpi4py and h5py wrap around those. diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt index b8be16b9..d8e71a9d 100644 --- a/docs/_sources/index.rst.txt +++ b/docs/_sources/index.rst.txt @@ -1,17 +1,29 @@ -.. geobipy documentation master file, created by - sphinx-quickstart on Fri Oct 11 10:02:08 2024. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. +############################################################ +Welcome to GeoBIPy: Geophysical Bayesian Inference in Python +############################################################ -geobipy documentation -===================== +This package uses a Bayesian formulation and Markov chain Monte Carlo sampling methods to +derive posterior distributions of subsurface and measured data properties. +The current implementation is applied to time and frequency domain electromagnetic data. +Application outside of these data types is in development. -Add your content using ``reStructuredText`` syntax. See the -`reStructuredText `_ -documentation for details. +Currently there are two types of data that we have implemented; frequency domain electromagnetic data, +and time domain electromagnetic data. +The package comes with a frequency domain forward modeller, but it does not come with a time domain forward modeller. +See the section :ref:`Installing_time_domain_forward_modeller` for more information. +Using GeoBIPy on Yeti +~~~~~~~~~~~~~~~~~~~~~ + +There is no need to install GeoBIPy on Yeti. +Simply type "module load python/geobipy" for the serial version of the code, mainly used for plotting results, +or "module load python/pGeobipy" for a parallel enabled version. + +`Codebase is here! `_ .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 2 + + content/getting_started/getting_started + content/api/api diff --git a/docs/content/getting_started/getting_started.html b/docs/content/getting_started/getting_started.html index 3a46dbb7..a3d48d00 100644 --- a/docs/content/getting_started/getting_started.html +++ b/docs/content/getting_started/getting_started.html @@ -1,78 +1,37 @@ - - - - - Getting Started — geobipy 2.3.1 documentation - - + + + + + + Getting Started — geobipy 2.3.1 documentation + + + + + + + + + + - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- + +
+
-

Getting Started

+

Getting Started

-
-
- - - +
+
+ + + + + + \ No newline at end of file diff --git a/docs/content/getting_started/installation.html b/docs/content/getting_started/installation.html index 353a17b9..79bd48e2 100644 --- a/docs/content/getting_started/installation.html +++ b/docs/content/getting_started/installation.html @@ -1,100 +1,37 @@ - - - - - Installing GeoBIPy — geobipy 2.3.1 documentation - - + + + + + + Installing GeoBIPy — geobipy 2.3.1 documentation + + + + + + + + + + - - - - - - - - - - - -
- - -
-
-
-
- -
-
-
-
- +
+
-

Installing GeoBIPy

+

Installing GeoBIPy

First things first, install a Python 3.5+ distribution. This is the minimum version that we have tested with. You will also need to install Numpy and a Fortran compiler.

This package has a few requirements depending on what you wish to do with it.

@@ -104,25 +41,25 @@

Installing GeoBIPy -

Installing a serial version of GeoBIPy

+

Installing a serial version of GeoBIPy

This is the easiest installation and provides access to a serial implementation of the code.

Simply clone the git repository, navigate to the package folder that contains the setup.py file, and type “pip install .”

You should then be able to import modules from geobipy. For this type of installation mpi will not need to be installed, and the serial version of h5py will suffice i.e. the standard “pip install h5py” is fine. h5py will automatically be installed during the install of GeoBIPy since it is a dependency.

Side note: Let’s say you ran a production run on a parallel machine with MPI and parallel HDF capabilities. You generated all the results, copied them back to your local machine, and wish to make plots and images. You will only need to install the serial version of the code on your local machine to do this.

-

Installing a parallel version of GeoBIPy

+

Installing a parallel version of GeoBIPy

Installing the parallel version of the code is a little trickier due to the dependencies necessary between the OpenMPI and/or HDF libraries, and how Python’s mpi4py and h5py wrap around those.

-

Installing MPI and mpi4py

+

Installing MPI and mpi4py

To run this code in parallel you will need both an MPI library and the python wrapper, mpi4py. You must install MPI first before mpi4py.

-

MPI

+

MPI

If you are installing GeoBIPy on a parallel machine, I would think that you have access to prebuilt MPI libraries. If you are on a local laptop, you will need to install one.

-

mpi4py

+

mpi4py

At this point, if you have an mpi4py module already installed, please remove it (you can check with “pip list”). If you started with a clean installation you should not have to worry about this. To test whether a new install of mpi4py will see the mpi library you have, just type “which mpicc”. @@ -136,14 +73,14 @@

mpi4py<

-

Installing parallel HDF5 and h5py

+

Installing parallel HDF5 and h5py

If a parallel HDF5 library is not available, you will need to install one. First make sure you follow Installing MPI and mpi4py so that an MPI library is available to you. You must install a HDF5 library first before h5py.

-

HDF5

+

HDF5

When you install HDF5, make sure that the correct MPI library can be seen by typing “which mpicc”. When you configure the HDF5 library, be sure to use the –enable-parallel option.

-

h5py

+

h5py

Once the HDF5 library is installed you will need to install a parallel enabled h5py package

Make sure you are about to install h5py to the correct python installation. If you type ‘which python’ it should return the path to the correct python installation.

First check the following

@@ -160,14 +97,14 @@

h5py<

-

Installing the time domain forward modeller

+

Installing the time domain forward modeller

Ross Brodie at Geoscience Australia has written a great forward modeller, gatdaem1D, in C++ with a python interface. You can obtain that code here at the GA repository

Go ahead and “git clone” that repository.

These instructions only describe how to install Ross’ forward modeller, but it is part of a larger code base for inversion. If you wish to install his entire package, please follow his instructions.

-

Prerequisites

+

Prerequisites

To compile his forward modeller, you will need a c++ compiler, and FFTW

On a Mac, installing these two items is easy if you use a package manager such as homebrew

If you use brew, simply do the following

@@ -190,7 +127,7 @@

Prerequisites -

Compile the gatdaem1d shared library

+

Compile the gatdaem1d shared library

Next, within the gatdaem1d folder, navigate to the makefiles folder and modify the top part of the file “gatdaem1d_python.make” to the following

SHELL = /bin/sh
 .SUFFIXES:
@@ -222,7 +159,7 @@ 

Compile the gatdaem1d shared library -

Installing the Python Bindings

+

Installing the Python Bindings

Finally, to install the python wrapper to gatdaem1d, navigate to the python folder of the gatdaem1d repository. Type,

pip install .
@@ -234,31 +171,66 @@ 

Installing the Python Bindings +
+

geobipy

+ + + + + + + + +

Navigation

+ +
+

Related Topics

+ +
+ + + + + + -
-
-

© Copyright 2024, Leon Foks, Burke Minsley.

-
- Built with Sphinx using a - theme - provided by Read the Docs. - -

-
-
- +
+
+ + + - + + \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html index faeb0d8e..72548498 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -53,6 +53,9 @@

geobipy

Navigation

+

Related Topics

diff --git a/docs/index.html b/docs/index.html index c65ea4c1..3379a912 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ - geobipy documentation — geobipy 2.3.1 documentation + Welcome to GeoBIPy: Geophysical Bayesian Inference in Python — geobipy 2.3.1 documentation @@ -13,6 +13,7 @@ + @@ -30,13 +31,31 @@
-
-

geobipy documentation

-

Add your content using reStructuredText syntax. See the -reStructuredText -documentation for details.

+
+

Welcome to GeoBIPy: Geophysical Bayesian Inference in Python

+

This package uses a Bayesian formulation and Markov chain Monte Carlo sampling methods to +derive posterior distributions of subsurface and measured data properties. +The current implementation is applied to time and frequency domain electromagnetic data. +Application outside of these data types is in development.

+

Currently there are two types of data that we have implemented; frequency domain electromagnetic data, +and time domain electromagnetic data. +The package comes with a frequency domain forward modeller, but it does not come with a time domain forward modeller. +See the section Installing the time domain forward modeller for more information.

+
+

Using GeoBIPy on Yeti

+

There is no need to install GeoBIPy on Yeti. +Simply type “module load python/geobipy” for the serial version of the code, mainly used for plotting results, +or “module load python/pGeobipy” for a parallel enabled version.

+

Codebase is here!

+
@@ -56,11 +75,15 @@

geobipy

Navigation

+

Related Topics

diff --git a/docs/objects.inv b/docs/objects.inv index a8a152cb..acba415f 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/search.html b/docs/search.html index a3e6c64e..bd85e05a 100644 --- a/docs/search.html +++ b/docs/search.html @@ -80,6 +80,9 @@

geobipy

Navigation

+

Related Topics

diff --git a/docs/searchindex.js b/docs/searchindex.js index d6ae8c55..117ab267 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"geobipy documentation": [[0, null]]}, "docnames": ["index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["index.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"add": 0, "content": 0, "detail": 0, "restructuredtext": 0, "see": 0, "syntax": 0, "us": 0, "your": 0}, "titles": ["geobipy documentation"], "titleterms": {"document": 0, "geobipi": 0}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Compile the gatdaem1d shared library": [[1, "compile-the-gatdaem1d-shared-library"]], "Getting Started": [[0, null]], "HDF5": [[1, "hdf5"]], "Installing GeoBIPy": [[1, null]], "Installing MPI and mpi4py": [[1, "installing-mpi-and-mpi4py"]], "Installing a parallel version of GeoBIPy": [[1, "installing-a-parallel-version-of-geobipy"]], "Installing a serial version of GeoBIPy": [[1, "installing-a-serial-version-of-geobipy"]], "Installing parallel HDF5 and h5py": [[1, "installing-parallel-hdf5-and-h5py"]], "Installing the Python Bindings": [[1, "installing-the-python-bindings"]], "Installing the time domain forward modeller": [[1, "installing-the-time-domain-forward-modeller"]], "MPI": [[1, "mpi"]], "Prerequisites": [[1, "prerequisites"]], "Using GeoBIPy on Yeti": [[2, "using-geobipy-on-yeti"]], "Welcome to GeoBIPy: Geophysical Bayesian Inference in Python": [[2, null]], "h5py": [[1, "h5py"]], "mpi4py": [[1, "mpi4py"]]}, "docnames": ["content/getting_started/getting_started", "content/getting_started/installation", "index"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["content/getting_started/getting_started.rst", "content/getting_started/installation.rst", "index.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": 1, "11": 1, "3": 1, "5": 1, "7": 1, "At": 1, "For": 1, "If": 1, "In": 1, "It": 1, "ON": 1, "On": 1, "The": [1, 2], "There": [1, 2], "These": 1, "To": 1, "abl": 1, "about": 1, "access": 1, "activ": 1, "add": [], "ahead": 1, "all": 1, "alreadi": 1, "also": 1, "an": 1, "appli": 2, "applic": 2, "ar": [1, 2], "around": 1, "australia": 1, "automat": 1, "avail": 1, "avoid": 1, "back": 1, "backend": 1, "base": 1, "becaus": 1, "befor": 1, "below": 1, "between": 1, "bin": 1, "binari": 1, "bindir": 1, "both": 1, "brew": 1, "brodi": 1, "build": 1, "c": 1, "call": 1, "can": 1, "capabl": 1, "carlo": 2, "case": 1, "cc": 1, "cd": 1, "cellar": 1, "chain": 2, "check": 1, "clean": 1, "clone": 1, "code": [1, 2], "codebas": 2, "come": 2, "commun": 1, "configur": 1, "contain": 1, "content": [], "copi": 1, "correct": 1, "correctli": 1, "cpp": 1, "current": 2, "cxx": 1, "cxxflag": 1, "dai": 1, "data": [1, 2], "depend": 1, "deriv": [1, 2], "describ": 1, "detail": [], "determin": 1, "develop": 2, "directori": 1, "distribut": [1, 2], "do": 1, "doe": 2, "domain": 2, "download": 1, "due": 1, "dure": 1, "e": 1, "easi": 1, "easier": 1, "easiest": 1, "electromagnet": 2, "enabl": [1, 2], "end": 1, "entir": 1, "env": 1, "environ": 1, "f": 1, "few": 1, "fftw": 1, "fftw_dir": 1, "file": 1, "final": 1, "find": 1, "fine": 1, "first": 1, "folder": 1, "follow": 1, "formul": 2, "fortran": 1, "forward": 2, "fpic": 1, "frequenc": [1, 2], "from": 1, "g": 1, "ga": 1, "gatdaem1d_python": 1, "gcc": 1, "gener": 1, "geobipi": 0, "geoscienc": 1, "get": [1, 2], "git": 1, "go": 1, "great": 1, "gz": 1, "ha": 1, "handl": 1, "have": [1, 2], "hdf": 1, "hdf5_dir": 1, "hdf5_mpi": 1, "here": [1, 2], "hi": 1, "homebrew": 1, "how": 1, "i": [1, 2], "imag": 1, "implement": [1, 2], "import": 1, "includ": 1, "info": 1, "inform": 2, "instal": [0, 2], "instead": 1, "instruct": 1, "interfac": 1, "invers": 1, "io": 1, "item": 1, "its": 1, "just": 1, "know": 1, "l": 1, "laptop": 1, "larger": 1, "last": 1, "ldflag": 1, "let": 1, "lfftw3": 1, "lib": 1, "like": 1, "link": 1, "list": 1, "littl": 1, "load": 2, "local": 1, "locat": 1, "m": 1, "mac": 1, "machin": 1, "mai": 1, "mainli": 2, "make": 1, "makefil": 1, "manag": 1, "markov": 2, "measur": 2, "method": 2, "might": 1, "minimum": 1, "mkdir": 1, "model": 2, "modifi": 1, "modul": [1, 2], "mont": 2, "more": 2, "mpicc": 1, "mpich2": 1, "must": 1, "navig": 1, "necessari": 1, "need": [1, 2], "new": 1, "next": 1, "note": 1, "now": 1, "numpi": 1, "o": 1, "o3": 1, "obj": 1, "objdir": 1, "object": 1, "obtain": 1, "onc": 1, "one": 1, "onli": 1, "openmpi": 1, "option": 1, "orient": 1, "out": 1, "outsid": 2, "own": 1, "packag": [1, 2], "parallel": 2, "part": 1, "path": 1, "pgeobipi": 2, "pip": 1, "pleas": 1, "plot": [1, 2], "point": 1, "posterior": 2, "prebuilt": 1, "prefix": 1, "product": 1, "program": 1, "properti": 2, "provid": 1, "py": 1, "ran": 1, "read": 1, "recommend": 1, "remov": 1, "replac": 1, "repositori": 1, "requir": 1, "restructuredtext": [], "result": [1, 2], "return": 1, "ross": 1, "run": 1, "sai": 1, "same": 1, "sampl": 2, "section": 2, "see": [1, 2], "seen": 1, "serial": 2, "setup": 1, "sh": 1, "shell": 1, "should": 1, "side": 1, "simpli": [1, 2], "sinc": 1, "so": 1, "someth": 1, "sourc": 1, "src": 1, "srcdir": 1, "standard": 1, "start": [1, 2], "std": 1, "subsurfac": 2, "suffic": 1, "suffix": 1, "sure": 1, "syntax": [], "tar": 1, "test": 1, "them": 1, "thi": [1, 2], "thing": 1, "think": 1, "those": 1, "thread": 1, "time": 2, "top": 1, "tradit": 1, "trickier": 1, "try": 1, "two": [1, 2], "type": [1, 2], "untar": 1, "us": 1, "usr": 1, "veri": 1, "version": 2, "wa": 1, "wall": 1, "want": 1, "we": [1, 2], "well": 1, "what": 1, "when": 1, "where": 1, "whether": 1, "which": 1, "wish": 1, "within": 1, "without": 1, "work": 1, "worri": 1, "would": 1, "wrap": 1, "wrapper": 1, "write": 1, "written": 1, "you": 1, "your": 1, "zxvf": 1}, "titles": ["Getting Started", "Installing GeoBIPy", "Welcome to GeoBIPy: Geophysical Bayesian Inference in Python"], "titleterms": {"bayesian": 2, "bind": 1, "compil": 1, "document": [], "domain": 1, "forward": 1, "gatdaem1d": 1, "geobipi": [1, 2], "geophys": 2, "get": 0, "h5py": 1, "hdf5": 1, "infer": 2, "instal": 1, "librari": 1, "model": 1, "mpi": 1, "mpi4pi": 1, "parallel": 1, "prerequisit": 1, "python": [1, 2], "serial": 1, "share": 1, "start": 0, "time": 1, "us": 2, "version": 1, "welcom": 2, "yeti": 2}}) \ No newline at end of file