# HydrodynamicEvent

> The hydrodynamic_events optional block of a .well file: a list of HydrodynamicEvent objects.

Property `hydrodynamic_events` of the .well root, an array of objects, optional. [Defined in the spec](/format/spec/v2/object-schemas#hydrodynamic_events).

### `spot_measurement`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `spot_measurement` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `static_level` | number | yes |  |  |
| `static_level_precision` | number | no |  |  |
| `measurement_method` | string | no |  |  |
| `steps` | object[] | no |  |  |
| `steps[].rate` | number | yes |  |  |
| `steps[].rate_precision` | number | no |  |  |
| `steps[].duration` | number | no |  |  |
| `steps[].readings` | object[] | no |  |  |
| `steps[].readings[].elapsed` | number | yes |  |  |
| `steps[].readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `steps[].readings[].depth` | number | yes |  |  |
| `steps[].readings[].depth_precision` | number | no |  |  |
| `steps[].readings[].pressure` | number | no |  |  |
| `recovery` | object | no |  |  |
| `recovery.readings` | object[] | yes |  |  |
| `recovery.readings[].elapsed` | number | yes |  |  |
| `recovery.readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `recovery.readings[].depth` | number | yes |  |  |
| `recovery.readings[].depth_precision` | number | no |  |  |
| `recovery.readings[].pressure` | number | no |  |  |

### `constant_rate`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `constant_rate` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `static_level` | number | no |  |  |
| `static_level_precision` | number | no |  |  |
| `steps` | object[] | no |  |  |
| `steps[].rate` | number | yes |  |  |
| `steps[].rate_precision` | number | no |  |  |
| `steps[].duration` | number | no |  |  |
| `steps[].readings` | object[] | no |  |  |
| `steps[].readings[].elapsed` | number | yes |  |  |
| `steps[].readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `steps[].readings[].depth` | number | yes |  |  |
| `steps[].readings[].depth_precision` | number | no |  |  |
| `steps[].readings[].pressure` | number | no |  |  |
| `recovery` | object | no |  |  |
| `recovery.readings` | object[] | yes |  |  |
| `recovery.readings[].elapsed` | number | yes |  |  |
| `recovery.readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `recovery.readings[].depth` | number | yes |  |  |
| `recovery.readings[].depth_precision` | number | no |  |  |
| `recovery.readings[].pressure` | number | no |  |  |

### `step_drawdown`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `step_drawdown` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `static_level` | number | no |  |  |
| `static_level_precision` | number | no |  |  |
| `steps` | object[] | yes |  |  |
| `steps[].rate` | number | yes |  |  |
| `steps[].rate_precision` | number | no |  |  |
| `steps[].duration` | number | no |  |  |
| `steps[].readings` | object[] | no |  |  |
| `steps[].readings[].elapsed` | number | yes |  |  |
| `steps[].readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `steps[].readings[].depth` | number | yes |  |  |
| `steps[].readings[].depth_precision` | number | no |  |  |
| `steps[].readings[].pressure` | number | no |  |  |
| `recovery` | object | no |  |  |
| `recovery.readings` | object[] | yes |  |  |
| `recovery.readings[].elapsed` | number | yes |  |  |
| `recovery.readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `recovery.readings[].depth` | number | yes |  |  |
| `recovery.readings[].depth_precision` | number | no |  |  |
| `recovery.readings[].pressure` | number | no |  |  |

### `airlift`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `airlift` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `steps` | object[] | yes |  |  |
| `steps[].rate` | number | yes |  |  |
| `steps[].rate_precision` | number | no |  |  |
| `steps[].duration` | number | no |  |  |
| `steps[].readings` | object[] | no |  |  |
| `steps[].readings[].elapsed` | number | yes |  |  |
| `steps[].readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `steps[].readings[].depth` | number | yes |  |  |
| `steps[].readings[].depth_precision` | number | no |  |  |
| `steps[].readings[].pressure` | number | no |  |  |
| `recovery` | object | no |  |  |
| `recovery.readings` | object[] | yes |  |  |
| `recovery.readings[].elapsed` | number | yes |  |  |
| `recovery.readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `recovery.readings[].depth` | number | yes |  |  |
| `recovery.readings[].depth_precision` | number | no |  |  |
| `recovery.readings[].pressure` | number | no |  |  |

### `recovery_only`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `recovery_only` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `pumping_rate` | number | no |  |  |
| `pumping_duration` | number | no |  |  |
| `recovery` | object | yes |  |  |
| `recovery.readings` | object[] | yes |  |  |
| `recovery.readings[].elapsed` | number | yes |  |  |
| `recovery.readings[].datetime` | string | no | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `recovery.readings[].depth` | number | yes |  |  |
| `recovery.readings[].depth_precision` | number | no |  |  |
| `recovery.readings[].pressure` | number | no |  |  |

### `logger_series`

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes | = `logger_series` |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
| `measurement_method` | string | no |  |  |
| `sensor_depth` | number | no |  |  |
| `interval` | number | no | > 0 |  |
| `barometric_compensation` | string | no | `barologger`, `vented`, `none` |  |
| `aggregation` | string | no | `none`, `hourly`, `daily` |  |
| `readings` | object[] | yes | min items 1 |  |
| `readings[].datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `readings[].elapsed` | any | no |  |  |
| `readings[].depth` | number | yes |  |  |
| `readings[].depth_precision` | number | no |  |  |
| `readings[].pressure` | number | no |  |  |
| `readings[].depth_min` | number | no |  |  |
| `readings[].depth_max` | number | no |  |  |
| `steps` | any | no |  |  |
| `recovery` | any | no |  |  |

### Custom type (`x-` prefix)

| Field | Type | Required | Values / constraints | Description |
| --- | --- | --- | --- | --- |
| `id` | string | yes |  |  |
| `type` | string | yes |  |  |
| `datetime` | string | yes | pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z\|[+-]\d{2}:\d{2})$` |  |
| `sequence` | integer | no |  |  |
| `operator` | string | no |  |  |
| `equipment` | string | no |  |  |
| `notes` | string | no |  |  |
| `corrects` | string | no |  |  |
| `attachments` | [Attachment](/format/reference/objects/attachment)[] | no |  |  |
