Fortran core of TRACMASS + Python wrapping around the outside.
Forked from TracPy v1.0 with minor changes in:
I recommend setting up a good python environment for this work, as follows:
-
If you do not have anaconda or miniconda install miniconda:
- download file from Continuum
bash [download file]
-
Set
conda-forge
to be highest-priority channel (this helps the geography libraries like cartopy that connect to the geos library be all consistent)conda config --add channels conda-forge --force
-
Create environment called "tracpy", reinforce conda-forge usage and I need to install pyproj (some of the listed packages are required and some are just suggested because they are useful)
conda create --name tracpy --channel conda-forge python=3.6 cartopy matplotlib ipython netCDF4 fiona shapely pandas xarray cmocean jupyter scipy numpy seaborn pyproj --yes
-
To use environment:
conda activate tracpy
-
Need to also have
octant
:cd ~
git clone https://github.com/hetland/octant.git
cd octant
pip install -e .
-
Make sure you installed
octant
:conda list octant
-
Get
tracpy
source code:cd ~
git clone https://github.com/douglasnehme/tracpy.git
cd tracpy
pip install -e .
- This makes the package an editable install so that it can be updated with future additions to TracPy. To instead install the package locally:
pip install --user .
Note that a required package is octant.
-
Make sure you installed
tracpy
:conda list tracpy
-
To stop using environment (in a given terminal window):
conda deactivate
-
To install more packages later:
conda install --channel conda-forge [package name]
-
If have problems with any python dependencies, one possibility is to create the conda environment based on a tested (not exhaustively) .yml file. But first remove the previous
tracpy
environment:conda remove --name tracpy --all
-
Recreate the
tracpy
based on the .yml filecd ~
conda env create -f tracpy/tracpy_numa7_sep2021.yml
[Not tested from here]
Run the manual in /docs
with jupyter notebook
- Move into your TracPy directory.
- Update your GitHub repository.
git pull
- Edit your install of TracPy.
pip install -e .
orpip install --force-reinstall -e .
or, for local installation:pip install --ignore-installed --user .
- After making changes to the code, you can do some basic functionality testing with
py.test
ornosetests
in thetests
subdirectory.
Learn more by running a small test case. Internet required.
- Open an iPython notebook server in the TracPy
docs
directory.ipython notebook
- A webpage will open in your browser showing the available notebooks in the current directory. Open the notebook called manual.
- The cells of the notebook can be run in order by pushing "shift" and "enter" together or the whole notebook can be run by selecting Cell > Run all. The notebook demonstrates how to initialize and run a numerical drifter experiment using TracPy.
- Alternatively, a static PDF version of the manual can be viewed at
http://nbviewer.ipython.org/urls/raw.github.com/kthyng/tracpy/master/docs/manual.ipynb
.
For projects, it is suggested to start a separate directory with its own initialization and run file for the simulation(s). Then TracPy can be imported as a module and the run script can be run from the project. An example set of projects can be found at https://github.com/kthyng/gisr.git
.
- Döös, K., Kjellsson, J., & Jönsson, B. (2013). TRACMASS—A Lagrangian Trajectory Model. In Preventive Methods for Coastal Protection (pp. 225-249). Springer International Publishing.
- Döös, K., Rupolo, V., & Brodeau, L. (2011). Dispersion of surface drifters and model-simulated trajectories. Ocean Modelling, 39(3), 301-310.
- Döös, K., & Engqvist, A. (2007). Assessment of water exchange between a discharge region and the open sea–A comparison of different methodological concepts. Estuarine, Coastal and Shelf Science, 74(4), 709-721.
- TRACMASS on GitHub: https://github.com/TRACMASS