Skip to main content

"fckitlib"

Project description

FCKit

fckit release version travis master travis develop codecov

Fortran toolkit for interoperating Fortran with C/C++.

In addition useful algorithms from ecKit are wrapped with Fortran.

Project website and reference documentation on released versions: https://confluence.ecmwf.int/display/FCKIT

fctest

Unit Testing Framwork for Fortran, made easy.

  • C Preprocessor Macros are used to make writing tests extremely fast
  • Tests in one file are bundled in a Test Suite (Fortran Module)
  • Python script generates a main program for a Test Suite
  • Driven by CMake build system ( and ctest )

To use in your ecbuild project

Simply add following line to your project's CMakeLists.txt

ecbuild_add_option( FEATURE FCTEST  DEFAULT ${ENABLE_TESTS}
                    DESCRIPTION "Fortran Unit Testing Framework"
                    REQUIRED_PACKAGES "NAME fckit" )

See src/examples folder how to add and create the unit-tests.

fckit

Various Fortran modules helpful to create mixed-language applications

  • MPI
  • Logging

Offline build of fckit Python virtual environment

An offline build/installation of the fckit Python virtual environment can be completed as follows:

  1. Download all necessary Python dependencies of src/fckit/fckit_yaml_reader. ruamel.yaml.clib is not a pure Python package, so we have to ensure a wheel compatible with the target platform is downloaded. pip compatibility tags for any system can be displayed using python3 -m pip debug --verbose, and buit-distributions (i.e. wheels) for ruamel.yaml.clib can be found here. For a linux installation based on an x86 architecture using Python3.10, the following command can be used:
FCKIT_WHEEL_ARCH=manylinux_2_17_x86_64 FCKIT_WHEEL_PYTHON_VERSION=310 ./populate

This will download all the wheels to <source-dir>/artifacts. It should be noted that if FCKIT_WHEEL_ARCH and FCKIT_WHEEL_PYTHON_VERSION are not specified then the wheels are downloaded for the calling system's Python interpreter.

  1. scp/rsync/copy the directory containing the dependencies to the offline system.

  2. Add the path to the artifacts directory to the fckit CMake configuration step, i.e. -DARTIFACTS_DIR=<path-to-artifacts-dir>.

License

Please read LICENSE.


ECMWF

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fckitlib-0.13.5.dev20250617-cp312-cp312-macosx_13_0_arm64.whl (415.5 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

fckitlib-0.13.5.dev20250617-cp311-cp311-macosx_13_0_arm64.whl (415.5 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_x86_64.whl (417.3 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_arm64.whl (415.5 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_x86_64.whl (417.3 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_arm64.whl (415.5 kB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

File details

Details for the file fckitlib-0.13.5.dev20250617-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 78f1000f9aa634d9dbdd2d40a13971f1d85d08eb599bc747069565d3e3f04cd6
MD5 e5e131a3ca9b19b57c0c3cc3399d70e7
BLAKE2b-256 5f33538a2f6860c4ae422b32f26c26202a8ecf4d64f5734f240651da5de5431c

See more details on using hashes here.

File details

Details for the file fckitlib-0.13.5.dev20250617-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 86049e5d03fe1b8215bd233d5d5c96f4fbe7806e9bbaf9ccef00c5997ea54daf
MD5 ba788174041e0ebd0be019919af6e90a
BLAKE2b-256 9e0b7f3c73b6479a9bd0ecc2eb9f4863c85225348525854beba07c8616834f41

See more details on using hashes here.

File details

Details for the file fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7dbfabcac8c4df4abed3e08628ba2e0e07eca562e8cb454a3ee7748e0e06d1a1
MD5 1371153a3ca7745b8caab2361adefbf4
BLAKE2b-256 953d413160c5e44b31f59d14ba0fca19c1386f1f56ca369c42c306d82494a1cf

See more details on using hashes here.

File details

Details for the file fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 fe7858c662abe4b3e94e2493dac770c41b22df7c88a4b30ce0e6fd97c56c0a49
MD5 35cc3af25033eec6ec03e71fed0272e7
BLAKE2b-256 fb6a340a0a305beb47a5377c565330087db792709327ddfc953377eb74464529

See more details on using hashes here.

File details

Details for the file fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cdc637eb62af00b53ccbed57b642f1e1848e0490228653a17ec52b106f2e541d
MD5 80a11d3c7c173fb3ff5b4bfebfb6253d
BLAKE2b-256 a8aa2fbad05759fb2eeb204d8bdbe09976445fe64fbbd55b439f418811c53c47

See more details on using hashes here.

File details

Details for the file fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for fckitlib-0.13.5.dev20250617-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a886a03b22a13aa7c589a53883e6ff0e95994d2edf88263f0910ef7fbcbb7646
MD5 424b973c7180dd7aebb652f45a2dcb4d
BLAKE2b-256 e0c4a919db5b14e6d3789942db0ee781e50103fcdde166dd424f06b480be9b1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page