{
  "_id": "6ac85507de46216d5edd4535",
  "Package": "clusters",
  "Type": "Package",
  "Title": "Utilities to manage, estimate speed, optimize use of parallel\nclusters",
  "Description": "Miscellaneous utilities developed by the Predictive\nEcology Group (<http://predictiveecology.org>).",
  "URL": "http://clusters.predictiveecology.org,\nhttps://github.com/PredictiveEcology/clusters",
  "Date": "2026-09-16",
  "Version": "0.0.51",
  "Authors@R": "c(\nperson(\"Eliot J B\", \"McIntire\", email = \"eliot.mcintire@nrcan-rncan.gc.ca\",\nrole = c(\"aut\", \"cre\"), comment=c(ORCID = \"0000-0002-6914-8316\")),\nperson(\"His Majesty the King in Right of Canada, as represented by the Minister of Natural Resources Canada\",\nrole = \"cph\")\n)",
  "Remotes": [
    "PredictiveEcology/reproducible@development",
    "PredictiveEcology/Require@development"
  ],
  "Encoding": "UTF-8",
  "Language": "en-CA",
  "License": "GPL-3",
  "VignetteBuilder": "knitr, rmarkdown",
  "BugReports": "https://github.com/PredictiveEcology/clusters/issues",
  "ByteCompile": "yes",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.1.0",
  "Config/pak/sysreqs": "cmake make libuv1-dev",
  "Repository": "https://predictiveecology.r-universe.dev",
  "Date/Publication": "2026-09-29 00:58:55 UTC",
  "RemoteUrl": "https://github.com/PredictiveEcology/clusters",
  "RemoteRef": "HEAD",
  "RemoteSha": "483d517e61998c985a851bd96644e135dad4cf55",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-09 02:38:36 UTC",
    "User": "root"
  },
  "Author": "Eliot J B McIntire [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-6914-8316>),\nHis Majesty the King in Right of Canada, as represented by the Minister\nof Natural Resources Canada [cph]",
  "Maintainer": "Eliot J B McIntire <eliot.mcintire@nrcan-rncan.gc.ca>",
  "_user": "predictiveecology",
  "_type": "src",
  "_file": "clusters_0.0.51.tar.gz",
  "_fileid": "https://r2.ropensci.org/78453e677d844b7dc733ce846d265d119b4851426985cb526ff30ee4f16b7e3e",
  "_filesize": 254525,
  "_sha256": "78453e677d844b7dc733ce846d265d119b4851426985cb526ff30ee4f16b7e3e",
  "_expires": "2027-01-17T02:44:21.000Z",
  "_created": "2026-10-09T02:38:36.000Z",
  "_published": "2026-10-09T02:44:23.330Z",
  "_buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 113643300431,
      "time": 182,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11592431071"
    },
    {
      "job": 113643300397,
      "time": 143,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11592615500"
    },
    {
      "job": 113643300538,
      "time": 108,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11592805160"
    },
    {
      "job": 113643300543,
      "time": 144,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11592620861"
    },
    {
      "job": 113642241893,
      "time": 252,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11592256569"
    },
    {
      "job": 113643300496,
      "time": 139,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11592510671"
    },
    {
      "job": 113643300411,
      "time": 156,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "11592137494"
    },
    {
      "job": 113643300388,
      "time": 154,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "11592197364"
    },
    {
      "job": 113643300468,
      "time": 162,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "NOTE",
      "artifact": "11592650394"
    }
  ],
  "_upstream": "https://github.com/PredictiveEcology/clusters",
  "_commit": {
    "id": "483d517e61998c985a851bd96644e135dad4cf55",
    "author": "Eliot McIntire <eliotmcintire@gmail.com>",
    "committer": "Eliot McIntire <eliotmcintire@gmail.com>",
    "message": "Export and document DEoptimIterative2()\n\nfireSenseUtils calls it for every FireSense spread fit, until now as\nclusters:::DEoptimIterative2().\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01CwcjqqK59FmTJscyi7xUqv\n",
    "time": 1790643535
  },
  "_maintainer": {
    "name": "Eliot J B McIntire",
    "email": "eliot.mcintire@nrcan-rncan.gc.ca",
    "login": "eliotmcintire",
    "twitter": "@eliotmcintire",
    "description": "",
    "uuid": 1100507,
    "orcid": "0000-0002-6914-8316"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "DEoptim",
      "role": "Imports"
    },
    {
      "package": "filelock",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "parallelly",
      "role": "Imports"
    },
    {
      "package": "qs2",
      "role": "Imports"
    },
    {
      "package": "reproducible",
      "version": ">= 2.1.2.9045",
      "role": "Imports"
    },
    {
      "package": "Require",
      "role": "Imports"
    },
    {
      "package": "rstudioapi",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "codetools",
      "role": "Suggests"
    },
    {
      "package": "ggpubr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "roxygen2",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "SpaDES.core",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    }
  ],
  "_owner": "predictiveecology",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-45",
      "n": 2
    },
    {
      "week": "2025-48",
      "n": 4
    },
    {
      "week": "2025-50",
      "n": 2
    },
    {
      "week": "2025-52",
      "n": 6
    },
    {
      "week": "2026-08",
      "n": 1
    },
    {
      "week": "2026-36",
      "n": 2
    },
    {
      "week": "2026-37",
      "n": 3
    },
    {
      "week": "2026-38",
      "n": 14
    },
    {
      "week": "2026-39",
      "n": 1
    },
    {
      "week": "2026-40",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 1,
  "_contributors": [
    {
      "user": "eliotmcintire",
      "count": 138,
      "uuid": 1100507
    },
    {
      "user": "achubaty",
      "count": 3,
      "uuid": 3435577
    }
  ],
  "_userbio": {
    "uuid": 10555025,
    "type": "organization",
    "name": "Predictive Ecology Group",
    "followers": 38,
    "description": "Ecological forecasting models and data"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/clusters"
  },
  "_devurl": "https://github.com/predictiveecology/clusters",
  "_searchresults": 6,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/clusters.html",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt"
  ],
  "_cranurl": false,
  "_exports": [
    ".sshKeepaliveOpts",
    "clusterSetup",
    "DEoptimIterative2",
    "dirNew",
    "freeCoresLessReserved",
    "getHostCombination",
    "liveReservations",
    "makeClusterPSOCK",
    "makeHosts",
    "mirrorTerraOptions",
    "monitorCluster",
    "numActiveThreads",
    "plan_psock_min",
    "ramUsageGB",
    "readTransferredObjects",
    "releaseCores",
    "reservationsPath",
    "reserveCores",
    "resourcesUsed",
    "rmIncompleteDups",
    "runTests",
    "shipSystemLibs",
    "summaryOutputFolder",
    "tableFiles",
    "termsInDEoptim",
    "transferDirName",
    "verifyClusterHosts",
    "visualizeDE"
  ],
  "_help": [
    {
      "page": "dot-sshKeepaliveOpts",
      "title": "SSH options that let the master notice a worker has died",
      "topics": [
        ".sshKeepaliveOpts"
      ]
    },
    {
      "page": "clusterSetup",
      "title": "Setup a cluster for DEoptim",
      "topics": [
        "clusterSetup"
      ]
    },
    {
      "page": "DEoptimIterative2",
      "title": "Run DEoptim in cached chunks of generations",
      "topics": [
        "DEoptimIterative2"
      ]
    },
    {
      "page": "dirNew",
      "title": "Remove duplicate figures, keeping most recent duplicate only",
      "topics": [
        "dirNew"
      ]
    },
    {
      "page": "freeCoresLessReserved",
      "title": "Subtract live reservations from measured free cores",
      "topics": [
        "freeCoresLessReserved"
      ]
    },
    {
      "page": "getHostCombination",
      "title": "Pick how many workers to run on each host",
      "topics": [
        "getHostCombination"
      ]
    },
    {
      "page": "makeClusterPSOCK",
      "title": "Lightweight wrapper for parallelly::makeClusterPSOCK",
      "topics": [
        "makeClusterPSOCK"
      ]
    },
    {
      "page": "makeHosts",
      "title": "Build host names from the last octets of their addresses",
      "topics": [
        "makeHosts"
      ]
    },
    {
      "page": "mirrorTerraOptions",
      "title": "Give cluster workers the master's terra memory settings",
      "topics": [
        "mirrorTerraOptions"
      ]
    },
    {
      "page": "monitorCluster",
      "title": "Watch active threads and memory across a cluster's hosts",
      "topics": [
        "monitorCluster"
      ]
    },
    {
      "page": "numActiveThreads",
      "title": "Estimate the number of active threads currently being used",
      "topics": [
        "numActiveThreads"
      ]
    },
    {
      "page": "plan_psock_min",
      "title": "Minimal HT-aware PSOCK cluster planner (parallelly-only)",
      "topics": [
        "plan_psock_min"
      ]
    },
    {
      "page": "plotMachine",
      "title": "Plot the outputs from 'testMachine'",
      "topics": [
        "plotMachine"
      ]
    },
    {
      "page": "ramUsageGB",
      "title": "Get RAM usage in GB on the current machine",
      "topics": [
        "ramUsageGB"
      ]
    },
    {
      "page": "readTransferredObjects",
      "title": "Read objects transferred to a worker, failing loudly if the transfer did not arrive",
      "topics": [
        "readTransferredObjects"
      ]
    },
    {
      "page": "reservations",
      "title": "Core reservations shared between concurrent cluster builds",
      "topics": [
        "liveReservations",
        "releaseCores",
        "reservationsPath",
        "reserveCores"
      ]
    },
    {
      "page": "resourcesUsed",
      "title": "Assess the machine resources used",
      "topics": [
        "resourcesUsed"
      ]
    },
    {
      "page": "rmIncompleteDups",
      "title": "This is for cleaning up cases where an interrupted optimization is leading to multiple files for the same .runName. This will remove duplicates, keeping only the most recent.",
      "topics": [
        "rmIncompleteDups"
      ]
    },
    {
      "page": "runTests",
      "title": "Runs test on each machine in 'hosts'",
      "topics": [
        "runTests"
      ]
    },
    {
      "page": "shipSystemLibs",
      "title": "Ship missing system shared libraries to worker hosts, without root",
      "topics": [
        "shipSystemLibs"
      ]
    },
    {
      "page": "summaryOutputFolder",
      "title": "Summary - wrapper around 'dirNew' and 'tableFiles'",
      "topics": [
        "summaryOutputFolder"
      ]
    },
    {
      "page": "tableFiles",
      "title": "Tabulate the filenames into groups based on 'pattern'",
      "topics": [
        "tableFiles"
      ]
    },
    {
      "page": "runDEoptim",
      "title": "'termsInDEoptim'",
      "topics": [
        "termsInDEoptim"
      ]
    },
    {
      "page": "testMachine",
      "title": "Test machines",
      "topics": [
        "testMachine"
      ]
    },
    {
      "page": "transferDirName",
      "title": "Build the per-job worker transfer directory name",
      "topics": [
        "transferDirName"
      ]
    },
    {
      "page": "verifyClusterHosts",
      "title": "Verify that every cluster host can actually run a worker",
      "topics": [
        "verifyClusterHosts"
      ]
    },
    {
      "page": "visualizeDE",
      "title": "Make histograms of 'DEoptim' object 'pars'",
      "topics": [
        "visualizeDE"
      ]
    }
  ],
  "_rundeps": [
    "callr",
    "cli",
    "cpp11",
    "crayon",
    "data.table",
    "DEoptim",
    "digest",
    "farver",
    "filelock",
    "fpCompare",
    "fs",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "lobstr",
    "otel",
    "pak",
    "parallelly",
    "prettyunits",
    "processx",
    "ps",
    "qs2",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppParallel",
    "reproducible",
    "Require",
    "rlang",
    "rstudioapi",
    "S7",
    "scales",
    "stringfish",
    "sys",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_score": 2.4771212547196626,
  "_indexed": true,
  "_nocasepkg": "clusters",
  "_universes": [
    "predictiveecology",
    "eliotmcintire"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.51",
      "date": "2026-10-09T02:41:29.000Z",
      "distro": "resolute",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/0b6bed8d8054788d371eb52b456924eec4494c63aec989607e188e06fe210783",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.0.51",
      "date": "2026-10-09T02:41:00.000Z",
      "distro": "resolute",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/c4d2a3e88499bec5625e2301b9961a815dea66a28001271e6383ef2cbf4b1563",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.51",
      "date": "2026-10-09T02:42:54.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/ee5f228c98e4aa5fa7ad171a9fff8c17f73d7940c0f5016e1c988c2e04d7fe7f",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.0.51",
      "date": "2026-10-09T02:43:19.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/6cb07164f9881053e8339551936f84a85f8f809e8412bf75d6699b6e266b27dc",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.51",
      "date": "2026-10-09T02:41:23.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/75c27fc587ba4b9ce192e704380f62683277c9618dfb32d0c63f53aa55961b15",
      "status": "success",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.51",
      "date": "2026-10-09T02:40:53.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/4b9d04f93738c17288408ce66dbfe4285c03d4867f60859a01684f2ffdb06bca",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.51",
      "date": "2026-10-09T02:40:42.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/ea4b81bca7cda56094470b67dd23189ddbde3b77a3ced01449f12a3babec9bc7",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.0.51",
      "date": "2026-10-09T02:40:44.000Z",
      "commit": "483d517e61998c985a851bd96644e135dad4cf55",
      "fileid": "https://r2.ropensci.org/e9eb44b442ff174e197d876f1735951fb62725b5c11a72142a468c64448c060f",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/predictiveecology/actions/runs/37875227825"
    }
  ]
}