ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/dctimestep.1
Revision: 1.21
Committed: Fri Mar 21 17:33:49 2025 UTC (2 months ago) by greg
Branch: MAIN
Changes since 1.20: +9 -3 lines
Log Message:
docs(dctimestep): Added some missing details

File Contents

# User Rev Content
1 greg 1.21 .\" RCSid $Id: dctimestep.1,v 1.20 2023/12/12 16:31:45 greg Exp $"
2 greg 1.1 .TH DCTIMESTEP 1 12/09/09 RADIANCE
3     .SH NAME
4 greg 1.4 dctimestep - compute annual simulation time-step(s) via matrix multiplication
5 greg 1.1 .SH SYNOPSIS
6     .B dctimestep
7 greg 1.4 [
8     .B "\-n nsteps"
9     ][
10 greg 1.10 .B "\-h"
11     ][
12 greg 1.4 .B "\-o ospec"
13 greg 1.5 ][
14 greg 1.17 .B "\-x xres"
15     ][
16     .B "\-y yres"
17     ][
18 greg 1.10 .B "\-i{f|d}
19 greg 1.8 ][
20 greg 1.16 .B "\-o{f|d|c}
21 greg 1.4 ]
22 greg 1.2 .B DCspec
23     [
24 greg 1.4 .B skyf
25 greg 1.2 ]
26     .br
27     .B dctimestep
28 greg 1.4 [
29     .B "\-n nsteps"
30     ][
31 greg 1.10 .B "\-h"
32     ][
33 greg 1.4 .B "\-o ospec"
34 greg 1.5 ][
35 greg 1.10 .B "\-i{f|d}
36 greg 1.8 ][
37     .B "\-o{f|d}
38 greg 1.4 ]
39 greg 1.1 .B Vspec
40 greg 1.12 .B Tbsdf
41 greg 1.1 .B Dmat.dat
42     [
43 greg 1.4 .B skyf
44 greg 1.1 ]
45     .SH DESCRIPTION
46     .I Dctimestep
47 greg 1.2 has two invocation forms.
48     In the first form,
49     .I dctimestep
50     is given a daylight coefficient specification and an optional sky
51 greg 1.4 vector or matrix, which may be read from the standard input if unspecified.
52     The daylight coefficients are multiplied against these sky values
53     and the results are written to the standard output.
54 greg 1.18 This may be a list of color values or a combined Radiance picture,
55 greg 1.2 as explained below.
56     .PP
57     In the second form,
58     .I dctimestep
59 greg 1.1 takes four input files, forming a matrix expression.
60 greg 1.18 The first argument is the View matrix that specifies how window output
61 greg 1.1 directions are related to some set of measured values, such as an array of
62 greg 1.18 illuminance points or pictures.
63 greg 1.1 This matrix is usually computed by
64 greg 1.12 .I rfluxmtx(1)
65     or
66 greg 1.3 .I rcontrib(1)
67 greg 1.1 for a particular set of windows or skylight openings.
68     The second argument is the window transmission matrix, or BSDF, given as
69 greg 1.12 a matrix or a standard XML description.
70 greg 1.1 The third argument is the Daylight matrix file that defines how sky patches
71     relate to input directions on the same opening.
72     This is usually computed using
73 greg 1.12 .I rfluxmtx
74     with separate runs for each window or skylight orientation.
75 greg 1.6 The last file is the sky contribution vector or matrix,
76     typically computed by
77     .I genskyvec(1)
78     or
79     .I gendaymtx(1),
80     and may be passed on the standard input.
81 greg 1.10 .PP
82     If the input sky data lacks a header, the
83     .I \-n
84     option may be used to indicate the number of time steps, which
85     will be 1 for a sky vector.
86 greg 1.13 The sky input file must otherwise contain the number of
87 greg 1.12 columns (time steps) specified in each sky patch row,
88     whether it is read from the standard input or from a file.
89 greg 1.10 Input starts from the first patch at the first time step, then the
90     first patch at the second time step, and so on.
91 greg 1.12 Note that all matrix elements are RGB triplets, so the actual size
92     of the sky vector or matrix is three times the number of steps times
93     the number of sky patches.
94 greg 1.5 The
95     .I \-if
96     or
97     .I \-id
98     option may be used to specify that sky data is in float or double
99 greg 1.6 format, respectively, which is more efficient for large matrices.
100 greg 1.14 These options are unnecessary when the sky input includes a header.
101 greg 1.1 .PP
102 greg 1.11 Any of the matrix or vector files may be read from a command
103     instead of a file by
104     using quotes and a beginning exclamation point ('!').
105     .PP
106 greg 1.9 The standard output of
107 greg 1.1 .I dctimestep
108 greg 1.8 is either a color vector with as many RGB triplets
109 greg 1.1 as there are rows in the View matrix, or a combined
110     .I Radiance
111     picture.
112 greg 1.2 Which output is produced depends on the first argument.
113 greg 1.1 A regular file name will be loaded and interpreted as a matrix to
114     generate a color results vector.
115     A file specification containing a '%d' format string will be
116     interpreted as a list of
117     .I Radiance
118     component pictures, which will be summed according to the computed
119     vector.
120 greg 1.4 .PP
121     The
122     .I \-o
123     option may be used to specify a file or a set of output files
124     to use rather than the standard output.
125     If the given specification contains a '%d' format string, this
126 greg 1.15 will be replaced by the time step index, starting from 0.
127 greg 1.4 In this way, multiple output pictures may be produced,
128 greg 1.6 or separate result vectors (one per time step).
129 greg 1.18 If input is a matrix rather than a set of pictures, the
130 greg 1.17 .I \-x
131     and/or
132     .I \-y
133 greg 1.18 options may be necessary to set the output picture size.
134 greg 1.17 If only one dimension is specified, the other is computed based
135     on the number of rows in the result vectors.
136 greg 1.8 .PP
137 greg 1.10 A header will normally be produced on the output, unless the
138     .I \-h
139     option is specified.
140 greg 1.21 Default output format is ASCII text.
141 greg 1.8 The
142 greg 1.16 .I \-of,
143     .I \-od,
144 greg 1.8 or
145 greg 1.16 .I \-oc
146     option may be used to specify IEEE float, double, or RGBE (picture) output
147 greg 1.8 data, respectively.
148 greg 1.21 The
149     .I \-oc
150     option is set automatically if input is a collection of RGBE or XYZE pictures.
151 greg 1.1 .SH EXAMPLES
152 greg 1.2 To compute workplane illuminances at 3:30pm on Feb 10th:
153     .IP "" .2i
154     gensky 2 10 15:30 | genskyvec | dctimestep workplaneDC.dmx > Ill_02-10-1530.dat
155     .PP
156 greg 1.18 To compute a picture at 10am on the equinox from a set of component pictures:
157 greg 1.2 .IP "" .2i
158 greg 1.6 gensky 3 21 10 | genskyvec | dctimestep dcomp%03d.hdr > view_03-21-10.hdr
159 greg 1.2 .PP
160 greg 1.1 To compute a set of illuminance contributions for Window 1 on
161     the Winter solstice at 2pm:
162     .IP "" .2i
163     gensky 12 21 14 | genskyvec | dctimestep IllPts.vmx Blinds20.xml Window1.dmx > Ill_12-21-14.dat
164     .PP
165     To compute Window2's contribution to an interior view at 12 noon on the Summer solstice:
166     .IP "" .2i
167 greg 1.6 gensky 6 21 12 | genskyvec | dctimestep view%03d.hdr Blinds30.xml
168     Window2.dmx > view_6-21-12.hdr
169     .PP
170     To generate an hourly matrix of sensor value contributions from Skylight3
171     using a 3-phase calculation, where output columns are time steps:
172     .IP "" .2i
173 greg 1.10 gendaymtx -of Tampa.wea | dctimestep WPpts.vmx
174 greg 1.6 shade3.xml Skylight3.dmx > wp_win3.dat
175     .PP
176     Generate a series of pictures corresponding to timesteps
177     in an annual simulation:
178     .IP "" .2i
179 greg 1.10 gendaymtx NYCity.wea | dctimestep -o tstep%04d.hdr dcomp%03d.hdr
180 greg 1.8 .PP
181 greg 1.12 To multiply an irradiance view matrix through a pair of XML window layers using
182     a given exterior daylight matrix and sky vector:
183     .IP "" .2i
184     dctimestep Illum.vmx "!rmtxop -ff Blinds1.xml Windo1.xml" Exter.dmx Jan20.sky
185     .PP
186 greg 1.10 To multiply two matrices into a IEEE-float result with header:
187 greg 1.8 .IP "" .2i
188 greg 1.10 dctimestep -of Inp1.fmx Inp2.fmx > Inp1xInp2.fmx
189 greg 1.18 .SH NOTES
190     .I Dctimestep
191     optimizes its matrix concatenation by checking for all-zero rows
192     or columns, thus avoiding unnecessary vector multiplications.
193     This can improve performance when a daylight matrix contains
194     zero-filled column vectors corresponding to hours of darkness.
195     .PP
196     It rarely makes sense to specify the
197     .I \-od
198     output option with
199     .I dctimestep,
200     since matrix operations are carried out using 32-bit "float" values.
201     This take less memory, but can also be less accurate than an
202     equivalent invocation of
203 greg 1.21 .I rmtxop(1)
204     or
205     .I rcomb(1),
206     which perform all operations on 64-bit "double" values.
207 greg 1.1 .SH AUTHOR
208     Greg Ward
209     .SH "SEE ALSO"
210 greg 1.12 gendaymtx(1), genskyvec(1), getinfo(1),
211 greg 1.20 mkillum(1), rcollate(1), rcomb(1), rcontrib(1), rcrop(1),
212     rfluxmtx(1), rmtxop(1), rtrace(1), vwrays(1)