forked from ecmwf-ifs/ectrans
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add ectrans python interface ectrans4py
- Loading branch information
1 parent
8227b3d
commit 8d9307f
Showing
15 changed files
with
1,372 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
include AUTHORS | ||
include CMakeLists.txt | ||
include LICENSE | ||
include README.md | ||
include VERSION | ||
recursive-include src * | ||
recursive-include cmake * | ||
recursive-include tests * |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[build-system] | ||
requires = ["setuptools", "wheel", "scikit-build"] | ||
build-backend = "setuptools.build_meta" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import os | ||
import re | ||
import ast | ||
from skbuild import setup | ||
|
||
def get_version(): # remove this part | ||
version_file = os.path.join("src", "ectrans4py", "__init__.py") | ||
with open(version_file, "r", encoding="utf-8") as f: | ||
content = f.read() | ||
version_match = re.search(r"^__version__\s*=\s*['\"]([^'\"]*)['\"]", content, re.M) | ||
if version_match: | ||
return version_match.group(1) | ||
raise RuntimeError("Unable to find version string.") | ||
|
||
version=get_version() | ||
# ectrans4py package : | ||
setup( | ||
name="ectrans4py", | ||
version=version, | ||
packages=['ectrans4py'], | ||
cmake_minimum_required_version="3.13", | ||
cmake_args=[ | ||
'-DENABLE_ETRANS=ON', | ||
'-DENABLE_ECTRANS4PY=ON', | ||
'-DENABLE_SINGLE_PRECISION=OFF', | ||
'-DENABLE_OMP=OFF', | ||
], | ||
package_dir={"": "src"}, | ||
cmake_install_dir="src/ectrans4py", | ||
setup_requires=["scikit-build", "setuptools"], | ||
install_requires=["numpy", "ctypesforfortran==1.1.3"], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
if(HAVE_ETRANS) | ||
# (using CMAKE_CURRENT_SOURCE_DIR is necessary because sources are in a different directory than the target library (trans_${prec})) | ||
ecbuild_list_add_pattern( | ||
LIST ectrans4py_src | ||
GLOB ${CMAKE_CURRENT_SOURCE_DIR}/*.F90 | ||
QUIET | ||
) | ||
|
||
set(HAVE_dp ${HAVE_DOUBLE_PRECISION}) | ||
set(prec dp) | ||
|
||
if(HAVE_${prec}) | ||
# Add sources | ||
target_sources(trans_${prec} PRIVATE ${ectrans4py_src}) | ||
endif() | ||
|
||
else() | ||
ecbuild_critical("To activate the ectrans Python interface, you must enable the ETRANS option.") | ||
endif() | ||
|
Oops, something went wrong.