{
  "_id": "6ace0a7ba14063b82c3aedb9",
  "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-06-13 16:15:12 UTC",
  "RemoteUrl": "https://github.com/nick-gauthier/tidyeof",
  "RemoteRef": "HEAD",
  "RemoteSha": "5e359770d50f7773f30d72660d53d3495d6dec17",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-13 10:34:49 UTC",
    "User": "root"
  },
  "Author": "Nicolas Gauthier [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-2225-5827>)",
  "Maintainer": "Nicolas Gauthier <nicolas.gauthier@ufl.edu>",
  "_user": "flmnh-ai",
  "_type": "src",
  "_file": "tidyeof_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/bf285225b98d29ceb59248e7395320f0e444b01fd8d8e402070f2571ec9c6390",
  "_filesize": 2107127,
  "_sha256": "bf285225b98d29ceb59248e7395320f0e444b01fd8d8e402070f2571ec9c6390",
  "_expires": "2027-01-21T10:39:52.000Z",
  "_created": "2026-10-13T10:34:49.000Z",
  "_published": "2026-10-13T10:39:54.978Z",
  "_buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 115252384689,
      "time": 259,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "11805111204"
    },
    {
      "job": 115252384832,
      "time": 209,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11804911961"
    },
    {
      "job": 115252384775,
      "time": 172,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "11805505053"
    },
    {
      "job": 115252384650,
      "time": 180,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11804199474"
    },
    {
      "job": 115250494568,
      "time": 288,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11804108959"
    },
    {
      "job": 115252384550,
      "time": 127,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11804099334"
    },
    {
      "job": 115252384746,
      "time": 166,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "11804254219"
    },
    {
      "job": 115252384883,
      "time": 239,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "11805006383"
    },
    {
      "job": 115252384896,
      "time": 190,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "ERROR",
      "artifact": "11804648708"
    }
  ],
  "_upstream": "https://github.com/nick-gauthier/tidyeof",
  "_commit": {
    "id": "5e359770d50f7773f30d72660d53d3495d6dec17",
    "author": "Nick Gauthier <nicolas.gauthier@ufl.edu>",
    "committer": "Nick Gauthier <nicolas.gauthier@ufl.edu>",
    "message": "make pc names more robust\n",
    "time": 1781367312
  },
  "_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"
  },
  "_distro": "resolute",
  "_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
    },
    {
      "week": "2026-24",
      "n": 15
    }
  ],
  "_tags": [],
  "_stars": 3,
  "_contributors": [
    {
      "user": "nick-gauthier",
      "count": 145,
      "uuid": 12808168
    }
  ],
  "_userbio": {
    "uuid": 116828111,
    "type": "organization",
    "name": "AI at the Florida Museum of Natural History",
    "followers": 9,
    "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": 6,
  "_quarto": true,
  "_topics": [
    "quarto"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/tidyeof.html",
    "LICENSE"
  ],
  "_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": [
        "Overview",
        "Setup",
        "Tuning EOF truncation",
        "Tuning CCA downscaling",
        "Preparing folds",
        "Grid search",
        "Tuning k_cca separately",
        "Fold construction",
        "Parallel execution",
        "Best practices"
      ],
      "created": "2026-02-25 21:02:14",
      "modified": "2026-06-10 21:49:29",
      "commits": 3
    },
    {
      "source": "eof-analysis.qmd",
      "filename": "eof-analysis.html",
      "title": "EOF Analysis with tidyeof",
      "engine": "quarto::html",
      "headings": [
        "Overview",
        "Example data",
        "Climatology and anomalies",
        "Extracting patterns",
        "Plotting",
        "Scree plot and significance",
        "Rotation",
        "Subsetting patterns",
        "Reconstruction",
        "Projection",
        "Teleconnections",
        "Area weighting",
        "Overlays",
        "References"
      ],
      "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": [
        "Overview",
        "Setup: predictor and response data",
        "Step 1: Extract patterns",
        "Step 2: Couple with CCA",
        "Diagnostics",
        "Step 3: Predict",
        "Amplitudes only",
        "Common patterns for multi-source downscaling",
        "Next steps",
        "References"
      ],
      "created": "2026-02-25 21:02:14",
      "modified": "2026-02-25 21:02:14",
      "commits": 1
    }
  ],
  "_score": 3.9542425094393248,
  "_indexed": false,
  "_nocasepkg": "tidyeof",
  "_universes": [
    "flmnh-ai"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-13T10:37:20.000Z",
      "distro": "resolute",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/089a07d91aec9ac2b7a3ca8d72f166725e98ee4435e47ff55760c1935a1c62ce",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-13T10:37:10.000Z",
      "distro": "resolute",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/4d94165471419a4096912e5bf165e03772850c23070c22ceb48c8f433c7575f5",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-10-13T10:37:01.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/ebb5a91474b63e4b6c726f83da3209d71d108e15885686e2ba6ba6e2ec74c1ad",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-10-13T10:37:08.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/957685382f6ad02395a2d0efbdbce8982a4d63e2816f0dc923ca52b2671ebbc8",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-10-13T10:37:14.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/5581cb23e9aea3411173941e4e898f09f4d50c43bab5c1c649d00a8f67d3f8cf",
      "status": "success",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-13T10:36:20.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/a4beba50524abde03f107f4237471fb5c0fa448f705999fa8ca7d96ef02f446c",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-13T10:36:26.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/4edd1eb324aff30a37f3a36167b271c857634cd1c7b038ff947be4c754dc789a",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-13T10:36:38.000Z",
      "commit": "5e359770d50f7773f30d72660d53d3495d6dec17",
      "fileid": "https://r2.ropensci.org/e7e7a51dfdf7838ed0b88320d3ce8dcb6f2ca94f0a2bf14ddb69fab48d278d37",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/flmnh-ai/actions/runs/38383766480"
    }
  ]
}