{"id":19310232,"url":"https://github.com/cedadev/cfa-c","last_synced_at":"2026-05-16T15:32:06.941Z","repository":{"id":41112181,"uuid":"414652784","full_name":"cedadev/CFA-C","owner":"cedadev","description":"C implementation of CFA conventions","archived":false,"fork":false,"pushed_at":"2024-04-29T16:32:50.000Z","size":751,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-01-06T02:09:42.444Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cedadev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-07T15:18:29.000Z","updated_at":"2022-03-10T14:29:06.000Z","dependencies_parsed_at":"2024-01-14T22:42:45.336Z","dependency_job_id":"1792dc90-d2a8-4355-bcec-d970fd229172","html_url":"https://github.com/cedadev/CFA-C","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2FCFA-C","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2FCFA-C/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2FCFA-C/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2FCFA-C/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cedadev","download_url":"https://codeload.github.com/cedadev/CFA-C/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240411400,"owners_count":19797083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T00:23:11.564Z","updated_at":"2026-05-16T15:32:01.907Z","avatar_url":"https://github.com/cedadev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"CFA-C\n=====\n\nThis repository contains a C library reference implementation of the\n[CFA-Conventions v0.6.2](https://github.com/NCAS-CMS/cfa-conventions/blob/master/source/cfa.md)\n\nFrom that website, the CFA conventions are described as:\n\n---\n\nThe CFA (Climate and Forecast Aggregation) conventions describe how a **netCDF** \nfile can be used to describe a dataset distributed across multiple other data \nfiles. A CFA-compliant aggregation can be described in netCDF in such way that\nthe describing file does not contain the data of selected variables \n(\"aggregation variables\"), rather it contains variables with special attributes \nthat provide instructions on how to create the aggregated variable data as an \naggregation of data from other sources, each of which may be self-describing \ndatasets in their own right.\n\n---\n\nThis library provides methods to read and write CFA files in C.  A number of \nexamples are provided.\n\nInstallation\n------------\n\n1.  CFA-C is compiled using a C compiler that is compatible with C99.  It is built using **make** via a provided *Makefile*.\n\n2.  CFA-C requires the netCDF library to be installed.  See [here](https://docs.unidata.ucar.edu/netcdf-c/current/winbin.html) for installation instructions.  Depending on the platform, an easier way of installing the netCDF libraries may be available.\n\n    2a.  On Apple Mac computers running MacOS, [Homebrew](https://brew.sh) can be used with the command: `brew install netcdf`\n\n    2b.  On RedHat, CentOS or Rocky Linux, the in-built package manager can be used with the command (as *root* or *sudo*): `yum install netcdf`\n\n3.  The CFA-C library can then be built:\n\n    3a.  Navigate to the top `CFA-C` directory, where the `Makefile` file is contained.\n\n    3b.  Use the command `make`.\n\n    3c.  This will have built the files `lib/libcfa.so` and `lib/libcfa.so.dSYM`.\n\n4.  There are a number of examples in the directory `test/examples`.  \n\n    4a.  To build an example use the command `make \u003cexample_name\u003e`.\n\n    4b.  For example, to build `test/examples/example1a.c` use the command `make example1a`.\n\n    4c.  The example will have been built at `build/examples/example1a`.  To run it use the command `build/examples/example1a S` (to **S**ave/create the file) and\n    `build/examples/example1b L` to **L**oad the file.\n\n    4d.  The output file for `example1a` will be written to `examples/test/example1a.nc`.  The `ncdump` command, installed with the netCDF library, can be used to examine the contents of the file: `ncdump -h examples/test/example1a.nc`.\n\n5.  The examples match those in the [CFA-Conventions v0.6](https://github.com/NCAS-CMS/cfa-conventions/blob/master/source/cfa.md) document.\n\n6.  Studying the examples in conjunction with the CFA-Conventions document will reveal how to write your own CFA files using CFA-C.\n\n---\n\nCFA-C was developed at the [Centre for Environmental Data Analysis](https://www.ceda.ac.uk) in collaboration with [NCAS-CMS](https://cms.ncas.ac.uk).\nIt has received support from the ESiWACE2 project. The project ESiWACE2 has received \nfunding from the European Union's Horizon 2020 research and innovation programme\nunder grant agreement No 823988. \n\nCFA-C is Open-Source software with a BSD-2 Clause License.  The license can be\nread in the repository.\n\n--- ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedadev%2Fcfa-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcedadev%2Fcfa-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedadev%2Fcfa-c/lists"}