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 Distribution

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

fckitlib-0.14.1.dev6-cp312-cp312-macosx_13_0_x86_64.whl (417.2 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

File details

Details for the file fckitlib-0.14.1.dev6-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for fckitlib-0.14.1.dev6-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e6ab1efd5b80cde0ff4c0c798899494da5156c0133eb1cf934bdff117bae4b08
MD5 1fc7f47fe66fa3e8158ca2b8b9b30e8c
BLAKE2b-256 cbb8e37ae937576e4d0b1843f155ca9e0961eaafa6472b1f12091f82e61c7135

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