{ "info": { "author": "Tyler J. Nigon", "author_email": "nigo0024@umn.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3" ], "description": "## README\n\n### About\nFor more information and tutorials, check out the [EONR documentation](https://eonr.readthedocs.io/en/latest/).\n\n``EONR`` is a Python package for computing the economic optimum nitrogen fertilizer rate using data from agronomic field trials under economic conditions defined by the user (i.e., grain price and fertilizer cost).\nIt can be used for any crop (e.g., corn, wheat, potatoes, etc.), but the current version only supports use of the quadratic-plateau piecewise model.\n\n**Therefore, use caution in making sure that a quadratic-plateau model is appropriate for your application.**\n\n*Future versions should add support for other models (quadratic, spherical, etc.) that may improve the fit of experimental yield response to nitrogen for other crops.*\n\n#### Data requirements\nThe minimum data requirement to utilize this package is observed (or simulated) experimental data of agronomic yield response to nitrogen fertilizer.\nIn other words, your experiment should have multiple nitrogen rate treatments, and you should have measured the yield for each experimental plot at the end of the season.\nSuitable experimental design for your particular experiment is always suggested (e.g., it should probably be replicated).\n\n#### Intended audience\nThe intended audiences for this package are agricultural researchers, private sector organizations and consultants that support farmers, and of course those inquisitive farmers that always want to know more about their soils and the environment around them.\n\n#### Concept of the EONR\nThe concept behind the *Economic Optimum Nitrogen Rate* approach (also referred to as the *Maximum Return to Nitrogen* approach) is to make the most favorable nitrogen fertilizer recommendation considering three variables:\n\n* Grain price ($ per kg)\n* Fertilizer cost ($ per kg)\n* Grain yield response to nitrogen fertilizer (modeled from input data)\n\n[Corn nitrogen rate response experiment in Minnesota (photo captured in July when the crop is about shoulder-high)](docs/_images/intro_diagram_grey.png)\n\nOn the left is a corn nitrogen rate response experiment in Minnesota (photo captured in July when the crop is about shoulder-high).\nNotice the different shades of green in the crop canopy - the dark, lush green is indicative of sufficient nitrogen availability and the lighter green is indicative of nitrogen stress.\nThe ``EONR`` Python package was used to compute the economic optimum nitrogen rate (and its 90% confidence intervals) using experimental data, as illustrated in the plot on the right.\n\nFor more information about how the economic optimum nitrogen rate is calculated, see the Background section of the EONR Documentation.\n\n#### Motivation for development of ``EONR``\nAlthough calculation of the economic optimum nitrogen rate (EONR) from a nitrogen response experiment is a trivial task for agronomic researchers, the computation of its confidence intervals are not.\nThis is especially true for calculating confidence intervals for data that are explained best with a quadratic-plateau model, which is generally thought of as the most appropriate model for describing yield response to nitrogen in corn.\nWith the ``EONR`` package available and accessible, I hope all published EONR research also reports the confidence intervals of the maximum likelihood EONR.\nFurthermore, I hope this package enables researchers and farmers to take a closer look at evaluating what *the best* nitrogen rate may be.\nThe EONR considers the cost of nitrogen in addition to the price a farmer receives for their grain. This is great, but this package takes this concept one step further with an added *social cost of nitrogen*.\nTo consider the environmental or social effect of nitrogen application in agriculture, two things are necessary:\n\n* We have to make it a habit to measure total crop nitrogen uptake (or at least residual soil nitrogen) at the end of the season.\n* As a society we have to do a better job of putting a value on the cost of pollution caused by nitrogen fertilizers.\n\nThis second point is especially tricky because it is *very subjective* and everyone will have a different opinion.\nIt's a complex question whose answer changes not only from watershed to watershed, but from household to household, and perhaps even within a household.\n\nAlthough it is important to recognize that nitrogen probably has some social cost, it is just as important to figure out who pays for that cost. Just remember, farmers farm to produce food and earn a living, they don't farm to pollute the water and air.\nSure, they definitely bear a lot of responsibility in managing their land and their inputs, but that doesn't mean they should also bear all the costs.\nIf we as a society recognize that pollution caused by nitrogen fertilizer in agriculture is indeed a problem, we should work together to figure out how to support the farmers to help fix the problem (or at least stop it from getting worse).\n\nAfter all, **farmers farm to grow food, they don't farm to pollute**, *right?*\n\n#### Acknowledgments\nDevelopment of the `EONR` package was possible because of financial support from [Minnesota's Discovery, Research, and InnoVation Economy](https://mndrive.umn.edu) and the University of Minnesota. The [MnDRIVE Global Food Ventures initiative](https://mndrive.umn.edu/food) and [University of Minnesota Informatics Institute](https://research.umn.edu/units/umii) each provided one year of financial support.\n\nFinancial support and other contributions from my graduate advisors, [Dr. David Mulla](https://www.swac.umn.edu/directory/faculty/david-mulla) and [Dr. Ce Yang](https://bbe.umn.edu/directory/faculty/ceyang), were invaluable in the initial development and publication of `EONR`. [Dr. Daniel Kaiser](https://www.swac.umn.edu/directory/faculty/daniel-kaiser) also played a key role in this project, notably through his efforts in organizing and carrying out many of the field experiments that provided necessary data for this project.\n\nThis project is part of a larger project being conducted in fulfillment of my PhD degree in Land and Atmospheric Science. Check out my [personal website](https://tylernigon.me) for an overview of some of my other work.\n\n## Troubleshooting\nPlease report any issues you encounter through the [Github issue tracker](https://github.com/tnigon/eonr).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tnigon/eonr", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "eonr", "package_url": "https://pypi.org/project/eonr/", "platform": "", "project_url": "https://pypi.org/project/eonr/", "project_urls": { "Homepage": "https://github.com/tnigon/eonr" }, "release_url": "https://pypi.org/project/eonr/0.2.0/", "requires_dist": [ "nbsphinx", "matplotlib", "numpy", "pandas", "scikits.bootstrap", "scipy", "seaborn", "uncertainties" ], "requires_python": "", "summary": "A tool for calculating economic optimum nitrogen rates", "version": "0.2.0" }, "last_serial": 5717837, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "81682857fb2c25541c0533feef8cf8b4", "sha256": "21817e5092c210495871880285f57e86a6e1b720ec01706e71b2a4b63c2e9dd2" }, "downloads": -1, "filename": "eonr-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "81682857fb2c25541c0533feef8cf8b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35922, "upload_time": "2019-03-30T18:13:27", "url": "https://files.pythonhosted.org/packages/80/8a/7c6b7962240db219f0c0394832be5cc9c90b61e12cc65560a2337c154f04/eonr-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e26f728e072234399598b411a4c8e0d9", "sha256": "2fd32bb06b0b5d05bde8a9ee5d43df1225029608ade441e7a21dfef739131696" }, "downloads": -1, "filename": "eonr-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e26f728e072234399598b411a4c8e0d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34664, "upload_time": "2019-03-30T18:13:29", "url": "https://files.pythonhosted.org/packages/aa/b9/517525e19fd3884ca5016f1836111b4ef38b9c6c11f0901d463f80ce0481/eonr-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ad318f2f0f3cfa9246b1322d8761102d", "sha256": "bb4293217ac7f4d13465b8a663a535a49fd5cd5a3aa9154e7e77ec019acd73b4" }, "downloads": -1, "filename": "eonr-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ad318f2f0f3cfa9246b1322d8761102d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 519810, "upload_time": "2019-03-31T22:10:15", "url": "https://files.pythonhosted.org/packages/dc/ef/e0c477edf18f7b12dcd3bd4cc1fc4f351a72e84419783a0dcbc553511aa2/eonr-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "458ab584e9c15c4e0e55043f20e5aa24", "sha256": "7a26b980ece6a666523fa07a51d7f65a5d63ddbb26a1bcbf1ce1ae6f0642ceb6" }, "downloads": -1, "filename": "eonr-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "458ab584e9c15c4e0e55043f20e5aa24", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 557715, "upload_time": "2019-06-05T04:27:37", "url": "https://files.pythonhosted.org/packages/ec/9b/582c7ff70230eb00f7799463be24d7a34c69950bebaeab4945848d568b99/eonr-0.1.4-py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "22d1f20dcbda41cd2e3b91ca123076bb", "sha256": "9f754307a86887771c6688e598bae3d1bf8f205aae65feb2ac354e36f0c8e505" }, "downloads": -1, "filename": "eonr-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "22d1f20dcbda41cd2e3b91ca123076bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 567206, "upload_time": "2019-08-22T23:24:36", "url": "https://files.pythonhosted.org/packages/68/3c/8e039ecdaf37067163f5979bbdecac669177e8f8c0680faf188ed0c6cd2e/eonr-0.2.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "22d1f20dcbda41cd2e3b91ca123076bb", "sha256": "9f754307a86887771c6688e598bae3d1bf8f205aae65feb2ac354e36f0c8e505" }, "downloads": -1, "filename": "eonr-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "22d1f20dcbda41cd2e3b91ca123076bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 567206, "upload_time": "2019-08-22T23:24:36", "url": "https://files.pythonhosted.org/packages/68/3c/8e039ecdaf37067163f5979bbdecac669177e8f8c0680faf188ed0c6cd2e/eonr-0.2.0-py3-none-any.whl" } ] }