solstice-pp

Post-processing utilities for the solstice app
git clone git://git.meso-star.com/solstice-pp.git
Log | Files | Refs | README | LICENSE

commit 57b1ae59ad893b8b9561c62265f68c18ff728f7c
parent 691e5bd1efaa745b35b5c5fcd9836faf54dd3e14
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 26 Jun 2026 14:58:38 +0200

Add man pages.

Diffstat:
MMakefile | 28++++++++++++++++++++++++----
Adoc/solmaps.1 | 111+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adoc/solpaths.1 | 103+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adoc/solpp.1 | 142+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adoc/solppraw.1 | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 476 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile @@ -23,14 +23,34 @@ PROG =\ solppraw \ solpaths +MAN = \ + doc/solmaps.1 \ + doc/solpp.1 \ + doc/solpaths.1 \ + doc/solppraw.1 + PROJECTS = themis cyl default: $(PROG) -install: $(PROG) - mkdir -p $(DESTDIR)$(PREFIX)/bin - cp $(PROG) $(DESTDIR)$(PREFIX)/bin - for i in $(PROG); do chmod 755 "$(DESTDIR)$(PREFIX)/bin/$${i}"; done +install: $(PROG) $(MAN) + install() { mode="$$1"; prefix="$$2"; shift 2; \ + mkdir -p "$${prefix}"; \ + cp "$$@" "$${prefix}"; \ + chmod "$${mode}" "$${prefix}/$${@##*/}"; \ + }; \ + install 644 "$(DESTDIR)$(PREFIX)/share/doc/solstice-pp" COPYING; \ + install 644 "$(DESTDIR)$(PREFIX)/share/doc/solstice-pp" README.md; \ + for i in $(PROG); \ + do install 755 "$(DESTDIR)$(PREFIX)/bin" $${i}; done; \ + for i in $(MAN); \ + do install 644 "$(DESTDIR)$(PREFIX)/share/man/man1" $${i}; done; + +uninstall: + rm -f "$(DESTDIR)$(PREFIX)/share/doc/solstice-pp/COPYING" + rm -f "$(DESTDIR)$(PREFIX)/share/doc/solstice-pp/README.md" + for i in $(PROG); do rm -f "$(DESTDIR)$(PREFIX)/bin/$${i}"; done + for i in $(MAN); do rm -f "$(DESTDIR)$(PREFIX)/share/man/man1/$${i##*/}"; done .PHONY: clean clean: diff --git a/doc/solmaps.1 b/doc/solmaps.1 @@ -0,0 +1,111 @@ +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" Copyright (C) 2018-2026 |Méso|Star> (contact@meso-star.com) +.\" +.\" This is free documentation: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see <http://www.gnu.org/licenses/>. +.Dd $Mdocdate$ +.Dt SOLMAPS 1 +.Os +.Sh NAME +.Nm solmaps +.Nd extract and save receiver flux maps from Solstice results +.Sh SYNOPSIS +.Nm +.Op Ar file +.Sh DESCRIPTION +.Nm +reads the results of a +.Xr solstice 1 +simulation from +.Ar file +or from standard input whether a filename is provided as an argument or not, +respectively. +It extracts the maps of incoming flux computed by +.Xr solstice 1 +for the receivers whose +.Cm per_primitive +flag is enabled. +Refer to +.Xr solstice-receiver 5 +for more information. +Each map is then saved in a separate +.Tn VTK +file that can be visualised and analysed in a data +visualisation tool such as +.Lk https://www.paraview.org ParaView . +.Pp +The naming scheme for the output files depends on the way the sun direction was +provided to +.Xr solstice 1 : +.Bl -dash +.It +using the +.Fl D Ar azimuth,elevation +flag: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s.vtk" azimuth elevation receiver_name +.Ed +.It +using the +.Fl L Ar latitude,longitude +and +.Fl T Ar time +flags: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s-%s.vtk" latitude longitude time receiver_name +.Ed +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Pipe +.Xr solstice 1 +with +.Nm +to extract the flux maps of the receivers for each provided sun direction: +.Bd -literal -offset indent +solstice -D45,70 -D50,75 -R rcvs.yaml input.yaml | solmaps +.Ed +.Pp +First, invoke +.Xr solstice 1 +to write the results to +.Pa output , +then run +.Nm +on this file to extract the flux maps of the receivers for the provided sun +direction: +.Bd -literal -offset indent +solstice -L3,40 -T"2026-08-15T17:20:00" -R rcvs.yaml -o output input.yaml +solmaps output +.Ed +.Sh SEE ALSO +.Xr solpaths 1 , +.Xr solpp 1 , +.Xr solppraw 1 , +.Xr solstice 1 , +.Xr solstice-output 5 , +.Xr solstice-receiver 5 +.Sh HISTORY +.Nm +was initially developed with funding from the +.Em SOLSTICE LabEx +.Pq Laboratory of Excellence , +in collaboration with the PROMES Laboratory of the +French National Centre for Scientific Research +.Pq CNRS . +Starting in 2026, a new development effort funded by Ademe is ongoing. +.Sh AUTHORS +.Nm +was written and is maintained by +.An |M\['e]so|Star> Aq Mt contact@meso-star.com . diff --git a/doc/solpaths.1 b/doc/solpaths.1 @@ -0,0 +1,103 @@ +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" Copyright (C) 2018-2026 |Méso|Star> (contact@meso-star.com) +.\" +.\" This is free documentation: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see <http://www.gnu.org/licenses/>. +.Dd $Mdocdate$ +.Dt SOLPATHS 1 +.Os +.Sh NAME +.Nm solpaths +.Nd convert Solstice radiative paths to VTK files +.Sh SYNOPSIS +.Nm +.Op Ar file +.Sh DESCRIPTION +.Nm +reads the radiative paths dumped by +.Xr solstice 1 +when invoked with the +.Fl p +option, from +.Ar file +or from standard input whether a filename is provided as an argument or not, +respectively. +For each simulated sun direction, it generates a +.Tn VTK +file of the radiative paths, that can be visualised and analysed in a data +visualisation tool such as +.Lk https://www.paraview.org ParaView . +.Pp +The naming scheme for the output files depends on the way the sun direction was +provided to +.Xr solstice 1 : +.Bl -dash +.It +using the +.Fl D Ar azimuth,elevation +flag: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-paths.vtk" azimuth elevation +.Ed +.It +using the +.Fl L Ar latitude,longitude +and +.Fl T Ar time +flags: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s-paths.vtk" latitude longitude time +.Ed +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Pipe +.Xr solstice 1 +with +.Nm +to extract the radiative paths for each provided sun direction: +.Bd -literal -offset indent +solstice -n100 -D45,70 -D50,75 -R rcvs.yaml -p default input.yaml | solpaths +.Ed +.Pp +First, invoke +.Xr solstice 1 +to write the results to +.Pa output , +then run +.Nm +on this file to extract the radiative paths for the provided sun direction: +.Bd -literal -offset indent +solstice -L3,40 -T"2026-08-15T17:20:00" -R rcvs.yaml -p default -o output input.yaml +solpaths output +.Ed +.Sh SEE ALSO +.Xr solmaps 1 , +.Xr solpp 1 , +.Xr solppraw 1 , +.Xr solstice 1 , +.Xr solstice-output 5 +.Sh HISTORY +.Nm +was initially developed with funding from the +.Em SOLSTICE LabEx +.Pq Laboratory of Excellence , +in collaboration with the PROMES Laboratory of the +French National Centre for Scientific Research +.Pq CNRS . +Starting in 2026, a new development effort funded by Ademe is ongoing. +.Sh AUTHORS +.Nm +was written and is maintained by +.An |M\['e]so|Star> Aq Mt contact@meso-star.com . diff --git a/doc/solpp.1 b/doc/solpp.1 @@ -0,0 +1,142 @@ +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" Copyright (C) 2018-2026 |Méso|Star> (contact@meso-star.com) +.\" +.\" This is free documentation: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see <http://www.gnu.org/licenses/>. +.Dd $Mdocdate$ +.Dt SOLPP 1 +.Os +.Sh NAME +.Nm solpp +.Nd post-process Solstice simulation results into VTK and OBJ files +.Sh SYNOPSIS +.Nm +.Ar geom +.Ar simul +.Sh DESCRIPTION +.Nm +takes two input files: +.Ar geom , +the geometry of a solar plant exported by +.Xr solstice 1 +when invoked with the +.Fl g +option, and +.Ar simul , +the results of a +.Xr solstice 1 +simulation. +For each simulated sun direction, +.Nm +writes up to three output files. +.Pp +The first output file is a +.Tn VTK +file that maps the simulation results to the meshes of the primary +geometries, i.e.\& the reflectors. +The mapped results include, for instance, the cosine factor of each +reflector or the amount of flux that reaches a receiver from them. +.Pp +The second output file is another +.Tn VTK +file that stores the geometry of the receivers together with their +simulation results, such as their incoming flux or their efficiency. +.Pp +The optional third output file is an +.Tn OBJ +file that stores the meshes of the miscellaneous geometries, i.e.\& the +geometries that are neither receivers nor primary geometries (if any). +.Pp +The resulting files can be visualised and analysed in a data +visualisation tool such as +.Lk https://www.paraview.org ParaView . +.Pp +Where +.Va end +stands for +.Pa primaries.vtk , +.Pa receivers.vtk , +or +.Pa miscellaneous.obj +for the 1st, 2nd, and optional 3rd output file respectively, the naming scheme +for the output files depends on the way the sun direction was provided to +.Xr solstice 1 : +.Bl -dash +.It +using the +.Fl D Ar azimuth,elevation +flag: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s" azimuth elevation end +.Ed +.It +using the +.Fl L Ar latitude,longitude +and +.Fl T Ar time +flags: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s-%s" latitude longitude time end +.Ed +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Invoke +.Xr solstice 1 +to simulate two sun directions on the solar plant described in +.Pa input.yaml . +Then invoke it again to export the geometry of the solar plant for the same sun +directions. +Finally, post-process both outputs with +.Nm : +.Bd -literal -offset indent +solstice -D45,70 -D50,75 -R rcvs.yaml -o simul input.yaml +solstice -D45,70 -D50,75 -g format=obj -o geom input.yaml +solpp geom simul +.Ed +.Pp +Invoke +.Xr solstice 1 +to simulate a sun direction defined by a location and a time on the solar plant +described in +.Pa input.yaml . +Then invoke it again to export the geometry of the solar plant for the same sun +direction. +Finally, post-process both outputs with +.Nm : +.Bd -literal -offset indent +solstice -L3,40 -T"2026-08-15T17:20:00" -R rcvs.yaml -o simul input.yaml +solstice -L3,40 -T"2026-08-15T17:20:00" -g format=obj -o geom input.yaml +solpp geom simul +.Ed +.Sh SEE ALSO +.Xr solmaps 1 , +.Xr solpaths 1 , +.Xr solppraw 1 , +.Xr solstice 1 , +.Xr solstice-output 5 , +.Xr solstice-receiver 5 +.Sh HISTORY +.Nm +was initially developed with funding from the +.Em SOLSTICE LabEx +.Pq Laboratory of Excellence , +in collaboration with the PROMES Laboratory of the +French National Centre for Scientific Research +.Pq CNRS . +Starting in 2026, a new development effort funded by Ademe is ongoing. +.Sh AUTHORS +.Nm +was written and is maintained by +.An |M\['e]so|Star> Aq Mt contact@meso-star.com . diff --git a/doc/solppraw.1 b/doc/solppraw.1 @@ -0,0 +1,96 @@ +.\" SPDX-License-Identifier: GPL-3.0-or-later +.\" Copyright (C) 2018-2026 |Méso|Star> (contact@meso-star.com) +.\" +.\" This is free documentation: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see <http://www.gnu.org/licenses/>. +.Dd $Mdocdate$ +.Dt SOLPPRAW 1 +.Os +.Sh NAME +.Nm solppraw +.Nd format raw Solstice results into human readable text +.Sh SYNOPSIS +.Nm +.Op Ar file +.Sh DESCRIPTION +.Nm +reads the +.Xr solstice 1 +outputs from +.Ar file +or from standard input whether a filename is provided as an argument or not, +respectively. +For each simulated sun direction, it formats the raw results into a human +readable text file, simplifying the analysis of the results. +.Pp +The naming scheme for the output files depends on the way the sun direction was +provided to +.Xr solstice 1 : +.Bl -dash +.It +using the +.Fl D Ar azimuth,elevation +flag: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-raw-results.txt" azimuth elevation +.Ed +.It +using the +.Fl L Ar latitude,longitude +and +.Fl T Ar time +flags: the output file is named after the following pattern: +.Bd -literal -offset indent +printf "%g-%g-%s-results.txt" latitude longitude time +.Ed +.El +.Sh EXIT STATUS +.Ex -std +.Sh EXAMPLES +Invoke +.Xr solstice 1 +to simulate two sun directions and pipe the results directly to +.Nm , +without any intermediary file: +.Bd -literal -offset indent +solstice -D45,70 -D50,75 -R rcvs.yaml input.yaml | solppraw +.Ed +.Pp +Alternatively, invoke +.Xr solstice 1 +to simulate a sun direction and write the results to the +.Pa output +file, then post-process it with solppraw: +.Bd -literal -offset indent +solstice -L3,40 -T"2026-08-15T17:20:00" -R rcvs.yaml -o output input.yaml +solppraw output +.Ed +.Sh SEE ALSO +.Xr solmaps 1 , +.Xr solpaths 1 , +.Xr solpp 1 , +.Xr solstice 1 , +.Xr solstice-output 5 +.Sh HISTORY +.Nm +was initially developed with funding from the +.Em SOLSTICE LabEx +.Pq Laboratory of Excellence , +in collaboration with the PROMES Laboratory of the +French National Centre for Scientific Research +.Pq CNRS . +Starting in 2026, a new development effort funded by Ademe is ongoing. +.Sh AUTHORS +.Nm +was written and is maintained by +.An |M\['e]so|Star> Aq Mt contact@meso-star.com .