README.md (3466B)
1 # High-Tune: Sky 2 3 This C library loads and manages the data describing a vertically 4 stratified atmosphere, neglecting Earth's sphericity. The physical 5 properties of 3D clouds are also supported. 6 7 ## Requirements 8 9 - C compiler with OpenMP support 10 - POSIX make 11 - pkg-config 12 - [High-Tune: Cloud Properties](https://gitlab.com/meso-star/htcp) 13 - [High-Tune: Gas Optical Properties](https://gitlab.com/meso-star/htgop) 14 - [High-Tune: Mie](https://gitlab.com/meso-star/htmie) 15 - [RSys](https://gitlab.com/vaplv/rsys) 16 - [Star VoXel](https://gitlab.com/meso-star/star-vx) 17 18 ## Installation 19 20 Edit config.mk as needed, then run: 21 22 make clean install 23 24 ## Release notes 25 26 ### Version 0.3.1 27 28 - Fix invalid memory read for clouds with irregular Z dimensions. This 29 bug was triggered by clouds that were taller than they were wide, i.e. 30 with the largest Z dimension. It caused a crash when accessing an 31 out-of-bounds cell in the data structure used to speed up cloud 32 indexing. In other situations, i.e. when clouds were wider than they 33 were high, it had no impact on calculations. 34 35 ### Version 0.3 36 37 - Replace CMake by Makefile as build system. 38 - Update compiler and linker flags to increase the security and 39 robustness of generated binaries. 40 - Provide a pkg-config file to link the library as an external 41 dependency. 42 43 ### Version 0.2.2 44 45 - Correction of compilation errors due to API breaks in Star-VoXel 0.2. 46 - Correction of invalid memory writes. 47 48 ### Version 0.2.1 49 50 - Fix the acceleration data structures: the Kmin and Kmax stored in the 51 hierarchical trees could be wrong for cloud fields with data 52 irregularly structured along the Z axis. 53 54 ### Version 0.2 55 56 - Make uniform the sky setup in shortwave and in longwave. On sky 57 creation, the caller now defines the type of the spectral data to 58 handle (i.e. shortwave or longwave) and their wavelength range. The 59 `double wlen_lw_range[2]` member variable of the `struct htsky_args` 60 data structure is thus renamed in `double wlen_range[2]` and is used 61 in both cases. Finally the new member variable `enum 62 htsky_spectral_type spectral_type` defines the type of this spectral 63 range. 64 - Add the `htsky_get_raw_spectral_bounds` function that returns the 65 spectral range of the loaded sky data overlapped by the user define 66 wavelength range. 67 68 ### Version 0.1 69 70 - Add longwave support. Add the `double wlen_lw_range[2]` member 71 variable to the `struct htsky_args` data structure that, once 72 correctly defined, is used to setup the sky data for the provided long 73 wave range. By default this range is degenerated meaning that the sky 74 is setup for the short wave range [380, 780] nm. 75 - Add the `htsky_find_spectral_band` function: it returns the spectral 76 band that includes the submitted wavelength. 77 - Remove the `htsky_sample_sw_spectral_data_CIE_1931_<X|Y|Z>` functions 78 that explicitly rely on the CIE XYZ color space. 79 - Add the 80 `htsky_fetch_per_wavelength_particle_phase_function_asymmetry_parameter` 81 that returns the Henyey-Greenstein phase function parameter for a 82 given wavelength. 83 84 ## License 85 86 Copyright (C) 2018, 2019, 2020, 2021 |Méso|Star> (contact@meso-star.com) 87 Copyright (C) 2018, 2019 Centre National de la Recherche Scientifique (CNRS) 88 Copyright (C) 2018, 2019 Université Paul Sabatier 89 90 HTSky is free software released under the GPL v3+ license: GNU GPL 91 version 3 or later. You are welcome to redistribute it under certain 92 conditions; refer to the COPYING file for details. 93