{ "info": { "author": "Peter Holtermann", "author_email": "peter.holtermann@io-warnemuende.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering" ], "description": "\nPython toolbox to read and process Seabird_ cnv files.\n\n.. _Seabird: http://www.seabird.com/\n\nThese text files are the standard output files of the Seabird CTD software.\n\nThe main purpose for pycnv is to create a standardised interface for\nslightly differing naming conventions of sensors in the cnv files and\nthe usage of the `Gibb Sea Water Toolbox (gsw) `_\nfor the calculation of all\nderived parameters as practical salinity, absolute salinity, potential\nand conservative temperature or density. For this purpose pycnv does\nonly need pressure, conductivity and temperature, all other properties\nwill be derived from these. Furthermore pycnv will take care for a\ndifferent absolute salinity computation in the Baltic Sea, by\nautomatically checking of a cast was made in the Baltic Sea and\nchoosing the correct function.\n\n\nInstall\n-------\n\nThe package was developed using python 3.5+, it might work with\nearlier versions, but its not supported. The newest\n`Gibb Sea Water Toolbox (gsw) `_\ndepends also on python 3.5+, pycnv heavily depends on the gsw toolbox. It\ntherefore strongly recommended to use python 3.5+.\n\nUser\n____\n\n\nInstall as a user using pip\n\n.. code:: bash\n\t \n pip install pycnv\n\nInstall as a user from the repository\n\n.. code:: bash\n\t \n python setup.py install --user\n\nUninstall as a user\n \n.. code:: bash\n\t \n pip uninstall pycnv\n\n\n\nDeveloper\n_________\n\nInstall as a developer\n\n.. code:: bash\n\t \n python setup.py develop --user\n\nUninstall as a user\n \n.. code:: bash\n\t \n pip uninstall pycnv\n\n\nFEATURES\n--------\n\n- The data can be accessed by the original names defined in the cnv\n file in the named array called data. E.g. header name \"# name 11 =\n oxsatML/L: Oxygen Saturation, Weiss [ml/l]\" can be accessed like\n this: data['oxsatML/L'].\n\n- Standard parameters (Temperature, Conductivity, pressure, oxygen)\n are mapped to standard names. E.g. data['T0'] for the first\n temperature sensor and data['C1'] for the second conductivity sensor.\n\n- If the standard parameters (C0,T0,p), (C1,T1,p) are available the\n Gibbs Sea water toolbox is used to calculate absolute salinity, SA,\n conservative temperature, CT, and potential temperature pt. The data\n is stored in a second field called computed data:\n cdata. E.g. cdata['SA00']. The code used to compute the properties\n are\n \n .. code:: python\n\t \n SP = gsw.SP_from_C(data['C' + isen], T, data['p'])\n SA = gsw.SA_from_SP(SP,data['p'],lon = lon, lat = lat)\n if(baltic == True):\n\t SA = gsw.SA_from_SP_Baltic(SA,lon = lon, lat = lat)\n \n\t PT = gsw.pt0_from_t(SA, T, data['p'])\n CT = gsw.CT_from_t(SA, T, data['p']) \n pot_rho = gsw.pot_rho_t_exact(SA, T, data['p'], p_ref)\n\n- The cnv object provides standard entries for pressure (cnv.p),\n temperature (cnv.T), conservative temperature (cnv.CT), practical\n salinity (cnv.SP), absolute salinity (cnv.SA), potential density\n (cnv.pot_rho), oxygen (cnv.oxy). The units have the extension\n _units, i.e. cnv.p_units\n\n- The module checks if the cast was made in the Baltic Sea, if so, the\n modified Gibbs sea water functions are automatically used.\n\n- The package provides scripts to search a given folder for cnv files\n and can create a summary of the folder in a csv format easily\n readable by python or office programs. The search can be refined by\n a location or a predefined station.\n\n- Possibility to provide an own function for parsing custom header\n information.\n\n- Plotting of the profile using `matplotlib `_\n\n\n\nUSAGE\n-----\n\nThe package installs the executables:\n\n- pycnv\n\n- pycnv_sum_folder\n\n \nEXAMPLES \n--------\nPlot the absolute salinity and oxygen of a CTD cast:\n\n.. code:: python\n\t \n\t import pycnv\n\t import pylab as pl \n\t fname = 'test.cnv' # Some CTD cast\n\n\t cnv = pycnv.pycnv(fname)\n\t print('Test if we are in the Baltic Sea (usage of different equation of state): ' + str(cnv.baltic))\n\t print('Position of cast is: Longitude:', cnv.lon,'Latitude:',cnv.lat)\n\t print('Time of cast was:', cnv.date)\n\t print('Number of sensor entries (len(cnv.data.keys())):',len(cnv.data.keys()))\n\t print('Names of sensor entries (cnv.data.keys()):',cnv.data.keys())\n\n\t # Get data of entry\n\t key0 = list(cnv.data.keys())[0]\n\t data0 = cnv.data[key0]\n\n\t # Get derived data:\n\t keyd0 = list(cnv.cdata.keys())[0]\n\t datad0 = cnv.cdata[keyd0]\n\t # Get unit of derived data\n\t datad0_unit = cnv.cunits[keyd0]\n\n\t # Standard names are mapped to \n\t # cnv.p,cnv.CT,cnv.T,cnv.SP,cnv.oxy\n\t # units are _unit, e.g. cnv.p_unit\n\n\t # Plot standard parameters\n\t pl.figure(1)\n\t pl.clf()\n\t pl.subplot(1,2,1)\n\t pl.plot(cnv.SA,cnv.p)\n\t pl.xlabel('Absolute salinity [' + cnv.SA_unit + ']')\n\t pl.ylabel('Pressure [' + cnv.p_unit + ']')\n\t pl.gca().invert_yaxis()\n\n\t pl.subplot(1,2,2)\n\t pl.plot(cnv.oxy,cnv.p)\n\t pl.plot(cnv.cdata['oxy0'],cnv.p)\n\t pl.plot(cnv.cdata['oxy1'],cnv.p)\n\t pl.xlabel('Oxygen [' + cnv.oxy_unit + ']')\n\t pl.ylabel('Pressure [' + cnv.p_unit + ']')\n\t pl.gca().invert_yaxis()\n\n\t pl.show()\n\n\n\t \nLists all predefined stations (in terminal):\n\n.. code:: bash\n\t \n\t pycnv_sum_folder --list_stations\n\n\nMakes a summary of the folder called cnv_data of all casts around\nstation TF0271 with a radius of 5000 m, prints it to the terminal and\nsaves it into the file TF271.txt (in terminal):\n\n.. code:: bash\n\t \n\t pycnv_sum_folder --data_folder cnv_data --station TF0271 5000 -p -f TF271.txt\n\n\nShow and plot conservative temperature, salinity and potential density of a cnv file into a pdf:\n\n.. code:: bash\n\t \n\t pycnv --plot show,save,CT00,SA00,pot_rho00 ctd_cast.cnv\n\n\nInterpolate all CTD casts on station TF0271 onto the same pressure axis and make a netCDF out of it:\n\nsee code pycnv/test/make_netcdf.py\n\n\nDevices tested \n--------------\n\n- SEACAT (SBE16) V4.0g\n\n- MICROCAT (SBE37)\n\n- SBE 11plus V 5.1e\n\n- SBE 11plus V 5.1g\n\n- Sea-Bird SBE 9 Software Version 4.206\n\n\t \n\n\n\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MarineDataTools/pycnv", "keywords": "", "license": "GPLv03", "maintainer": "", "maintainer_email": "", "name": "pycnv", "package_url": "https://pypi.org/project/pycnv/", "platform": null, "project_url": "https://pypi.org/project/pycnv/", "project_urls": { "Homepage": "https://github.com/MarineDataTools/pycnv" }, "release_url": "https://pypi.org/project/pycnv/0.4.2/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Tool to convert Seabird cnv textfiles", "version": "0.4.2", "yanked": false, "yanked_reason": null }, "last_serial": 13281417, "releases": { "0.3.8": [ { "comment_text": "", "digests": { "md5": "7e90704e83370cc55aaa9018422eede0", "sha256": "f7fbb4688ef3510d6e2c51cc13960e3a9e02590c62e258612031de422237f17d" }, "downloads": -1, "filename": "pycnv-0.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "7e90704e83370cc55aaa9018422eede0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 38485, "upload_time": "2019-10-31T08:13:32", "upload_time_iso_8601": "2019-10-31T08:13:32.449760Z", "url": "https://files.pythonhosted.org/packages/f3/4e/574505977e8c1235930e1e3649f91f85a100e816f6bf8eacee3820efaabe/pycnv-0.3.8-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "1b2931fdda7a695c0628e909c679bba5", "sha256": "7815beacbba7cdce9a2a5d0bd00558b56538003f189dd526ee931dd06b65bfbb" }, "downloads": -1, "filename": "pycnv-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b2931fdda7a695c0628e909c679bba5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4", "size": 40246, "upload_time": "2019-10-31T16:05:16", "upload_time_iso_8601": "2019-10-31T16:05:16.928968Z", "url": "https://files.pythonhosted.org/packages/1e/a6/16bbf5c5092977718e5d272449aea7e7b27771df802edc8e2142d88051f4/pycnv-0.3.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b50507dc36f99a223422ed2447a147bd", "sha256": "ee6981a4814caf8e44667393d1ed5fcbdde645e411de1c829cbf6afcc2d29ff8" }, "downloads": -1, "filename": "pycnv-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b50507dc36f99a223422ed2447a147bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 41590, "upload_time": "2020-05-13T12:23:25", "upload_time_iso_8601": "2020-05-13T12:23:25.593469Z", "url": "https://files.pythonhosted.org/packages/ee/92/e1bd69b511734e17459b64c309df4b3d1d51eaa476f151125599eb7845f0/pycnv-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d6d9fc849e20dbeec7506853693df796", "sha256": "46fe832766fb2252deeb7450bad9d8ff50a3b7ea1e79beffa8d0bd87f58d7b7f" }, "downloads": -1, "filename": "pycnv-0.4.1.tar.gz", "has_sig": false, "md5_digest": "d6d9fc849e20dbeec7506853693df796", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 30409, "upload_time": "2020-05-13T12:23:27", "upload_time_iso_8601": "2020-05-13T12:23:27.575764Z", "url": "https://files.pythonhosted.org/packages/1e/5d/e8efc94efe7a70b6f7aa490be06451166878a1ea1744641f4223f831bc67/pycnv-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "7bd8debaa697775d43400989dbebe890", "sha256": "e76bb8718a6927c464c32496162f4854b1dc39356299ffd8e11f9235837e184e" }, "downloads": -1, "filename": "pycnv-0.4.2.tar.gz", "has_sig": false, "md5_digest": "7bd8debaa697775d43400989dbebe890", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42517, "upload_time": "2022-03-24T11:45:37", "upload_time_iso_8601": "2022-03-24T11:45:37.417381Z", "url": "https://files.pythonhosted.org/packages/53/18/1ea6a21a8c7e87d813b4e384ebbe0b5e8a9c90b93fe770309fc79bcce678/pycnv-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7bd8debaa697775d43400989dbebe890", "sha256": "e76bb8718a6927c464c32496162f4854b1dc39356299ffd8e11f9235837e184e" }, "downloads": -1, "filename": "pycnv-0.4.2.tar.gz", "has_sig": false, "md5_digest": "7bd8debaa697775d43400989dbebe890", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42517, "upload_time": "2022-03-24T11:45:37", "upload_time_iso_8601": "2022-03-24T11:45:37.417381Z", "url": "https://files.pythonhosted.org/packages/53/18/1ea6a21a8c7e87d813b4e384ebbe0b5e8a9c90b93fe770309fc79bcce678/pycnv-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }