{ "info": { "author": "Esteban Acevedo-Trejos", "author_email": "esteban.acevedo@zmt-bremen.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Natural Language :: English", "Programming Language :: Python", "Topic :: Education", "Topic :: Scientific/Engineering" ], "description": "PhytoSFDM: Phytoplankton Size and Functional Diversity Model\n============================================================\n\nPhytoSFDM is a modelling framework for studying the size structure and the \nfunctional diversity of marine phytoplankton communities. The provided software \nconsist of three modules that allows the user to calculate aggregate community \nproperties of phytoplankton in a 0 dimensional physical setting at any particular \nlocation of the world\u2019s ocean.\n\nThe structure of all model variants are based on the familiar NPZD form as in \nthe seminal work of Fasham (1990), where ordinary differential equations for \nnutrients, phytoplankton, zooplankton, and detritus trace the fluxes between \nthese state variables. Here we extended this traditional modelling structure \nby characterising the phytoplankton community with a trait (i.e. cell size) \nand a trade-off emerging from three allometric relationships between, cell \nsize and: 1) phytoplankton nutrient uptake, 2) zooplankton grazing, and 3)\nphytoplankton sinking. In these models the size structure and size diversity \nof the phytoplankton community is modelled by explicitly quantifying a \nfinite number of phytoplankton morphotypes, each type with a specific size \nvalue (i.e. full model); or by approximating the size distribution using a \nmoment closure technique, where we only quantified the total biomass, the mean \nsize, and the size variance of the community (i.e. aggregate models). These\napproaches are inspired by early works of Wirtz & Eckhardt (1996), Norberg et al.\n(2001), Bruggeman & Koojiman (2007), Bruggeman (2009) and Merico et al. (2009). \nSome examples of more recent applications of the moment-based approximation are \nWirtz (2013), Wirtz & Sommer (2013), Terseleer et al. (2014), and Acevedo-Trejos et al.\n(2015). \n\nThe three main modules of the package are: example, sizemodels, and envforcing.\nThe example module is the entry point of the package, which computes and compares\nthe two main model structures (full and aggregate) and the four variance \ntreatments (Unsustained, Fixed, Immigration and Trait Diffusion) at a testing\nlocation in the north Atlantic Ocean. The module sizemodels contains a single\nclass with methods to quantify the phytoplankton size structure and their \nfunctional diversity. Also within this class we provide methods to: a) modify \nthe default parameters, b) symbolically solve the derivatives of the fitness \nfunction with respect to the trait, and c) log-transform the mean trait and\nthe trait variance. The last module envforcing consist of one class with methods\nto extract a spatially averaged forcing data provided in the NetCDF files. The \nclimatological data is at a monthly resolution, thus, a method to interpolate to\ndaily time step is also included in this module. \n\nHow to Install\n--------------\n\nWe assume the user have a running version of Python 2.7.x and have permissions\nto write in the folder where the python distribution is installed. Still the \npackage have not been tested in Python 3.x, but further developments of the\npackage will be compatible to newer versions of Python. To install it the user\nwould require the latest versions of pip and setuptools. Additional dependencies\nare: matplotlib (version 1.4.3 or greater), numpy (version 1.9.2 or greater), \nscipy (version 0.15.1 or greater), sympy (version 0.7.6.1 or greater) and\nbasemap (verision 1.0.7 or greater).\n\nTo install the package using pip just type in a terminal (Unix like systems) \nor in a command prompt window (Windows systems):\n\n$ pip install PhytoSFDM\n\nTo install the package from the tarball, just download the file from GitHub. \nThen untar and unzip the file with a specific software like WinRAR (in Windows) \nor type in a terminal (Unix like systems): \n\n$ tar xvfz PhytoSFDM-X.X.X.tar.gz\n\nwhere the Xs are the respective version of the package. Then inside the extracted\nfolder \"PhytoSFDM\", type the following command:\n\n$ python setup.py install\n\nIf you do not have permission to write in the python distribution folder then\nuse command sudo before the suggested installation lines (Unix like systems).\n\nUsage\n-----\n\nThe example calculates all the model variants at a testing location in the\nAtlantic Ocean (47.5\u00b0 N and 15.5\u00b0 W). To run the example just type in a terminal:\n\n$ PhytoSFDM_example\n\nor alternatively in an interactive python console you can import the example and \nrun it by typing:\n\n>>> import phytosfdm.Example.example as exmp\n>>> exmp.main() \n\nTo calculate one of the five model variants (Full, Immigration, Trait Diffusion, \nFix Variance and Unsustained Variance) at a specific set of coordinates, one\ncan import the required library in an interactive python console as:\n\n>>> from phytosfdm.SizeModels.sizemodels import SM\n>>> Lat = 47.5\n>>> Lon = -15.5\n>>> RBB = 2.5\n>>> SM1 = SM(Lat,Lon,RBB,\"Imm\")\n\nwhere SM is the class that contains all the methods to calculate a specific size\nmodel, Lat and Lon are Latitude (-90 to 90 degrees, North positive) and Longitude\n(-180 to 180 degrees, East positive), RBB is the range of the bounding box (in degrees)\nfor averaging the environmental forcing variables and SM1 is an object that \ncontains the results of the size model with an immigration treatment. After \nexecution the results of the model can be accessed by:\n\n>>> SM1.outvariables\n\nIn the multidimensional array \"SM1.outvariables\" the first dimension is time (e.g. \n3650 days if the model is run with default parameters of 10 years) and the second dimension\ncontains the state variables, for the full model, or the state variables and the \ndummy variables for the aggregate models.\n\nTo access all attribute values of the class\ninstance \"SM1\" one can type in an interactive python console:\n\n>>> SM1.__dict__\n\nTo modify the default parameter values, for example, the user can call a new class\ninstance with a tuple list with the parameter name and its new value:\n\n>>> SM2 = SM(Lat,Lon,RBB,\"Imm\",defaultParams=False,ListParams=[(\"timeyears\",5),(\"muP\",1.5])\n\nPlease refer to the documentation inside of the class and its methods\nfor further details.\n\nNews\n----\n**Version 1.1.x**\\ Three new methods were added to PhytoSFDM. Two in the class SM, which allow to\na) test the effect of fixing phytoplankton mean cell size in the two size dependent processes\n(grazing or nutrient uptake), and b) test the effect of fixing the change over time of simultaneously\nthe mean size and the size variance. The test using the new methods can be executed as:\n\n>>> SM3 = SM(Lat,Lon,RBB,\"Imm_NuGTest\",fixs=np.log(3),fixsg=True)\n\n>>> SM4 = SM(Lat,Lon,RBB,\"Imm_NuGTest\",default=False,listparams=[('N0', 10.)],fixn0x=True)\n\n>>> SM5 = SM(Lat,Lon,RBB,\"Imm_FixMeanVar\",default=False,listparams=[('L_var0',5.0),('L_mean0',np.log(3)) ],fixn0x=True)\n\nThe last new method on version 1.1.x allow to visualize the four environmental forcing variables\nat the selected location:\n\n>>> from phytosfdm.EnvForcing.envforcing import ExtractEnvFor\n>>> mld = ExtractEnvFor(Lat,Lon,RBB,'mld')\n>>> mld.selected_area_plots()\n\n\nAcknowledgements\n----------------\nI would like to thank Jorn Bruggeman for his valuable contribution to an \nearlier version of the size-based model and my colleagues, Gunnar Brandt,\nS. Lan Smith and Agostino Merico for their continuous support and encouragement\nto complete this project.\n\nReferences\n----------\n\nAcevedo-Trejos, E., Brandt, G., Bruggeman, J. & Merico, A. Mechanisms shaping phytoplankton community structure and diversity in the ocean. Sci. Rep. 5, 8918 (2015).\n\nBruggeman, J. & Kooijman, S. A. L. M. A biodiversity-inspired approach to aquatic ecosystem modeling. Limnol. Oceanogr. 52, 1533\u20131544 (2007).\n\nBruggeman, J. Succession in plankton communities: A trait-based perspective. (2009).\n\nFasham, M., Ducklow, H. W. & Mckelvie, S. M. A nitrogen-based model of plankton dynamics in the oceanic mixed layer. J. Mar. Res. 48, 591\u2013639 (1990).\n\nMerico, A., Bruggeman, J. & Wirtz, K. A trait-based approach for downscaling complexity in plankton ecosystem models. Ecol. Modell. 220, 3001\u20133010 (2009).\n\nNorberg, J. et al. Phenotypic diversity and ecosystem functioning in changing environments: a theoretical framework. Proc. Natl. Acad. Sci. 98, 11376\u201381 (2001).\n\nTerseleer, N., Bruggeman, J., Lancelot, C. & Gypens, N. Trait-based representation of diatom functional diversity in a plankton functional type model of the eutrophied Southern North Sea. Limnol. Oceanogr. 59, 1\u201316 (2014).\n\nWirtz, K. W. Mechanistic origins of variability in phytoplankton dynamics: Part I: niche formation revealed by a size-based model. Mar. Biol. 160, 2319\u20132335 (2013).\n\nWirtz, K. W. & Sommer, U. Mechanistic origins of variability in phytoplankton dynamics. Part II: analysis of mesocosm blooms under climate change scenarios. Mar. Biol. 160, 2503\u20132516 (2013).\n\nWirtz, K. W. & Eckhardt, B. Effective variables in ecosystem models with an application to phytoplankton succession. Ecol. Modell. 92, 33\u201353 (1996).", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SEGGroup/PhytoSFDM", "keywords": "", "license": "GPLv2", "maintainer": "", "maintainer_email": "", "name": "PhytoSFDM", "package_url": "https://pypi.org/project/PhytoSFDM/", "platform": "", "project_url": "https://pypi.org/project/PhytoSFDM/", "project_urls": { "Homepage": "https://github.com/SEGGroup/PhytoSFDM" }, "release_url": "https://pypi.org/project/PhytoSFDM/1.1.1/", "requires_dist": null, "requires_python": "", "summary": "PhytoSFDM is a modelling framework to quantify phytoplankton community structure and functional diversity", "version": "1.1.1" }, "last_serial": 4092870, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d55eb3a2809a07e13266ecd908e4ba60", "sha256": "40d005cdd0f0d8d7a98ab07cb92d309ec3652e634fcf4ebbd208392c05227901" }, "downloads": -1, "filename": "PhytoSFDM-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d55eb3a2809a07e13266ecd908e4ba60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60524672, "upload_time": "2016-04-15T13:15:17", "url": "https://files.pythonhosted.org/packages/b7/7d/63a57fd6569d5360d955e42e79490230eed00b0706023e803930c97b0c72/PhytoSFDM-1.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "23aa26da3ec7f2c1670e5692ccc7f5c4", "sha256": "4e2b75d2cc512908bc8baea13141c331650902f31feb23ab5f2a3bd534d2c099" }, "downloads": -1, "filename": "PhytoSFDM-1.0.1.tar.gz", "has_sig": false, "md5_digest": "23aa26da3ec7f2c1670e5692ccc7f5c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60524665, "upload_time": "2016-05-26T19:42:04", "url": "https://files.pythonhosted.org/packages/3e/ce/95d749382e91e199b2a7811bf75646c3feb6d5413c0d9ff5f69ce0bb8c04/PhytoSFDM-1.0.1.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "da5312db694f327f9251edc50db11c6c", "sha256": "f4fb24635e8909f6476726d9e90db4f2572471d70ba98c8b3d8cd2003e8eadb2" }, "downloads": -1, "filename": "PhytoSFDM-1.0.4.tar.gz", "has_sig": false, "md5_digest": "da5312db694f327f9251edc50db11c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60525031, "upload_time": "2017-07-21T21:25:35", "url": "https://files.pythonhosted.org/packages/fe/12/4be450f11f5d43f6dc9e71f0517346ed29fc67eb3c78932bbda4cbb7a658/PhytoSFDM-1.0.4.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "173e4363d617ded6d2983c206ea695d9", "sha256": "9ed0b1560ef903f979d4363d2dab74f5271e3cf9bb1289403f0b32bdea3064b7" }, "downloads": -1, "filename": "PhytoSFDM-1.1.1.tar.gz", "has_sig": false, "md5_digest": "173e4363d617ded6d2983c206ea695d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60520661, "upload_time": "2018-07-23T12:14:24", "url": "https://files.pythonhosted.org/packages/0a/f0/37618b8c13819a14c2f8b26772f0ed6bd296b543b2c2bbb5fdf881b974ef/PhytoSFDM-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "173e4363d617ded6d2983c206ea695d9", "sha256": "9ed0b1560ef903f979d4363d2dab74f5271e3cf9bb1289403f0b32bdea3064b7" }, "downloads": -1, "filename": "PhytoSFDM-1.1.1.tar.gz", "has_sig": false, "md5_digest": "173e4363d617ded6d2983c206ea695d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60520661, "upload_time": "2018-07-23T12:14:24", "url": "https://files.pythonhosted.org/packages/0a/f0/37618b8c13819a14c2f8b26772f0ed6bd296b543b2c2bbb5fdf881b974ef/PhytoSFDM-1.1.1.tar.gz" } ] }