{"id":19580094,"url":"https://github.com/geoschem/cloud-j","last_synced_at":"2026-03-03T19:03:02.412Z","repository":{"id":63258109,"uuid":"402133539","full_name":"geoschem/Cloud-J","owner":"geoschem","description":"Cloud-J is multi-scattering eight-stream radiative transfer model for solar radiation based on Fast-J. It was originally developed by Michael J. Prather.","archived":false,"fork":false,"pushed_at":"2025-02-03T15:29:39.000Z","size":966,"stargazers_count":3,"open_issues_count":3,"forks_count":7,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-02-03T16:31:48.261Z","etag":null,"topics":["aerosols","atmospheric-chemistry","atmospheric-composition","atmospheric-modeling","clouds","earth-system-modeling","geos-chem","photolysis","radiative-transfer"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geoschem.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-01T16:42:21.000Z","updated_at":"2024-09-30T15:15:08.000Z","dependencies_parsed_at":"2022-11-15T23:51:19.854Z","dependency_job_id":"7761fdc5-fc41-4900-8710-f741022154f2","html_url":"https://github.com/geoschem/Cloud-J","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"85b78784a65ceed914f8a101ce6eb18c5c62681f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoschem%2FCloud-J","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoschem%2FCloud-J/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoschem%2FCloud-J/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geoschem%2FCloud-J/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geoschem","download_url":"https://codeload.github.com/geoschem/Cloud-J/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240849053,"owners_count":19867617,"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":["aerosols","atmospheric-chemistry","atmospheric-composition","atmospheric-modeling","clouds","earth-system-modeling","geos-chem","photolysis","radiative-transfer"],"created_at":"2024-11-11T07:21:33.843Z","updated_at":"2026-03-03T19:03:02.407Z","avatar_url":"https://github.com/geoschem.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud-J\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/geoschem/hemco/cloud-j\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/geoschem/cloud-j?include_prereleases\u0026label=Latest%20Pre-Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/cloud-j/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/geoschem/cloud-j?label=Latest%20Stable%20Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/cloud-j/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/release-date/geoschem/cloud-j\"\u003e\u003c/a\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://doi.org/10.5281/zenodo.13862693\"\u003e\u003cimg src=\"https://zenodo.org/badge/DOI/10.5281/zenodo.13862693.svg\" alt=\"DOI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/Cloud-J/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/Cloud-J/actions/workflows/ubuntu.yml\"\u003e\u003cimg src=\"https://github.com/geoschem/Cloud-J/actions/workflows/ubuntu.yml/badge.svg\" alt=\"Ubuntu\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/Cloud-J/actions/workflows/mac.yml\"\u003e\u003cimg src=\"https://github.com/geoschem/Cloud-J/actions/workflows/mac.yml/badge.svg\" alt=\"Mac\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/geoschem/Cloud-J/actions/workflows/windows.yml\"\u003e\u003cimg src=\"https://github.com/geoschem/Cloud-J/actions/workflows/windows.yml/badge.svg\" alt=\"Windows\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Description\n\nCloud-J is a multi-scattering eight-stream radiative transfer model for solar radiation based on Fast-J. It was originally developed by Michael J. Prather (UCI). For information about the origins and history of Cloud-J and its predecessor Fast-J please see the [history document](https://github.com/geoschem/cloud-j/blob/main/docs/History_of_Fast-J_photolysis_code.md) in the docs subdirectory of this repository.\n\n## How to download the model\n\nDownload Cloud-J by cloning from GitHub. The default branch when downloading is \u003ctt\u003emain\u003c/tt\u003e. You may pass the name of the directory you wish to use.\n\n```\ngit clone https://github.com/geoschem/cloud-j.git code.cloudj\n```\n\n## Setting your environment\n\nCloud-J can be built using CMake and a fortran compiler. Cloud-J has been successfully tested with the following compilers:\n* Intel 2019.1.3.304, 2021.5.0, 2021.10.0\n* GNU 10.2.0, 12.2.0\n\nWe recommend creating an environment script that loads all libraries you will use. You can source this file every time you build and run Cloud-J to ensure you always use the same environment.\n\nYou may need to set stack memory limit to \u003ctt\u003eunlimited\u003c/tt\u003e to avoid potential segmentation fault if the system default memory limit is too low. You can set this in your environment as follows.\n\n```\nulimit -s unlimited\n```\n\n## How to build Cloud-J standalone\n\nYou may build the model from anywhere with access to the source code. We recommend building within a dedicated \u003ctt\u003ebuild\u003c/tt\u003e directory to keep the installation files in one place. Below is an example of building from within the Cloud-J code repository.\n\n```\nsource /path/to/env\ncd /path/to/code\nmkdir build\ncd build\ncmake ..\nmake -j\nmake install\n```\n\nAnother option is to build Cloud-J within a run directory. You can symbolically link to your source code and environment file within the run directory for easy access.\n\n```\nmkdir cloudj_rundir\ncd cloudj_rundir\nln -s /path/to/env cloudj.env\nsource cloudj.env\nln -s /path/to/code CodeDir\nmkdir build\ncd build\ncmake ../CodeDir\nmake -j\nmake install\n```\n\nIf your build is successful the executable \u003ctt\u003ecloudj_standalone\u003c/tt\u003e will be placed in the \u003ctt\u003ebuild/bin\u003c/tt\u003e directory and also copied to \u003ctt\u003ebuild\u003c/tt\u003e.\n\n## How to run Cloud-J standalone\n\nYou may run Cloud-J anywhere you have the the executable \u003ctt\u003ecloudj_standalone\u003c/tt\u003e. We recommend creating a run directory and copying the executable there.\n\n```\ncd cloudj_rundir\ncp path/to/cloudj_standalone .\n```\n\nCloud-J needs input data to run and this data is expected in a local subdirectory called \u003ctt\u003etables\u003c/tt\u003e. The Cloud-J repository comes with example tables stored in source code repository subdirectory \u003ctt\u003etables\u003c/tt\u003e. To do a test run with Cloud-J standalone you may either copy these \u003ctt\u003etables\u003c/tt\u003e from the source code repository to your run directory, or symbolically link to them. Here is an example of symbolically linking to them.\n\n```\ncd cloudj_rundir\nln -s /path/to/cloud-j/code/tables\n```\n\nExecute \u003ctt\u003ecloudj_standalone\u003c/tt\u003e to run the model, sending both standard output and error messages to screen and a log file (cloudj.log). The below example runs Cloud-J in the terminal.\n\n```\ncd cloudj_rundir\n./cloudj_standalone | tee cloudj.log 2\u003e\u00261\n```\n\n\n## How to run the tests\nCloud-J ensures correctness by testing all changes against known output. This means that anytime that input data\nor an algorithm changes the [reference output](test/expected_output/reference_output.txt) will need to be updated.\n\nTo run the tests, compile Cloud-J and then run `make test` or `ctest` from within the build directory.\n\n```\nmake test\n```\n\n```\nctest\n```\n\n## Debugging\n\nIf you wish to build Cloud-J with compiler debug flags on simply run the following command in your build folder prior to the \u003ctt\u003emake\u003c/tt\u003e command.\n\n```\ncmake . -DCMAKE_BUILD_TYPE=Debug\n```\n\n## Support\n\nCloud-J is supported by Michael Prather (UCI) and the GEOS-Chem Support Team. Please create a GitHub issue for help. For more information see our [Support Guidelines](https://github.com/geoschem/cloud-j/blob/main/SUPPORT.md).\n\n## Contributing\n\nFor information about contributing to Cloud-J, please see our [Contributing Guidelines](https://github.com/geoschem/cloud-j/blob/main/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoschem%2Fcloud-j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeoschem%2Fcloud-j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeoschem%2Fcloud-j/lists"}