{"id":64176,"name":"vSmartMOM.jl","description":"A full end-to-end modular software suite for radiative transfer and related atmospheric analysis.","url":"https://github.com/RemoteSensingTools/vSmartMOM.jl","last_synced_at":"2026-06-12T07:30:25.971Z","repository":{"id":39632708,"uuid":"276700625","full_name":"RemoteSensingTools/vSmartMOM.jl","owner":"RemoteSensingTools","description":"A full end-to-end modular software suite for radiative transfer and related atmospheric analysis","archived":false,"fork":false,"pushed_at":"2026-06-01T15:03:00.000Z","size":170603,"stargazers_count":56,"open_issues_count":5,"forks_count":11,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-07T05:04:04.333Z","etag":null,"topics":["gpu-acceleration","radiative-transfer","remote-sensing","scattering-physics"],"latest_commit_sha":null,"homepage":"https://remotesensingtools.github.io/vSmartMOM.jl/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RemoteSensingTools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2020-07-02T16:53:51.000Z","updated_at":"2026-05-29T03:14:20.000Z","dependencies_parsed_at":"2023-09-21T19:31:27.893Z","dependency_job_id":"d26dddf4-34d5-4b76-8f32-c9c4fe3ad129","html_url":"https://github.com/RemoteSensingTools/vSmartMOM.jl","commit_stats":{"total_commits":638,"total_committers":13,"mean_commits":49.07692307692308,"dds":0.4764890282131662,"last_synced_commit":"b80aacea00284c3a7d65b832e01eebb7ddd6c394"},"previous_names":["radiativetransfer/radiativetransfer.jl"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/RemoteSensingTools/vSmartMOM.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools","download_url":"https://codeload.github.com/RemoteSensingTools/vSmartMOM.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34093779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"}},"owner":{"login":"RemoteSensingTools","name":"RemoteSensingTools","uuid":"83097293","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/83097293?v=4","repositories_count":4,"last_synced_at":"2023-03-08T19:45:39.008Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/RemoteSensingTools","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-18T09:58:46.330Z","updated_at":"2023-03-08T19:45:39.030Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools/repositories"},"packages":[{"id":4321244,"name":"vSmartMOM","ecosystem":"julia","description":"A full end-to-end modular software suite for radiative transfer and related atmospheric analysis","homepage":"","licenses":"Apache-2.0","normalized_licenses":["Apache-2.0"],"repository_url":"https://github.com/RemoteSensingTools/vSmartMOM.jl","keywords_array":[],"namespace":null,"versions_count":5,"first_release_published_at":"2022-02-23T01:22:14.000Z","latest_release_published_at":"2024-12-01T00:00:00.000Z","latest_release_number":"1.1.0","last_synced_at":"2026-04-02T20:37:53.506Z","created_at":"2022-04-19T16:40:18.869Z","updated_at":"2026-04-02T20:37:54.942Z","registry_url":"https://juliahub.com/ui/Packages/General/vSmartMOM/","install_command":"Pkg.add(\"vSmartMOM\")","documentation_url":"https://docs.juliahub.com/General/vSmartMOM/stable/","metadata":{"uuid":"7ba11eeb-0a61-4a04-a413-bf612cc2007e"},"repo_metadata":{"id":39632708,"uuid":"276700625","full_name":"RemoteSensingTools/vSmartMOM.jl","owner":"RemoteSensingTools","description":"A full end-to-end modular software suite for radiative transfer and related atmospheric analysis","archived":false,"fork":false,"pushed_at":"2026-02-21T18:58:15.000Z","size":153051,"stargazers_count":51,"open_issues_count":11,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-22T07:17:48.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RemoteSensingTools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":".zenodo.json","notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-02T16:53:51.000Z","updated_at":"2026-02-20T02:20:20.000Z","dependencies_parsed_at":"2023-09-21T19:31:27.893Z","dependency_job_id":"50c1c52c-9280-48f9-80f0-17bbc68c6a7f","html_url":"https://github.com/RemoteSensingTools/vSmartMOM.jl","commit_stats":{"total_commits":638,"total_committers":13,"mean_commits":49.07692307692308,"dds":0.4764890282131662,"last_synced_commit":"b80aacea00284c3a7d65b832e01eebb7ddd6c394"},"previous_names":["radiativetransfer/radiativetransfer.jl"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/RemoteSensingTools/vSmartMOM.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools","download_url":"https://codeload.github.com/RemoteSensingTools/vSmartMOM.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29770192,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T01:40:24.820Z","status":"online","status_checked_at":"2026-02-24T02:00:07.497Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"},"owner_record":{"login":"RemoteSensingTools","name":"RemoteSensingTools","uuid":"83097293","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/83097293?v=4","repositories_count":4,"last_synced_at":"2023-03-08T19:45:39.008Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/RemoteSensingTools","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-18T09:58:46.330Z","updated_at":"2023-03-08T19:45:39.030Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RemoteSensingTools/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-04-02T20:37:54.919Z","dependent_packages_count":0,"downloads":23,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.939726027397262,"dependent_packages_count":38.915068493150685,"stargazers_count":15.978082191780821,"forks_count":17.446575342465753,"average":20.56986301369863},"purl":"pkg:julia/vSmartMOM","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/julia/vSmartMOM","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/julia/vSmartMOM","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/julia/vSmartMOM/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-24T17:00:15.572Z","issues_count":14,"pull_requests_count":216,"avg_time_to_close_issue":8558719.416666666,"avg_time_to_close_pull_request":11842550.795121951,"issues_closed_count":12,"pull_requests_closed_count":205,"pull_request_authors_count":8,"issue_authors_count":8,"avg_comments_per_issue":2.7142857142857144,"avg_comments_per_pull_request":0.19444444444444445,"merged_pull_requests_count":30,"bot_issues_count":0,"bot_pull_requests_count":193,"past_year_issues_count":1,"past_year_pull_requests_count":9,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":8838960.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":6,"past_year_pull_request_authors_count":2,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":0.1111111111111111,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":8,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/issues","maintainers":[{"login":"cfranken","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/cfranken"},{"login":"Yujie-W","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Yujie-W"},{"login":"RupeshJey","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RupeshJey"},{"login":"sunitisanghavi","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sunitisanghavi"},{"login":"costachris","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/costachris"}],"active_maintainers":[{"login":"cfranken","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/cfranken"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages/vSmartMOM/codemeta","maintainers":[],"registry":{"name":"juliahub.com","url":"https://juliahub.com","ecosystem":"julia","default":true,"packages_count":13730,"maintainers_count":0,"namespaces_count":0,"keywords_count":0,"github":"JuliaRegistries","metadata":{"funded_packages_count":851},"icon_url":"https://github.com/JuliaRegistries.png","created_at":"2022-04-19T16:34:08.340Z","updated_at":"2026-04-03T06:47:58.091Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/juliahub.com/namespaces"}}],"commits":{"id":710315,"full_name":"RemoteSensingTools/vSmartMOM.jl","default_branch":"main","total_commits":924,"total_committers":13,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":71.07692307692308,"dds":0.5898268398268398,"past_year_total_commits":272,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":136.0,"past_year_dds":0.17647058823529416,"last_synced_at":"2026-06-09T06:05:35.768Z","last_synced_commit":"07e1374c08293f327eb9fe1d0df0a2fbc98a567d","created_at":"2023-03-09T12:30:58.370Z","updated_at":"2026-06-09T06:03:53.980Z","committers":[{"name":"cfranken","email":"fronge@gmail.com","login":"cfranken","count":379},{"name":"RupeshJey","email":"rupeshjey@gmail.com","login":"RupeshJey","count":334},{"name":"cfranken","email":"cfranken@tofu.gps.caltech.edu","login":null,"count":85},{"name":"sunitisanghavi","email":"suniti.sanghavi@gmail.com","login":"sunitisanghavi","count":69},{"name":"Suniti Sanghavi","email":"sanghavi@Christians-iMac.local","login":null,"count":17},{"name":"CompatHelper Julia","email":"compathelper_noreply@julialang.org","login":null,"count":13},{"name":"cfranken","email":"cfranken@fluo.gps.caltech.edu","login":null,"count":11},{"name":"cfranken","email":"cfranken@curry.gps.caltech.edu","login":null,"count":6},{"name":"Yujie Wang","email":"jesiner@gmail.com","login":"Yujie-W","count":3},{"name":"Suniti V Sanghavi","email":"sanghavi@KerryPippin3.local","login":null,"count":3},{"name":"Gabriel Wu","email":"qqbbnease1004@126.com","login":"lucifer1004","count":2},{"name":"costachris","email":"christopouloscosta@gmail.com","login":"costachris","count":1},{"name":"Suniti V Sanghavi","email":"sanghavi@dhcp-137-79-228-209.jpl.nasa.gov","login":null,"count":1}],"past_year_committers":[{"name":"cfranken","email":"fronge@gmail.com","login":"cfranken","count":224},{"name":"sunitisanghavi","email":"suniti.sanghavi@gmail.com","login":"sunitisanghavi","count":48}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-11T00:00:09.886Z","repositories_count":6255683,"commits_count":882960232,"contributors_count":35049696,"owners_count":1164503,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"RemoteSensingTools/vSmartMOM.jl","html_url":"https://github.com/RemoteSensingTools/vSmartMOM.jl","last_synced_at":"2026-06-09T06:03:41.159Z","status":"active","issues_count":15,"pull_requests_count":244,"avg_time_to_close_issue":10237032.538461538,"avg_time_to_close_pull_request":11299175.659388646,"issues_closed_count":13,"pull_requests_closed_count":229,"pull_request_authors_count":10,"issue_authors_count":9,"avg_comments_per_issue":2.533333333333333,"avg_comments_per_pull_request":0.26639344262295084,"merged_pull_requests_count":31,"bot_issues_count":0,"bot_pull_requests_count":217,"past_year_issues_count":1,"past_year_pull_requests_count":32,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":6112501.37037037,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":27,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":27,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-09T10:38:54.115Z","updated_at":"2026-06-09T06:03:41.159Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/RemoteSensingTools%2FvSmartMOM.jl/issues","issue_labels_count":{"enhancement":1},"pull_request_labels_count":{"javascript":1,"dependencies":1},"issue_author_associations_count":{"NONE":9,"COLLABORATOR":4,"MEMBER":2},"pull_request_author_associations_count":{"NONE":221,"MEMBER":15,"COLLABORATOR":6,"CONTRIBUTOR":2},"issue_authors":{"RupeshJey":3,"arjunsavel":3,"cfranken":2,"Datseris":2,"stefanocovino":1,"Yujie-W":1,"deszoeke":1,"nicholasbalasus":1,"JuliaTagBot":1},"pull_request_authors":{"github-actions[bot]":216,"cfranken":15,"sunitisanghavi":3,"Copilot":2,"Yujie-W":2,"lucifer1004":2,"Datseris":1,"dependabot[bot]":1,"costachris":1,"pdebuyl":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-06-11T00:00:18.937Z","repositories_count":14790975,"issues_count":33466459,"pull_requests_count":110059038,"authors_count":11299757,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":1,"javascript":1},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"NONE":29,"MEMBER":2,"COLLABORATOR":1},"past_year_issue_authors":{"stefanocovino":1},"past_year_pull_request_authors":{"github-actions[bot]":26,"cfranken":2,"Copilot":2,"dependabot[bot]":1,"sunitisanghavi":1},"maintainers":[{"login":"cfranken","count":17,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/cfranken"},{"login":"Yujie-W","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Yujie-W"},{"login":"sunitisanghavi","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sunitisanghavi"},{"login":"RupeshJey","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/RupeshJey"},{"login":"costachris","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/costachris"}],"active_maintainers":[{"login":"cfranken","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/cfranken"},{"login":"sunitisanghavi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/sunitisanghavi"}]},"events":{"total":{"CreateEvent":25,"CommitCommentEvent":10,"ReleaseEvent":1,"DeleteEvent":43,"PullRequestEvent":42,"ForkEvent":1,"IssuesEvent":2,"WatchEvent":7,"IssueCommentEvent":5,"PushEvent":93,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":3},"last_year":{"DeleteEvent":42,"PullRequestEvent":6,"IssuesEvent":1,"WatchEvent":3,"IssueCommentEvent":2,"PushEvent":71,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":3,"CreateEvent":13}},"keywords":["gpu-acceleration","radiative-transfer","remote-sensing","scattering-physics"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/AutomatedGPUTests.yml","sha":null,"kind":"manifest","created_at":"2023-02-10T13:01:24.015Z","updated_at":"2023-02-10T13:01:24.015Z","repository_link":"https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/main/.github/workflows/AutomatedGPUTests.yml","dependencies":[{"id":7529108639,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7529108640,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":7529108641,"package_name":"julia-actions/julia-buildpkg","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":7529108642,"package_name":"julia-actions/julia-runtest","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/AutomatedTests.yml","sha":null,"kind":"manifest","created_at":"2023-02-10T13:01:24.057Z","updated_at":"2023-02-10T13:01:24.057Z","repository_link":"https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/main/.github/workflows/AutomatedTests.yml","dependencies":[{"id":7529108656,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7529108657,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":7529108658,"package_name":"julia-actions/julia-buildpkg","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false},{"id":7529108659,"package_name":"julia-actions/julia-runtest","ecosystem":"actions","requirements":"latest","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/Documentation.yml","sha":null,"kind":"manifest","created_at":"2023-02-10T13:01:24.124Z","updated_at":"2023-02-10T13:01:24.124Z","repository_link":"https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/main/.github/workflows/Documentation.yml","dependencies":[{"id":7529108716,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":7529108717,"package_name":"julia-actions/setup-julia","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/TagBot.yml","sha":null,"kind":"manifest","created_at":"2023-02-10T13:01:24.162Z","updated_at":"2023-02-10T13:01:24.162Z","repository_link":"https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/main/.github/workflows/TagBot.yml","dependencies":[{"id":7529108748,"package_name":"JuliaRegistries/TagBot","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/CompatHelper.yml","sha":null,"kind":"manifest","created_at":"2023-09-21T19:31:26.517Z","updated_at":"2023-09-21T19:31:26.517Z","repository_link":"https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/main/.github/workflows/CompatHelper.yml","dependencies":[]}],"score":9.811317437563998,"created_at":"2023-09-18T12:26:53.617Z","updated_at":"2026-06-12T07:30:25.988Z","avatar_url":"https://github.com/RemoteSensingTools.png","language":"Julia","category":"Atmosphere","sub_category":"Radiative Transfer","monthly_downloads":23,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\n\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/RemoteSensingTools/vSmartMOM.jl\"\u003e\u003cimg src=\"docs/src/assets/logo.png\" alt=\"vSmartMOM\" width=\"200\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  vSmartMOM.jl\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch4 align=\"center\"\u003e\n  \u003cstrong\u003ev\u003c/strong\u003eector \u003cstrong\u003es\u003c/strong\u003eimulated \u003cstrong\u003em\u003c/strong\u003eeasurements of the \u003cstrong\u003ea\u003c/strong\u003etmosphere\n  using \u003cstrong\u003er\u003c/strong\u003eadiative \u003cstrong\u003et\u003c/strong\u003eransfer based on the \u003cstrong\u003eM\u003c/strong\u003eatrix \u003cstrong\u003eO\u003c/strong\u003eperator \u003cstrong\u003eM\u003c/strong\u003eethod\n\u003c/h4\u003e\n\u003ch4 align=\"center\"\u003eAn end-to-end modular software suite for vectorized atmospheric radiative transfer calculations, based on the Matrix Operator Method.\u003c/h4\u003e\n\u003ch5 align=\"center\"\u003eWritten in \u003ca href=\"https://julialang.org\"\u003eJulia\u003c/a\u003e.\u003c/h4\u003e\n\n[![version](https://github.com/RemoteSensingTools/vSmartMOM.jl/actions/workflows/AutomatedTests.yml/badge.svg)](https://github.com/RemoteSensingTools/vSmartMOM.jl/actions/workflows/AutomatedTests.yml/)\n  [![](https://img.shields.io/badge/docs-latest-blue)](https://RemoteSensingTools.github.io/vSmartMOM.jl/dev/)\n  [![](https://img.shields.io/github/license/RemoteSensingTools/vSmartMOM.jl)](https://github.com/RemoteSensingTools/vSmartMOM.jl/blob/master/LICENSE)\n  [![DOI](https://joss.theoj.org/papers/10.21105/joss.04575/status.svg)](https://doi.org/10.21105/joss.04575)\n  [![](https://img.shields.io/github/commit-activity/y/RemoteSensingTools/vSmartMOM.jl)](https://github.com/RemoteSensingTools/vSmartMOM.jl/commits/master)\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#modules\"\u003eModules\u003c/a\u003e (\u003ca href=\"#vsmartmom\"\u003evSmartMOM\u003c/a\u003e, \u003ca href=\"#vsmartmomabsorption\"\u003eAbsorption\u003c/a\u003e, \u003ca href=\"#vsmartmomscattering\"\u003eScattering\u003c/a\u003e) •\n  \u003ca href=\"#support\"\u003eSupport\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\u003c/div\u003e\nThis project aims to revamp and modernize key atmospheric remote sensing tools. Specifically, it will enable the fast computation of atmospheric optical properties, full-polarized radiative transfer simulations, and commonly-used inversion routines.\n\nThe core of the code is based on recent publications:\n\n- Sanghavi, S., Davis, A. B., \u0026 Eldering, A. (2014). vSmartMOM: A vector matrix operator method-based radiative transfer model linearized with respect to aerosol properties. Journal of Quantitative Spectroscopy and Radiative Transfer, 133, 412-433. [Download](https://www.sciencedirect.com/science/article/pii/S0022407313003592)\n\n- Sanghavi, S. V., Martonchik, J. V., Davis, A. B., \u0026 Diner, D. J. (2013). Linearization of a scalar matrix operator method radiative transfer model with respect to aerosol and surface properties. Journal of Quantitative Spectroscopy and Radiative Transfer, 116, 1-16. [Download](https://www.sciencedirect.com/science/article/pii/S0022407312004633)\n\n- Sanghavi, S., \u0026 Natraj, V. (2013). Using analytic derivatives to assess the impact of phase function Fourier decomposition technique on the accuracy of a radiative transfer model. Journal of Quantitative Spectroscopy and Radiative Transfer, 119, 137-149. [Download](https://www.sciencedirect.com/science/article/pii/S0022407313000071)\n\n- Sanghavi, S. (2014). Revisiting the Fourier expansion of Mie scattering matrices in generalized spherical functions. Journal of Quantitative Spectroscopy and Radiative Transfer, 136, 16-27. [Download](https://www.sciencedirect.com/science/article/pii/S0022407313004962)\n\nBy taking advantage of modern software tools, such as GPU acceleration and HPC computing, the software suite significantly accelerates computationally-intensive calculations and models, while keeping the interface easy-to-use for researchers and students.\n\n## Installation\n\nvSmartMOM can be installed using the Julia package manager. From the Julia REPL, type `]` to enter the Pkg REPL mode and run\n\n```julia\npkg\u003e add vSmartMOM\n```\n\n## Modules\n\n**Note: This section provides only a quick overview of the available modules in vSmartMOM.jl.**\n\nFor in-depth examples, tutorials, and implementation details, please see the complete \u003ca href=\"https://RemoteSensingTools.github.io/vSmartMOM.jl/dev/\"\u003eDocumentation\u003c/a\u003e.\n\n\n### vSmartMOM\n\nThe vSmartMOM module allows end-to-end simulation of radiative transfer (RT) throughout Earth's atmosphere and surface. Specifically, it:\n\n  1. Enables 1D vectorized plane-parallel RT modeling based on the Matrix Operator Method.\n  2. Incorporates fast, high fidelity simulations of scattering atmospheres containing haze and clouds – including pressure- and temperature-resolved absorption profiles of gaseous species in the atmosphere.\n  3. Enables GPU-accelerated computations of the resulting hyperspectral reflectances/transmittances.\n\n  Key functions:\n\n  - `parameters_from_yaml(filepath::String)`: Load a custom set of RT parameters from a YAML file.\n  - `default_parameters()`: Load a default set of RT parameters.\n  - `model_from_parameters(params::vSmartMOM_Parameters)`: Build an `RTModel` with all derived optical properties (cross-section profiles, scattering phase functions, etc.) ready for simulation.\n  - `rt_run(model::RTModel)`: Perform forward RT simulation, returning reflectance and transmittance.\n  - `model_from_parameters(LinMode(), params)`: Build both an `RTModel` and an `RTModelLin` for analytic Jacobian computation.\n  - `rt_run(model, lin_model, NAer, NGas, NSurf)`: Linearized RT returning `(R, T, dR, dT)` with exact Jacobians.\n\n#### Forward run (minimal)\n\n```julia\nusing vSmartMOM\nparams = parameters_from_yaml(\"config/quickstart.yaml\")  # any YAML config\nmodel  = model_from_parameters(params)\nR, T   = rt_run(model)                                    # reflectance, transmittance\n```\n\n#### Linearized run (analytic Jacobians)\n\n```julia\nusing vSmartMOM\nparams = parameters_from_yaml(\"config/ocean_coxmunk.yaml\")\nmodel, lin_model = model_from_parameters(LinMode(), params)\nNAer  = length(params.scattering_params.rt_aerosols)\nNGas  = size(lin_model.tau_dot_abs[1], 1)\nNSurf = 1\nR, T, dR, dT = rt_run(model, lin_model, NAer, NGas, NSurf)\n```\n\n`dR` and `dT` carry the exact analytic derivatives of `R`, `T` w.r.t.\naerosol, gas, and surface parameters laid out via `ParameterLayout`.\n\n### vSmartMOM.Absorption\n\nThis module enables absorption cross-section calculations of atmospheric gases at different pressures, temperatures, and broadeners (Doppler, Lorentzian, Voigt). It uses the \u003ca href=\"https://hitran.org\"\u003eHITRAN\u003c/a\u003e energy transition database for calculations. While it enables lineshape calculations from scratch, it also allows users to create and save an interpolator object at specified wavelength, pressure, and temperature grids. It can perform these computations either on CPU or GPU. \u003cbr\u003e\u003cimg src=\"docs/src/assets/CrossSectionGIF.gif\" alt=\"Absorption cross-section\" /\u003e\u003cbr\u003e\n\n#### HITRAN Data Access\n\nvSmartMOM provides two pathways for obtaining HITRAN spectroscopic data:\n\n- **Legacy artifacts (default):** Pre-packaged HITRAN 2016 data, downloaded automatically on first use. No setup required.\n- **Direct download from hitran.org:** Fetch the latest HITRAN edition (currently HITRAN 2024) with full provenance tracking (SHA-256 hash, download date, source URL).\n\n```julia\n# Default: HITRAN 2016 via artifacts\npath = artifact(\"CO2\")\n\n# Switch to HITRAN 2024 from hitran.org\nset_hitran_edition!(\"HITRAN2024\")\npath = artifact(\"CO2\")  # auto-downloads on first call\n\n# Check provenance\nhitran_info(\"CO2\")  # returns metadata dict with SHA-256, download date, etc.\n```\n\nSee the full \u003ca href=\"https://RemoteSensingTools.github.io/vSmartMOM.jl/dev/pages/Absorption/HITRAN_Data/\"\u003eHITRAN Data Management\u003c/a\u003e documentation for details on edition switching, custom wavenumber ranges, and cache management.\n\n#### Key functions\n\n  - `artifact(molecule::String)`: Retrieve the path to a HITRAN `.par` file for a molecule. Routes through legacy artifacts or hitran.org depending on the active edition.\n  - `fetch_hitran(molecule; numin, numax, edition)`: Download HITRAN data directly from hitran.org with optional wavenumber filtering.\n  - `read_hitran(filepath::String)`: Creates a HitranTable struct from a fixed-width HITRAN `.par` file.\n  - `make_hitran_model(hitran::HitranTable, broadening::AbstractBroadeningFunction, ...)`: Create a HitranModel struct that holds all of the model parameters needed to perform an absorption cross-section calculation (transitions, broadening type, wing_cutoff, etc.)\n  - `make_interpolation_model(hitran::HitranTable, broadening::AbstractBroadeningFunction, ...)`: Similar to creating a HitranModel, but this will perform the interpolation at the given wavelength, pressure, and temperature grids and store the interpolator in InterpolationModel.\n  - `absorption_cross_section(model::AbstractCrossSectionModel, grid::AbstractRange{\u003c:Real}, pressure::Real, temperature::Real, ...)`: Performs an absorption cross-section calculation with the given model (HitranModel or InterpolationModel), at a given wavelength grid, pressure and temperature\n\n### vSmartMOM.Scattering\n\nThis module enables scattering phase-function calculation of atmospheric aerosols with different size distributions, incident wavelengths, and refractive indices. It can perform the calculation using either the Siewert NAI-2 or Domke PCW methods ([Suniti Sanghavi 2014](https://www.sciencedirect.com/science/article/pii/S0022407313004962)). \u003cbr\u003e\u003cbr\u003e\u003cimg src=\"docs/src/assets/ScatteringGIF.gif\" alt=\"Scattering phase function\" /\u003e\u003cbr\u003e Key functions:\n\n  - `make_univariate_aerosol(size_distribution::ContinuousUnivariateDistribution, r_max, nquad_radius::Int, nᵣ, nᵢ`: Create an aerosol object with size distribution and complex refractive index.\n  - `make_mie_model(computation_type::AbstractFourierDecompositionType, aerosol::AbstractAerosolType, λ::Real, polarization::AbstractPolarizationType, truncation_type::AbstractTruncationType, ...)`: Create a MieModel struct that holds all of the model parameters needed to perform a phase function calculation (computation type, aerosol, incident wavelength, etc. )\n  - `compute_aerosol_optical_properties(model::MieModel)`: Compute the aerosol optical properties using the specified model parameters\n\n## How to Contribute\n\nvSmartMOM.jl is a growing package and thus feedback from users like you are highly appreciated. To report bugs or suggest new features in vSmartMOM.jl, please create GitHub [Issues](https://github.com/RemoteSensingTools/vSmartMOM.jl/issues). To contribute to the package, please feel free to create a [Pull Request](https://github.com/RemoteSensingTools/vSmartMOM.jl/pulls).\n\nIf you have any questions about the methods used or would like to chat with us, please feel free to shoot us an email \u003ca href=\"mailto:suniti.sanghavi@gmail.com,cfranken@caltech.edu\"\u003ehere\u003c/a\u003e.\n\n## Acknowledgements\n\nThis project is being developed at Caltech/JPL and largely based on work by Suniti Sanghavi from NASA/JPL, with initial support from the Schmidt Academy for Software Engineering (SASE) for the first refactor into Julia.\n\n## Copyright Notice\n\nApache 2.0 License; Copyright 2022, by the California Institute of Technology. United States Government Sponsorship acknowledged.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.21105/joss.04575"],"works":{"https://doi.org/10.21105/joss.04575":{"id":"https://openalex.org/W4311650364","doi":"https://doi.org/10.21105/joss.04575","title":"vSmartMOM.jl: an Open-Source Julia Package for Atmospheric Radiative Transfer and Remote Sensing Tools","display_name":"vSmartMOM.jl: an Open-Source Julia Package for Atmospheric Radiative Transfer and Remote Sensing Tools","publication_year":2022,"publication_date":"2022-12-06","ids":{"openalex":"https://openalex.org/W4311650364","doi":"https://doi.org/10.21105/joss.04575"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.04575","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.04575.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://joss.theoj.org/papers/10.21105/joss.04575.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5020976612","display_name":"Rupesh Jeyaram","orcid":"https://orcid.org/0000-0003-0142-7367"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Rupesh Jeyaram","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073434758","display_name":"S. Sanghavi","orcid":"https://orcid.org/0000-0003-0754-9154"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Suniti Sanghavi","raw_affiliation_string":"","raw_affiliation_strings":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5055655717","display_name":"Christian Frankenberg","orcid":"https://orcid.org/0000-0002-0546-5857"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Christian Frankenberg","raw_affiliation_string":"","raw_affiliation_strings":[]}],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":1,"cited_by_percentile_year":{"min":72,"max":81},"biblio":{"volume":"7","issue":"80","first_page":"4575","last_page":"4575"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"atmospheric radiative transfer","score":0.6575},{"keyword":"remote sensing tools","score":0.4443},{"keyword":"remote sensing","score":0.3643},{"keyword":"open-source","score":0.25}],"concepts":[{"id":"https://openalex.org/C74902906","wikidata":"https://www.wikidata.org/wiki/Q1190858","display_name":"Radiative transfer","level":2,"score":0.73647815},{"id":"https://openalex.org/C3018397939","wikidata":"https://www.wikidata.org/wiki/Q3644502","display_name":"Open source","level":3,"score":0.58878386},{"id":"https://openalex.org/C39432304","wikidata":"https://www.wikidata.org/wiki/Q188847","display_name":"Environmental science","level":0,"score":0.47595236},{"id":"https://openalex.org/C62649853","wikidata":"https://www.wikidata.org/wiki/Q199687","display_name":"Remote sensing","level":1,"score":0.46978465},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.36779103},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.20951769},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.1694743},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.08376351},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.06650385},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.044654578}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.04575","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.04575.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.21105/joss.04575","pdf_url":"https://joss.theoj.org/papers/10.21105/joss.04575.pdf","source":{"id":"https://openalex.org/S4210214273","display_name":"Journal of open source software","issn_l":"2475-9066","issn":["2475-9066"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310315853","host_organization_name":"Open Journals","host_organization_lineage":["https://openalex.org/P4310315853"],"host_organization_lineage_names":["Open Journals"],"type":"journal"},"license":"cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/13","display_name":"Climate action","score":0.21},{"id":"https://metadata.un.org/sdg/17","display_name":"Partnerships for the goals","score":0.13},{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.12}],"grants":[],"referenced_works_count":16,"referenced_works":["https://openalex.org/W1975182258","https://openalex.org/W1985030975","https://openalex.org/W2000629617","https://openalex.org/W2021079868","https://openalex.org/W2032250315","https://openalex.org/W2076964321","https://openalex.org/W2079401795","https://openalex.org/W2102921597","https://openalex.org/W2126858388","https://openalex.org/W2133151341","https://openalex.org/W2140840200","https://openalex.org/W2144859504","https://openalex.org/W2528913673","https://openalex.org/W2596312217","https://openalex.org/W2950804489","https://openalex.org/W4297794882"],"related_works":["https://openalex.org/W2899084033","https://openalex.org/W2978259384","https://openalex.org/W57381466","https://openalex.org/W1996070360","https://openalex.org/W2095202975","https://openalex.org/W4313413352","https://openalex.org/W2169359701","https://openalex.org/W2116047388","https://openalex.org/W2115539456","https://openalex.org/W2022420161"],"ngrams_url":"https://api.openalex.org/works/W4311650364/ngrams","abstract_inverted_index":{"Jeyaram":[0],"et":[1],"al.,":[2],"(2022).":[3],"vSmartMOM.jl:":[4],"an":[5],"Open-Source":[6],"Julia":[7],"Package":[8],"for":[9],"Atmospheric":[10],"Radiative":[11],"Transfer":[12],"and":[13],"Remote":[14],"Sensing":[15],"Tools.":[16],"Journal":[17],"of":[18],"Open":[19],"Source":[20],"Software,":[21],"7(80),":[22],"4575,":[23],"https://doi.org/10.21105/joss.04575":[24]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4311650364","counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2023-12-14T18:08:58.852882","created_date":"2022-12-27"}},"citation_counts":{"https://doi.org/10.21105/joss.04575":1},"total_citations":1,"keywords_from_contributors":["land-surface-model","canopy","fluorescence","sif","soil-plant-atmosphere"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/64176","html_url":"https://ost.ecosyste.ms/projects/64176"}