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 = "r1i1p1f1",
  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. The default limits discovery to the first realization; use NULL to inspect every returned member.

grid

Optional single CMIP6 grid label.

frequency

CMIP6 frequency. Defaults to daily data.

table

Optional single CMIP6 table ID. NULL infers the usual table from frequency, for example "day" for daily data.

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/table identity. complete is TRUE only when every requested experiment-variable pair is present. 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)
} # }