sln-build.1 (7085B)
1 .\" Copyright (C) 2022, 2026 |Méso|Star> (contact@meso-star.com) 2 .\" Copyright (C) 2026 Université de Lorraine 3 .\" Copyright (C) 2022 Centre National de la Recherche Scientifique 4 .\" Copyright (C) 2022 Université Paul Sabatier 5 .\" 6 .\" This program is free software: you can redistribute it and/or modify 7 .\" it under the terms of the GNU General Public License as published by 8 .\" the Free Software Foundation, either version 3 of the License, or 9 .\" (at your option) any later version. 10 .\" 11 .\" This program is distributed in the hope that it will be useful, 12 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of 13 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 .\" GNU General Public License for more details. 15 .\" 16 .\" You should have received a copy of the GNU General Public License 17 .\" along with this program. If not, see <http://www.gnu.org/licenses/>. 18 .Dd April 30, 2026 19 .Dt SLN-BUILD 1 20 .Os 21 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 22 .Sh NAME 23 .Nm sln-build 24 .Nd build an acceleration structure for line importance sampling 25 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 26 .Sh SYNOPSIS 27 .Nm 28 .Op Fl chsv 29 .Op Fl a Ar arity 30 .Op Fl e Ar polyline_opt Ns Op : Ns Ar polyline_opt No ... 31 .Op Fl L Ar leaf_nlines 32 .Op Fl l Ar line_profile 33 .Op Fl o Ar accel_struct 34 .Op Fl t Ar thread_count 35 .Fl m Ar molparams 36 .Fl P Ar pressure 37 .Fl T Ar temperature 38 .Fl x Ar mixture 39 .Op Ar lines 40 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 41 .Sh DESCRIPTION 42 .Nm 43 constructs a data structure designed to accelerate the sampling by 44 importance of the spectral lines defined for a gas mixture under given 45 thermodynamic conditions, from a spectroscopic parameters database. 46 The generated structure is a binary tree that stores a polyline of 47 spectral data at each node that it encompasses. 48 .Pp 49 The input spectroscopic data, i.e., the line list and isotopological 50 metadata, are formatted in HITRAN file formats. 51 If not provided, the list of lines is read from standard input. 52 .Pp 53 The options are as follows: 54 .Bl -tag -width Ds 55 .\"""""""""""""""""""""""""""""""""" 56 .It Fl a Ar arity 57 Maximum number of children of an internal node in the constructed tree 58 that partitions the input lines. 59 It cannot be less than 2, which is its default value. 60 .\"""""""""""""""""""""""""""""""""" 61 .It Fl c 62 For each internal node, construct its polyline by merging the polylines 63 of its children in pairs and then simplifying the result of this merge. 64 The process is repeated on the resulting polylines until only a single 65 polyline remains, which becomes the polyline of the internal node. 66 In other words, these polylines are constructed by successively 67 collapsing the polylines of the child nodes. 68 .Pp 69 By default, the polylines of the internal nodes are constructed in a 70 single step of merging and simplification that takes into account all 71 child polylines at once. 72 .\"""""""""""""""""""""""""""""""""" 73 .It Fl e Ar polyline_opt Ns Op : Ns Ar polyline_opt No ... 74 Configure the polylines, i.e., the data used to encode the shape of the 75 spectrum in the acceleration structure. 76 .Pp 77 The polyline options are as follows: 78 .Bl -tag -width Ds 79 .It Cm err= Ns Ar decimation_error 80 Relative error used to simplifly polylines. 81 The larger it is, the coarser the polylines obtained, and therefore the 82 less memory it uses. 83 The default value is 0.01. 84 .It Cm mesh= Ns Ar mesh_type 85 Define how the polylines are meshed. 86 .Pp 87 The supported 88 .Ar mesh_type 89 values are as follows: 90 .Bl -tag -width Ds 91 .It Cm fit 92 The polylines fit the spectrum data. 93 .It Cm upper 94 The polylines define an upper limit for the spectrum they encode. 95 This is the default behavior. 96 .El 97 .It Cm vcount= Ns Ar vertex_count_hint 98 Recommendation for the number of vertices around the center of the line. 99 The fewer vertices there are, the coarser the polyline of a line and the 100 smaller the memory usage. 101 The default value is 16. 102 .El 103 .\"""""""""""""""""""""""""""""""""" 104 .It Fl h 105 Display short help and exit. 106 .\"""""""""""""""""""""""""""""""""" 107 .It Fl L Ar leaf_nlines 108 Maximum number of lines per tree leaf. 109 The default value is 1. 110 .\"""""""""""""""""""""""""""""""""" 111 .It Fl l Ar line_profile 112 Defines the line profile. 113 Currently, 114 .Cm voigt 115 is the only supported profile and therefore the default value. 116 .\"""""""""""""""""""""""""""""""""" 117 .It Fl m Ar molparams 118 Isotopologue metadata in HITRAN format. 119 .\"""""""""""""""""""""""""""""""""" 120 .It Fl o Ar accel_struct 121 Output file. 122 If not defined, the acceleration structure is written to standard output. 123 .\"""""""""""""""""""""""""""""""""" 124 .It Fl P Ar pressure 125 Pressure of the gaz mixture, in atmospheres 126 .Pq 1 atm = 1.01315 bar . 127 .\"""""""""""""""""""""""""""""""""" 128 .It Fl s 129 Specifies that input lines are formatted according to the binary format 130 as written by the 131 .Xr shtr 1 132 utility, and not according to the HITRAN format. 133 This format is more compact, allowing for faster loading of line data. 134 .\"""""""""""""""""""""""""""""""""" 135 .It Fl T Ar temperature 136 Temperature of the gaz mixture, in Kelvin. 137 .\"""""""""""""""""""""""""""""""""" 138 .It Fl t Ar thread_count 139 Advice on the number of threads to use. 140 By default, 141 .Nm 142 uses as many threads as processor cores. 143 .\"""""""""""""""""""""""""""""""""" 144 .It Fl v 145 Make 146 .Nm 147 verbose. 148 Multiple 149 .Fl v 150 options increase the verbosity. 151 The maximum is 3. 152 .\"""""""""""""""""""""""""""""""""" 153 .It Fl x Ar mixture 154 Composition of the gaz mixture in 155 .Xr sln-mixture 5 156 format. 157 If a molecule is absent from this file, its concentration in the mixture 158 is assumed to be zero. 159 .El 160 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 161 .Sh EXIT STATUS 162 .Ex -std 163 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 164 .Sh EXAMPLES 165 Build a structure that accelerates importance sampling of the lines in 166 the H2O spectrum, between 0 and 50 cm^-1, at a pressure of 1 atm and a 167 temperature of 292 K. 168 Use the default options to mesh the spectrum, so that the resulting 169 structure represents an upper bound on the spectral data: 170 .Bd -literal -offset Ds 171 sln-build -P 1 -T 292 -o H2O_0-50_HITEMP2010_tree.bin \e 172 -m /path/to/hitran/molparams.txt -x mixture.txt \e 173 /path/to/hitran//H2O/01_0-50_HITEMP2010.par 174 .Ed 175 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 176 .Sh SEE ALSO 177 .Xr shtr 1 , 178 .Xr sln-mixture 5 179 .Rs 180 .%A Yaniss Nyffenegger-Péré et al. 181 .%T Spectrally refined unbiased monte carlo estimate of the earth's \ 182 global radiative cooling 183 .%J Proceedings of the National Academy of Sciences 184 .%P e2315492121 185 .%V 121 186 .%N 5 187 .%D 2024 188 .Re 189 .Rs 190 .%T The HITRAN Database 191 .%U https://hitran.org/ 192 .Re 193 .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 194 .Sh STANDARDS 195 .Rs 196 .%A L.S. Rothman et al. 197 .%T The HITRAN2012 molecular spectroscopic database 198 .%J Journal of Quantitative Spectroscopy & Radiative Transfer 199 .%V 130 200 .%P pp. 4\(en50 201 .%D 2013 202 .Re 203 .Pp 204 .Rs 205 .%A L.S. Rothman et al. 206 .%T HITEMP, the high-temperature molecular spectroscopic database 207 .%J Journal of Quantitative Spectroscopu & Radiative Transfer 208 .%V 111 209 .%P pp. 2139\(en2150 210 .%D 2010 211 .Re