Query CMIP6 Dataset metadata and identify model/member/grid identities that contain every requested variable for every requested experiment. ESGF interprets multiple variable_id values as OR alternatives; this function applies the required AND reduction locally.

shift_cmip6_avail(
  variables,
  scenarios = c("ssp245", "ssp585"),
  include_historical = TRUE,
  source = NULL,
  member = NULL,
  grid = NULL,
  frequency = "day",
  table = NULL,
  activity = "ScenarioMIP",
  historical_activity = "CMIP",
  index_node = NULL,
  data_node = NULL,
  filters = list(),
  store = NULL,
  ui = NULL
)

Arguments

variables

CMIP6 variable IDs that must all be present.

scenarios

Future CMIP6 experiment IDs.

include_historical

Whether the same identity must also contain the requested variables for the "historical" experiment.

source

Optional CMIP6 source/model IDs. NULL leaves the source unconstrained and discovers all matching models.

member

Optional CMIP6 variant labels. NULL, the default, discovers every returned member and evaluates each identity independently.

grid

Optional single CMIP6 grid label.

frequency

CMIP6 frequency. An unnamed scalar applies to every requested variable. A named character vector assigns one frequency to every variable, for example tas = "3hrPt" and rsds = "3hr".

table

Optional CMIP6 table selection. NULL discovers a table for each variable at the requested frequency. An unnamed scalar pins every variable to one table. A named character vector or list overrides the named variables and leaves the remainder on their frequency defaults.

activity

Future CMIP6 activity ID.

historical_activity

Historical CMIP6 activity ID.

index_node

ESGF index-node name or URL. Names are matched case-insensitively against the package node registry. NULL uses DKRZ; "ORNL" and "LLNL" use the ORNL ESGF 1.5 Bridge endpoint.

data_node

Optional ESGF data-node filter.

filters

Additional named ESGF filters. Core availability filters take precedence when names overlap.

store

Optional EsgStore or store path used by shift_datasets().

ui

Optional shift UI configuration forwarded to shift_datasets().

Value

A data frame with one row per model/member/grid identity. complete is TRUE only when every requested experiment-variable pair is present. frequency_spec and table are list-columns containing named per-variable selections accepted by shift_cmip6(). Incomplete rows use NA for variables with no available table. frequency and table_id are compact display values, and missing lists absent pairs as experiment:variable.

Details

This function reports Dataset metadata availability. It does not download NetCDF data or verify year-by-year File coverage. Requested period coverage is checked later by the existing shift_* workflow resolver.

Examples

if (FALSE) { # \dontrun{
daily_models <- shift_cmip6_avail(
    variables = c("tas", "hurs", "pr", "rsds", "rlds", "sfcWind"),
    scenarios = c("ssp245", "ssp585"),
    frequency = "day"
)
subset(daily_models, complete)
} # }