Commit d6a33d2f authored by sbiri's avatar sbiri
Browse files

added and rearranged files to have the software package pip install ready

parent 682a5120
File moved
File moved
[build-system]
requires = [
"setuptools>=42",
"wheel"
]
build-backend = "setuptools.build_meta"
Description
AirSeaFluxCode is a python 3.6 software designed to allow easy exploration of the different bulk formulae parameterizations and the wide range of implementation options.
[metadata]
name = AiSeaFluxCode
version = 0.0.1
author = sbiri, rcornes, ekent
author_email = sbiri@noc.ac.uk
description = AirSeaFluxCode is a software designed to allow easy exploration of the different bulk formulae parameterizations and the wide range of implementation options
long_description = file: README.md
long_description_content_type = text/markdown
url = https://git.noc.ac.uk/NOCSurfaceProcesses/AirSeaFluxCode
project_urls =
Bug Tracker = https://git.noc.ac.uk/NOCSurfaceProcesses/AirSeaFluxCode/issues
classifiers =
Programming Language :: Python :: 3
License :: OSI Approved :: CCBY License
Operating System :: OS Independent
[options]
package_dir =
= src
packages = find:
python_requires = >=3.6
[options.packages.find]
where = src
from setuptools import setup, find_packages
import pathlib
here = pathlib.Path(__file__).parent.resolve()
# Get the long description from the README file
long_description = (here / 'README.md').read_text(encoding='utf-8')
setup(
name='AirSeaFluxCode',
version='1.0.0',
description='A package to compute turbulent surface fluxes',
long_description=long_description, # Optional
url='https://git.noc.ac.uk/NOCSurfaceProcesses/AirSeaFluxCode',
author='Stavroula Biri',
author_email='sbiri@noc.ac.uk',
license='CCBY',
package_dir={'': 'src'}, # Optional
packages=find_packages(where='src'), #['AirSeaFluxCode'],
install_requires=['pandas',
'numpy',
],
classifiers=[
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 4 - Beta',
'Intended Audience :: Science/Research',
'License :: OSI Approved :: CCBY License',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
],
)
# """A setuptools based setup module.
# See:
# https://packaging.python.org/guides/distributing-packages-using-setuptools/
# https://github.com/pypa/sampleproject
# """
# # Always prefer setuptools over distutils
# from setuptools import setup, find_packages
# import pathlib
# here = pathlib.Path(__file__).parent.resolve()
# # Get the long description from the README file
# long_description = (here / 'README.md').read_text(encoding='utf-8')
# # Arguments marked as "Required" below must be included for upload to PyPI.
# # Fields marked as "Optional" may be commented out.
# setup(
# # This is the name of your project. The first time you publish this
# # package, this name will be registered for you. It will determine how
# # users can install this project, e.g.:
# #
# # $ pip install sampleproject
# #
# # And where it will live on PyPI: https://pypi.org/project/sampleproject/
# #
# # There are some restrictions on what makes a valid project name
# # specification here:
# # https://packaging.python.org/specifications/core-metadata/#name
# name='sampleproject', # Required
# # Versions should comply with PEP 440:
# # https://www.python.org/dev/peps/pep-0440/
# #
# # For a discussion on single-sourcing the version across setup.py and the
# # project code, see
# # https://packaging.python.org/guides/single-sourcing-package-version/
# version='2.0.0', # Required
# # This is a one-line description or tagline of what your project does. This
# # corresponds to the "Summary" metadata field:
# # https://packaging.python.org/specifications/core-metadata/#summary
# description='A sample Python project', # Optional
# # This is an optional longer description of your project that represents
# # the body of text which users will see when they visit PyPI.
# #
# # Often, this is the same as your README, so you can just read it in from
# # that file directly (as we have already done above)
# #
# # This field corresponds to the "Description" metadata field:
# # https://packaging.python.org/specifications/core-metadata/#description-optional
# long_description=long_description, # Optional
# # Denotes that our long_description is in Markdown; valid values are
# # text/plain, text/x-rst, and text/markdown
# #
# # Optional if long_description is written in reStructuredText (rst) but
# # required for plain-text or Markdown; if unspecified, "applications should
# # attempt to render [the long_description] as text/x-rst; charset=UTF-8 and
# # fall back to text/plain if it is not valid rst" (see link below)
# #
# # This field corresponds to the "Description-Content-Type" metadata field:
# # https://packaging.python.org/specifications/core-metadata/#description-content-type-optional
# long_description_content_type='text/markdown', # Optional (see note above)
# # This should be a valid link to your project's main homepage.
# #
# # This field corresponds to the "Home-Page" metadata field:
# # https://packaging.python.org/specifications/core-metadata/#home-page-optional
# url='https://github.com/pypa/sampleproject', # Optional
# # This should be your name or the name of the organization which owns the
# # project.
# author='A. Random Developer', # Optional
# # This should be a valid email address corresponding to the author listed
# # above.
# author_email='author@example.com', # Optional
# # Classifiers help users find your project by categorizing it.
# #
# # For a list of valid classifiers, see https://pypi.org/classifiers/
# classifiers=[ # Optional
# # How mature is this project? Common values are
# # 3 - Alpha
# # 4 - Beta
# # 5 - Production/Stable
# 'Development Status :: 3 - Alpha',
# # Indicate who your project is intended for
# 'Intended Audience :: Developers',
# 'Topic :: Software Development :: Build Tools',
# # Pick your license as you wish
# 'License :: OSI Approved :: MIT License',
# # Specify the Python versions you support here. In particular, ensure
# # that you indicate you support Python 3. These classifiers are *not*
# # checked by 'pip install'. See instead 'python_requires' below.
# 'Programming Language :: Python :: 3',
# 'Programming Language :: Python :: 3.6',
# 'Programming Language :: Python :: 3.7',
# 'Programming Language :: Python :: 3.8',
# 'Programming Language :: Python :: 3.9',
# "Programming Language :: Python :: 3.10",
# 'Programming Language :: Python :: 3 :: Only',
# ],
# # This field adds keywords for your project which will appear on the
# # project page. What does your project relate to?
# #
# # Note that this is a list of additional keywords, separated
# # by commas, to be used to assist searching for the distribution in a
# # larger catalog.
# keywords='sample, setuptools, development', # Optional
# # When your source code is in a subdirectory under the project root, e.g.
# # `src/`, it is necessary to specify the `package_dir` argument.
# package_dir={'': 'src'}, # Optional
# # You can just specify package directories manually here if your project is
# # simple. Or you can use find_packages().
# #
# # Alternatively, if you just want to distribute a single Python file, use
# # the `py_modules` argument instead as follows, which will expect a file
# # called `my_module.py` to exist:
# #
# # py_modules=["my_module"],
# #
# packages=find_packages(where='src'), # Required
# # Specify which Python versions you support. In contrast to the
# # 'Programming Language' classifiers above, 'pip install' will check this
# # and refuse to install the project if the version does not match. See
# # https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
# python_requires='>=3.6, <4',
# # This field lists other packages that your project depends on to run.
# # Any package you put here will be installed by pip when your project is
# # installed, so they must be valid existing projects.
# #
# # For an analysis of "install_requires" vs pip's requirements files see:
# # https://packaging.python.org/discussions/install-requires-vs-requirements/
# install_requires=['peppercorn'], # Optional
# # List additional groups of dependencies here (e.g. development
# # dependencies). Users will be able to install these using the "extras"
# # syntax, for example:
# #
# # $ pip install sampleproject[dev]
# #
# # Similar to `install_requires` above, these must be valid existing
# # projects.
# extras_require={ # Optional
# 'dev': ['check-manifest'],
# 'test': ['coverage'],
# },
# # If there are data files included in your packages that need to be
# # installed, specify them here.
# package_data={ # Optional
# 'sample': ['package_data.dat'],
# },
# # Although 'package_data' is the preferred approach, in some case you may
# # need to place data files outside of your packages. See:
# # http://docs.python.org/distutils/setupscript.html#installing-additional-files
# #
# # In this case, 'data_file' will be installed into '<sys.prefix>/my_data'
# data_files=[('my_data', ['data/data_file'])], # Optional
# # To provide executable scripts, use entry points in preference to the
# # "scripts" keyword. Entry points provide cross-platform support and allow
# # `pip` to create the appropriate form of executable for the target
# # platform.
# #
# # For example, the following would provide a command called `sample` which
# # executes the function `main` from this package when invoked:
# entry_points={ # Optional
# 'console_scripts': [
# 'sample=sample:main',
# ],
# },
# # List additional URLs that are relevant to your project as a dict.
# #
# # This field corresponds to the "Project-URL" metadata fields:
# # https://packaging.python.org/specifications/core-metadata/#project-url-multiple-use
# #
# # Examples listed include a pattern for specifying where the package tracks
# # issues, where the source is hosted, where to say thanks to the package
# # maintainers, and where to support the project financially. The key is
# # what's used to render the link text on PyPI.
# project_urls={ # Optional
# 'Bug Reports': 'https://github.com/pypa/sampleproject/issues',
# 'Funding': 'https://donate.pypi.org',
# 'Say Thanks!': 'http://saythanks.io/to/example',
# 'Source': 'https://github.com/pypa/sampleproject/',
# },
# )
def main():
"""Entry point for the application script"""
print("Call your main application code here")
File moved
File moved
File moved
File moved
import importlib
import sys
sys.path.insert(1, '/Users/ricorne/projects/orchestra/Code')
import AirSeaFluxCode
importlib.reload(AirSeaFluxCode)
from AirSeaFluxCode import *
import pickle
inDt = pd.read_csv("~/projects/orchestra/Test_Data/data_all.csv")
date = np.asarray(inDt["Date"])
lon = np.asarray(inDt["Longitude"])
lat = np.asarray(inDt["Latitude"])
spd = np.asarray(inDt["Wind speed"])
t = np.asarray(inDt["Air temperature"])
sst = np.asarray(inDt["SST"])
rh = np.asarray(inDt["RH"])
p = np.asarray(inDt["P"])
sw = np.asarray(inDt["Rs"])
hu = np.asarray(inDt["zu"])
ht = np.asarray(inDt["zt"])
hin = np.array([hu, ht, ht])
Rs = np.asarray(inDt["Rs"])
del hu, ht, inDt
# run AirSeaFluxCode
res1 = AirSeaFluxCode(spd, t, sst, lat=lat, hin=hin, P=p, maxiter=10,hum=None,cskin=0,wl=0,
tol=['all', 0.01, 0.01, 1e-05, 1e-3, 0.1, 0.1], L="Rb",meth="S80",gust=None)
# old version
pickle_off = open ("/Users/ricorne/projects/AirSeaFluxCode_master/orchestra/old_code.txt", "rb")
res = pickle.load(pickle_off)
for i in res1.columns:
try:
a=res1[i].round(4)
b=res[i].round(4)
print(a.equals(b))
except:
print(res1[i].equals(res[i]))
File moved
File moved
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment