Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python binding ectrans4py #6

Conversation

AlexandreMary
Copy link

This branch, based on PRs ecmwf-ifs#203 and ecmwf-ifs#204, introduces the Python binding ectrans4py.

This is a Python interface to some ectrans functions, mainly the necessary routines to be able to:

  • transform a spectral field into gridpoint
  • transform a gridpoint field into spectral
  • compute gridpoint derivatives of a field in spectral space
    It uses ctypesForFortran Python package for the Fortran<>Python interface.

Note: version number is duplicated in src/ectrans4py/__init__.py for now, until better solution.
Replaces PR ecmwf-ifs#199

samhatfield and others added 30 commits October 16, 2024 18:17
* Remove non-standard SIZEOF from GPU subtree

Resolves ecmwf-ifs#160.
* use gather for dumping
 ACCGPU is not defined because it is PRIVATE.
_OPENACC is the right define to use here because it is enabled whenever the code is compiled with OpenACC support.
[ 97%] Building Fortran object ectrans/src/programs/CMakeFiles/ectrans-benchmark-gpu-dp.dir/ectrans-benchmark.F90.o
Global is external, but doesn't have external or weak linkage!
ptr @"str2int$ectrans_benchmark_"
Global is external, but doesn't have external or weak linkage!
ptr @"print_help$ectrans_benchmark_"
LLVM ERROR: Broken module found, compilation aborted!
ftn-2116 ftn: INTERNAL
At some point this error started appearing from CCE/17:

Global is external, but doesn't have external or weak linkage!
ptr @"str2int$ectrans_benchmark_"
Global is external, but doesn't have external or weak linkage!
ptr @"print_help$ectrans_benchmark_"
LLVM ERROR: Broken module found, compilation aborted!
ftn-2116 ftn: INTERNAL

The error is resolved by moving the routine definitions above their
first usage. Cause unknown.
The latter isn't supported with the Cray compiler.

Co-authored-by: Lukas Mosimann <[email protected]>
Refresh AMD support
samhatfield and others added 28 commits January 23, 2025 14:35
…riggering

Add approved manual triggering of build-hpc action
…ate (trans, etrans, biper); only single include directory
…ans/cpu/; (ii) create separate ectrans_etrans_* libraries instead of patching ectrans_* libraries; (iii) re-introduced FFT992, but put it under a switch WITH_FFT992 everywhere; compiling/running with FFT992 instead of FFTW is probably still broken; (iv) temporarily added ellips.F90, which in fact should go into fiat.
Commit 8622da1 changed D%NSTAGTF from
JPIM to JPIB.
@AlexandreMary AlexandreMary added the enhancement New feature or request label Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.