| Module | State | Present | Missing slots |
|---|---|---|---|
(record root) | partial | 14/16 | uncertainty, deposit_metadata |
data_layout | partial | 5/10 | variable_column, variable_key, native_value_column, quality_flag_column, null_semantics_column |
deposit_metadata | absent | 0/6 | deposit_doi, deposit_repository, deposit_license_spdx, deposit_redistribution_constraints_inherited, recommended_citation, dcat_distribution_url |
exposure_model | partial | 4/7 | exposure_model_cross_validation_r2, exposure_model_ensemble_member_count, bias_correction_applied |
health_layer_linkage | partial | 2/3 | cohort_size_anchored |
linkage_method | partial | 7/14 | linkage_buffer_radius_m, linkage_buffer_aggregation_method, linkage_max_distance_to_station_m, linkage_working_crs, lag_alignment_specifier, privacy_transformation, privacy_transformation_note |
provenance_chain | partial | 2/3 | chain_compatibility_assertions |
source_dataset | partial | 9/14 | source_dataset_temporal_coverage, source_dataset_spatial_extent, source_citation_bibtex, source_homogenisation_status, source_acdd_attributes |
spatial_reference | partial | 6/10 | spatial_extent_bbox, extraction_buffer_m, population_weighting_source, spatial_aggregation_preserves |
temporal_reference | full | 9/9 | — |
tool_run | partial | 10/14 | tool_description, run_duration_seconds, run_environment, run_log_excerpt |
uncertainty | absent | 0/7 | per_value_uncertainty_type, per_value_uncertainty_units_ucum, model_aggregate_uncertainty, quality_flag_vocabulary, missing_data_handling_method, missing_value_sentinel, data_completeness_pct |
variable_identity | partial | 13/17 | native_units_ucum, native_value_scale_factor, native_value_offset, unit_conversion_formula |
Recommended missing (16): bias_correction_applied, data_completeness_pct, exposure_model_cross_validation_r2, missing_data_handling_method, model_aggregate_uncertainty, native_units_ucum, null_semantics_column, per_value_uncertainty_type, per_value_uncertainty_units_ucum, privacy_transformation, privacy_transformation_note, source_dataset_spatial_extent, source_dataset_temporal_coverage, spatial_aggregation_preserves, spatial_extent_bbox, uncertainty
Optional missing (33): chain_compatibility_assertions, cohort_size_anchored, dcat_distribution_url, deposit_doi, deposit_license_spdx, deposit_metadata, deposit_redistribution_constraints_inherited, deposit_repository, exposure_model_ensemble_member_count, extraction_buffer_m, lag_alignment_specifier, linkage_buffer_aggregation_method, linkage_buffer_radius_m, linkage_max_distance_to_station_m, linkage_working_crs, missing_value_sentinel, native_value_column, native_value_offset, native_value_scale_factor, population_weighting_source, quality_flag_column, quality_flag_vocabulary, recommended_citation, run_duration_seconds, run_environment, run_log_excerpt, source_acdd_attributes, source_citation_bibtex, source_homogenisation_status, tool_description, unit_conversion_formula, variable_column, variable_key
Explained nulls (absent, but documented with a *_missing_reason — counted as present): target_concept_id, value_uncertainty_column
Source: examples/daymet_tmax_phoenix_2022_07_19.yaml
# Worked example: Daymet V4 Tmax sidecar for Phoenix on 2022-07-19.
# Replicates the JSON block in ../../../pipeline/heat-omop-slice/envar-heat-scenario.md §4,
# restructured to use the readable top-level names (subject / variable_identity /
# spatial_reference / temporal_reference / exposure_model), each mapped to its
# LinkML Microschema Profile slot. See src/linkml_microschemas_envar/schema/README.md
# "Design decisions" for the rationale and known drawbacks.
---
schema_version: "0.1.0"
provenance_id: "01HFA7K8R3M6XP-daymet"
phi_status: no_phi
subject: "cohort:phoenix_aki_2022"
variable_identity:
variable_name: tmax
variable_label: "daily maximum air temperature at 2 m"
standard_name: CF:air_temperature
cf_cell_methods: "time: maximum"
units_ucum: Cel
units_display: "°C"
target_concept_vocabulary: omop
target_concept_id: null
target_concept_id_missing_reason: not_provided_by_source
concept_status: gap
concept_mappings:
- ECTO:0000012
value_data_type: continuous_numeric
value_range_plausible_min: -50
value_range_plausible_max: 60
data_layout:
table_orientation: wide
value_column: tmax
subject_column: subject_id
time_column: date
value_uncertainty_column:
value_uncertainty_column_missing_reason: available_but_not_extracted
spatial_reference:
native_spatial_resolution_m: 1000
native_spatial_resolution_descriptor: "1 km regular grid"
crs: "EPSG:4326"
spatial_extent_descriptor: "CONUS + Hawaii + Puerto Rico"
extraction_method: inverse_distance_weighted_4_nearest_cells
target_geography_type: point_residence
temporal_reference:
temporal_resolution: daily
temporal_aggregation_method: maximum
temporal_aggregation_window_seconds: 86400
day_boundary_convention: local_midnight
temporal_coverage_start: "1980-01-01"
temporal_coverage_end: "2024-12-31"
extraction_window_start: "2018-05-01"
extraction_window_end: "2022-09-30"
calendar: daymet_365 # Daymet keeps Feb 29 but drops Dec 31 in leap years — not gregorian
exposure_model:
exposure_model_type: spatial_interpolation
exposure_model_inputs:
- "GHCN-Daily station observations"
exposure_model_paper_doi: "10.3334/ORNLDAAC/2129"
exposure_model_known_biases:
- "warm-season warm bias documented in some western US regions"
- "interpolation degrades in sparse-station areas"
source_dataset:
source_dataset_name: "Daymet V4 Daily Surface Weather Data"
source_dataset_short_code: daymet_v4
source_dataset_doi: "10.3334/ORNLDAAC/2129"
source_dataset_version: "V4 R1"
source_producer_institution: "NASA ORNL DAAC"
source_citation_apa: >-
Thornton, M.M. et al. (2022). Daymet: Daily Surface Weather Data on a
1-km Grid for North America, Version 4 R1. ORNL DAAC.
source_license_spdx: public-domain-us-gov
source_native_format: netcdf4_cf
source_access_url: "https://daymet.ornl.gov/"
linkage_method:
linkage_strategy: point_extraction_at_residence
geocoding_precision_propagated: range
geocoding_score_propagated: 0.95
address_period_alignment: address_history_from_emr
clinical_date_assignment_convention: local_midnight # matches exposure-side day_boundary_convention
partial_day_attribution_rule: not_applicable
lag_alignment_applied: none
tool_run:
tool_name: daymet
tool_version: "1.0.0"
container_image_repository: "ghcr.io/degauss-org/daymet"
container_image_digest: "sha256:a8b3c2..."
run_arguments: '{"variables": "tmax"}'
run_timestamp_utc: "2026-05-23T14:18:42Z"
input_file_sha256: "9f8e7d..."
input_row_count: 3
output_file_sha256: "1c2d3e..."
output_row_count: 459
provenance_chain:
provenance_chain_terminus_type: raw_source_download
provenance_chain_steps:
- tool_name: geocoder
tool_version: "3.3.0"
run_timestamp_utc: "2026-05-23T14:02:11Z"
health_layer_linkage:
health_layer_target: omop_external_exposure
health_layer_link_field: exposure_source_value