{"id":11969,"name":"sdmTMB","description":"An R package that fits spatial and spatiotemporal predictive-processes for species distribution models.","url":"https://github.com/sdmTMB/sdmTMB","last_synced_at":"2026-10-21T00:30:41.930Z","repository":{"id":37269744,"uuid":"149399567","full_name":"sdmTMB/sdmTMB","owner":"sdmTMB","description":"An R package for spatial and spatiotemporal GLMMs with TMB","archived":false,"fork":false,"pushed_at":"2026-10-19T23:57:19.000Z","size":43437,"stargazers_count":256,"open_issues_count":18,"forks_count":33,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-10-20T01:57:46.990Z","etag":null,"topics":["ecology","glmm","r","spatial-analysis","species-distribution-modelling","tmb"],"latest_commit_sha":null,"homepage":"https://sdmTMB.github.io/sdmTMB/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdmTMB.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"accessibility":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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-09-19T05:59:53.000Z","updated_at":"2026-10-19T23:24:10.000Z","dependencies_parsed_at":"2026-10-20T02:10:10.542Z","dependency_job_id":null,"html_url":"https://github.com/sdmTMB/sdmTMB","commit_stats":{"total_commits":2312,"total_committers":18,"mean_commits":"128.44444444444446","dds":"0.15138408304498274","last_synced_commit":"af6267e873c0069b3b6d05530cc4482050946a66"},"previous_names":["sdmtmb/sdmtmb","pbs-assess/sdmtmb"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/sdmTMB/sdmTMB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38384873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-20T02:00:06.669Z","response_time":101,"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":"sdmTMB","name":"sdmTMB","uuid":"245077094","kind":"organization","description":"sdmTMB R package","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/245077094?v=4","repositories_count":1,"last_synced_at":"2026-10-19T08:28:08.796Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/sdmTMB","funding_links":[],"total_stars":228,"followers":6,"following":0,"created_at":"2025-11-21T23:02:51.308Z","updated_at":"2026-10-19T08:28:08.806Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB/repositories"},"packages":[{"id":14813567,"name":"github.com/sdmtmb/sdmtmb","ecosystem":"go","description":null,"homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/sdmtmb/sdmtmb","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2023-01-27T18:05:13.000Z","latest_release_published_at":"2026-10-17T03:02:56.422Z","latest_release_number":"v1.2.0","latest_published_release_number":null,"last_synced_at":"2026-10-19T04:10:15.590Z","created_at":"2026-07-24T19:17:10.222Z","updated_at":"2026-10-20T02:59:11.019Z","registry_url":"https://pkg.go.dev/github.com/sdmtmb/sdmtmb","install_command":"go get github.com/sdmtmb/sdmtmb","documentation_url":"https://pkg.go.dev/github.com/sdmtmb/sdmtmb#section-documentation","metadata":{},"repo_metadata":{"id":37269744,"uuid":"149399567","full_name":"sdmTMB/sdmTMB","owner":"sdmTMB","description":"An R package for spatial and spatiotemporal GLMMs with TMB","archived":false,"fork":false,"pushed_at":"2026-10-19T23:57:19.000Z","size":43437,"stargazers_count":256,"open_issues_count":18,"forks_count":33,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-10-20T01:57:46.990Z","etag":null,"topics":["ecology","glmm","r","spatial-analysis","species-distribution-modelling","tmb"],"latest_commit_sha":null,"homepage":"https://sdmTMB.github.io/sdmTMB/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdmTMB.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"accessibility":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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-09-19T05:59:53.000Z","updated_at":"2026-10-19T23:24:10.000Z","dependencies_parsed_at":"2026-10-20T02:10:10.542Z","dependency_job_id":null,"html_url":"https://github.com/sdmTMB/sdmTMB","commit_stats":{"total_commits":2312,"total_committers":18,"mean_commits":"128.44444444444446","dds":"0.15138408304498274","last_synced_commit":"af6267e873c0069b3b6d05530cc4482050946a66"},"previous_names":["sdmtmb/sdmtmb","pbs-assess/sdmtmb"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/sdmTMB/sdmTMB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38384873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-20T02:00:06.669Z","response_time":101,"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":"sdmTMB","name":"sdmTMB","uuid":"245077094","kind":"organization","description":"sdmTMB R package","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/245077094?v=4","repositories_count":1,"last_synced_at":"2026-10-19T08:28:08.796Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/sdmTMB","funding_links":[],"total_stars":228,"followers":6,"following":0,"created_at":"2025-11-21T23:02:51.308Z","updated_at":"2026-10-19T08:28:08.806Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB/repositories"},"tags":[{"name":"v1.2.0","sha":"eb1cb014117d74bd23af7d977e84591c5d3c35e6","kind":"commit","published_at":"2026-10-16T22:19:05.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.2.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"cbbfa80b2075440b8da159f2dd79a78429c820e8","kind":"commit","published_at":"2026-07-03T22:26:02.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.1.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"a7a6fcc9cecc37e5df4ad662062bed300a136401","kind":"commit","published_at":"2026-01-24T00:47:35.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.0.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"fb4685937a7989f76856475f98517fc5472e5734","kind":"commit","published_at":"2025-11-26T01:47:42.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.8.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0/manifests"},{"name":"v0.7.4","sha":"2c77f5f4e01bddab5e12aaa1326a40a6ea043b6a","kind":"commit","published_at":"2025-07-29T17:27:51.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.4","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4/manifests"},{"name":"v0.7.2","sha":"6a0360dfd1e3aaca5fb43951819d064206bcf5cb","kind":"commit","published_at":"2025-06-19T19:44:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2/manifests"},{"name":"v0.7.0","sha":"9b972354680437458bad92a0f65918b3fb4a2663","kind":"commit","published_at":"2025-04-01T20:36:55.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"708d613a7c5fe78696b78acb286013f7a3313dbf","kind":"commit","published_at":"2024-05-29T03:14:15.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.6.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"ad5db932bc6f4aaa7c456cb21b8f56c44d9addc1","kind":"commit","published_at":"2024-04-03T19:47:08.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.5.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0/manifests"},{"name":"v0.4.3","sha":"5f87d317a27adc37ca42601dc190cf0e0358feb5","kind":"commit","published_at":"2024-02-28T21:53:40.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.3","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"87aad07cf2f77a2598e11a5b46171db72e5f3ae7","kind":"commit","published_at":"2024-01-18T01:17:58.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"1506e31f1507016fb23083b6c812c33f3dd8371c","kind":"commit","published_at":"2023-11-02T18:40:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.1","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"408311fb7061e66d207b7f3a8dfb94b3b7e1351c","kind":"commit","published_at":"2023-10-19T18:32:28.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"d3744b86a9fb4a66b67e82ccbc8af4c91b0d0b34","kind":"commit","published_at":"2023-01-27T18:05:13.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.3.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0/manifests"}]},"repo_metadata_updated_at":"2026-10-20T02:59:11.019Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":4.856048725074748,"dependent_packages_count":4.550149182645931,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.703098953860339},"purl":"pkg:golang/github.com/sdmtmb/sdmtmb","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sdmtmb/sdmtmb","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sdmtmb/sdmtmb","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sdmtmb/sdmtmb/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-19T04:00:29.021Z","issues_count":21,"pull_requests_count":4,"avg_time_to_close_issue":1922006.1,"avg_time_to_close_pull_request":71230.0,"issues_closed_count":10,"pull_requests_closed_count":3,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":2.3333333333333335,"avg_comments_per_pull_request":0.75,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":1922006.1,"past_year_avg_time_to_close_pull_request":71230.0,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":2.3333333333333335,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/issues","maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}],"active_maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsdmtmb%2Fsdmtmb/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2540992,"maintainers_count":0,"namespaces_count":853563,"keywords_count":143231,"github":"golang","metadata":{"funded_packages_count":118699,"sync_missing_packages_cursor":{"timestamp":"2026-09-29T00:04:57.155362Z","path":"github.com/virtengine/virtengine/sdk/specs","version":"v0.0.0-20260928231908-c0c887541540"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-10-19T05:07:28.707Z","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":5856311,"name":"sdmTMB","ecosystem":"cran","description":"Spatial and Spatiotemporal SPDE-Based GLMMs with 'TMB'","homepage":"https://sdmTMB.github.io/sdmTMB/","licenses":"GPL-3","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/sdmTMB/sdmTMB","keywords_array":[],"namespace":null,"versions_count":16,"first_release_published_at":"2023-01-10T00:00:00.000Z","latest_release_published_at":"2026-10-16T00:00:00.000Z","latest_release_number":"1.2.0","latest_published_release_number":null,"last_synced_at":"2026-10-19T04:03:00.965Z","created_at":"2023-01-10T19:39:44.524Z","updated_at":"2026-10-20T02:59:35.095Z","registry_url":"https://cran.r-project.org/package=sdmTMB","install_command":null,"documentation_url":"http://cran.r-project.org/web/packages/sdmTMB/sdmTMB.pdf","metadata":{},"repo_metadata":{"id":37269744,"uuid":"149399567","full_name":"sdmTMB/sdmTMB","owner":"sdmTMB","description":"An R package for spatial and spatiotemporal GLMMs with TMB","archived":false,"fork":false,"pushed_at":"2026-10-19T23:57:19.000Z","size":43437,"stargazers_count":256,"open_issues_count":18,"forks_count":33,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-10-20T01:57:46.990Z","etag":null,"topics":["ecology","glmm","r","spatial-analysis","species-distribution-modelling","tmb"],"latest_commit_sha":null,"homepage":"https://sdmTMB.github.io/sdmTMB/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdmTMB.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"accessibility":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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-09-19T05:59:53.000Z","updated_at":"2026-10-19T23:24:10.000Z","dependencies_parsed_at":"2026-10-20T02:10:10.542Z","dependency_job_id":null,"html_url":"https://github.com/sdmTMB/sdmTMB","commit_stats":{"total_commits":2312,"total_committers":18,"mean_commits":"128.44444444444446","dds":"0.15138408304498274","last_synced_commit":"af6267e873c0069b3b6d05530cc4482050946a66"},"previous_names":["sdmtmb/sdmtmb","pbs-assess/sdmtmb"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/sdmTMB/sdmTMB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38384873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-20T02:00:06.669Z","response_time":101,"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":"sdmTMB","name":"sdmTMB","uuid":"245077094","kind":"organization","description":"sdmTMB R package","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/245077094?v=4","repositories_count":1,"last_synced_at":"2026-10-19T08:28:08.796Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/sdmTMB","funding_links":[],"total_stars":228,"followers":6,"following":0,"created_at":"2025-11-21T23:02:51.308Z","updated_at":"2026-10-19T08:28:08.806Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB/repositories"},"tags":[{"name":"v1.2.0","sha":"eb1cb014117d74bd23af7d977e84591c5d3c35e6","kind":"commit","published_at":"2026-10-16T22:19:05.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.2.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"cbbfa80b2075440b8da159f2dd79a78429c820e8","kind":"commit","published_at":"2026-07-03T22:26:02.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.1.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"a7a6fcc9cecc37e5df4ad662062bed300a136401","kind":"commit","published_at":"2026-01-24T00:47:35.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.0.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"fb4685937a7989f76856475f98517fc5472e5734","kind":"commit","published_at":"2025-11-26T01:47:42.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.8.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0/manifests"},{"name":"v0.7.4","sha":"2c77f5f4e01bddab5e12aaa1326a40a6ea043b6a","kind":"commit","published_at":"2025-07-29T17:27:51.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.4","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4/manifests"},{"name":"v0.7.2","sha":"6a0360dfd1e3aaca5fb43951819d064206bcf5cb","kind":"commit","published_at":"2025-06-19T19:44:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2/manifests"},{"name":"v0.7.0","sha":"9b972354680437458bad92a0f65918b3fb4a2663","kind":"commit","published_at":"2025-04-01T20:36:55.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"708d613a7c5fe78696b78acb286013f7a3313dbf","kind":"commit","published_at":"2024-05-29T03:14:15.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.6.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"ad5db932bc6f4aaa7c456cb21b8f56c44d9addc1","kind":"commit","published_at":"2024-04-03T19:47:08.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.5.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0/manifests"},{"name":"v0.4.3","sha":"5f87d317a27adc37ca42601dc190cf0e0358feb5","kind":"commit","published_at":"2024-02-28T21:53:40.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.3","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"87aad07cf2f77a2598e11a5b46171db72e5f3ae7","kind":"commit","published_at":"2024-01-18T01:17:58.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"1506e31f1507016fb23083b6c812c33f3dd8371c","kind":"commit","published_at":"2023-11-02T18:40:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.1","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"408311fb7061e66d207b7f3a8dfb94b3b7e1351c","kind":"commit","published_at":"2023-10-19T18:32:28.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"d3744b86a9fb4a66b67e82ccbc8af4c91b0d0b34","kind":"commit","published_at":"2023-01-27T18:05:13.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.3.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0/manifests"}]},"repo_metadata_updated_at":"2026-10-20T02:59:35.095Z","dependent_packages_count":1,"downloads":4580,"downloads_period":"last-month","dependent_repos_count":2,"rankings":{"downloads":17.43550354674016,"dependent_repos_count":19.608552185508294,"dependent_packages_count":27.965297546428086,"stargazers_count":3.1401075317399356,"forks_count":5.552794469796232,"docker_downloads_count":null,"average":14.740451056042541},"purl":"pkg:cran/sdmTMB","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/cran/sdmTMB","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/cran/sdmTMB","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cran/sdmTMB/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-19T04:00:29.021Z","issues_count":21,"pull_requests_count":4,"avg_time_to_close_issue":1922006.1,"avg_time_to_close_pull_request":71230.0,"issues_closed_count":10,"pull_requests_closed_count":3,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":2.3333333333333335,"avg_comments_per_pull_request":0.75,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":1922006.1,"past_year_avg_time_to_close_pull_request":71230.0,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":2.3333333333333335,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/issues","maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}],"active_maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages/sdmTMB/codemeta","maintainers":[{"uuid":"sean@seananderson.ca","login":null,"name":"Sean C. Anderson","email":"sean@seananderson.ca","url":null,"packages_count":3,"html_url":null,"role":null,"created_at":"2023-01-10T19:39:53.256Z","updated_at":"2023-01-10T19:39:53.256Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers/sean@seananderson.ca/packages"}],"registry":{"name":"cran.r-project.org","url":"https://cran.r-project.org","ecosystem":"cran","default":true,"packages_count":30381,"maintainers_count":17352,"namespaces_count":0,"keywords_count":10992,"github":"r-project-org","metadata":{"icon_url":"https://cran.r-project.org/CRANlogo.png","funded_packages_count":792},"icon_url":"https://cran.r-project.org/CRANlogo.png","created_at":"2022-04-06T16:32:25.637Z","updated_at":"2026-10-19T05:05:21.109Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/cran.r-project.org/namespaces"}},{"id":14813447,"name":"github.com/sdmTMB/sdmTMB","ecosystem":"go","description":null,"homepage":null,"licenses":null,"normalized_licenses":[],"repository_url":"https://github.com/sdmTMB/sdmTMB","keywords_array":[],"namespace":null,"versions_count":14,"first_release_published_at":"2023-01-27T18:05:13.000Z","latest_release_published_at":"2026-10-17T03:02:56.594Z","latest_release_number":"v1.2.0","latest_published_release_number":null,"last_synced_at":"2026-10-19T04:10:15.208Z","created_at":"2026-07-24T19:17:03.761Z","updated_at":"2026-10-20T02:59:11.435Z","registry_url":"https://pkg.go.dev/github.com/sdmTMB/sdmTMB","install_command":"go get github.com/sdmTMB/sdmTMB","documentation_url":"https://pkg.go.dev/github.com/sdmTMB/sdmTMB#section-documentation","metadata":{},"repo_metadata":{"id":37269744,"uuid":"149399567","full_name":"sdmTMB/sdmTMB","owner":"sdmTMB","description":"An R package for spatial and spatiotemporal GLMMs with TMB","archived":false,"fork":false,"pushed_at":"2026-10-19T23:57:19.000Z","size":43437,"stargazers_count":256,"open_issues_count":18,"forks_count":33,"subscribers_count":16,"default_branch":"main","last_synced_at":"2026-10-20T01:57:46.990Z","etag":null,"topics":["ecology","glmm","r","spatial-analysis","species-distribution-modelling","tmb"],"latest_commit_sha":null,"homepage":"https://sdmTMB.github.io/sdmTMB/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdmTMB.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"accessibility":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,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-09-19T05:59:53.000Z","updated_at":"2026-10-19T23:24:10.000Z","dependencies_parsed_at":"2026-10-20T02:10:10.542Z","dependency_job_id":null,"html_url":"https://github.com/sdmTMB/sdmTMB","commit_stats":{"total_commits":2312,"total_committers":18,"mean_commits":"128.44444444444446","dds":"0.15138408304498274","last_synced_commit":"af6267e873c0069b3b6d05530cc4482050946a66"},"previous_names":["sdmtmb/sdmtmb","pbs-assess/sdmtmb"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/sdmTMB/sdmTMB","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38384873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-20T02:00:06.669Z","response_time":101,"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":"sdmTMB","name":"sdmTMB","uuid":"245077094","kind":"organization","description":"sdmTMB R package","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/245077094?v=4","repositories_count":1,"last_synced_at":"2026-10-19T08:28:08.796Z","metadata":{"has_sponsors_listing":false,"funding":null},"html_url":"https://github.com/sdmTMB","funding_links":[],"total_stars":228,"followers":6,"following":0,"created_at":"2025-11-21T23:02:51.308Z","updated_at":"2026-10-19T08:28:08.806Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdmTMB/repositories"},"tags":[{"name":"v1.2.0","sha":"eb1cb014117d74bd23af7d977e84591c5d3c35e6","kind":"commit","published_at":"2026-10-16T22:19:05.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.2.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"cbbfa80b2075440b8da159f2dd79a78429c820e8","kind":"commit","published_at":"2026-07-03T22:26:02.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.1.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"a7a6fcc9cecc37e5df4ad662062bed300a136401","kind":"commit","published_at":"2026-01-24T00:47:35.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v1.0.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v1.0.0/manifests"},{"name":"v0.8.0","sha":"fb4685937a7989f76856475f98517fc5472e5734","kind":"commit","published_at":"2025-11-26T01:47:42.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.8.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.8.0/manifests"},{"name":"v0.7.4","sha":"2c77f5f4e01bddab5e12aaa1326a40a6ea043b6a","kind":"commit","published_at":"2025-07-29T17:27:51.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.4","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.4/manifests"},{"name":"v0.7.2","sha":"6a0360dfd1e3aaca5fb43951819d064206bcf5cb","kind":"commit","published_at":"2025-06-19T19:44:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.2/manifests"},{"name":"v0.7.0","sha":"9b972354680437458bad92a0f65918b3fb4a2663","kind":"commit","published_at":"2025-04-01T20:36:55.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.7.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.7.0/manifests"},{"name":"v0.6.0","sha":"708d613a7c5fe78696b78acb286013f7a3313dbf","kind":"commit","published_at":"2024-05-29T03:14:15.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.6.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.6.0/manifests"},{"name":"v0.5.0","sha":"ad5db932bc6f4aaa7c456cb21b8f56c44d9addc1","kind":"commit","published_at":"2024-04-03T19:47:08.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.5.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.5.0/manifests"},{"name":"v0.4.3","sha":"5f87d317a27adc37ca42601dc190cf0e0358feb5","kind":"commit","published_at":"2024-02-28T21:53:40.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.3","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"87aad07cf2f77a2598e11a5b46171db72e5f3ae7","kind":"commit","published_at":"2024-01-18T01:17:58.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.2","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"1506e31f1507016fb23083b6c812c33f3dd8371c","kind":"commit","published_at":"2023-11-02T18:40:06.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.1","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"408311fb7061e66d207b7f3a8dfb94b3b7e1351c","kind":"commit","published_at":"2023-10-19T18:32:28.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.4.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"d3744b86a9fb4a66b67e82ccbc8af4c91b0d0b34","kind":"commit","published_at":"2023-01-27T18:05:13.000Z","download_url":"https://codeload.github.com/sdmTMB/sdmTMB/tar.gz/v0.3.0","html_url":"https://github.com/sdmTMB/sdmTMB/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sdmTMB/sdmTMB@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/tags/v0.3.0/manifests"}]},"repo_metadata_updated_at":"2026-10-20T02:59:11.435Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":4.856048725074748,"dependent_packages_count":4.550149182645931,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":4.703098953860339},"purl":"pkg:golang/github.com/sdmTMB/sdmTMB","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sdmTMB/sdmTMB","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sdmTMB/sdmTMB","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sdmTMB/sdmTMB/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-19T04:00:29.021Z","issues_count":21,"pull_requests_count":4,"avg_time_to_close_issue":1922006.1,"avg_time_to_close_pull_request":71230.0,"issues_closed_count":10,"pull_requests_closed_count":3,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":2.3333333333333335,"avg_comments_per_pull_request":0.75,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":1922006.1,"past_year_avg_time_to_close_pull_request":71230.0,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":2.3333333333333335,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/issues","maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}],"active_maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2FsdmTMB%2FsdmTMB/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2540992,"maintainers_count":0,"namespaces_count":853563,"keywords_count":143231,"github":"golang","metadata":{"funded_packages_count":118699,"sync_missing_packages_cursor":{"timestamp":"2026-09-29T00:04:57.155362Z","path":"github.com/virtengine/virtengine/sdk/specs","version":"v0.0.0-20260928231908-c0c887541540"},"rate_limit":5},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-10-19T05:07:28.707Z","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":11567896,"full_name":"sdmTMB/sdmTMB","default_branch":"main","total_commits":3023,"total_committers":22,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":137.4090909090909,"dds":0.14687396625868343,"past_year_total_commits":418,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":69.66666666666667,"past_year_dds":0.0430622009569378,"last_synced_at":"2026-10-19T04:00:54.825Z","last_synced_commit":"b583d3343d8c2710ccd884c26ac7775deee3222a","created_at":"2025-11-21T23:01:36.285Z","updated_at":"2026-10-19T04:00:54.728Z","committers":[{"name":"Sean Anderson","email":"sean@seananderson.ca","login":"seananderson","count":2579},{"name":"ericward-noaa","email":"eric.ward@noaa.gov","login":"ericward-noaa","count":226},{"name":"ecophilina","email":"paenglis@lakeheadu.ca","login":"ecophilina","count":113},{"name":"jindivero","email":"84645567+jindivero","login":"jindivero","count":40},{"name":"Jillian Dunic","email":"","login":null,"count":16},{"name":"J Dunic","email":"jdunic@gmail.com","login":"jdunic","count":11},{"name":"Joseph Barss","email":"jospbarss@gmail.com","login":"Joseph-Barss","count":8},{"name":"Eric Ward","email":"eric-ward","login":"eric-ward","count":6},{"name":"Lewis-Barnett-NOAA","email":"1361087+Lewis-Barnett-NOAA","login":"Lewis-Barnett-NOAA","count":6},{"name":"Jim Thorson","email":"James.T.Thorson@gmail.com","login":"James-Thorson","count":3},{"name":"Sebastian Pardo","email":"sebpardo@gmail.com","login":"sebpardo","count":2},{"name":"olivroy","email":"olivierroy71@hotmail.com","login":"olivroy","count":2},{"name":"Claude","email":"noreply@anthropic.com","login":null,"count":2},{"name":"Ben Bolker","email":"bbolker@gmail.com","login":"bbolker","count":1},{"name":"Elise Keppel","email":"elise.keppel@dfo-mpo.gc.ca","login":"elisekeppel","count":1},{"name":"Gavin Fay","email":"gavinfay","login":"gavinfay","count":1},{"name":"Wilmund","email":"wilmund@wilmund.com","login":"wilmund","count":1},{"name":"francisvolh","email":"48733609+francisvolh","login":"francisvolh","count":1},{"name":"joenomiddlename","email":"watsonjoe8@gmail.com","login":"joenomiddlename","count":1},{"name":"Watson","email":"Joe.Watson@dfo-mpo.gc.ca","login":null,"count":1},{"name":"Chris Grandin","email":"cgrandin@shaw.ca","login":null,"count":1},{"name":"kellijohnson-NOAA","email":"kelli.johnson@noaa.gov","login":"kellijohnson-NOAA","count":1}],"past_year_committers":[{"name":"Sean Anderson","email":"sean@seananderson.ca","login":"seananderson","count":400},{"name":"ericward-noaa","email":"eric.ward@noaa.gov","login":"ericward-noaa","count":7},{"name":"Joseph Barss","email":"jospbarss@gmail.com","login":"Joseph-Barss","count":7},{"name":"Claude","email":"noreply@anthropic.com","login":null,"count":2},{"name":"Wilmund","email":"wilmund@wilmund.com","login":"wilmund","count":1},{"name":"Gavin Fay","email":"gavinfay","login":"gavinfay","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-21T00:00:08.027Z","repositories_count":8547037,"commits_count":1297682566,"contributors_count":59475947,"owners_count":1839086,"committers_count":3877872,"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":"sdmTMB/sdmTMB","html_url":"https://github.com/sdmTMB/sdmTMB","last_synced_at":"2026-10-19T04:00:29.021Z","status":null,"issues_count":21,"pull_requests_count":4,"avg_time_to_close_issue":1922006.1,"avg_time_to_close_pull_request":71230.0,"issues_closed_count":10,"pull_requests_closed_count":3,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":2.3333333333333335,"avg_comments_per_pull_request":0.75,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":21,"past_year_pull_requests_count":4,"past_year_avg_time_to_close_issue":1922006.1,"past_year_avg_time_to_close_pull_request":71230.0,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":4,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":2.3333333333333335,"past_year_avg_comments_per_pull_request":0.75,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2025-11-21T23:01:40.271Z","updated_at":"2026-10-19T04:00:29.021Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdmTMB%2FsdmTMB/issues","issue_labels_count":{"enhancement":1},"pull_request_labels_count":{},"issue_author_associations_count":{"COLLABORATOR":12,"NONE":7,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"CONTRIBUTOR":2,"NONE":1,"COLLABORATOR":1},"issue_authors":{"seananderson":8,"jebyrnes":4,"ericward-noaa":3,"James-Thorson":2,"MZink06":1,"James-Thorson-NOAA":1,"mheerdink":1,"NatalieAsselin":1},"pull_request_authors":{"gavinfay":1,"ericward-noaa":1,"andrjohns":1,"wilmund":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-10-21T00:00:08.112Z","repositories_count":18165928,"issues_count":48817308,"pull_requests_count":150430257,"authors_count":12084711,"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":{"enhancement":1},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"COLLABORATOR":12,"NONE":7,"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":2,"COLLABORATOR":1,"NONE":1},"past_year_issue_authors":{"seananderson":8,"jebyrnes":4,"ericward-noaa":3,"James-Thorson":2,"James-Thorson-NOAA":1,"mheerdink":1,"MZink06":1,"NatalieAsselin":1},"past_year_pull_request_authors":{"andrjohns":1,"ericward-noaa":1,"gavinfay":1,"wilmund":1},"maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}],"active_maintainers":[{"login":"seananderson","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/seananderson"},{"login":"ericward-noaa","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ericward-noaa"},{"login":"James-Thorson-NOAA","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/James-Thorson-NOAA"}]},"events":{"total":{"CreateEvent":3,"DeleteEvent":4,"DiscussionEvent":4,"IssueCommentEvent":14,"IssuesEvent":8,"MemberEvent":9,"PullRequestEvent":3,"PushEvent":79,"ReleaseEvent":1,"WatchEvent":5},"last_year":{"CreateEvent":3,"DeleteEvent":4,"DiscussionEvent":4,"IssueCommentEvent":14,"IssuesEvent":8,"MemberEvent":9,"PullRequestEvent":3,"PushEvent":79,"ReleaseEvent":1,"WatchEvent":5}},"keywords":["ecology","glmm","r","spatial-analysis","species-distribution-modelling","tmb"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check-valgrind2.yaml","sha":null,"kind":"manifest","created_at":"2023-02-19T10:45:37.786Z","updated_at":"2023-02-19T10:45:37.786Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/R-CMD-check-valgrind2.yaml","dependencies":[{"id":7785678102,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785678139,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785678141,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785678142,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785678144,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-02-19T10:45:37.996Z","updated_at":"2023-02-19T10:45:37.996Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":7785679942,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785679943,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785679944,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785679945,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785679946,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yaml","sha":null,"kind":"manifest","created_at":"2023-02-19T10:45:38.284Z","updated_at":"2023-02-19T10:45:38.284Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/pkgdown.yaml","dependencies":[{"id":7785685480,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":7785685481,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785685482,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785685483,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":7785685484,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"v4.4.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-02-19T10:45:38.732Z","updated_at":"2023-02-19T10:45:38.732Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/DESCRIPTION","dependencies":[{"id":7785688409,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.5.0","direct":true,"kind":"depends","optional":false},{"id":7785688416,"package_name":"assertthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688453,"package_name":"clisymbols","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688456,"package_name":"cli","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688480,"package_name":"fishMod","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688519,"package_name":"generics","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688679,"package_name":"glmmTMB","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688691,"package_name":"graphics","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688699,"package_name":"lifecycle","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785688768,"package_name":"Matrix","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689100,"package_name":"methods","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689131,"package_name":"mgcv","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689144,"package_name":"mvtnorm","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689145,"package_name":"nlme","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689146,"package_name":"rlang","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689147,"package_name":"stats","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":7785689148,"package_name":"TMB","ecosystem":"cran","requirements":"\u003e= 1.8.0","direct":true,"kind":"imports","optional":false},{"id":7785689149,"package_name":"dplyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689150,"package_name":"effects","ecosystem":"cran","requirements":"\u003e= 4.0","direct":true,"kind":"suggests","optional":false},{"id":7785689151,"package_name":"estimability","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689152,"package_name":"emmeans","ecosystem":"cran","requirements":"\u003e= 1.4","direct":true,"kind":"suggests","optional":false},{"id":7785689153,"package_name":"future","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689154,"package_name":"future.apply","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689155,"package_name":"ggeffects","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689156,"package_name":"ggforce","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689157,"package_name":"ggplot2","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689158,"package_name":"INLA","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689159,"package_name":"knitr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689160,"package_name":"lme4","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689170,"package_name":"rgdal","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689171,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689172,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689173,"package_name":"splancs","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689174,"package_name":"testthat","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689175,"package_name":"tibble","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":7785689176,"package_name":"visreg","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check-HTML5.yaml","sha":null,"kind":"manifest","created_at":"2023-12-02T05:11:45.699Z","updated_at":"2023-12-02T05:11:45.699Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/R-CMD-check-HTML5.yaml","dependencies":[{"id":14851130890,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14851130891,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14851130892,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14851130893,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/rhub-manual.yaml","sha":null,"kind":"manifest","created_at":"2023-12-02T05:11:45.715Z","updated_at":"2023-12-02T05:11:45.715Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/rhub-manual.yaml","dependencies":[{"id":14851130894,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14851130895,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/rhub.yaml","sha":null,"kind":"manifest","created_at":"2023-12-02T05:11:45.721Z","updated_at":"2023-12-02T05:11:45.721Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/rhub.yaml","dependencies":[{"id":14851130896,"package_name":"r-hub/rhub2/actions/rhub-setup","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":14851130897,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14851130898,"package_name":"r-hub/rhub2/actions/rhub-check","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":14851130899,"package_name":"r-hub/rhub2/actions/rhub-setup-r","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check-valgrind3.yaml","sha":null,"kind":"manifest","created_at":"2026-03-05T07:00:40.045Z","updated_at":"2026-03-05T07:00:40.045Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/R-CMD-check-valgrind3.yaml","dependencies":[{"id":25831549457,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25831549458,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25831549461,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25831549462,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25831549482,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2026-03-05T07:00:41.336Z","updated_at":"2026-03-05T07:00:41.336Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/test-coverage.yaml","dependencies":[{"id":25831549489,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":25831549490,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25831549491,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":25831549492,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/reference-fits.yaml","sha":null,"kind":"manifest","created_at":"2026-10-03T08:51:24.871Z","updated_at":"2026-10-03T08:51:24.871Z","repository_link":"https://github.com/sdmTMB/sdmTMB/blob/main/.github/workflows/reference-fits.yaml","dependencies":[{"id":26822287121,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false},{"id":26822287122,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":26822287123,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":26822287124,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]}],"score":17.13449781814096,"created_at":"2023-09-11T14:41:06.133Z","updated_at":"2026-10-21T00:30:41.940Z","avatar_url":"https://github.com/sdmTMB.png","language":"R","category":"Biosphere","sub_category":"Species Distribution Modeling","monthly_downloads":4580,"total_dependent_repos":2,"total_dependent_packages":1,"readme":"---\noutput:\n  github_document:\n    toc: true\n    toc_depth: 3\n    df_print: \"tibble\"\n    includes:\n      in_header: header.md\n---\n\n```{r setup, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"50%\",\n  cache = FALSE,\n  autodep = TRUE,\n  dpi = 72,\n  dev = \"ragg_png\" # reproducible across machines\n)\n```\n\n## Installation\n\nsdmTMB can be installed from CRAN:\n\n```{r, eval=FALSE}\ninstall.packages(\"sdmTMB\", dependencies = TRUE)\n```\n\nWe recommend the development version, which has the latest features and bug fixes. Prebuilt binaries (tracking `main`) are available from r-universe and do not require a C++ compiler:\n\n```{r, eval=FALSE}\ninstall.packages(\n  \"sdmTMB\",\n  dependencies = TRUE,\n  repos = c(\"https://sdmtmb.r-universe.dev\", \"https://cloud.r-project.org\")\n)\n```\n\nAlternatively, if you have a [C++ compiler](https://support.posit.co/hc/en-us/articles/200486498-Package-Development-Prerequisites) installed, you can build the development version from source:\n\n```{r, eval=FALSE}\n# install.packages(\"pak\")\npak::pak(\"sdmTMB/sdmTMB\", dependencies = TRUE)\n```\n\nThere are some extra utilities in the [sdmTMBextra](https://github.com/sdmTMB/sdmTMBextra) package.\n\n### Speeding up large models (optional)\n\nFor large models, an optimized BLAS library (the linear algebra library R uses) can make sdmTMB models much faster, often around 8 times faster.\nSuggested installation instructions for [Mac users](https://www.mail-archive.com/r-sig-mac@r-project.org/msg06199.html) or [with OpenBLAS on a Mac](https://gist.github.com/seananderson/3c6cbf640ba566ce936c79442b9a6068), [Linux users](https://prdm0.github.io/ropenblas/), [Windows users](https://github.com/david-cortes/R-openblas-in-windows), and [Windows users without admin privileges](https://gist.github.com/seananderson/08a51e296a854f227a908ddd365fb9c1).\nTo check that it worked, start a new R session and run:\n\n```r\nm \u003c- 1e4; n \u003c- 1e3; k \u003c- 3e2\nX \u003c- matrix(rnorm(m*k), nrow=m); Y \u003c- matrix(rnorm(n*k), ncol=n)\nsystem.time(X %*% Y)\n```\n\nThe 'elapsed' time should be a fraction of a second (e.g., 0.03 s), not more than 1 second.\n\n## Overview\n\nMany datasets are collected at known locations, such as survey samples, plots, transects, or monitoring stations.\nObservations close together in space (or time) tend to be more similar than observations far apart.\nIgnoring this can give overconfident estimates and poor predictions.\nsdmTMB fits generalized linear mixed effects models (GLMMs) that account for this by adding *random fields*: smooth, estimated surfaces that capture spatial (and spatiotemporal) patterns not explained by your covariates.\n\nIf you've used `glm()`, lme4, mgcv, or glmmTMB, the syntax will feel familiar.\nA common application is species distribution models (SDMs), hence the package name, but the models apply to any data with coordinates.\n\nUnder the hood, sdmTMB uses [fmesher](https://CRAN.R-project.org/package=fmesher) to build a triangular mesh and the [SPDE approach](https://doi.org/10.1111/j.1467-9868.2011.00777.x) to represent random fields efficiently.\nModels are written with [RTMB](https://cran.r-project.org/package=RTMB) and fit with Template Model Builder ([TMB](https://cran.r-project.org/package=TMB)).\nParameters are estimated by maximum marginal likelihood (via `stats::nlminb()`), with random effects integrated out using the Laplace approximation.\nModels can also be passed to Stan via [tmbstan](https://cran.r-project.org/package=tmbstan) for Bayesian estimation.\n\n### What can sdmTMB do?\n\n**Model structure**\n\n* Spatial random fields, and spatiotemporal random fields that are independent each time step or that follow a random walk or autoregressive (AR1) process\n* Areal models (CAR/SAR) for polygon or gridded data, as an alternative to the mesh-based approach\n* Random intercepts and slopes with lme4-style syntax, e.g., `(1 + x | group)`\n* Smooth (non-linear) covariate effects with mgcv-style `s()` terms\n* Breakpoint (\"hockey-stick\") and logistic threshold covariate effects\n* Time-varying coefficients that change over time as a random walk or AR1 process\n* Spatially varying coefficients, where a covariate's effect differs across space\n* Non-local covariate effects, where a covariate affects the response at nearby locations (spatial diffusion) or later times (time lags)\n* Anisotropy (spatial correlation that is stronger in some directions) and barriers to correlation (e.g., land in a marine model)\n* Interpolation over missing time steps and forecasting into the future\n\n**Response distributions (families)**\n\n* Common families: `gaussian()`, `binomial()`, `poisson()`, `Gamma()`, `Beta()`, `lognormal()`, `student()`\n* Families for overdispersed or zero-heavy data: `nbinom1()`, `nbinom2()`, `tweedie()`, `betabinomial()`, `gengamma()`, mixture families for extreme events (e.g., `gamma_mix()`), and truncated and censored families (e.g., `censored_poisson()` for [hook competition in longline surveys](https://sdmTMB.github.io/sdmTMB/articles/hook-competition.html))\n* `ordbeta()` for proportions that include exact 0s and 1s\n* Delta (hurdle) models that separately model presence and positive values, e.g., `delta_gamma()` and `delta_lognormal()`, including Poisson-link delta models (`type = \"poisson-link\"`)\n* Covariates on the dispersion parameter (`dispformula`)\n* Experimental multi-family models that combine different data types (e.g., presence-absence and counts) in one model\n\n**After fitting**\n\n* Prediction on new data, with uncertainty\n* Derived quantities such as area-weighted totals (e.g., abundance indices), center of gravity, area occupied, range edges, and weighted averages\n* Residual checks and simulation from fitted models\n* Cross-validation (including leave-future-out) and model comparison\n* Priors (including custom priors) and Bayesian estimation with Stan\n\nSee [`?sdmTMB`](https://sdmTMB.github.io/sdmTMB/reference/sdmTMB.html) and [`?predict.sdmTMB`](https://sdmTMB.github.io/sdmTMB/reference/predict.sdmTMB.html) for the most complete examples. Also see the articles on the [documentation site](https://sdmTMB.github.io/sdmTMB/articles/index.html) and the [published paper](https://doi.org/10.18637/jss.v115.i02).\n\n## Getting help\n\nFor questions about how to use sdmTMB or interpret the models, please post on the [discussion board](https://github.com/sdmTMB/sdmTMB/discussions). If you [email](https://github.com/sdmTMB/sdmTMB/blob/main/DESCRIPTION) a question, we are likely to respond on the [discussion board](https://github.com/sdmTMB/sdmTMB/discussions) with an anonymized version of your question (and without data) if we think it could be helpful to others. Please let us know if you don't want us to do that.\n\nFor bugs or feature requests, please post in the [issue tracker](https://github.com/sdmTMB/sdmTMB/issues).\n\nThere have been several [past sdmTMB workshops](https://github.com/sdmTMB/sdmTMB-teaching).\nSlides and exercises from the latest workshop are [here](https://sdmtmb.github.io/sdmTMB-DSAF-2026/).\n[Recordings](https://www.youtube.com/channel/UCYoFG51RjJVx7m9mZGaj-Ng/videos) from an older workshop are also available.\n\n## Citation\n\nTo cite sdmTMB in publications, please use:\n\n```r\ncitation(\"sdmTMB\")\n```\n\nAnderson, S.C., E.J. Ward, P.A. English, L.A.K. Barnett, J.T. Thorson. 2025.\nsdmTMB: an R package for fast, flexible, and user-friendly generalized linear\nmixed effects models with spatial and spatiotemporal random fields.\nJournal of Statistical Software. 115(2):1--46.\n\u003chttps://doi.org/10.18637/jss.v115.i02\u003e.\n\nA list of known publications that use sdmTMB can be found [here](https://github.com/sdmTMB/sdmTMB/tree/main/scratch/citations). Please use the above citation so we can track publications.\n\n## Basic use\n\nAn sdmTMB model needs a data frame with a column for the response, columns for any predictors, and columns for spatial coordinates.\nThe coordinates should be in a projected coordinate system where distances are the same everywhere, such as UTMs in km, rather than latitude and longitude.\nYou can convert coordinates with `sf::st_transform()` or `add_utm_columns()`.\n\nHere, we fit a model to Pacific cod (*Gadus macrocephalus*) survey data from Queen Charlotte Sound, British Columbia, Canada.\nThe data frame `pcod` is built into the package.\nIt has a column `year` for the survey year, `density` for fish density at each sampling location, `present` for whether `density \u003e 0`, `depth` for depth in meters, and coordinates `X` and `Y` (UTMs in km).\n\n```{r, echo=TRUE, eval=FALSE, cache=FALSE}\nlibrary(dplyr)\nlibrary(ggplot2)\nlibrary(sdmTMB)\nhead(pcod)\n```\n\n```{r, echo=FALSE, eval=TRUE, message=FALSE, warning=FALSE, cache=FALSE}\nlibrary(dplyr)\nlibrary(ggplot2)\nlibrary(sdmTMB)\ntheme_set(theme_light())\ndplyr::select(pcod, year, density, present, depth, X, Y) |\u003e\n  head(n = 3)\n```\n\n### Make a mesh\n\nFirst, we make a mesh: a network of triangles used to approximate the spatial random field.\n\n```{r}\nmesh \u003c- make_mesh(pcod, xy_cols = c(\"X\", \"Y\"), cutoff = 10)\n```\n\n`cutoff` is the minimum distance allowed between mesh vertices, in the units of `X` and `Y` (here, km).\nSmaller values make a finer mesh, which can capture finer spatial patterns but takes longer to fit.\nYou can view the mesh with `plot(mesh)`.\n\n### Fit a model\n\nOur first model includes a smooth effect of depth, a spatial random field, and a Tweedie distribution, which handles continuous data with exact zeros (common for density or biomass data):\n\n```{r, warning=FALSE, message=FALSE}\nfit \u003c- sdmTMB(\n  density ~ s(depth),\n  data = pcod,\n  mesh = mesh,\n  family = tweedie(link = \"log\"),\n  spatial = \"on\"\n)\n```\n\nPrint the model fit:\n\n```{r}\nfit\n```\n\nHow to read this output:\n\n* `sdepth` and `sd__s(depth)` describe the depth smoother: its linear component and how wiggly it is.\n* The dispersion parameter (`phi`) and `Tweedie p` describe how variable the observations are around the mean.\n* `Matérn range` is the distance (here, km) at which spatial correlation drops to about 0.13. Points farther apart than this are nearly independent.\n* `Spatial SD` (`sigma_O`) is how much the spatial random field varies, i.e., how much spatial variation the covariates don't explain.\n* `ML criterion at convergence` is the negative log likelihood that was minimized.\n\nWe can extract parameters as a data frame:\n\n```{r}\ntidy(fit)\ntidy(fit, effects = \"ran_pars\")\n```\n\n### Check the model\n\nRun some basic checks for convergence and estimation problems:\n\n```{r}\nsanity(fit)\n```\n\nCheck the residuals. If the model is consistent with the data, these should look approximately normally distributed:\n\n```{r, eval=FALSE}\nset.seed(1)\nr \u003c- residuals(fit, type = \"mle-mvn\")\nqqnorm(r)\nabline(0, 1)\n```\n\nSee the article on [residual checking](https://sdmTMB.github.io/sdmTMB/articles/residual-checking.html) for more options, including simulation-based residuals with DHARMa.\n\n### Plot covariate effects\n\nUse the [ggeffects](https://github.com/strengejacke/ggeffects) package to plot the depth effect:\n\n```{r plot-ggpredict-link, warning=FALSE, message=FALSE}\nggeffects::ggpredict(fit, \"depth [50:400, by=2]\") |\u003e plot()\n```\n\nFor models without smoothers, `ggeffects::ggeffect()` is a faster alternative.\nSee the [ggeffects article](https://sdmTMB.github.io/sdmTMB/articles/ggeffects.html) for more examples.\n\n### Predict\n\nNext, we predict on a grid covering the survey area.\nThe data frame `qcs_grid` (included in the package) has the coordinates and covariates at each grid cell:\n\n```{r}\np \u003c- predict(fit, newdata = qcs_grid)\n```\n\n```{r, eval=FALSE, echo=TRUE}\nhead(p)\n```\n\n```{r, eval=TRUE, echo=FALSE}\nselect(p, X, Y, depth, est, est_non_rf, est_rf, omega_s) |\u003e\n  head(n = 3)\n```\n\n`est` is the full prediction in link space (here, log).\nIt's the sum of two parts: `est_non_rf`, everything in the model except the random fields (the intercept and covariate effects, plus any random intercepts or other terms), and `est_rf`, the contribution of the random fields (here equal to `omega_s`, the spatial random field).\nWe use `exp()` to convert predictions from the log scale to the density scale:\n\n```{r plot-predictions}\nggplot(p, aes(X, Y, fill = exp(est))) + geom_raster() +\n  scale_fill_viridis_c(trans = \"sqrt\")\n```\n\n### Other families\n\nFor presence-absence data, we change the response and family:\n\n```{r, eval=TRUE}\nfit \u003c- sdmTMB(\n  present ~ s(depth),\n  data = pcod,\n  mesh = mesh,\n  family = binomial(link = \"logit\")\n)\n```\n\nA delta (hurdle) model fits two parts: one for whether the species is present and one for density where it is present.\n\n```{r, eval=TRUE}\nfit \u003c- sdmTMB(\n  density ~ s(depth),\n  data = pcod,\n  mesh = mesh,\n  family = delta_gamma(link1 = \"logit\", link2 = \"log\")\n)\n```\n\nSee the articles on [delta models](https://sdmTMB.github.io/sdmTMB/articles/delta-models.html) and [Poisson-link delta models](https://sdmTMB.github.io/sdmTMB/articles/poisson-link.html).\n\n### Spatiotemporal models\n\nTo let the spatial pattern change over time, we specify the `time` column and a spatiotemporal structure.\nHere, `\"ar1\"` means each year's spatial pattern is correlated with the previous year's.\nThe survey wasn't conducted every year, so we use `extra_time` to include the unsampled years and keep the time steps evenly spaced:\n\n```{r, eval=TRUE, echo=TRUE, warning=FALSE, message=FALSE}\nfit_spatiotemporal \u003c- sdmTMB(\n  density ~ s(depth, k = 5),\n  data = pcod,\n  mesh = mesh,\n  time = \"year\",\n  extra_time = 2003:2017,\n  family = tweedie(link = \"log\"),\n  spatial = \"off\",\n  spatiotemporal = \"ar1\"\n)\n```\n\n### Derived quantities: totals and center of gravity\n\nA common goal is a time series of total abundance (or biomass) that accounts for where and when samples were taken (an \"index\").\nWe do this by predicting on a grid covering the whole area for each year and summing over the grid.\nEach grid cell is 2 x 2 km, so its area is 4 km²:\n\n```{r plot-index, warning=FALSE, message=FALSE}\ngrid_yrs \u003c- replicate_df(qcs_grid, \"year\", unique(pcod$year))\nindex \u003c- get_index(fit_spatiotemporal, newdata = grid_yrs,\n  area = rep(4, nrow(grid_yrs)))\nggplot(index, aes(year, est)) +\n  geom_ribbon(aes(ymin = lwr, ymax = upr), fill = \"grey90\") +\n  geom_line(lwd = 1, colour = \"grey30\") +\n  labs(x = \"Year\", y = \"Biomass (kg)\")\n```\n\nOr the center of gravity, the average location of the population, which is useful for detecting shifts in distribution:\n\n```{r plot-cog, message=FALSE, warning=FALSE}\ncog \u003c- get_cog(fit_spatiotemporal, newdata = grid_yrs, format = \"wide\")\nggplot(cog, aes(est_x, est_y, colour = year)) +\n  geom_pointrange(aes(xmin = lwr_x, xmax = upr_x)) +\n  geom_pointrange(aes(ymin = lwr_y, ymax = upr_y)) +\n  scale_colour_viridis_c()\n```\n\nOther derived quantities include area occupied (`get_eao()`), range edges (`get_range_edge()`), and weighted averages of covariates such as depth or temperature (`get_weighted_average()`).\n\nFor more on these basic features, see the articles [Intro to modeling with sdmTMB](https://sdmTMB.github.io/sdmTMB/articles/basic-intro.html) and [Index standardization with sdmTMB](https://sdmTMB.github.io/sdmTMB/articles/index-standardization.html).\n\n## More model types\n\n### Random intercepts and slopes\n\nUse the same syntax as lme4 or glmmTMB (`(1 | group)`, `(1 + x | group)`, or `(1 + x || group)` for uncorrelated intercepts and slopes):\n\n```{r, eval=FALSE, echo=TRUE, warning=FALSE, message=FALSE}\npcod$year_factor \u003c- as.factor(pcod$year)\nfit \u003c- sdmTMB(\n  density ~ s(depth, k = 5) + (1 | year_factor),\n  data = pcod, mesh = mesh,\n  family = tweedie(link = \"log\")\n)\n```\n\n### Time-varying coefficients\n\nTime-varying coefficients let effects change gradually over time, for example if a relationship shifts with environmental change.\nHere we use `time_varying_type = \"rw0\"`, a random walk that starts at zero.\nThe coefficients in the main formula give the starting values and the random walk describes how they change from there.\nAlternatively, `\"ar1\"` lets coefficients fluctuate around their main formula values.\nSee `?sdmTMB` for details, including the default `\"rw\"`.\n\nA time-varying intercept (with `extra_time` filling in unsampled years so the time steps are evenly spaced):\n\n```{r, eval=FALSE}\nfit \u003c- sdmTMB(\n  density ~ s(depth, k = 5),\n  time_varying = ~ 1,\n  time_varying_type = \"rw0\",\n  extra_time = 2003:2017,\n  data = pcod, mesh = mesh,\n  time = \"year\",\n  family = tweedie(link = \"log\"),\n  silent = FALSE # see progress\n)\n```\n\nCovariate effects can vary over time too, e.g., `time_varying = ~ 1 + depth_scaled`.\nSee the article [Intro to modeling with sdmTMB](https://sdmTMB.github.io/sdmTMB/articles/basic-intro.html) for a time-varying depth effect with `\"ar1\"`.\n\n### Spatially varying coefficients (SVC)\n\nSpatially varying coefficients let a covariate's effect differ across space.\nFor example, a population might be increasing in some areas and decreasing in others.\n\nSpatially varying effect of time:\n\n```{r, eval=TRUE, warning=FALSE}\npcod$year_scaled \u003c- as.numeric(scale(pcod$year))\nfit \u003c- sdmTMB(\n  density ~ s(depth, k = 5) + year_scaled,\n  spatial_varying = ~ year_scaled,\n  data = pcod, mesh = mesh,\n  time = \"year\",\n  family = tweedie(link = \"log\"),\n  spatiotemporal = \"off\"\n)\n```\n\nThe SVC covariate should be centered (mean of about 0) and also included in the main formula.\nThen the spatially varying field (`zeta_s`) represents local deviations from the average effect:\n\n```{r plot-zeta}\ngrid_yrs \u003c- replicate_df(qcs_grid, \"year\", unique(pcod$year))\ngrid_yrs$year_scaled \u003c- (grid_yrs$year - mean(pcod$year)) / sd(pcod$year)\np \u003c- predict(fit, newdata = grid_yrs) |\u003e\n  subset(year == 2011) # any year\nggplot(p, aes(X, Y, fill = zeta_s_year_scaled)) + geom_raster() +\n  scale_fill_gradient2()\n```\n\nSee the articles on [spatial trend models](https://sdmTMB.github.io/sdmTMB/articles/spatial-trend-models.html) and [SVC factor models](https://sdmTMB.github.io/sdmTMB/articles/svc-factor-models.html) for more details.\n\n### Breakpoint and threshold effects\n\nBreakpoint effects increase linearly up to a threshold and then level off.\nLogistic effects follow an S-shaped curve:\n\n```{r, eval=FALSE}\nfit \u003c- sdmTMB(\n  present ~ 1 + breakpt(depth_scaled),\n  data = pcod, mesh = mesh,\n  family = binomial(link = \"logit\")\n)\n```\n\n```{r, eval=FALSE}\nfit \u003c- sdmTMB(\n  present ~ 1 + logistic(depth_scaled),\n  data = pcod, mesh = mesh,\n  family = binomial(link = \"logit\")\n)\n```\n\nSee the article on [threshold modeling](https://sdmTMB.github.io/sdmTMB/articles/threshold-models.html) for more details.\n\n### Covariates on dispersion\n\nBy default, the dispersion (how variable the observations are around the mean) is constant.\n`dispformula` lets it depend on covariates:\n\n```{r, eval=FALSE}\nfit \u003c- sdmTMB(\n  density ~ s(depth, k = 5),\n  dispformula = ~ depth_scaled,\n  data = pcod, mesh = mesh,\n  family = tweedie(link = \"log\")\n)\n```\n\n### Areal models\n\nFor data summarized by polygons or grid cells, areal models with `spatial_model = \"car\"` or `\"sar\"` and a domain from `make_areal_domain()` use neighbouring units instead of a mesh. See the articles on [polygon areal models](https://sdmTMB.github.io/sdmTMB/articles/areal-sar-car-spde.html) and [grid areal models](https://sdmTMB.github.io/sdmTMB/articles/areal-grid-sar-car-spde.html).\n\n### Non-local covariates\n\nSometimes a covariate affects the response not just where it is measured but also nearby or later in time.\n`nonlocal_formula = ~ diffusion(x) + time_lag(x)` estimates the spatial and temporal scale of these effects. See the [non-local covariates article](https://sdmTMB.github.io/sdmTMB/articles/nonlocal-covariates.html).\n\n### Multi-family models (experimental)\n\nDifferent rows of the data can use different families.\nFor example, presence-absence data from one survey and biomass data from another can share spatial fields in a single model.\nSupply a named list to `family` and name the column that assigns rows to families with `distribution_column`.\nSee the [multi-family article](https://sdmTMB.github.io/sdmTMB/articles/multi-family.html).\n\n## Uncertainty, forecasting, and simulation\n\n### Simulating data from scratch\n\n`simulate_new()` simulates data from a model you specify.\nThis is useful for learning how the models work and for testing whether a model can recover known values:\n\n```{r}\npredictor_dat \u003c- expand.grid(\n  X = seq(0, 1, length.out = 100), Y = seq(0, 1, length.out = 100)\n)\nmesh \u003c- make_mesh(predictor_dat, xy_cols = c(\"X\", \"Y\"), cutoff = 0.05)\nsim_dat \u003c- simulate_new(\n  formula = ~ 1,\n  data = predictor_dat,\n  mesh = mesh,\n  family = poisson(link = \"log\"),\n  range = 0.3,\n  sigma_O = 0.4,\n  seed = 1,\n  B = 1 # B0 = intercept\n)\nhead(sim_dat)\n\n# sample 200 points for fitting:\nset.seed(1)\nsim_dat_obs \u003c- sim_dat[sample(seq_len(nrow(sim_dat)), 200), ]\n```\n\n```{r plot-sim-dat}\nggplot(sim_dat, aes(X, Y)) +\n  geom_raster(aes(fill = exp(eta))) + # mean without observation error\n  geom_point(aes(size = observed), data = sim_dat_obs, pch = 21) +\n  scale_fill_viridis_c() +\n  scale_size_area() +\n  coord_cartesian(expand = FALSE)\n```\n\nFit to the simulated data:\n\n```{r}\nmesh \u003c- make_mesh(sim_dat_obs, xy_cols = c(\"X\", \"Y\"), cutoff = 0.05)\nfit \u003c- sdmTMB(\n  observed ~ 1,\n  data = sim_dat_obs,\n  mesh = mesh,\n  family = poisson()\n)\n```\n\nSee [`?simulate_new`](https://sdmtmb.github.io/sdmTMB/reference/simulate_new.html) for more details.\n\n### Simulating from a fitted model\n\n`simulate()` generates new response data from a fitted model.\nEach column is one simulated dataset:\n\n```{r sim}\nset.seed(1)\ns \u003c- simulate(fit, nsim = 500)\ndim(s)\ns[1:3, 1:4]\n```\n\nSimulations are the basis for many model checks.\nSee the article on [residual checking](https://sdmTMB.github.io/sdmTMB/articles/residual-checking.html), [`?simulate.sdmTMB`](https://sdmTMB.github.io/sdmTMB/reference/simulate.sdmTMB.html), and [`?dharma_residuals`](https://sdmTMB.github.io/sdmTMB/reference/dharma_residuals.html) for more details.\n\n### Sampling parameter uncertainty\n\nWe can draw samples of the parameters from their approximate joint distribution (a multivariate normal):\n\n```{r plot-mvn}\nset.seed(1)\nsamps \u003c- gather_sims(fit, nsim = 1000)\nggplot(samps, aes(.value)) + geom_histogram() +\n  facet_wrap(~.variable, scales = \"free_x\")\n```\n\nSee [`?gather_sims`](https://sdmTMB.github.io/sdmTMB/reference/gather_sims.html) and [`?get_index_sims`](https://sdmTMB.github.io/sdmTMB/reference/get_index_sims.html) for more details.\n\n### Uncertainty on spatial predictions\n\nThe fastest way to get uncertainty for each predicted location is to use the `nsim` argument in `predict()`, which returns one column per draw:\n\n```{r plot-pred-mvn}\nset.seed(1)\np \u003c- predict(fit, newdata = predictor_dat, nsim = 500)\npredictor_dat$se \u003c- apply(p, 1, sd)\nggplot(predictor_dat, aes(X, Y, fill = se)) +\n  geom_raster() +\n  scale_fill_viridis_c(option = \"A\") +\n  coord_cartesian(expand = FALSE)\n```\n\nSet `sample_fe = FALSE` to hold the fixed effects at their estimates and only include uncertainty from the random effects.\n\n### Forecasting\n\nTo forecast, you can include future time steps with `extra_time` when fitting and predict on them.\nFor longer forecasts, it's faster to fit the model to the observed years only and use `project()` to simulate future random fields.\nFor example, to forecast our spatiotemporal model 10 years ahead:\n\n```{r, eval=FALSE}\nproj_grid \u003c- replicate_df(qcs_grid, \"year\", 2003:2027)\nout \u003c- project(fit_spatiotemporal, newdata = proj_grid, nsim = 200)\nproj_grid$est_mean \u003c- apply(out$est, 1, mean) # mean of the simulations\n```\n\n`project()` can include or exclude different sources of uncertainty (`sample_fe`, `sample_historical_re`, and `sample_future_re`).\nSee the [forecasting article](https://sdmTMB.github.io/sdmTMB/articles/forecasting.html) and [`?project`](https://sdmTMB.github.io/sdmTMB/reference/project.html).\n\n## Model comparison and cross-validation\n\n### Cross-validation\n\nCross-validation measures how well a model predicts data it wasn't fit to.\nsdmTMB splits the data into folds, fits the model with each fold held out, and scores the predictions for the held-out data.\nIf you set a `future::plan()`, the folds are fit in parallel:\n\n```{r cv, warning=FALSE}\nmesh \u003c- make_mesh(pcod, c(\"X\", \"Y\"), cutoff = 10)\n## Set parallel processing if desired:\n# library(future)\n# plan(multisession)\nset.seed(123)\nm_cv \u003c- sdmTMB_cv(\n  density ~ s(depth, k = 5),\n  data = pcod, mesh = mesh,\n  family = tweedie(link = \"log\"), k_folds = 2\n)\n# Sum of log likelihoods of left-out data (higher is better):\nm_cv$sum_loglik\n```\n\nThe held-out log likelihood accounts for uncertainty in the random fields, so results vary slightly with the random seed (`nsim` controls the number of draws).\nTo compare models fit to the same folds, including a standard error of the difference, use `loo::loo_compare()` with `loo::elpd()`.\nSee [`?sdmTMB_cv`](https://sdmTMB.github.io/sdmTMB/reference/sdmTMB_cv.html) and the [cross-validation article](https://sdmTMB.github.io/sdmTMB/articles/cross-validation.html).\n\n### Other model comparison tools\n\n* `AIC()` works as with other models fit by maximum likelihood.\n* [`cAIC()`](https://sdmTMB.github.io/sdmTMB/reference/cAIC.html) calculates conditional AIC, which accounts for the flexibility of random effects and random fields.\n* [`compare_deviance()`](https://sdmTMB.github.io/sdmTMB/reference/compare_deviance.html) calculates the proportion of deviance explained relative to a simpler model (a pseudo-R²).\n\nYou can also turn off the random fields (`spatial = \"off\"`, `spatiotemporal = \"off\"`) to compare with a model without them.\nWith the random fields off, an sdmTMB model is equivalent to a GLM or GLMM.\n\n## Priors and Bayesian estimation\n\n### Priors\n\nYou can place priors (or penalties) on most parameters.\nFor example, here we place a PC (penalized complexity) prior on the spatial range and SD, a normal prior on the intercept and depth effect, and a half-normal prior on the Tweedie dispersion parameter (`phi`):\n\n```{r priors}\nfit \u003c- sdmTMB(\n  density ~ depth_scaled,\n  data = pcod, mesh = mesh,\n  family = tweedie(),\n  priors = sdmTMBpriors(\n    matern_s = pc_matern(range_gt = 10, sigma_lt = 5),\n    b = normal(c(0, 0), c(10, 1)),\n    phi = halfnormal(0, 15)\n  )\n)\n```\n\nWe can visualize the PC prior on the spatial range and SD:\n\n```{r plot-pc-matern}\nplot_pc_matern(range_gt = 10, sigma_lt = 5)\n```\n\nFor priors not covered by the built-in options, `sdmTMBpriors(custom = ...)` accepts a function that returns log densities for any parameters:\n\n```{r, eval=FALSE}\npriors = sdmTMBpriors(\n  custom = function(par, theta) {\n    RTMB::dnorm(par$b_j[2], 0, 0.5, log = TRUE)\n  }\n)\n```\n\nSee [`?sdmTMBpriors`](https://sdmTMB.github.io/sdmTMB/reference/priors.html), [`?get_prior_parameters`](https://sdmTMB.github.io/sdmTMB/reference/get_prior_parameters.html), and the [custom priors article](https://sdmTMB.github.io/sdmTMB/articles/custom-priors.html).\n\n### Bayesian MCMC sampling with Stan\n\nA fitted model can be passed to the tmbstan package to sample from the posterior with Stan. See the [Bayesian article](https://sdmTMB.github.io/sdmTMB/articles/bayesian.html).\n\n## Meshes\n\n### Using a custom fmesher mesh\n\n`make_mesh()` covers most needs, but you can also build a mesh directly with fmesher, for example to follow the boundary of your study area:\n\n```{r fmesher-mesh, warning=FALSE, fig.asp = 1, dpi = 40, out.width = \"30%\"}\nbnd \u003c- fmesher::fm_nonconvex_hull(cbind(pcod$X, pcod$Y), convex = -0.1)\nmesh_fmesher \u003c- fmesher::fm_mesh_2d(\n  boundary = bnd,\n  max.edge = c(25, 50)\n)\nmesh \u003c- make_mesh(pcod, c(\"X\", \"Y\"), mesh = mesh_fmesher)\nplot(mesh)\n```\n\n### Barrier meshes\n\nA barrier mesh limits correlation across physical barriers, such as land for a marine species or water for a terrestrial one. See `add_barrier_mesh()` in [sdmTMBextra](https://github.com/sdmTMB/sdmTMBextra).\n\n## Related software\n\nsdmTMB is heavily inspired by the [VAST](https://github.com/James-Thorson-NOAA/VAST) and [glmmTMB](https://github.com/glmmTMB/glmmTMB) R packages.\n\nThe [sdmTMBexperiments](https://github.com/DeepWaterIMR/sdmTMBexperiments) R package (not maintained by the sdmTMB developers) provides experimental helper functions for working with fitted sdmTMB models, including model comparison, mesh-resolution sensitivity, retrospective analyses, and index plotting.\n\nThe newer [tinyVAST](https://github.com/vast-lib/tinyVAST) R package can fit many of the models that VAST and sdmTMB can, with an interface similar to sdmTMB. We generally recommend tinyVAST for multivariate models (e.g., several species at once) or for (dynamic) structural equation models with optional spatial and/or spatiotemporal components.\n\n[INLA](https://www.r-inla.org/) and [inlabru](https://sites.google.com/inlabru.org/inlabru) can fit many of the same models as sdmTMB (and more) in an approximate Bayesian framework.\n\n[mgcv](https://cran.r-project.org/package=mgcv) can fit similar SPDE-based random field models with code included in [Miller et al. (2019)](https://doi.org/10.1007/s13253-019-00377-z), but this is slower for large spatial datasets.\n\nA table in the [sdmTMB paper](https://doi.org/10.18637/jss.v115.i02) compares the functionality and speed of sdmTMB, VAST, INLA/inlabru, and mgcv, and the discussion suggests when you might choose one package over another.\n","funding_links":[],"readme_doi_urls":["https://doi.org/10.1111/j.1467-9868.2011.00777.x","https://doi.org/10.18637/jss.v115.i02","https://doi.org/10.1007/s13253-019-00377-z"],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["fisheries","climate","energy-system","ecological-modelling","tidyverse","fisheries-stock-assessment","stock-synthesis","extremes","spatiotemporal"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/11969","html_url":"https://ost.ecosyste.ms/projects/11969"}