Reference: Input Fields

Note: A formal definition of the input structure is provided as a json-schema definition, see the /v3/schema endpoint. Any structural discrepancies between the following table and the json-schema definition indicates an error in this table, the json-schema is definitive.

Required

Note: these first 4 top level fields must be specified in every query.


Input Field Value/s Description
batch_label

Required: Yes – API will return an error if no value is provided.

Default: None

Format: Any string, up to 255 characters.

Example: "batch_label": "group_1"

A label to identify batches of related queries in a single upload that should be collated for return.

This is relevant when files are uploaded using a web-browser. It allows you to submit a file with an array of queries but get an individual email of links for each group having a common batch_label.

person_ID

Required: Yes – API will return an error if no value is provided.

Default: None

Format: Any string, up to 255 characters.

Example: "person_ID": "Bobby42"

A label to identify the person (eg. in a roster) that a query relates to.
start_time

Required: Yes – API will return an error if no value is provided.

Default: None.

Format: - Sydney Models: YYYY-MM-DD'T'hh:mm:ss+hh:mm - Other Models: YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: - Sydney Models: "start_time": "2021-02-16T00:00:00+10:00" - Other Models: "start_time": "2021-02-16T08:00:00+10:00"

Start-time of the protocol

Model evaluation and returned results begin at this date-time.

Note: Default initial conditions are configured for the simulation of Sydney models to begin at 00:00:00, and for non-Sydney models to begin at 08:00:00. So, it is an error to specify start-times other than these without also specifying non-default initial conditions.

time_zone

Required: Yes – API will return an error if no value is provided.

Default: None.

Format: String, one of a fixed set

Example: "time_zone": "Australia/Brisbane"

Time-Zone of the Start-time of the protocol

IANA time-zones


Common

Note: none of the top level fields here are required, that is, if you do not need them simply do not include them, however, once you specify a top-level field with sub-fields (eg. forced_wake), then most of its sub-fields are required.


Input Field Value/s Description
evaluation_type

Required: No

Default: predictions

Format: String, one of a fixed set

  • Select From:
    • predictions
    • recommendations

Example: "evaluation_type": "predictions"

Defines how the model should be evaluated. Specifically, whether it should be run a single time to generate predictions, or multiple times to identify recommendations that optimise a desired sleep or alertness property. See optimisation_objective .
optimisation_objective

Required: No

Default: average-alertness

Format: String, one of a fixed set

  • Select From:
    • total-sleep-time
    • minimum-alertness
    • average-alertness

Example: "optimisation_objective": "total-sleep-time"

For evaluation_type: "recommendations", this field specifies the optimisation objective for the recommendation algorithm. Currently, three options are supported:

  • Maximise total-sleep-time;
  • Maximise the minimum-alertness during shift and commute; and
  • Maximise the average-alertness during shift and commute.
output_set

Required: No

Default: default; recommendations-default

Format: String, one of a fixed set

  • Select From:
    • default
    • default-raster
    • recommendations-default
    • recommendations-raster
    • sleep
    • sleep-raster
    • continuation
    • continuation-raster
    • alertnessCRC-new
    • scheduling-old
    • scheduling-new
    • custom

Example: "output_set": "sleep"

Defines output measures and format.

Note: See the listing of Predefined Output-Sets and the Output descriptions for more detail.

Note: The custom option does not actually correspond to a predefined output_set. It instead indicates that the output_config field will be provided to specify a custom configuration for the desired output. See the Custom output-config field.

forced_wake

Note: while forced_wake is not required, if provided then most sub-fields are required.

Required: No

Default: None

Format: An object containing 6 fields: label; start_time; end_time; lead_duration; lag_duration and time_zone. As described in the following rows

Periods of time with forced wakefulness. Can be periods of sleep deprivation in a clinical or experimental setting, or work shifts and social commitments in real world settings.

forced_wake

  • label

Required: Yes

Default: None

Format: Any string, up to 255 characters.

Examples: shift; day-shift; social; advanced-basket-weaving-class.

A string to identify a particular type of forced wake. Any value can be used, however, those with shift as a sub-part are used to identify time periods relevant to the calculation of some types of output.

forced_wake

  • start_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "start_time": ["2020-01-22T22:00:00+10:00"]

Start time/s of this type of forced-wake.

Note: must have a matching entry in the forced_wake end_time field.

forced_wake

  • end_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "end_time": ["2020-01-23T07:30:00+10:00"]

End time/s of this type of forced-wake.

Note: must have a matching entry in the forced_wake start_time field.

forced_wake

  • lead_duration

Required: Yes

Default: None

Format: A single number, hours.

Example: "lead_duration": 0.5

Duration (hours) required before forced-wake event, the time-interval implied by this duration is also treated as forced-wake, eg. Commute time to work.

forced_wake

  • lag_duration

Required: Yes

Default: None

Format: A single number, hours.

Example: "lag_duration": 0.5

Duration (hours) required after forced-wake event, the time-interval implied by this duration is also treated as forced-wake, eg. Commute time from work.

forced_wake

  • time_zone

Required: No

Default: Time-Zone Specified for initial time-zone.

Format: String, one of a fixed set

Example: "time_zone": "Australia/Brisbane"

Time-Zone of these forced-wakes

IANA time-zones

Note: if omitted the top level time-zone is assumed to apply to these date-times.

light

Note: while light is not required, if provided then most sub-fields are required.

Required: No

Default: None

Format: An object containing 5 fields: label; start_time; end_time; photopic_lux; and time_zone. As described in the following rows

Specific light information can be provided as coarsely as a single value for an entire simulation, by referenced time-intervals, such as an average value during shift, or as fine grained as minute-by-minute values (eg as recorded by a worn light meter). Any value provided here replaces the built-in diurnal light-profile at the specified time.

light

  • label

Required: Yes

Default: None

Format: Any string, up to 255 characters.

Examples: shift; day-shift; social; advanced-basket-weaving-class.

Identifies the light intervals. When explicit start_time and end_time are specified as empty arrays, [], this label is used to identify the intervals to which the specified photopic_lux applies, and so must match a forced_wake label.

light

  • start_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "start_time": ["2020-01-22T22:00:00+10:00"]

Start time/s of

Note: must have a matching entry in the light end_time field.

light

  • end_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "end_time": ["2020-01-23T07:30:00+10:00"]

End time/s of

Note: must have a matching entry in the light start_time field.

light

  • photopic_lux

Required: Yes

Default: [250]

Format: An array of numbers, either a single entry or [lux1, lux2,...,luxn], where n is the number of arrays in light_start and light_end. Values must be between 0 and 100000.

Example: "photopic_lux": [13, 1981.0121, 42.77]

White-light illuminance in lux.

light

  • time_zone

Required: No

Default: Time-Zone Specified for initial time-zone.

Format: String, one of a fixed set

Example: "time_zone": "Australia/Brisbane"

Time-Zone of these forced-wakes

IANA time-zones

Note: if omitted the top level time-zone is assumed to apply to these date-times.


Custom Output

The field described here is for requesting custom output, ie, when setting output_set: "custom".


Input Field Value/s Description

output_config

Note: output_config is required when output_set: "custom"

Required: No

Default: None

Format: An object containing 11 fields: data_format; figure_format; time_format; duration_format; time_series; instants; instant_samples; intervals; interval_samples; durations; and figures. As described in the following rows

Object for configuring customised output.

output_config

  • data_format

Required: No

Default: json

Format: String, one of a fixed set

  • Select From:
    • json
    • TODO(SAK): mat

Example: "data_format": "json"

File Format for Data Output

output_config

  • time_format

Required: No

Default: date-time

Format: String, one of a fixed set

  • Select From:
    • date-time
    • date-time-local
    • seconds
    • minutes
    • hours
    • day

Example: "time_format": "minutes"

Format used for date-time output.

The format is specified as one of six predefined types and governs the format the output is written. The date-time and date-time-local return date-time strings, the first in the time-zone of the initial start_time, while local sets time-zone based on the time-zone of the most recent preceding date-time input, eg forced-wake, light, etc. The duration types (seconds, minutes, etc) are durations in the specified units relative to the initial start_time.

output_config

  • duration_format

Required: No

Default: minutes

Format: String, one of a fixed set

  • Select From:
    • seconds
    • minutes
    • hours
    • days

Example: "duration_format": "hours"

Format (Units) Used for Duration Output

The format is specified as one of four predefined types and governs the units used when durations are output. The duration types (seconds, minutes, etc) are durations in the specified units relative to the initial start_time.

output_config

  • figure_format

Required: No

Default: png

Format: String, one of a fixed set

  • Select From:
    • png
    • jpg
    • tiff
    • eps
    • svg
    • fig

Example: "figure_format": "svg"

File Format for the Figure Output

The format is specified as one of the predefined types and governs the file format used when saving figures.

output_config

  • time_series

Required: No

Default: None

Format: Array of Objects, with fields:

  • Fields:
    • interval String, one of a fixed set
    • sampling_period Number [minutes]
    • measure String, one of a fixed set
    • statistic String, one of a fixed set

Example: "time_series": [{"interval": "simulation", "sampling_period": 30, "statistic": "value", "measure": "melatonin-urine"}]

An array time-series specification objects.

For each required time-series (periodically sampled measure), an object specifying the time-interval to sample from, the sampling_period, the name of the measure to be sampled, and the statistic used to accumulate values at the sampling_period.

For supported intervals, measures, and statistics, see examples elsewhere in this documentation and the json-schema definition.

output_config

  • instant_samples

Required: No

Default: None

Format: Array of Objects, with fields:

  • Fields:
    • interval String, one of a fixed set
    • instant String, one of a fixed set
    • measure String, one of a fixed set

Example: "instant_samples": [{"interval": "simulation", "instant": "sleep-start", "measure": "melatonin-urine"}]

Data Sampled at Specific Time-Instants.

For each required instant-sample (aperiodically sampled measure), an object specifying the time-interval to sample from, the name of the measure to be sampled, and the time-instants at which to sample.

output_config

  • interval_samples

Required: No

Default: None

Format: Array of Objects, with fields:

  • Fields:
    • interval String, one of a fixed set
    • measure String, one of a fixed set
    • statistic String, one of a fixed set

Example: "interval_samples": [{"interval": "forced-wake", "statistic": "max", "measure": "vPVTL"}]

Data Sampled within Time-Intervals.

Interval-samples are used to return a single value for each instance of the specified interval. For each required interval-sample, an object specifying the time-interval to sample from, the name of the measure to be sampled, and the statistic used to accumulate values over each instance of the requested interval.

output_config

  • instants

Required: No

Default: None

Format: Array of Objects, with fields:

  • Fields:
    • interval String, one of a fixed set
    • label String, one of a fixed set
  • For label, Select From:
    • midnight
    • forced-wake-start
    • forced-wake-start-shift
    • pre-forced-wake-start
    • pre-forced-wake-start-shift
    • forced-wake-end
    • forced-wake-end-shift
    • post-forced-wake-end
    • post-forced-wake-end-shift
    • sleep-start
    • sleep-end
    • wake-start
    • wake-end
    • alertness-level-green-start
    • alertness-level-green-end
    • alertness-level-yellow-start
    • alertness-level-yellow-end
    • alertness-level-red-start
    • alertness-level-red-end
    • core-body-temperature-minimum
    • core-body-temperature-local-minima
    • core-body-temperature-local-maxima
    • melatonin-synthesis-onset
    • melatonin-synthesis-cease
    • melatonin-dlmo-sthilaire
    • melatonin-dlmo-khalsa
    • melatonin-peak-dijk
    • melatonin-urine-peak
    • melatonin-urine-local-minima
    • melatonin-urine-local-maxima
    • melatonin-saliva-local-minima
    • melatonin-saliva-local-maxima
    • melatonin-saliva-dlmo
    • melatonin-plasma-local-minima
    • melatonin-plasma-local-maxima
    • melatonin-plasma-dlmo
    • melatonin-synthesis-active-start
    • melatonin-synthesis-active-end
    • melatonin-synthesis-inactive-start
    • melatonin-synthesis-inactive-end

Example: "instants": [{"interval": "wake", "label": "alertness-level-red-start"}]

Time-Instants

Note: any instants requested for instant-samples are included implicitly, so you only need to specify required timing output not already implicitly included.

output_config

  • intervals

Required: No

Default: None

Format: Array of Strings, from a fixed set

  • Select From:
    • simulation
    • forced-wake
    • forced-wake-shift
    • pre-post-forced-wake
    • pre-post-forced-wake-shift
    • pre-forced-wake
    • pre-forced-wake-shift
    • post-forced-wake
    • post-forced-wake-shift
    • sleep-opportunity
    • sleep
    • wake
    • alertness-level-green
    • alertness-level-yellow
    • alertness-level-red
    • melatonin-synthesis-active
    • melatonin-synthesis-inactive

Example: "intervals": ["sleep", "sleep-opportunity"]

An array interval specification strings.

Note: any intervals requested for time-series instant-samples or interval-samples are included implicitly, so there is no need to specify implicitly included intervals again here.

output_config

  • durations

Required: No

Default: None

Format: Array of Objects, with fields:

  • Fields:
    • interval String, one of a fixed set
    • state String, one of a fixed set

Example: "durations": [{"interval": "sleep"}, {"interval":"sleep-opportunity"}, {"interval": "wake", "state": "alertness-level-red"}]

For each required duration, an object specifying the time-interval for which the duration is wanted. Optionally, a state can be specified, with the duration for that state within the interval being returned.

output_config

  • figures

Required: No

Default:

Format: Array of Strings, from a fixed set

  • Select From:
    • raster-outputs
    • raster-inputs

Example: "figures": "raster-outputs"

Figures to Generate.

Advanced

The fields listed here are primarily of use for advanced use-cases such as individualising model predictions and recommendations.


Input Field Value/s Description
V_initial

Required: No

Default: Values corresponding to being rested and entrained to local light-dark cycle.

Format: Array of numbers, model dependent

  • phillips_2010, postnova_2016
    • [lVLPO(t0), lMA(t0), CIRC_X(t0), CIRC_XC(t0), CIRC_N(t0), lH(t0), WEFFORT(t0)]
  • sydney_crc_2017
    • [lVLPO(t0), lMA(t0), CIRC_X(t0), CIRC_XC(t0), CIRC_N(t0), lH(t0), P(t0), Pmin(t0), WEFFORT(t0)]
  • mccauley_2013
    • [p(t0), u(t0), kappa(t0)]
  • rajdev_2013
    • [S(t0), Debt(t0)]
  • ingre_2014
    • [S(t0), C(t0), U(t0), W(t0)]
  • phillips_2017
    • [A_tot(t0), R_tot(t0)]
  • johnson_2004
    • [P(t0), M(t0)]

Initial values for model variables.

This corresponds to the assumed state of the person at the beginning of a simulation.

For Sydney models the default initial values are for state at midnight (00:00:00). For other models it is state at 08:00:00.

duration_days

Required: No

Default: See descriptions.

Format: Single number, days. Maximum allowed via the API is 14.

Example: "duration_days": 5.5

Duration of simulation in days.

Used to extend the models evaluation beyond the time period of the provided context, eg., forced-wake times.

When evaluating a model for predictions, the duration defaults to the time between start_time and midnight at the end of the last day for which explicit times were provided. For recommendations the default end is the final explicitly provided time. If a provided duration_days is smaller than these respective values then it is ignored. But, if it is longer, the simulation will be run from start_time to start_time + duration_days.


Research

The fields listed here are primarily of use for research purposes, they generally should not be modified unless you know what you’re doing.


Input Field Value/s Description
model

Required: No

Default: sydney_crc_2017

Format: String, one of a fixed set

  • Select From:
    • postnova_2016
    • sydney_crc_2017
    • phillips_2010
    • mccauley_2013
    • rajdev_2013
    • phillips_2017
    • ingre_2014
    • johnson_2004

Example: model: "postnova_2016"

Specifies which model of sleep-wake and alertness should be evaluated.

See the Models section of the user guide for more detail.

If you are unsure, stick with the default. That is, do NOT specify a model.

sleep_opportunity

Note: while sleep_opportunity is not required, if provided then most sub-fields are required.

Required: (model dependent)

  • Sydney: No
  • other: Yes

Format: An object containing 3 fields: start_time; end_time; and time_zone.

As described in the following rows

Specify time-intervals of sleep-opportunity

Inverse of, and overrides, forced-wake.

For Sydney models, which predict sleep times, it is strongly preferred to specify context in terms of forced-wake only.

For models that do not predict sleep, this field is required for specifying sleep.

sleep_opportunity

  • start_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "start_time":["2020-01-22T22:00:00+10:00"]

Start time/s of sleep opportunities/episodes.

Note: Implies forced-wake at all other time.

Note: For non-Sydney models if no sleep times are specified the model is always awake.

Note: must have a matching entry in the sleep_opportunity end_time field.

sleep_opportunity

  • end_time

Required: Yes

Default: None

Format: Array of date-time strings, YYYY-MM-DD'T'hh:mm:ss+hh:mm

Example: "end_time":["2020-01-23T07:30:00+10:00"]

End time/s of

Note: Implies forced-wake at all other time.

Note: For non-Sydney models if no sleep times are specified the model is always awake.

Note: must have a matching entry in the sleep_opportunity start_time field.

sleep_opportunity

  • time_zone

Required: No

Default: Time-Zone Specified for initial time-zone.

Format: String, one of a fixed set

Example: time_zone: "Australia/Brisbane"

Time-Zone of these sleep-opportunity

IANA time-zones

Note: if omitted the top level time-zone is assumed to apply to these date-times.

simulation_sampling_period_minutes

Required: No

Default: 1 minute

Format: Single number, minimum 1, maximum 15.

Simulation sample period in minutes.
ambient_light

Required: No

Default: default

Format: String, one of a fixed set

  • Select From:
    • default
    • local

Example: ambient_light: "local"

Specifies the form of ambient/background lighting to use. The default option, which can be omitted as it is in effect by default, is the only option experimentally validated. It provides fixed day/night light levels between 08:00 and 20:00. The ‘local’ option sets a profile with sunrise and sunset times based on time-zone and date. Any lighting provided by the ‘light’ input field overrides this background profile.

Note: Only affects models that incorporate light into their predictions.


Only Sydney-Groups Models

The following input fields are only applicable to the Sydney models.

Note: The parameters listed below are just those that are considered to be somewhat safe to modify, however, all model parameters (more than just the few listed below) are accessible following a similar pattern.


Input Field Value/s Description
model_parameters

Required: No

Default: None

Format: model_parameters is itself a json object with sub-fields:

  • pars;
  • homeostatic;
  • time_constants;
  • circ; and
  • task_shift.

Used to override default values used for a model’s parameters.

Individual sub-fields are described in the following rows.

model_parameters

  • pars
    • A_v

Required: No

Default: {"Av":-10.3}

Format: pars is a json object, its sub-field A_v is a single number

Example: "pars":{"Av":-10.3}

Combined external influences on the VLPO, units: mV.

Main effect on sleep onset time, total sleep time, and phase angle.

model_parameters

  • homeostatic
    • nu_Hm

Required: No

Default: {"nu_Hm": 4.57}

Format: homeostatic is a json object, its sub-field nu_Hm is a single number

Example: "homeostatic":{"nu_Hm":4.57}

Connection strength from the MA to H, units: mV.

Main effect on sleep onset time and phase angle

model_parameters

  • time_constants
    • tau_H

Required: No

Default: {"tau_H": 212400}

Format: time_constants is a json object, its sub-field tau_H is a single number

Example: "time_constants":{"tau_H":212400.0}

Time constant of the homeostatic drive, units: seconds.

The default value corresponds to 59.0 hours.

Main effect on sleep onset time and phase angle

model_parameters

  • circ
    • tau_C

Required: No

Default: {"tau_C":87120.0}

Format: circ is a json object, its sub-field tau_C is a single number

Example: "circ":{"tau_C":87120.0}

Endogenous circadian period, units: seconds.

The default value corresponds to 24.2 hours

Main effect on circadian period, sleep onset time, and phase angle

model_parameters

  • task_shift
    • shift _ V_WE

This parameter is added as a trial only and does not exist in published models. Note: not validated against data.

Required: No

Default: {"shift": {"V_WE": 1.0}}

Format: task_shift is a json object, its sub-field shift is a json object, and shift’s sub-field V_WE is a single number.

Example: "task_shift":{"shift":{"V_WE": 1.0}}

Multiplicative scaling applied to the actual value of V_WE during shifts. Can be used to simulate effects of task during shift on alertness. Should only be used if the task is expected to affect sleep times post task as well as alertness during task.

Main effect on the homeostatic drive during shifts. This changes model dynamics, so sleep times after shifts will be affected as well.

The default of 1.0 corresponds to no scaling of V_WE during shift.

processing_parameters

Required: No

Default: None

Format: processing_parameters is a json object with sub-field task_shift.

Used to override default values used for post processing of a model’s output.

Individual sub-fields are described in the following rows.

processing_parameters

  • task_shift
    • vPVTL
      • theta_0

NOTE: trailing character is zero.

This parameter is added as a trial only and does not exist in published models. Note: not validated against data.

Required: No

Default: {"vPVTL":{"theta_0": 1.0}}

Format: task_shift is a json object, its sub-field vPVTL is a json object, and vPVTL’s sub-field theta_0 is a single number.

Example: "theta_0": 1.0 "task_shift":{"vPVTL":{"theta_0": 1.0}}

Multiplicative scaling applied to the bias term of the regression model used to calculate vPVTL from the homeostatic and circadian outputs during shifts.

The only effect is on vPVTL output during shifts. Decrease of theta_0 leads to an increase of vPVTL on shifts by a set constant value. It does not affect vPVTL outside of shifts. Recommended for simple simulations of effects of task on alertness.

processing_parameters

  • task_shift
    • vPVTL
      • theta_H

This parameter is added as a trial only and does not exist in published models. Note: not validated against data.

Required: No

Default: {"vPVTL":{"theta_H": 1.0}}

Format: task_shift is a json object, its sub-field vPVTL is a json object, and vPVTL’s sub-field theta_H is a single number.

Example: "theta_H": 1.0 "task_shift":{"vPVTL":{"theta_H": 1.0}}

Multiplicative scaling applied to the homeostatic term of vPVTL during shifts.

The only effect is on vPVTL output during shifts. Increase of theta_H leads to an increase of vPVTL on shifts with the effect proportional to H. It does not affect vPVTL outside of shifts. Recommended for simple simulations of effects of task on alertness, together with or instead of theta_0.

processing_parameters

  • task_shift
    • vPVTL
      • theta_C

This parameter is added as a trial only and does not exist in published models. Note: not validated against data.

Required: No

Default: {"vPVTL":{"theta_C": 1.0}}

Format: task_shift is a json object, its sub-field vPVTL is a json object, and vPVTL’s sub-field theta_C is a single number.

Example: "theta_C": 1.0 "task_shift":{"vPVTL":{"theta_C": 1.0}}

Multiplicative scaling applied to the circadian term of vPVTL during shifts.

The only effect is on vPVTL output during shifts. Increase of theta_C leads to a decrease of vPVTL on shifts with the effect proportional to C. It does not affect vPVTL outside of shifts.


Research Notes

Access to model parameters:

  • The models have been validated for group average predictions and for default parameter values only. Thus, at this stage use of the default model parameters is advised for real-world applications of the models. However, if users choose to change model parameters, it is up to them to ensure that the change is appropriate for the problem at hand.
  • Changes of model_parameters will affect sleep dynamics as described for each parameter. The changes will propagate to changes in all alertness measures because alertness depends on the homeostatic and circadian drives and both are affected by sleep times (effects on the circadian drive are indirect via changes in light profile due to sleep).
  • All other model parameters described in Postnova et al., 2018 can be made available through the API but are not recommended to be changed by users. The parameters listed in the table above are the ones that are best suited to simulate inter individual variability. For example, see Skeldon et al. 2015 for ideas of how effects of ageing on sleep can be simulated in models of this type

Effects of task during shifts:

  • Simulation of the effects of task on performance has not yet been validated against data. So, even though a prototype implementation is made available via the task_shift parameters, it is not yet advised for use in real world applications. The group processing_parameters should be used as a first choice to introduce effects of task on vPVTL during shifts. This will change the performance during shifts but won’t otherwise affect model dynamics. An alternative implementation of the effect of task on performance is via model_parameters.task_shift.shift.V_WE. This implementation should only be used when changes in sleep are expected due to different tasks. This may also have longer term effects of dynamics post-shifts.