# Parameters

Like `InitialConditions`

, the `Parameters`

field of *scotch* model JSON files is a dictionary. Each key is the name of a parameter, as a string. Each value is a string expression for the value of that
parameter.

```
"Parameters" : {
"alpha" : "1/10",
"beta" : "1 + sin(2 * pi * time)"
}
```

Values are required to be strings because parameter values are parsed into expressions that can be evaluated as lambdas. This allows a number of functions to be used :

`sin`

,`sinh`

,`arcsin`

,`arcsinh`

`cos`

,`cosh`

,`arccos`

,`arccosh`

`tan`

,`tanh`

,`arctan`

,`arctanh`

`exp`

,`expm1`

( exp(x) - 1 )`log`

,`log10`

,`log2`

,`log1p`

( log(1+x) )`ceil`

,`floor`

,`abs`

`sinc`

`square`

,`sqrt`

`sign`

( returns +1 or -1 )`time`

A number of reserved keywords also allow access to constants and to the explicit value of time :

`pi`

`time`

( allows time-dependent parameter rates to be used )

As an example, `sin(2 * pi * sqrt(F) * time)`

is a legal part of a parameter value, if you have declared F as a state variable; this particular example allows parameters to vary sinusoidally in time.
The `time`

keyword is replaced by the numerical value of time during simulation. Parameters can therefore be state-dependent and time-dependent; they cannot, however, be written in terms of other parameters.

All numerical values are cast as floats, so expressions like `1/10`

will be evaluated as 0.1.

Allowed operators are :

`+`

`-`

`*`

`/`

`**`

`(`

,`)`

Currently, custom functions that cannot be written with this syntax will not evaluate.