{
  "_id": "6a17e9fbacfb0bcc41da2865",
  "Package": "tidyeof",
  "Type": "Package",
  "Title": "Tidy Empirical Orthogonal Functions and Spatial Downscaling",
  "Version": "0.1.0",
  "Authors@R": "person(\"Nicolas\", \"Gauthier\",\nemail = \"nicolas.gauthier@ufl.edu\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0002-2225-5827\"))",
  "Description": "An R package for conducting empirical orthogonal function\n(EOF) analysis in the tidyverse framework. Functions to isolate\nmodes of variability from spatiotemporal data, run various\ndiagnostics, and use these patterns for spatial downscaling via\ncanonical correlation analysis.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "quarto",
  "URL": "https://github.com/nick-gauthier/tidyEOF",
  "BugReports": "https://github.com/nick-gauthier/tidyEOF/issues",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibicu-dev libssl-dev libproj-dev libsqlite3-dev\nlibudunits2-dev",
  "Repository": "https://flmnh-ai.r-universe.dev",
  "Date/Publication": "2026-02-25 21:56:49 UTC",
  "RemoteUrl": "https://github.com/nick-gauthier/tidyeof",
  "RemoteRef": "HEAD",
  "RemoteSha": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-28 06:58:20 UTC",
    "User": "root"
  },
  "Author": "Nicolas Gauthier [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-2225-5827>)",
  "Maintainer": "Nicolas Gauthier <nicolas.gauthier@ufl.edu>",
  "MD5sum": "e9812337bed2a06f5485f22f8ace11e3",
  "_user": "flmnh-ai",
  "_type": "src",
  "_file": "tidyeof_0.1.0.tar.gz",
  "_fileid": "290b00c5682df22b65783f3ab3400070187c0285607793784f9f4ec6eb9d5a0f",
  "_filesize": 2078563,
  "_sha256": "290b00c5682df22b65783f3ab3400070187c0285607793784f9f4ec6eb9d5a0f",
  "_created": "2026-05-28T06:58:20.000Z",
  "_published": "2026-05-28T07:08:43.598Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78239836968,
      "time": 187,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7259631477"
    },
    {
      "job": 78239836899,
      "time": 193,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7259632718"
    },
    {
      "job": 78239836906,
      "time": 138,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7259733389"
    },
    {
      "job": 78239836881,
      "time": 151,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7259724242"
    },
    {
      "job": 78239261888,
      "time": 267,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7259581258"
    },
    {
      "job": 78239836873,
      "time": 132,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7259615842"
    },
    {
      "job": 78239836921,
      "time": 199,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7259634282"
    },
    {
      "job": 78239836957,
      "time": 143,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7259619092"
    },
    {
      "job": 78239836928,
      "time": 158,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7259623036"
    }
  ],
  "_buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/nick-gauthier/tidyeof",
  "_commit": {
    "id": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
    "author": "Nick Gauthier <nicolas.gauthier@ufl.edu>",
    "committer": "Nick Gauthier <nicolas.gauthier@ufl.edu>",
    "message": "add cubelyr to imports to fix pkgdown\n",
    "time": 1772056609
  },
  "_maintainer": {
    "name": "Nicolas Gauthier",
    "email": "nicolas.gauthier@ufl.edu",
    "login": "nick-gauthier",
    "twitter": "@nick_gaut",
    "description": "Assistant Curator, AI for Bio/Cultural Diversity",
    "uuid": 12808168,
    "orcid": "0000-0002-2225-5827"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "glue",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "stars",
      "role": "Imports"
    },
    {
      "package": "cubelyr",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "scico",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "units",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "irlba",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "furrr",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    }
  ],
  "_owner": "nick-gauthier",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-09",
      "n": 9
    }
  ],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "nick-gauthier",
      "count": 101,
      "uuid": 12808168
    }
  ],
  "_userbio": {
    "uuid": 116828111,
    "type": "organization",
    "name": "AI at the Florida Museum of Natural History",
    "description": "Code repository for the AI for Human Ecology Lab at the Florida Museum of Natural History, University of Florida"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/tidyeof"
  },
  "_devurl": "https://github.com/nick-gauthier/tidyeof",
  "_searchresults": 7,
  "_quarto": true,
  "_topics": [
    "quarto"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tidyeof.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "area_weights",
    "common_patterns",
    "couple",
    "eigen_test",
    "get_anomalies",
    "get_canonical_correlations",
    "get_canonical_patterns",
    "get_canonical_variables",
    "get_climatology",
    "get_correlation",
    "get_fdr",
    "patterns",
    "prep_cv_folds",
    "prep_folds",
    "project_patterns",
    "project_patterns_multiple",
    "reconstruct",
    "restore_climatology",
    "summarize_cv",
    "summarize_eof_cv",
    "tune_cca",
    "tune_eof"
  ],
  "_help": [
    {
      "page": "sub-.patterns",
      "title": "Extract subset of PCs from a patterns object",
      "topics": [
        "[.patterns"
      ]
    },
    {
      "page": "area_weights",
      "title": "Compute area-based weights for spatial data",
      "topics": [
        "area_weights"
      ]
    },
    {
      "page": "common_patterns",
      "title": "Compute Common EOF Patterns from Multiple Sources",
      "topics": [
        "common_patterns"
      ]
    },
    {
      "page": "couple",
      "title": "Couple Pattern Relationships Using CCA",
      "topics": [
        "couple"
      ]
    },
    {
      "page": "eigen_test",
      "title": "Test EOF significance using modified Rule N",
      "topics": [
        "eigen_test"
      ]
    },
    {
      "page": "get_anomalies",
      "title": "Calculate anomalies from a climatological mean",
      "topics": [
        "get_anomalies"
      ]
    },
    {
      "page": "get_canonical_correlations",
      "title": "Get Canonical Correlations from Coupled Patterns",
      "topics": [
        "get_canonical_correlations"
      ]
    },
    {
      "page": "get_canonical_patterns",
      "title": "Get Canonical Spatial Patterns from Coupled Patterns",
      "topics": [
        "get_canonical_patterns"
      ]
    },
    {
      "page": "get_canonical_variables",
      "title": "Get Canonical Variables from Coupled Patterns",
      "topics": [
        "get_canonical_variables"
      ]
    },
    {
      "page": "get_climatology",
      "title": "Calculate climatological mean and standard deviation for spatial data",
      "topics": [
        "get_climatology"
      ]
    },
    {
      "page": "get_correlation",
      "title": "Calculate teleconnections between a patterns object and another layer",
      "topics": [
        "get_correlation"
      ]
    },
    {
      "page": "get_fdr",
      "title": "Calculate FDR-corrected significance contours for teleconnections",
      "topics": [
        "get_fdr"
      ]
    },
    {
      "page": "patterns",
      "title": "Get EOFs and PCs from spatiotemporal data",
      "topics": [
        "patterns"
      ]
    },
    {
      "page": "plot.common_patterns",
      "title": "Plot method for common_patterns objects",
      "topics": [
        "plot.common_patterns"
      ]
    },
    {
      "page": "plot.coupled_patterns",
      "title": "Plot coupled patterns diagnostics",
      "topics": [
        "plot.coupled_patterns"
      ]
    },
    {
      "page": "plot.patterns",
      "title": "Plot method for patterns objects",
      "topics": [
        "plot.patterns"
      ]
    },
    {
      "page": "predict.coupled_patterns",
      "title": "Predict Method for Coupled Patterns",
      "topics": [
        "predict.coupled_patterns"
      ]
    },
    {
      "page": "prep_cv_folds",
      "title": "Prepare cross-validation folds for CCA tuning",
      "topics": [
        "prep_cv_folds"
      ]
    },
    {
      "page": "prep_folds",
      "title": "Prepare contiguous cross-validation folds",
      "topics": [
        "prep_folds"
      ]
    },
    {
      "page": "print.coupled_patterns",
      "title": "Print method for coupled_patterns",
      "topics": [
        "print.coupled_patterns"
      ]
    },
    {
      "page": "print.cv_folds",
      "title": "Print method for cv_folds objects",
      "topics": [
        "print.cv_folds"
      ]
    },
    {
      "page": "print.patterns",
      "title": "Print method for patterns objects",
      "topics": [
        "print.patterns"
      ]
    },
    {
      "page": "project_patterns",
      "title": "Project New Data onto Existing Patterns",
      "topics": [
        "project_patterns"
      ]
    },
    {
      "page": "project_patterns_multiple",
      "title": "Project Multiple Datasets onto Patterns",
      "topics": [
        "project_patterns_multiple"
      ]
    },
    {
      "page": "reconstruct",
      "title": "Reconstruct spatial field from EOF amplitudes",
      "topics": [
        "reconstruct"
      ]
    },
    {
      "page": "restore_climatology",
      "title": "Restore original field from anomalies and climatology",
      "topics": [
        "restore_climatology"
      ]
    },
    {
      "page": "screeplot.patterns",
      "title": "Scree plot for EOF patterns",
      "topics": [
        "screeplot.patterns"
      ]
    },
    {
      "page": "summarize_cv",
      "title": "Summarize cross-validation results",
      "topics": [
        "summarize_cv"
      ]
    },
    {
      "page": "summarize_eof_cv",
      "title": "Summarize EOF cross-validation results",
      "topics": [
        "summarize_eof_cv"
      ]
    },
    {
      "page": "summary.coupled_patterns",
      "title": "Summary method for coupled_patterns",
      "topics": [
        "summary.coupled_patterns"
      ]
    },
    {
      "page": "tune_cca",
      "title": "Tune CCA hyperparameters via cross-validation",
      "topics": [
        "tune_cca"
      ]
    },
    {
      "page": "tune_eof",
      "title": "Cross-validate EOF truncation for a single field",
      "topics": [
        "tune_eof"
      ]
    }
  ],
  "_readme": "https://github.com/nick-gauthier/tidyeof/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "class",
    "classInt",
    "cli",
    "cpp11",
    "cubelyr",
    "DBI",
    "dplyr",
    "e1071",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "irlba",
    "isoband",
    "KernSmooth",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "pillar",
    "pkgconfig",
    "proxy",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "s2",
    "S7",
    "scales",
    "scico",
    "sf",
    "stars",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "units",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "cross-validation.qmd",
      "filename": "cross-validation.html",
      "title": "Cross-Validation and Tuning",
      "engine": "quarto::html",
      "headings": [],
      "created": "2026-02-25 21:02:14",
      "modified": "2026-02-25 21:02:14",
      "commits": 1
    },
    {
      "source": "eof-analysis.qmd",
      "filename": "eof-analysis.html",
      "title": "EOF Analysis with tidyeof",
      "engine": "quarto::html",
      "headings": [],
      "created": "2026-02-25 21:02:14",
      "modified": "2026-02-25 21:02:14",
      "commits": 1
    },
    {
      "source": "downscaling.qmd",
      "filename": "downscaling.html",
      "title": "Statistical Downscaling with CCA",
      "engine": "quarto::html",
      "headings": [],
      "created": "2026-02-25 21:02:14",
      "modified": "2026-02-25 21:02:14",
      "commits": 1
    }
  ],
  "_score": 3.4771212547196626,
  "_indexed": false,
  "_nocasepkg": "tidyeof",
  "_universes": [
    "flmnh-ai"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:56.000Z",
      "distro": "noble",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "36460484c696511011ed8a47dcb08966ff91518018fded1cfea82c91e3d4c04a",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:57.000Z",
      "distro": "noble",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "d80b77057a760d68b5c36c23b6ee9d09527bd9c1081f277af3bb21bbcffedeb3",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-05-28T07:07:47.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "e3d2da9daf40d63106c996f23dd599eec77b02b5e14432210a1b5187e0fce009",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-05-28T07:07:11.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "d3b3fa4262937e2a5412d601474ff4bdd57264f45ce54a9693c2fa7daa7dfcf1",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:55.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "bfd57344b15b42b6936fecaab35fbb86680fe8b5eedb6111dc242cc2051910a2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:55.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "7f61e09a02c7e667404b531d4514e3bfb66e9493a887e81ba6eac96d3191e452",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:00.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "cd24d5f3dcd42fbb075d53d2366d85f7db6c567646639413a2170f4c66ee4e1f",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-05-28T07:00:19.000Z",
      "commit": "dddb4629a8eb7cffdcbd14550cf975aec385a1e5",
      "fileid": "859ecef946c6399a6feb2c7ee80a3633b3eb0ab26515366120a93a85f71a0cb2",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/26559632958"
    }
  ]
}