{"id":170251,"name":"goFlux","description":"A user-friendly way to calculate greenhouse gas fluxes in soil yourself, regardless of user experience.","url":"https://github.com/qepanna/goflux","last_synced_at":"2026-04-14T22:30:26.640Z","repository":{"id":191653105,"uuid":"684993367","full_name":"Qepanna/goFlux","owner":"Qepanna","description":"goFlux: A user-friendly way to calculate GHG fluxes yourself, regardless of user experience","archived":false,"fork":false,"pushed_at":"2026-03-31T13:24:19.000Z","size":17699,"stargazers_count":26,"open_issues_count":7,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-04-07T19:03:22.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://qepanna.quarto.pub/goflux/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qepanna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-30T09:30:06.000Z","updated_at":"2026-04-02T12:06:00.000Z","dependencies_parsed_at":"2025-12-14T11:00:46.136Z","dependency_job_id":"d3526ad7-c2cb-409c-b8ce-06f4e57fd2c0","html_url":"https://github.com/Qepanna/goFlux","commit_stats":{"total_commits":333,"total_committers":1,"mean_commits":333.0,"dds":0.0,"last_synced_commit":"3699e59ba41ea526f698423e967a105c7aec02e0"},"previous_names":["qepanna/gofluxyourself"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Qepanna/goFlux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31695165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T20:18:30.949Z","status":"ssl_error","status_checked_at":"2026-04-11T20:18:29.982Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"Qepanna","name":"Karelle Rheault","uuid":"66706307","kind":"user","description":"Forest science / Microbiology / Biogeochemistry","email":"","website":null,"location":"Copenhagen","twitter":"KarelleRheault","company":"University of Copenhagen","icon_url":"https://avatars.githubusercontent.com/u/66706307?u=9a1f8f978614db854608984837df730cc8d1c25c\u0026v=4","repositories_count":1,"last_synced_at":"2023-08-31T00:05:44.341Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Qepanna","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-08-31T00:05:44.344Z","updated_at":"2023-08-31T00:05:44.344Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna/repositories"},"packages":[{"id":11733563,"name":"github.com/Qepanna/goFlux","ecosystem":"go","description":null,"homepage":null,"licenses":"gpl-2.0","normalized_licenses":["GPL-2.0"],"repository_url":"https://github.com/Qepanna/goFlux","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2024-01-03T05:55:14.000Z","latest_release_published_at":"2024-05-24T14:42:27.000Z","latest_release_number":"v0.2.1","last_synced_at":"2026-04-05T18:03:26.513Z","created_at":"2025-06-05T11:17:09.243Z","updated_at":"2026-04-05T18:03:26.513Z","registry_url":"https://pkg.go.dev/github.com/Qepanna/goFlux","install_command":"go get github.com/Qepanna/goFlux","documentation_url":"https://pkg.go.dev/github.com/Qepanna/goFlux#section-documentation","metadata":{},"repo_metadata":{"id":191653105,"uuid":"684993367","full_name":"Qepanna/goFlux","owner":"Qepanna","description":"goFlux: A user-friendly way to calculate GHG fluxes yourself, regardless of user experience","archived":false,"fork":false,"pushed_at":"2025-10-17T14:57:12.000Z","size":21048,"stargazers_count":23,"open_issues_count":11,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-19T11:28:47.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://qepanna.quarto.pub/goflux/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qepanna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-30T09:30:06.000Z","updated_at":"2025-10-17T14:53:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e7c8b74-7c59-45a4-aa44-2ac24d4c3e23","html_url":"https://github.com/Qepanna/goFlux","commit_stats":{"total_commits":333,"total_committers":1,"mean_commits":333.0,"dds":0.0,"last_synced_commit":"3699e59ba41ea526f698423e967a105c7aec02e0"},"previous_names":["qepanna/gofluxyourself"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Qepanna/goFlux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279913500,"owners_count":26243070,"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","status":"online","status_checked_at":"2025-10-19T02:00:07.647Z","response_time":64,"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":"Qepanna","name":"Karelle Rheault","uuid":"66706307","kind":"user","description":"Forest science / Microbiology / Biogeochemistry","email":"","website":null,"location":"Copenhagen","twitter":"KarelleRheault","company":"University of Copenhagen","icon_url":"https://avatars.githubusercontent.com/u/66706307?u=9a1f8f978614db854608984837df730cc8d1c25c\u0026v=4","repositories_count":1,"last_synced_at":"2023-08-31T00:05:44.341Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Qepanna","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-08-31T00:05:44.344Z","updated_at":"2023-08-31T00:05:44.344Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna/repositories"},"tags":[{"name":"v0.2.1","sha":"f5e08fe8201e013aa1c238486f07118db5dc6397","kind":"commit","published_at":"2024-05-24T14:42:27.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.2.1","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"eb7c86ea88f7586c88ab948649760e78512cf99c","kind":"commit","published_at":"2024-04-02T14:04:18.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.2.0","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"98fe4f304adb13b7771e5c81aafb0157110c188c","kind":"commit","published_at":"2024-01-03T05:55:14.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.1.0","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-10-20T23:51:16.325Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/%21qepanna/go%21flux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/Qepanna/goFlux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/Qepanna/goFlux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/Qepanna/goFlux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T08:04:11.628Z","issues_count":19,"pull_requests_count":0,"avg_time_to_close_issue":1035134.5714285715,"avg_time_to_close_pull_request":null,"issues_closed_count":7,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":6,"avg_comments_per_issue":1.4736842105263157,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":547699.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":3.25,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qepanna%2Fgoflux/issues","maintainers":[{"login":"Qepanna","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Qepanna"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FQepanna%2FgoFlux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FQepanna%2FgoFlux/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FQepanna%2FgoFlux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FQepanna%2FgoFlux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FQepanna%2FgoFlux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2088247,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":11733568,"name":"github.com/qepanna/goflux","ecosystem":"go","description":null,"homepage":null,"licenses":"gpl-2.0","normalized_licenses":["GPL-2.0"],"repository_url":"https://github.com/qepanna/goflux","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2024-01-03T05:55:14.000Z","latest_release_published_at":"2024-05-24T14:42:27.000Z","latest_release_number":"v0.2.1","last_synced_at":"2026-04-05T18:03:26.875Z","created_at":"2025-06-05T11:17:13.127Z","updated_at":"2026-04-05T18:03:26.875Z","registry_url":"https://pkg.go.dev/github.com/qepanna/goflux","install_command":"go get github.com/qepanna/goflux","documentation_url":"https://pkg.go.dev/github.com/qepanna/goflux#section-documentation","metadata":{},"repo_metadata":{"id":191653105,"uuid":"684993367","full_name":"Qepanna/goFlux","owner":"Qepanna","description":"goFlux: A user-friendly way to calculate GHG fluxes yourself, regardless of user experience","archived":false,"fork":false,"pushed_at":"2025-10-17T14:57:12.000Z","size":21048,"stargazers_count":23,"open_issues_count":11,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-19T11:28:47.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://qepanna.quarto.pub/goflux/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qepanna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-30T09:30:06.000Z","updated_at":"2025-10-17T14:53:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e7c8b74-7c59-45a4-aa44-2ac24d4c3e23","html_url":"https://github.com/Qepanna/goFlux","commit_stats":{"total_commits":333,"total_committers":1,"mean_commits":333.0,"dds":0.0,"last_synced_commit":"3699e59ba41ea526f698423e967a105c7aec02e0"},"previous_names":["qepanna/gofluxyourself"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Qepanna/goFlux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280151543,"owners_count":26281249,"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","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"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":"Qepanna","name":"Karelle Rheault","uuid":"66706307","kind":"user","description":"Forest science / Microbiology / Biogeochemistry","email":"","website":null,"location":"Copenhagen","twitter":"KarelleRheault","company":"University of Copenhagen","icon_url":"https://avatars.githubusercontent.com/u/66706307?u=9a1f8f978614db854608984837df730cc8d1c25c\u0026v=4","repositories_count":1,"last_synced_at":"2023-08-31T00:05:44.341Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Qepanna","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-08-31T00:05:44.344Z","updated_at":"2023-08-31T00:05:44.344Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qepanna/repositories"},"tags":[{"name":"v0.2.1","sha":"f5e08fe8201e013aa1c238486f07118db5dc6397","kind":"commit","published_at":"2024-05-24T14:42:27.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.2.1","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"eb7c86ea88f7586c88ab948649760e78512cf99c","kind":"commit","published_at":"2024-04-02T14:04:18.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.2.0","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"98fe4f304adb13b7771e5c81aafb0157110c188c","kind":"commit","published_at":"2024-01-03T05:55:14.000Z","download_url":"https://codeload.github.com/Qepanna/goFlux/tar.gz/v0.1.0","html_url":"https://github.com/Qepanna/goFlux/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Qepanna/goFlux@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qepanna%2FgoFlux/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-10-20T23:51:16.327Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/qepanna/goflux","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/qepanna/goflux","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/qepanna/goflux","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/qepanna/goflux/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-09-01T08:04:11.628Z","issues_count":19,"pull_requests_count":0,"avg_time_to_close_issue":1035134.5714285715,"avg_time_to_close_pull_request":null,"issues_closed_count":7,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":6,"avg_comments_per_issue":1.4736842105263157,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":4,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":547699.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":3.25,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qepanna%2Fgoflux/issues","maintainers":[{"login":"Qepanna","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Qepanna"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqepanna%2Fgoflux/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqepanna%2Fgoflux/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqepanna%2Fgoflux/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqepanna%2Fgoflux/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fqepanna%2Fgoflux/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2088247,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1464464,"full_name":"qepanna/goflux","default_branch":"master","total_commits":388,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":194.0,"dds":0.005154639175257714,"past_year_total_commits":55,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":27.5,"past_year_dds":0.036363636363636376,"last_synced_at":"2026-04-05T18:08:06.971Z","last_synced_commit":"e47529decc91258880ff2e9f82f8f728a27726bc","created_at":"2024-01-12T00:12:21.327Z","updated_at":"2026-04-05T18:07:54.638Z","committers":[{"name":"Qepanna","email":"karh@ign.ku.dk","login":"Qepanna","count":386},{"name":"Grace Barbacias","email":"60281384+GraceBarbacias","login":"GraceBarbacias","count":2}],"past_year_committers":[{"name":"Qepanna","email":"karh@ign.ku.dk","login":"Qepanna","count":53},{"name":"Grace Barbacias","email":"60281384+GraceBarbacias","login":"GraceBarbacias","count":2}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/qepanna%2Fgoflux/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-07T00:00:11.408Z","repositories_count":6211614,"commits_count":918017205,"contributors_count":35583097,"owners_count":1142749,"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":"qepanna/goflux","html_url":"https://github.com/qepanna/goflux","last_synced_at":"2026-04-01T05:01:05.259Z","status":"error","issues_count":20,"pull_requests_count":1,"avg_time_to_close_issue":16324681.375,"avg_time_to_close_pull_request":null,"issues_closed_count":8,"pull_requests_closed_count":0,"pull_request_authors_count":1,"issue_authors_count":7,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":5,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":547699.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":1.8,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2024-01-12T00:12:28.514Z","updated_at":"2026-04-01T05:01:05.259Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qepanna%2Fgoflux","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/qepanna%2Fgoflux/issues","issue_labels_count":{"enhancement":8,"good first issue":7,"documentation":2},"pull_request_labels_count":{},"issue_author_associations_count":{"OWNER":10,"NONE":10},"pull_request_author_associations_count":{"COLLABORATOR":1},"issue_authors":{"Qepanna":10,"Schuch666":4,"Guillermo-Ledesma":2,"mutyalusheshu":1,"camilleminaudo":1,"hahsan1":1,"PabloRibeiro123":1},"pull_request_authors":{"GraceBarbacias":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-01T00:00:08.271Z","repositories_count":14037064,"issues_count":34584035,"pull_requests_count":113175312,"authors_count":11213073,"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":{},"past_year_issue_author_associations_count":{"NONE":3},"past_year_pull_request_author_associations_count":{"COLLABORATOR":1},"past_year_issue_authors":{"Guillermo-Ledesma":2,"PabloRibeiro123":1},"past_year_pull_request_authors":{"GraceBarbacias":1},"maintainers":[{"login":"Qepanna","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Qepanna"},{"login":"GraceBarbacias","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GraceBarbacias"}],"active_maintainers":[{"login":"GraceBarbacias","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/GraceBarbacias"}]},"events":{"total":{"MemberEvent":1,"PullRequestEvent":1,"IssuesEvent":4,"WatchEvent":4,"IssueCommentEvent":7,"PushEvent":53,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":7,"CreateEvent":1},"last_year":{"MemberEvent":1,"PullRequestEvent":1,"IssuesEvent":2,"WatchEvent":3,"IssueCommentEvent":4,"PushEvent":53,"PullRequestReviewEvent":4,"PullRequestReviewCommentEvent":7,"CreateEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:35.060Z","updated_at":"2025-12-14T11:00:35.060Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/DESCRIPTION","dependencies":[{"id":25768399227,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.5.0","direct":true,"kind":"depends","optional":false},{"id":25768399229,"package_name":"AICcmodavg","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399583,"package_name":"data.table","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399630,"package_name":"dplyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399651,"package_name":"ggnewscale","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399761,"package_name":"ggplot2","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399789,"package_name":"ggstar","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399794,"package_name":"graphics","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399868,"package_name":"grDevices","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399869,"package_name":"grid","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399981,"package_name":"gridExtra","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768399990,"package_name":"jsonlite","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400067,"package_name":"lifecycle","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400347,"package_name":"lubridate","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400483,"package_name":"minpack.lm","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400573,"package_name":"msm","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400606,"package_name":"pbapply","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400607,"package_name":"plyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400616,"package_name":"purrr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400617,"package_name":"rjson","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400677,"package_name":"rlang","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400707,"package_name":"rlist","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400833,"package_name":"SimDesign","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768400856,"package_name":"stats","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768401078,"package_name":"stringr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768401082,"package_name":"tibble","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768401433,"package_name":"tidyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768401626,"package_name":"toOrdinal","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":25768401705,"package_name":"utils","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/check-standard.yaml","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:31.769Z","updated_at":"2025-12-14T11:00:31.769Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/.github/workflows/check-standard.yaml","dependencies":[{"id":25768398639,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25768398640,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768398643,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768398664,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768398665,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:34.988Z","updated_at":"2025-12-14T11:00:34.988Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/.github/workflows/test-coverage.yaml","dependencies":[{"id":25768399204,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25768399205,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399206,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399207,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pr-commands.yaml","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:34.056Z","updated_at":"2025-12-14T11:00:34.056Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/.github/workflows/pr-commands.yaml","dependencies":[{"id":25768399065,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25768399066,"package_name":"r-lib/actions/pr-fetch","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399178,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399179,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399180,"package_name":"r-lib/actions/pr-push","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/draft-pdf.yml","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:32.722Z","updated_at":"2025-12-14T11:00:32.722Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/.github/workflows/draft-pdf.yml","dependencies":[{"id":25768398732,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25768398733,"package_name":"openjournals/openjournals-draft-action","ecosystem":"actions","requirements":"master","direct":true,"kind":"composite","optional":false},{"id":25768399016,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2025-12-14T11:00:33.909Z","updated_at":"2025-12-14T11:00:33.909Z","repository_link":"https://github.com/Qepanna/goFlux/blob/master/.github/workflows/pkgdown.yaml","dependencies":[{"id":25768399059,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":25768399060,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399061,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399062,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25768399063,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"v4.4.1","direct":true,"kind":"composite","optional":false}]}],"score":null,"created_at":"2024-01-12T00:08:07.291Z","updated_at":"2026-04-14T22:30:26.642Z","avatar_url":"https://github.com/Qepanna.png","language":"R","category":"Emissions","sub_category":"Emission Observation and Modeling","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n# goFlux: A user-friendly way to calculate GHG fluxes yourself, regardless of user experience\u003cimg src=\"man/figures/goFlux.png\" align=\"right\" width=\"200\"/\u003e\n\n### One Package to rule them all\n\nNon-steady state (static) chambers are widely used for measuring soil\ngreenhouse gas (GHG) fluxes, such as CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e,\nN\u003csub\u003e2\u003c/sub\u003eO, NH\u003csub\u003e3\u003c/sub\u003e, CO, and water vapor (H\u003csub\u003e2\u003c/sub\u003eO).\nWhile linear regression (LM) is commonly used to estimate GHG fluxes,\nthis method tends to underestimate the pre-deployment flux\n(*f*\u003csub\u003e0\u003c/sub\u003e). Indeed, non-linearity is expected when the gas\nconcentration increases or decreases inside a closed chamber, due to\nchanges in gas gradients between the soil and the air inside the\nchamber. In addition, lateral gas flow and leakage contribute to\nnon-linearity. Many alternative to LM have been developed to try to\nprovide a more accurate estimation of *f*\u003csub\u003e0\u003c/sub\u003e, for instance the\nmethod of [Hutchinson and Mosier (HM)\n(1981)](https://doi.org/10.2136/sssaj1981.03615995004500020017x), which\nwas implemented in the [`HMR`](https://cran.r-project.org/package=HMR)\npackage by [Pedersen et al.,\n2010](https://doi.org/10.1111/j.1365-2389.2010.01291.x). However,\nnon-linear models have a tendency to largely overestimate some flux\nmeasurements, due to an exaggerated curvature. Therefore, the user is\nexpected to decide which method is more appropriate for each flux\nestimate. With the advent of portable greenhouse gas analyzers\n(e.g. [Los Gatos Research (ABB) laser gas\nanalyzers](https://new.abb.com/products/measurement-products/analytical/laser-gas-analyzers/laser-analyzers/lgr-icos-portable-analyzers)),\nsoil GHG fluxes have become much easier to measure, and more efficient\nways to calculate these flux estimates are needed in order to process\nlarge amounts of data. A recent approach was developed by [Hüppi et al.,\n2018](https://doi.org/10.1371/journal.pone.0200876) to restrict the\ncurvature in the HM model for a more reliable flux estimate. In the HM\nmodel, the curvature is controlled by the kappa parameter, $\\kappa$.\nHüppi et al. suggest the use of the `KAPPA.MAX` to limit the maximal\ncurvature allowed in the model (see their R package\n[`gasfluxes`](https://cran.r-project.org/package=gasfluxes), available\non the CRAN). This procedure introduces less arbitrary decisions in the\nflux estimation process.\n\nPrevious software developed to calculate GHG fluxes are limited in many\naspects that the goFlux package is meant to overcome. Most are limited\nto the linear regression approach (e.g. [Flux\nPuppy](https://www.sciencedirect.com/science/article/pii/S0168192319301522),\nand the R packages [`flux`](https://cran.r-project.org/package=flux) and\n[`FluxCalR`](https://github.com/junbinzhao/FluxCalR)), others do not\ninclude data pre-processing (e.g. the R packages\n[`HMR`](https://cran.r-project.org/package=HMR),\n[`flux`](https://cran.r-project.org/package=flux) and\n[`gasfluxes`](https://cran.r-project.org/package=gasfluxes)), or if they\ndo, they are compatible with only a few designated systems (e.g. [Flux\nPuppy](https://www.sciencedirect.com/science/article/pii/S0168192319301522)\nand [`FluxCalR`](https://github.com/junbinzhao/FluxCalR)), and none\ninclude an automatic selection of the best flux estimate (LM or HM)\nbased on objective criteria, except the R packages\n[`gasfluxes`](https://cran.r-project.org/package=gasfluxes) and\n[`HMR`](https://cran.r-project.org/package=HMR).\n\nThis new R package `goFlux` is meant to be “student proof”, meaning that\nno extensive knowledge or experience is needed to import raw data into\nR, choose the best model to calculate fluxes (LM or HM), quality check\nthe results objectively and obtain high quality flux estimates. The\npackage contains a wide range of functions that allows the user to\nimport raw data from a variety of instruments (LI-COR, LGR, GAIA2TECH,\nGasmet, Picarro, Aeris and PP-Systems); calculate fluxes from a variety\nof GHG (CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e, N\u003csub\u003e2\u003c/sub\u003eO, NH\u003csub\u003e3\u003c/sub\u003e,\nCO and H\u003csub\u003e2\u003c/sub\u003eO) with both linear (LM) and non-linear (HM) flux\ncalculation methods; align instruments clocks after data import;\ninteractively identify measurements (start and end time) if there are no\nautomatic chamber recordings (e.g. LI-COR smart chamber); plot\nmeasurements for easy visual inspection; and quality check the\nmeasurements based on objective criteria.\n\n\u003e *Three R packages for the Elven-kings under the CRAN,  \n\u003e Seven for the Dwarf-lords in their halls of open software,  \n\u003e Nine for Mortal Men doomed to write scripts themselves,  \n\u003e One for the Dark Lady on her dark throne  \n\u003e In the Land of GitHub where the Shadows lie.  \n\u003e One Package to rule them all, One Package to find them,  \n\u003e One Package to bring them all and in the darkness bind them  \n\u003e In the Land of GitHub where the Shadows lie.*\n\n## About the package\n\nThe R package `goFlux` is meant to be “student proof”, meaning that no\nextensive knowledge or experience is needed to import raw data into R\n(except for knowing how to use R, of course), choose the best model to\ncalculate fluxes (LM or HM, that is the question. -Shakespeare, 1603),\nquality check the results objectively (hence the no experience needed)\nand obtain high quality flux estimates from static chamber measurements\n(wonderful!).\n\nLook up [this webpage](https://qepanna.quarto.pub/goflux/) for a\ndemonstration of the package usage.\n\n### Import and measurement identification\n\nThe package contains a wide range of functions that let the user import\nraw data from a variety of instruments:\n\n- [**LI-COR trace gas\n  analyzers**](https://www.licor.com/env/products/trace-gas/): LI-6400\n  for CO\u003csub\u003e2\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO, LI-7810 for CO\u003csub\u003e2\u003c/sub\u003e,\n  CH\u003csub\u003e4\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO, LI-7820 for N\u003csub\u003e2\u003c/sub\u003eO and\n  H\u003csub\u003e2\u003c/sub\u003eO, and LI-8100 for CO\u003csub\u003e2\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO\n- [**LI-COR Smart\n  Chamber**](https://www.licor.com/env/products/soil-flux/survey): for\n  an easy import of data from any gas analyzer\n- [**Los Gatos Research (ABB) laser gas\n  analyzers**](https://new.abb.com/products/measurement-products/analytical/laser-gas-analyzers/laser-analyzers/lgr-icos-portable-analyzers):\n  Ultra-portable Greenhouse Gas Analyzer (GLA132-UGGA) and Microportable\n  Greenhouse Gas Analyzer (GLA131-MGGA) for CO\u003csub\u003e2\u003c/sub\u003e,\n  CH\u003csub\u003e4\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO, and GLA151-N2OM1 for\n  N\u003csub\u003e2\u003c/sub\u003eO, CH\u003csub\u003e4\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO\n- [**Picarro G2508 Gas Concentration\n  Analyzer**](https://www.picarro.com/environmental/products/g2508_gas_concentration_analyzer):\n  for CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e, N\u003csub\u003e2\u003c/sub\u003eO, NH\u003csub\u003e3\u003c/sub\u003e and\n  H\u003csub\u003e2\u003c/sub\u003eO\n- [**Picarro GasScouter\u003csup\u003eTM\u003c/sup\u003e G4301 Mobile Gas Concentration\n  Analyzer**](https://www.picarro.com/products/gas-scouter-g4301): for\n  CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO\n- [**GAIATECH Automated ECOFlux\n  chamber**](https://www.dmr.eu/technologies/gas-emission-measurements-eco2flux/automated-eco2flux-chamber/):\n  for an easy import of data from any gas analyzer\n- [**Gasmet DX4015 portable analyzer for humid\n  conditions**](https://www.gasmet.com/products/category/portable-gas-analyzers/dx4015/):\n  for CO, CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e, N\u003csub\u003e2\u003c/sub\u003eO, NH\u003csub\u003e3\u003c/sub\u003e\n  and H\u003csub\u003e2\u003c/sub\u003eO\n- [**PP-Systems EGM-5 Portable CO\u003csub\u003e2\u003c/sub\u003e Gas\n  Analyzer**](https://ppsystems.com/egm-5/): for CO\u003csub\u003e2\u003c/sub\u003e,\n  O\u003csub\u003e2\u003c/sub\u003e and H\u003csub\u003e2\u003c/sub\u003eO\n- [**Aeris technologies MIRA Ultra Gas\n  Analyzers**](https://aerissensors.com/ultra-series/):\n  N\u003csub\u003e2\u003c/sub\u003eO/CO\u003csub\u003e2\u003c/sub\u003e high accuracy analyzer (+H\u003csub\u003e2\u003c/sub\u003eO)\n  and CH\u003csub\u003e4\u003c/sub\u003e/C\u003csub\u003e2\u003c/sub\u003eH\u003csub\u003e6\u003c/sub\u003e Natural Gas Leak\n  Detection System (+H\u003csub\u003e2\u003c/sub\u003eO)\n- **Custom made multiplexer** from the University of Padova, Italy,\n  which integrates data from multiple automatic chambers linked to a\n  Gasmet DX4015.\n\nAfter import, the user can choose from two methods to define the start\nand end points of each measurement and assign a UniqueID:\n\n- **Manual identification of measurements** - based on `start.time`,\n  provided separately in an auxiliary file. The function `obs.win`\n  splits the imported data into a list of data frame (divided by\n  `UniqueID`) and creates an observation window around the `start.time`\n  to allow for a manual selection of the start and end points of each\n  measurements, using the function `click.peak2`.\n- **Automatic selection of measurements** - based on automatic\n  recordings of chamber opening and closing from an instrument such as\n  the LI-COR Smart Chamber or the GAIATECH Automated ECOFlux chamber.\n\nFollow these links for more details and demonstrations about [importing\nraw data](https://qepanna.quarto.pub/goflux/import.html) from the listed\ninstruments, or the [identification of\nmeasurements](https://qepanna.quarto.pub/goflux/manualID.html).\n\n### Flux calculation\n\nThe function `goFlux` calculates fluxes from a variety of greenhouse\ngases (CO\u003csub\u003e2\u003c/sub\u003e, CH\u003csub\u003e4\u003c/sub\u003e, N\u003csub\u003e2\u003c/sub\u003eO, NH\u003csub\u003e3\u003c/sub\u003e,\nCO, and H\u003csub\u003e2\u003c/sub\u003eO) using both linear (LM) and non-linear (HM;\n[Hutchinson and Mosier,\n1981](https://doi.org/10.2136/sssaj1981.03615995004500020017x)) flux\ncalculation methods. The HM model for the chamber concentration $C_t$ at\ntime $t \u003e 0$ after deployment is given by:\n\n$$\\mathbf{Eqn~1}~~~~~~C_t = \\varphi~+~(C_0 - \\varphi)e^{-~\\kappa~t}$$\n\nWhere $\\varphi$ is the assumed concentration of constant gas source\nbelow the surface (also known as $C_i$), $C_0$ is the concentration in\nthe chamber at the moment of chamber closure and $\\kappa$ (kappa)\ndetermines the curvature of the model. A large kappa returns a strong\ncurvature.\n\nA maximum threshold for this parameter, kappa-max ($k.max$), can be\ncalculated from the linear flux estimate ($LM.flux$), the minimal\ndetectable flux ($MDF$) and the time of chamber closure ($t$) ([Hüppi et\nal., 2018](https://doi.org/10.1371/journal.pone.0200876)).\n\n$$\\mathbf{Eqn~2}~~~~~~k.max = \\frac{LM.flux}{MDF~\\times~t}$$\n\nWhere $LM.flux$ and $MDF$ have the same units (nmol or\nµmol·m\u003csup\u003e-2\u003c/sup\u003e·s\u003csup\u003e-1\u003c/sup\u003e) and $t$ is in seconds. Therefore,\nthe units of kappa-max is s\u003csup\u003e-1\u003c/sup\u003e. This limit of kappa-max is\nincluded in the `goFlux` function, so that the non-linear flux estimate\ncannot exceed this maximum curvature. See below for more details about\nthe minimal detectable flux (MDF).\n\nAll flux estimates, including the MDF, are multiplied by a $flux.term$\nwhich is used to correct for water vapor inside the chamber, as well as\nconvert the units to obtain a term in nmol or\nµmol·m\u003csup\u003e-2\u003c/sup\u003e·s\u003csup\u003e-1\u003c/sup\u003e:\n\n$$\\mathbf{Eqn~3}~~~~~~flux.term = \\frac{(1 - H_2O)~V~P}{A~R~T}$$\n\nWhere $H_2O$ is the water vapor in mol·mol\u003csup\u003e-1\u003c/sup\u003e, $V$ is the\nvolume inside the chamber in liters, $P$ is the pressure in kPa, $A$ is\nthe surface area inside the chamber in m\u003csup\u003e2\u003c/sup\u003e, $R$ is the\nuniversal gas constant in L·kPa·K\u003csup\u003e-1\u003c/sup\u003e·mol\u003csup\u003e-1\u003c/sup\u003e. Each\nparameters are measured inside the chamber at $t = 0$.\n\nMore details and demonstrations about the function `goFlux` can be found\n[here](https://qepanna.quarto.pub/goflux/goFlux.html).\n\n### Automatic selection of the best flux estimate\n\nFollowing flux calculation, the user can select the best flux estimate\n(LM or HM) based on objective criteria, using the `best.flux` function:\n\n- **Assumed non-linearity**: If all criteria are met, the best flux\n  estimate is assumed to be the non-linear estimate from the Hutchinson\n  and Mosier model.\n- **G-factor**: the ratio between a non-linear flux estimate\n  (e.g. Hutchinson and Mosier; HM) and a linear flux estimate.\n- **Kappa ratio**: maximal limit of the ratio between kappa and\n  kappa-max ($k.max$).\n- **Indices of model fit**: the best model can be selected based on a\n  selection of indices of model fit: MAE, RMSE, SE and AICc. In addition\n  to the automatic selection of the best flux estimate based on these\n  indices of model fit, measurements can be flagged “noisy” using these\n  criteria.\n\nIn addition, the `best.flux` function can flag measurements that are\nbelow detection limit (MDF and *p-value*), out of bounds (intercept), or\ntoo short (number of observations).\n\n- **Minimal Detectable Flux (MDF)**: limit under which a flux estimate\n  is considered below the detection limit.\n- **Statistically significant flux (*p-value*)**: limit under which a\n  flux estimate is considered statistically non-significant, and below\n  the detection limit.\n- **Intercept**: inferior and superior limits of the intercept (initial\n  concentration; $C_0$).\n- **Number of observations**: limit under which a measurement is flagged\n  for being too short.\n\nBy default, all criteria are included:\n`criteria = c(\"MAE\", \"RMSE\", \"AICc\", \"SE\", \"g-factor\", \"kappa\", \"MDF\", \"nb.obs\", \"p-value\", \"intercept\")`\n\nA demonstration of the usage of the function `best.flux` can be found\n[here](https://qepanna.quarto.pub/goflux/bestflux.html).\n\n#### **G-factor**\n\nThe g-factor is the ratio between a non-linear flux estimate\n(e.g. Hutchinson and Mosier; HM) and a linear flux estimate ([Hüppi et\nal., 2018](https://doi.org/10.1371/journal.pone.0200876)).\n\n$$\\mathbf{Eqn~4}~~~~~~g-factor = \\frac{HM.flux}{LM.flux}$$\n\nWith the `best.flux` function, one can choose a limit at which the HM\nmodel is deemed to overestimate (*f*\u003csub\u003e0\u003c/sub\u003e). Recommended\nthresholds for the g-factor are \\\u003c4 for a flexible threshold, \\\u003c2 for a\nmedium threshold, or \\\u003c1.25 for a more conservative threshold. The\ndefault threshold is `g.limit = 2`. If the g-factor is above the\nspecified threshold, the best flux estimate will switch to LM instead of\nHM. If `HM.flux/LM.flux` is larger than `g.limit`, a warning is given in\nthe columns `HM.diagnose` and `quality.check`.\n\n#### **Minimal Detectable Flux (MDF)**\n\nThe minimal detectable flux ($MDF$) is based on instrument precision\n($prec$) and measurement time ($t$) ([Christiansen et al.,\n2015](https://doi.org/10.1016/j.agrformet.2015.06.004)).\n\n$$\\mathbf{Eqn~5}~~~~~~MDF = \\frac{prec}{t}~\\times~flux.term$$\n\nWhere the instrument precision is in the same units as the measured gas\n(ppm or ppb) and the measurement time is in seconds.\n\nBelow the MDF, the flux estimate is considered under the detection\nlimit, but not null. Therefore, the function will not return a 0. There\nwill simply be a warning in the columns `quality.check`, `LM.diagnose`\nor `HM.diagnose` to warn of a flux estimate under the detectable limit.\nNo best flux estimate is chosen based on MDF.\n\n#### **Kappa ratio**\n\nThe parameter kappa determines the curvature of the non-linear\nregression in the Hutchinson and Mosier model, as shown in equation 1.\nThe limit of kappa-max, as calculated in equation 2, is included in the\n`goFlux` function, so that the non-linear flux estimate cannot exceed\nthis maximum curvature.\n\nIn the function `best.flux`, one can choose the linear flux estimate\nover the non-linear flux estimate based on the ratio between kappa and\nkappa-max (`k.ratio`). A value of 1 indicates `HM.k = k.max`, and a\nvalue of e.g. 0.5 indicates `HM.k = 0.5*k.max`. The default setting is\n`k.ratio = 1`. If `HM.k/k.max` is larger than `k.ratio`, a warning is\nissued in the columns `HM.diagnose` and `quality.check`. The ratio is\nexpressed as a percentage of kappa-max in the plots.\n\n#### **Indices of model fit**\n\nIn the `best.flux` function, we included multiple choices of indices of\nmodel fit, described below. One can choose to include however many of\nthem in the function. If multiple of them are included, the selection of\nthe best model will be made based on a scoring system. Both models start\nwith a score of 0. For each criteria, whichever model performs worst is\ngiven +1. After all selected criteria have been evaluated, the model\nwith the lowest score wins. In case of a tie, the non-linear flux\nestimate is always chosen by default, as non-linearity is assumed. The\nscore is printed in the output data frame in the columns `HM.score` and\n`LM.score`.\n\n##### **Mean Absolute Error (MAE) and Root Mean Square Error (RMSE)**\n\nThe mean absolute error (MAE) is the arithmetic mean of the absolute\nresiduals of a model, calculated as follows:\n\n$$\n\\mathbf{Eqn~6}~~~~~~MAE = \\frac{1}{n} \\sum_{i = 1}^{n}{\\lvert{y_i-\\hat{y_i}}\\rvert}\n$$\n\nWhere $y_i$ is the measured value, $\\hat{y_i}$ is the predicted value\nand $n$ is the number of observations.\n\nThe root mean square error (RMSE) is very similar to the MAE. Instead of\nusing absolute errors, it uses squared errors, and the mean of the\nsquared errors is then rooted as follows:\n\n$$\n\\mathbf{Eqn~7}~~~~~~RMSE = \\sqrt{\\frac{1}{n} \\sum_{i = 1}^{n}{({y_i-\\hat{y_i}})^2}}\n$$\n\nBecause of the squared errors, RMSE is sensitive to outliers. Indeed, a\nfew large errors will have a significant impact on the RMSE. Therefore,\nRMSE will always be larger than or equal to MAE ([Pontius et al.,\n2008](https://doi.org/10.1007/s10651-007-0043-y)).\n\nMathematically, RMSE is equivalent to the standard deviation of the\nresiduals. Indeed, for a constant gas concentration, the standard\ndeviation is expressed as follows:\n\n$$\n\\mathbf{Eqn~8}~~~~~~\\sigma = \\sqrt{\\frac{1}{N} \\sum_{i = 1}^{N}{({x_i-\\mu})^2}}\n$$\n\nWhere $x_i$ is the measured value, $N$ is the size of the population and\n$\\mu$ is the population mean. The standard deviation is used to\ncalculate the precision of an instrument. In that case, $\\mu$ is a known\nconstant gas concentration and $N$ is the number of observations.\n\nConsidering all of the above, MAE, RMSE and the standard deviation are\nall measures of how much the data points are scattered around the true\nmean or the regression. Therefore, MAE and RMSE can be compared to the\ninstrument precision to determine if a measurement is noisy. For a MAE\nor RMSE larger than the instrument precision, the measurement is\nconsidered to have more noise than normally expected.\n\nIf MAE is chosen as a criteria in `best.flux`, the model with the\nsmallest MAE is chosen. If both models have a MAE smaller than the\ninstrument precision, the non-linear flux estimate is always chosen by\ndefault, as non-linearity is assumed. When MAE is larger than the\ninstrument precision, a warning is given in the columns `quality.check`,\n`LM.diagnose` or `HM.diagnose` to warn of a noisy measurement. RMSE\nfunctions exactly the same was as MAE in the `best.flux` function.\n\n##### **Standard Error**\n\nWhile the standard deviation describes how the data points are scattered\naround the true mean, the standard error of a measurement tells how\naccurate that measurement is compared to the true population mean\n([Altman and Bland, 2005](https://doi.org/10.1136%2Fbmj.331.7521.903)).\nIf considering the standard deviation as used to calculate instrument\nprecision (equation 8), the instrument standard error (instrument\naccuracy) can be defined as the standard deviation divided by the square\nroot of the number of observations:\n\n$$\\mathbf{Eqn~9}~~~~~~\\sigma_\\bar{x} = \\frac{\\sigma}{\\sqrt{n}}$$\n\nPractically, this means that the accuracy increases with the sample size\nof a measurement. In other words, if an instrument is imprecise and the\nmeasurement has a lot of noise, it is still possible to get a more\naccurate estimate of the true mean by increasing the number of\nobservations. With high-frequency GHG analyzers, that means increasing\nthe chamber closure time.\n\nTo calculate the standard error of a regression, one can use the delta\nmethod (`deltamethod` from the `msm` package), which propagates the\ntotal error of the flux calculation for each parameter included in the\nformula. The delta method approximates the standard error of a\nregression $g(X)$ of a random variable $X = (x_1, x_2, ...)$, given\nestimates of the mean and covariance matrix of $X$ ([Oehlert,\n1992](https://doi.org/10.2307/2684406); [Mandel,\n2013](https://doi.org/10.1080/00031305.2013.783880)).\n\nIn the function `best.flux`, the standard error (SE) of the measurements\ncan be compared to the standard error of the instrument\n($\\sigma_\\bar{x}$). If SE is chosen as a criteria in `best.flux`, the\nmodel with the smallest SE is chosen. If both models have a SE smaller\nthan the instrument precision, the non-linear flux estimate is always\nchosen by default, as non-linearity is assumed. When SE is larger than\nthe instrument accuracy ($\\sigma_\\bar{x}$), a warning is given in the\ncolumns `quality.check`, `LM.diagnose` or `HM.diagnose` to warn of a\nnoisy measurement.\n\n##### **Akaike Information Criterion corrected for small sample size (AICc)**\n\nThe AIC estimates the relative quality of a statistical model and is\nused to compare the fitting of different models to a set of data\n([Akaike, 1974](https://doi.org/10.1109/TAC.1974.1100705)). Consider the\nformula for AIC:\n\n$$\\mathbf{Eqn~10}~~~~~~AIC = 2k - 2ln(\\hat{L})$$\n\nWhere $k$ is the number of parameters in the model and $\\hat{L}$ is the\nmaximized value of the likelihood function for the model. AIC deals with\nthe trade-off between the goodness of fit of a model and the simplicity\nof the model. In other words, the AIC is a score that deals with both\nthe risk of underfitting and the risk of overfitting, and the model with\nthe lowest score has the best model fit.\n\nIn flux calculation, the linear model contains two parameters: the slope\nand the intercept ($C_0$), whereas the Hutchinson and Mosier model\n(equation 1) contains three parameters: the assumed concentration of\nconstant gas source below the surface ($\\varphi$), the concentration in\nthe chamber at the moment of chamber closure ($C_0$) and the curvature,\nkappa ($\\kappa$). If both models have a very similar fit (maximum\nlikelihood), then the linear model would win because it has less\nparameters. However, when the sample size is small (\\\u003c40 observations\nper parameter; i.e. \\\u003c120 observations when calculating HM), there is an\nincreased risk that AIC selects a model with too many parameters. To\naddress this risk of overfitting, AICc was developed ([Sugiura,\n1978](https://doi.org/10.1080/03610927808827599)):\n\n$$\\mathbf{Eqn~11}~~~~~~AICc = AIC + \\frac{2k^2 + 2k}{n - k - 1}$$\n\nWhere $n$ denotes the number of observations and $k$ the number of\nparameters in the model.\n\nIf AICc is selected as a criteria in the `best.flux` function, the model\nwith the lowest AICc wins.\n\n#### **Intercept**\n\nIf the initial gas concentration (*C\u003csub\u003e0\u003c/sub\u003e*) calculated for the\nflux estimates (`HM.C0` and `LM.C0`) deviates from the true\n*C\u003csub\u003e0\u003c/sub\u003e* (measured concentration at $t = 0$) by more or less than\n10% of the difference between *C\u003csub\u003e0\u003c/sub\u003e* and the final gas\nconcentration at the end of the measurement (*C\u003csub\u003et\u003c/sub\u003e*), a warning\nis issued in the columns `quality.check`, `LM.diagnose` or `HM.diagnose`\nto warn of an intercept out of bounds. Alternatively, one can provide\nboundaries for the intercept, for example: `intercept.lim = c(380, 420)`\nfor a true *C\u003csub\u003e0\u003c/sub\u003e* of 400 ppm.\n\n#### **Statistically significant flux (*p-value*)**\n\nThis criteria is only applicable to the linear flux. Under a defined\n*p-value*, the linear flux estimate is deemed non-significant, i. e.,\nflux under the detectable limit. The default threshold is\n`p.val = 0.05`. No best flux estimate is chosen based on *p-value*. If\n`LM.p.val \u003c p.val`, a warning is given in the columns `quality.check`\nand `LM.diagnose` to warn of an estimated flux under the detection\nlimit.\n\n#### **Number of observations**\n\nLimit under which a measurement is flagged for being too short\n(`nb.obs \u003c warn.length`). With nowadays’ portable greenhouse gas\nanalyzers, the frequency of measurement is usually one observation per\nsecond. Therefore, for the default setting of `warn.length = 60`, the\nchamber closure time should be approximately one minute (60 seconds). If\nthe number of observations is smaller than the threshold, a warning is\nissued in the column `quality.check`.\n\n### Visual inspection\n\nFinally, after finding the best flux estimates, one can plot the results\nand visually inspect the measurements using the function `flux.plot` and\nsave the plots as pdf using `flux2pdf`.\n\nFind out more about these functions\n[here](https://qepanna.quarto.pub/goflux/flux2pdf.html).\n\n## Installation\n\nTo install a package from GitHub, one can use the package `devtools` (or\n`remotes`) from the CRAN:\n\n``` r\nif (!require(\"devtools\", quietly = TRUE)) install.packages(\"devtools\")\n```\n\nThen, install the `goFlux` package from GitHub. If it is not the first\ntime you install the package, it must first be detached before being\nupdated.\n\n\u003e The package is constantly being updated with new functions or\n\u003e de-bugging. To make sure that you are using the latest version,\n\u003e re-install the package every time you use it.\n\n``` r\ntry(detach(\"package:goFlux\", unload = TRUE), silent = TRUE)\ndevtools::install_github(\"Qepanna/goFlux\")\n```\n\n**If prompted, it is recommended to update any pre-installed packages.**\nThe functioning of the package depends on many other packages\n(`AICcmodavg`, `data.table`, `dplyr`, `ggnewscale`, `ggplot2`, `ggstar`,\n`graphics`, `grDevices`, `grid`, `gridExtra`, `lubridate`, `minpack.lm`,\n`msm`, `pbapply`, `plyr`, `purrr`, `rjson`, `rlist`, `SimDesign`,\n`stats`, `stringr`, `tibble`, `tidyr`, `utils`), which will be installed\nwhen installing `goFlux`.\n\n### Troubleshoot problems with `install_github`\n\n#### Warning: package is in use and will not be installed\n\nIf you get this warning while trying to install an R package from\nGitHub:\n\n    ## Warning: package ‘goFlux’ is in use and will not be installed\n\nThis error means that the package is loaded. Before re-installing the\npackage, you must first detach it:\n\n``` r\ndetach(\"package:goFlux\", unload = TRUE)\n```\n\nIf this does not solve the problem, restart your session and try again.\n\n------------------------------------------------------------------------\n\n#### Error: API rate limit exceeded\n\nIf you get this error while trying to install an R package from GitHub:\n\n    ## Error: Failed to install 'goFlux' from GitHub:\n    ##   HTTP error 403.\n    ##   API rate limit exceeded for xxx.xxx.xxx.x (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\n    ## \n    ##   Rate limit remaining: 0/60\n    ##   Rate limit reset at: 2023-10-16 09:08:07 UTC\n    ## \n    ##   To increase your GitHub API rate limit\n    ##   - Use `usethis::create_github_token()` to create a Personal Access Token.\n    ##   - Use `usethis::edit_r_environ()` and add the token as `GITHUB_PAT`.\n\nThis error can occur while using the package `remotes` to install an R\npackage from GitHub. Try using the package `devtools` instead. If the\nerror still occurs, follow the instructions below.\n\n##### Step 1: Set up a GitHub account\n\n**Go to \u003chttps://github.com/join\u003e .**\n\n1.  Type a user name, your email address, and a password.\n\n2.  Choose Sign up for GitHub, and then follow the instructions.\n\n##### Step 2: Create a GitHub token\n\nRun in R:\n\n``` r\nusethis::create_github_token()\n```\n\nOn pop-up website, generate and copy your token.\n\n##### Step 3: Set your GitHub PAT from R\n\nRun in R with your own token generated in step 2:\n\n``` r\ncredentials::set_github_pat(\"YourTokeninStep2\")\n```\n\n## Community Guidelines\n\nAuthors: Karelle Rheault and Klaus Steenberg Larsen\n\nThe package is ready to use and fully functional, but errors may still\noccur. To report any issues, suggest improvements or ask for new\nfeatures, [open an issue on\nGitHub](https://github.com/Qepanna/goFlux/issues). Alternatively,\ncontact directly the maintainer, Karelle Rheault (\u003ckarh@ign.ku.dk\u003e),\nincluding script and raw data if necessary. Thank you for helping me in\nthe development of this tool! 🙏\n\n## How to cite\n\nPlease cite this R package using this publication in JOSS:  \n  \nRheault et al., (2024). goFlux: A user-friendly way to calculate GHG\nfluxes yourself, regardless of user experience. Journal of Open Source\nSoftware, 9(96), 6393, \u003chttps://doi.org/10.21105/joss.06393\u003e\n\n## Acknowledgements\n\nThis software development was supported by the SilvaNova project funded\nby the NOVO Nordisk Foundation (grant no. NNF20OC0059948).\n\n[\u003cimg src=\"man/figures/SilvaNova_logo.jpg\" width=\"198\" /\u003e](https://ign.ku.dk/english/silvanova/)     [\u003cimg src=\"man/figures/NovoNordisk_fonden_logo.png\" width=\"128\" /\u003e](https://novonordiskfonden.dk/en/)\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.2136/sssaj1981.03615995004500020017x","https://doi.org/10.1111/j.1365-2389.2010.01291.x","https://doi.org/10.1371/journal.pone.0200876","https://doi.org/10.1016/j.agrformet.2015.06.004","https://doi.org/10.1007/s10651-007-0043-y","https://doi.org/10.1136%2Fbmj.331.7521.903","https://doi.org/10.2307/2684406);","https://doi.org/10.1080/00031305.2013.783880","https://doi.org/10.1109/TAC.1974.1100705","https://doi.org/10.1080/03610927808827599","https://doi.org/10.21105/joss.06393"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/170251","html_url":"https://ost.ecosyste.ms/projects/170251"}