# INSEL 8.3 release notes ## Planned Timeline * Alpha release, 19th July 2021 * Beta release, September 2021 * Official release, October 2021 ## What's new? * First release since 2014. * First release without Jürgen :-( * First release for macOs. * Relatively easy to compile and package for Windows/Linux/macOs. When bugs are found and fixed, it shouldn't take too long to get a new installer. * Split in two : INSEL Core & INSEL GUI. * Cooperation between Concordia & HfT Stuttgart (Guillermo, Kai & Eric). * Updated examples. * Automated tests with Python. * Many bugfixes. * Probably many new bugs. :D ### Blocks * Every block accepting coordinates (e.g. MTMLALO, GENGT, ...) is deprecated and has a new version (MTMLALO2, GENGT2, ...) using east-positive longitude and timezones. Stuttgart (48.77°N, 9.18°E, UTC+1) is now described with (48.77, 9.18, 1) instead of (48.77, -9.18, 23). * Models with old coordinates automatically get converted to the new convention when opened in INSEL GUI. * ROOT, GAIN, ATT, OFFSET, DELAYS, ABS, SQRT, EXP, NOP, CHS, ANINT, INT, FRAC now accept between 1 and 10 inputs. * PLOTv2 is now the default PLOT block. * Models with old PLOT blocks automatically get converted to PLOTv2 when opened in INSEL GUI. * SCREEN block displays a nicer output (only 7 significant digits, no trailing zeroes, decimal points are aligned). * Unused parameters for WRITE block have been deprecated, and it's now possible to define Header from GUI. * Two new constants have been defined : NaN & Infinity. NaN can be useful in order to indicated missing data in plots. * DIFF block has been added : it calculates `x - y` directly, removing the need to calculate `x + (-y)`. * Finer defaults for GENGT2 (± 0.1 K deviation allowed instead of ± 2K for monthly average). * GENGT had a bug since at least 2010: temperature generation had large deviations after the first year. Monthly averages were still mostly correct, though. * EPS output format in PLOT Block. * Contour drawing for 3D Plots. * MTM2 has 8 outputs by default. * Same name for MTM2 outputs and GENGT2 inputs. * D18599 block has been added. ### GUI * "Show INSEL model" has a nicer output (no trailing zeroes). * Default language is English. * Default model size is 8x8. * INSEL GUI now uses Java 15. * New GUI themes (light/dark modes, high-contrast for accessibility, ...) * New keyboard shortcuts: * CtrlR to run a model * CtrlP to pause a model * CtrlZ to stop a model * An experimental LIVECHART Block is available in the GUI. Data is displayed in real time. ### INSEL Engine * INSEL Core can use Fortran 90. * Easier way to integrate and share userblocks (UB library files can have any name, e.g. `libInselAlice.dll`, `libInselBob.dll`). * `libInselCommunity` has been created, and it contains useful user blocks from the community (e.g. `UBSTORAGE`, CHP blocks, ...). * Source can have any filename (e.g. `ubstorage.cpp`) instead of `ub1234.cpp`. * Function names can be called `ubstorage(...)` and not just `ub0001(...)`, in order to avoid conflicts. * Can list every available block with `insel -b`. * Can list the version of every module with `insel -v`. * Possible to use underscores in constants : `C stuttgart_latitude 48.77` ## Beta-testers: What to test? * Please backup every model before opening them in INSEL 8.3! * Please backup userblock libraries if you have any. * Please backup your palette folder. (`%AppData%\INSEL`) * Please keep an INSEL 8.2 installer, just in case. * Start INSEL 8.3 GUI. * Rebuild the palette (Right-click > "Rebuild the palette..."). * Old models should still be readable. * Old PLOT blocks should be converted. * Old coordinates should be converted. If they are defined via constants, please update constants manually. * Can userblocks still be used? They probably need to get compiled again. * Models shouldn't run slower than before. * Please report any crash (with any `replay_*.log` and `hs_err_*.log` file you can find) (TODO: Where?). * A gitlab project will be created in order to collect user-feedback. (TODO: Where?) ## Known bugs * MTMUP somehow does not update MTM weather database. * If variables are not properly initialized in blocks, they might be shared between simulation runs when run from the GUI. * Text might not be readable in dark modes. * Name and parameters for userblocks might not be displayed correctly. * Underscores in filenames or function names might break documentation. * Simulink blocks have not been tested for years, and might be broken. ## What's next? * New GUI, based on Eclipse Sirius (with zoom / undo / web-interface / ...). * Double-precision instead of single-precision floats. * PVGIS Block (month as input, coordinates as parameters, monthly average irradiances and temperatures as output). * SORT Block (n inputs, data is saved during simulation, sorted at the end according to the first input, and written to a file). * READCSV Block. * Updated Weather DB. * Updated Photovoltaics DB. * Upload install files to an official server (insel.eu?) * Preparation for open-sourcing in the future.