Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1031 from slacgismo/develop
Browse files Browse the repository at this point in the history
Release beauharnois-29
  • Loading branch information
aivanova5 authored Jan 3, 2022
2 parents 90e21c4 + 376a0b2 commit 6403f3e
Show file tree
Hide file tree
Showing 222 changed files with 364,379 additions and 247 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,5 @@ gldcore/converters/autotest/table2glm_input.glm
gldcore/geodata/docs/geodata.conf
gldcore/gridlabd.in
geodata.conf
gldcore/autotest/output.csv
python_extras/example/output.csv
11 changes: 10 additions & 1 deletion docs/GLM/Directive/Clock.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ clock
timezone "<specification>";
starttime "<datetime>";
stoptime "<datetime>";
runtime "<deltatime>";
}
~~~

Expand All @@ -21,9 +22,17 @@ The `clock` directive specifies how the internal clock will operate while a simu

The `timezone` property sets the time zone for the simulation. The time zone may be specified either as a ISO timezone, e.g., `PST+8PDT`, or a locale, e.g., `US/CA/San Francisco`. If the time zone is not specified the simulation will use `UTC`.

## `runtime`

The `runtime` property sets the duration of the simulation run. This will always be relative to the `starttime` and set the `stoptime` accordingly. Valid units are `s`, `m`, `h`, `d`, and `w` for seconds, minutes, hours, days, and weeks, respectively.

Note that runtime units of months and years are not supported because they are not well-defined units.

## `starttime`

The `starttime` property specifies when the simulation start. If no time zone is specified, the current time zone is used if it has been specified. Otherwise `UTC` is assumed. If no start time is specified, the current wall clock time is used. Note, `ISO8601` is supported.
The `starttime` property specifies when the simulation start. If no time zone is specified, the current time zone is used if it has been specified. Otherwise `UTC` is assumed. If no start time is specified, the current wall clock time is used. Note, `ISO8601` is supported.

Note that the parameter `timestamp` is a synonym for `starttime`.

## `stoptime`

Expand Down
16 changes: 15 additions & 1 deletion docs/GLM/Directive/Filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,20 @@ filter <name>(<domain>[,<timestep>[,<timeskew>[,<option>=<value>]]]) = <polynomi

The filter directive defines a filter that can be used to connect a signal source property to a output signal property.

Filter may be used to output values to an object property of type `double`. Outputs are summed so that multiple filter may output to a single property, e.g.,

~~~
object example
{
output1 filter11(input1);
output1 filter21(input2);
output2 filter12(input1);
output2 filter22(input2);
}
~~~

Would represent a MIMO system with two inputs going to two outputs through 4 different filters with outputs summed.

## Name

Any unique alphabetic name may be used.
Expand Down Expand Up @@ -46,7 +60,7 @@ The numerator and denominator are specified as a polynomial of the form $a_n z^n
an z^n + ... + a1 z + a0
~~~

The order of the numerator must be strictly less than the order of the denominator.
The order of the numerator must be less than or equal to the order of the denominator.

# Example

Expand Down
57 changes: 56 additions & 1 deletion docs/Global/Output_message_context.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,62 @@ bash$ gridlabd --define output_message_context=ALL

# Description

Control context from which debug messages are allowed
Control context from which core debug messages are allowed. Valid message contexts are

- `AGGREGATE`: aggregation debug messages only
- `ALL`: all debug messages allowed
- `CLASS`: class debug messages only
- `CMDARG`: command line subsystem debug messages only
- `COMPARE`: compare debug messages only
- `CONVERT`: converter debug messages only
- `CREATE`: create debug messages only
- `DELTAMODE`: deltamode debug messages only
- `ENDUSE`: enduse debug messages only
- `ENVIRONMENT`: environment debug messages only
- `EXCEPTION`: exception handling debug messages only
- `EXEC`: exec debug messages only
- `FIND`: find subsystem debug messages only
- `GLOBALS`: globals debug messages only
- `GUI`: graphical user interface debug messages only
- `HTTP`: HTTP server debug messages only
- `HTTPCLIENT`: HTTP client debug messages only
- `INDEX`: index debug messages only
- `INSTANCE`: instance manager debug messages only
- `INTERPOLATE`: interpolation debug messages only
- `JOB`: job control debug messages only
- `KML`: KML interface debug messages only
- `LEGAL`: legal debug messages only
- `LINK`: link debug messages only
- `LIST`: list debug messages only
- `LOAD`: loader debug messages only
- `LOADSHAPE`: loadshape debug messages only
- `LOCALE`: locale debug messages only
- `LOCK`: memory locking debug messages only
- `MAIN`: main module debug messages only
- `MATCH`: match subsystem debug messages only
- `MATLAB`: Matlab interface debug messages only
- `MODULE`: module debug messages only
- `NONE`: no debug messages allowed
- `OBJECT`: object debug messages only
- `PROPERTY`: property debug messages only
- `PYTHON`: python module debug messages only
- `RANDOM`: random variable debug messages only
- `REALTIME`: realtime subsystem debug messages only
- `SANITIZE`: model sanitizer subsystem debug messages only
- `SAVE`: save debug messages only
- `SCHEDULE`: schedule debug messages only
- `SERVER`: server subsystem debug messages only
- `SETUP`: setup debug messages only
- `STREAM`: streaming data debug messages only
- `TEST`: testing subsystem debug messages only
- `THREADPOOL`: thread pool debug messages only
- `TIME`: time subsystem debug messages only
- `TRANSFORM`: transform subsystem debug messages only
- `UNIT`: unit manager subsystem debug messages only
- `VALIDATE`: validation subsystem debug messages only
- `VERSION`: version debug messages only
- `XCORE`: X11 core debug messages only
- `XML`: XML interface debug messages only

# Example

Expand Down
37 changes: 37 additions & 0 deletions docs/Subcommand/Matrix/Absolute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[[/Absolute]] -- Calculate the absolute value element-wise.

~~~
Syntax
------
matrix absolute <matrix> [where=<boollist>] [axes=<tuplelist>] [axis=<inttuple>] [keepdims=<boolstr>] [casting=<str>] [order=<str>] [dtype=<str>] [subok=<boolstr>]
Parameters
----------
x : array_like
Input array.
out : ndarray, None, or tuple of ndarray and None, optional
A location into which the result is stored. If provided, it must have
a shape that the inputs broadcast to. If not provided or None,
a freshly-allocated array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
where : array_like, optional
This condition is broadcast over the input. At locations where the
condition is True, the `out` array will be set to the ufunc result.
Elsewhere, the `out` array will retain its original value.
Note that if an uninitialized `out` array is created via the default
``out=None``, locations within it where the condition is False will
remain uninitialized.
**kwargs
For other keyword-only arguments, see the
:ref:`ufunc docs <ufuncs.kwargs>`.
Returns
-------
absolute : ndarray
An ndarray containing the absolute value of
each element in `x`. For complex input, ``a + ib``, the
absolute value is :math:`\sqrt{ a^2 + b^2 }`.
This is a scalar if `x` is a scalar.
~~~
41 changes: 41 additions & 0 deletions docs/Subcommand/Matrix/Add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
[[/Add]] -- Add arguments element-wise.

~~~
Syntax
------
matrix add <matrix> <matrix> [where=<boollist>] [axes=<tuplelist>] [axis=<inttuple>] [keepdims=<boolstr>] [casting=<str>] [order=<str>] [dtype=<str>] [subok=<boolstr>]
Parameters
----------
x1, x2 : array_like
The arrays to be added.
If ``x1.shape != x2.shape``, they must be broadcastable to a common
shape (which becomes the shape of the output).
out : ndarray, None, or tuple of ndarray and None, optional
A location into which the result is stored. If provided, it must have
a shape that the inputs broadcast to. If not provided or None,
a freshly-allocated array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
where : array_like, optional
This condition is broadcast over the input. At locations where the
condition is True, the `out` array will be set to the ufunc result.
Elsewhere, the `out` array will retain its original value.
Note that if an uninitialized `out` array is created via the default
``out=None``, locations within it where the condition is False will
remain uninitialized.
**kwargs
For other keyword-only arguments, see the
:ref:`ufunc docs <ufuncs.kwargs>`.
Returns
-------
add : ndarray or scalar
The sum of `x1` and `x2`, element-wise.
This is a scalar if both `x1` and `x2` are scalars.
Notes
-----
Equivalent to `x1` + `x2` in terms of array broadcasting.
~~~
45 changes: 45 additions & 0 deletions docs/Subcommand/Matrix/Angle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[[/Angle]]

~~~
Syntax
------
matrix angle <matrix> deg=<boolstr>
Return the angle of the complex argument.
Parameters
----------
z : array_like
A complex number or sequence of complex numbers.
deg : bool, optional
Return angle in degrees if True, radians if False (default).
Returns
-------
angle : ndarray or scalar
The counterclockwise angle from the positive real axis on the complex
plane in the range ``(-pi, pi]``, with dtype as numpy.float64.
.. versionchanged:: 1.16.0
This function works on subclasses of ndarray like `ma.array`.
See Also
--------
arctan2
absolute
Notes
-----
Although the angle of the complex number 0 is undefined, ``numpy.angle(0)``
returns the value 0.
Examples
--------
>>> np.angle([1.0, 1.0j, 1+1j]) # in radians
array([ 0. , 1.57079633, 0.78539816]) # may vary
>>> np.angle(1+1j, deg=True) # in degrees
45.0
~~~
72 changes: 72 additions & 0 deletions docs/Subcommand/Matrix/Arange.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
[[/Arange]]

~~~
Syntax
------
matrix arange <float> stop=<float> step=<float> [subok=<boolstr>]
arange([start,] stop[, step,], dtype=None, *, like=None)
Return evenly spaced values within a given interval.
Values are generated within the half-open interval ``[start, stop)``
(in other words, the interval including `start` but excluding `stop`).
For integer arguments the function is equivalent to the Python built-in
`range` function, but returns an ndarray rather than a list.
When using a non-integer step, such as 0.1, the results will often not
be consistent. It is better to use `numpy.linspace` for these cases.
Parameters
----------
start : integer or real, optional
Start of interval. The interval includes this value. The default
start value is 0.
stop : integer or real
End of interval. The interval does not include this value, except
in some cases where `step` is not an integer and floating point
round-off affects the length of `out`.
step : integer or real, optional
Spacing between values. For any output `out`, this is the distance
between two adjacent values, ``out[i+1] - out[i]``. The default
step size is 1. If `step` is specified as a position argument,
`start` must also be given.
dtype : dtype
The type of the output array. If `dtype` is not given, infer the data
type from the other input arguments.
like : array_like
Reference object to allow the creation of arrays which are not
NumPy arrays. If an array-like passed in as ``like`` supports
the ``__array_function__`` protocol, the result will be defined
by it. In this case, it ensures the creation of an array object
compatible with that passed in via this argument.
.. versionadded:: 1.20.0
Returns
-------
arange : ndarray
Array of evenly spaced values.
For floating point arguments, the length of the result is
``ceil((stop - start)/step)``. Because of floating point overflow,
this rule may result in the last element of `out` being greater
than `stop`.
See Also
--------
numpy.linspace : Evenly spaced numbers with careful handling of endpoints.
numpy.ogrid: Arrays of evenly spaced numbers in N-dimensions.
numpy.mgrid: Grid-shaped arrays of evenly spaced numbers in N-dimensions.
Examples
--------
>>> np.arange(3)
array([0, 1, 2])
>>> np.arange(3.0)
array([ 0., 1., 2.])
>>> np.arange(3,7)
array([3, 4, 5, 6])
>>> np.arange(3,7,2)
~~~
62 changes: 62 additions & 0 deletions docs/Subcommand/Matrix/Arccos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
[[/Arccos]] -- Trigonometric inverse cosine, element-wise.

~~~
Syntax
------
matrix arccos <matrix> [where=<boollist>] [axes=<tuplelist>] [axis=<inttuple>] [keepdims=<boolstr>] [casting=<str>] [order=<str>] [dtype=<str>] [subok=<boolstr>]
Parameters
----------
x : array_like
`x`-coordinate on the unit circle.
For real arguments, the domain is [-1, 1].
out : ndarray, None, or tuple of ndarray and None, optional
A location into which the result is stored. If provided, it must have
a shape that the inputs broadcast to. If not provided or None,
a freshly-allocated array is returned. A tuple (possible only as a
keyword argument) must have length equal to the number of outputs.
where : array_like, optional
This condition is broadcast over the input. At locations where the
condition is True, the `out` array will be set to the ufunc result.
Elsewhere, the `out` array will retain its original value.
Note that if an uninitialized `out` array is created via the default
``out=None``, locations within it where the condition is False will
remain uninitialized.
**kwargs
For other keyword-only arguments, see the
:ref:`ufunc docs <ufuncs.kwargs>`.
Returns
-------
angle : ndarray
The angle of the ray intersecting the unit circle at the given
`x`-coordinate in radians [0, pi].
This is a scalar if `x` is a scalar.
See Also
--------
cos, arctan, arcsin, emath.arccos
Notes
-----
`arccos` is a multivalued function: for each `x` there are infinitely
many numbers `z` such that ``cos(z) = x``. The convention is to return
the angle `z` whose real part lies in `[0, pi]`.
For real-valued input data types, `arccos` always returns real output.
For each value that cannot be expressed as a real number or infinity,
it yields ``nan`` and sets the `invalid` floating point error flag.
For complex-valued input, `arccos` is a complex analytic function that
has branch cuts ``[-inf, -1]`` and `[1, inf]` and is continuous from
above on the former and from below on the latter.
The inverse `cos` is also known as `acos` or cos^-1.
References
----------
M. Abramowitz and I.A. Stegun, "Handbook of Mathematical Functions",
10th printing, 1964, pp. 79. http://www.math.sfu.ca/~cbm/aands/
~~~
Loading

0 comments on commit 6403f3e

Please sign in to comment.