Table: ndb.chroncontrols#
Description#
This table stores data for Chronology Controls, which are the age-depth control points used for age models. These controls may be geophysical controls, such as radiocarbon dates, but include many other kinds of age controls, such as biostratigraphic controls, archaeological cultural associations, and volcanic tephras. In the case of radiocarbon dates, a Chronology Control may not simply be the raw radiocarbon date reported by the laboratory, but perhaps a radiocarbon date corrected for an old carbon reservoir, a calibrated radiocarbon date, or an average of several radiocarbon dates from the same level. A common control for lake-sediment cores is the age of the top of the core, which may be the year the core was taken or perhaps an estimate of 0 BP if a few cm of surficial sediment were lost.
TODO: Expand this description with: - What data does this table store? - What is the business/research purpose? - How is this data collected or generated? - Are there any important caveats or data quality issues?
Table Structure#
Schema: ndb | Table Comment: This table stores data for Chronology Controls, which are the age-depth control points used for age models. These controls may be geophysical controls, such as radiocarbon dates, but include many other kinds of age controls, such as biostratigraphic controls, archaeological cultural associations, and volcanic tephras. In the case of radiocarbon dates, a Chronology Control may not simply be the raw radiocarbon date reported by the laboratory, but perhaps a radiocarbon date corrected for an old carbon reservoir, a calibrated radiocarbon date, or an average of several radiocarbon dates from the same level. A common control for lake-sediment cores is the age of the top of the core, which may be the year the core was taken or perhaps an estimate of 0 BP if a few cm of surficial sediment were lost.
Statistics#
| Metric | Value |
|---|---|
| Row Count | 384,946 |
| Total Size | 75 MB |
| Table Size | 36 MB |
| Indexes Size | 39 MB |
Relationships#
Primary Key: chroncontrolid
Foreign Keys:
agetypeid→agetypes.agetypeidanalysisunitid→analysisunits.analysisunitidchroncontroltypeid→chroncontroltypes.chroncontroltypeidchronologyid→chronologies.chronologyid
Referenced By:
TODO: Document which tables reference this table (will be auto-detected in validation).
Data Dictionary#
| Column | Type | Nullable | Default | Constraints | Description |
|---|---|---|---|---|---|
chroncontrolid |
integer | ✗ | nextval('ndb.seq_chroncontr... |
PRIMARY KEY | An arbitrary Chronology Control identification number. |
chronologyid |
integer | ✗ | - |
FOREIGN KEY | Chronology to which the ChronControl belongs. Field links to the Chronolgies table. |
chroncontroltypeid |
integer | ✓ | - |
FOREIGN KEY | The type of Chronology Control. Field links to the ChronControlTypes table. |
depth |
double precision | ✓ | - |
- | Depth of the Chronology Control in cm. |
thickness |
double precision | ✓ | - |
- | Thickness of the Chronology Control in cm. |
age |
double precision | ✓ | - |
- | Age of the Chronology Control. |
agelimityounger |
double precision | ✓ | - |
- | The younger age limit of a Chronology Control. This limit may be explicitly defined, for example the younger of the 2-sigma range limits of a calibrated radiocarbon date, or it may be more loosely defined, for example the younger limit on the range of dates for a biostratigraphic horizon. |
agelimitolder |
double precision | ✓ | - |
- | The older age limit of a Chronology Control. |
notes |
text | ✓ | - |
- | Free form notes or comments about the Chronology Control. |
recdatecreated |
timestamp without time zone | ✗ | timezone('UTC'::text, now()) |
- | |
recdatemodified |
timestamp without time zone | ✗ | - |
- | |
analysisunitid |
integer | ✓ | - |
FOREIGN KEY | |
agetypeid |
integer | ✓ | - |
FOREIGN KEY |
TODO: Review column descriptions and add comments where missing.
Usage Examples#
Example 1: Basic Selection#
-- Get recent records from chroncontrols
SELECT *
FROM chroncontrols
ORDER BY chroncontrolid DESC
LIMIT 10;
Purpose: Retrieve the 10 most recent records from chroncontrols
Example 2: Count Records#
Purpose: Get the total number of records in chroncontrols
Example 3: Filter by Date Range#
-- Get records within a date range
SELECT *
FROM chroncontrols
WHERE recdatecreated >= '2024-01-01'
AND recdatecreated < '2025-01-01'
ORDER BY recdatecreated DESC;
Purpose: Retrieve records from chroncontrols within a specific date range
Example 4: Join with agetypes#
-- Join with related table
SELECT
t1.*,
t2.*
FROM chroncontrols t1
INNER JOIN agetypes t2
ON t1.agetypeid = t2.agetypeid
LIMIT 100;
Purpose: Retrieve chroncontrols records with related data from agetypes
Example 5: Aggregate Data#
-- Aggregate records by chronologyid
SELECT
chronologyid,
COUNT(*) as count
FROM chroncontrols
GROUP BY chronologyid
ORDER BY count DESC
LIMIT 10;
Purpose: Count records grouped by chronologyid
TODO: Add more specific examples relevant to common research questions or operational tasks.
Data Quality Notes#
TODO: Document: - Known data quality issues - Validation rules - Expected data ranges - Update frequency and mechanisms - Any ETL processes that populate this table
Maintenance#
- Data Owner: TODO: Assign owner
- Update Frequency: TODO: Document frequency
- Last Major Schema Change: TODO: Document when schema last changed
Related Documentation#
TODO: Link to: - Related API endpoints - Data collection procedures - Analysis notebooks or reports that use this table - External ontologies or standards