= Code verification & benchmarking = The procedure of testing the overall functionality of the PALM-4U components is organized into three categories: {{{ #!div style="align:'left'; width: 550px; border: 0px solid" [[Image(testing_categories.png, 550px, right, margin-right=2, margin-top=0, margin-bottom=5, border=2, nolink)]] Fig 1: Testing categories.\\\\ }}} == Simulation setups for category 1 == Category 1 includes checks of the PALM-4U source code for compliance to the general FORTRAN coding standard, as well as to the specific PALM formatting rules. Further, the code is tested for run-time errors as well as compiler-dependent functionality issues, and simulation results are checked for elementary plausibility. For this purpose ('''S''')mall setups are sufficient, suitable to run on desktop PCs (2-4 processor cores) within a time frame of O(1-10min).\\\\ Three setups with different generic building topographies and tree distributions are available (see Fig. 2), making use of the urban surface model (USM), clear-sky radiation model, and plant canopy model (PCM). To summarize some of the setup features:\\ * Domain: 20 x 20 x 20 m³ * Grid size: 2m * Moderate wind from west * Clear-sky conditions, dry atmosphere (USM does not yet consider latent heat fluxes in surface energy balance) * Cyclic lateral boundary conditions {{{ #!div style="align:'left'; width: 700px; border: 0px solid" [[Image(generic_setups_small.png, 700px, right, margin-right=2, margin-top=0, margin-bottom=5, border=2, nolink)]] Fig 2: ('''S''')mall setups with different generic building topographies and tree distributions.\\ }}} For each of the three setups, a .zip archive can be downloaded, containing INPUT, MONITORING, OUTPUT files and a README file with the setup documentation: * [attachment:generic_cube.zip generic_cube] * [attachment:generic_canyon.zip generic_canyon] * [attachment:generic_crossing.zip generic_crossing]\\\\ '''NOTE:''' Additional and more feature-specific setups can be created on an as-needed basis. == Simulation setups for category 2 == Two differently sized setups are defined: * ('''M''')edium setup (see Fig. 3) for run-time optimization tests, and verification of the code efficiency on the MOSAIK [wiki:idefix demonstration PC] * ('''L''')arge setup (see Fig. 4) for ''code scalability'' tests on a high-performance computing system ([https://www.hlrn.de/home/view HLRN]) with up to tens of thousands processor cores. The base of PALM-4U -- [https://palm.muk.uni-hannover.de/trac PALM] -- is highly optimized and its performance scales well up to 40,000 processor cores. PALM-4U shall maintain this high level of performance optimization.\\ The final formulation of setup files is postponed until the new INPUT data structure is implemented to PALM.\\\\ {{{#!table align=left style="border: none; text-align:left" {{{#!tr {{{#!td align=left style="border: none; vertical-align:top; width: 48%" [[Image(medium_complex_setup.png, 100%, left, border=2, nolink)]]\\ Fig. 3: ('''M''')edium simulation domain with O(10^6^} grid points, suitable for tests on demonstration PC). }}} {{{#!td align=left style="border: none; vertical-align:top; width: 52%" [[Image(large_complex_setup.png, 100%, left, border=2, nolink)]]\\ Fig. 4: ('''L''')arge simulation domain with O(10^10^} grid points, suitable for scalability tests). }}} }}} }}} == Simulation setups for category 3 == These setups will be formulated once a decision has been made (in coordination with module B & C partners) which UCMs to apply. On MOSAIK's side, [http://www.envi-met.com ENVIMET], [http://www.stadtentwicklung.berlin.de/umwelt/umweltatlas/download/FITNAH_Modellanwendung.pdf FITNAH], and [http://www.dwd.de/DE/leistungen/muklimo_thermodynamik/muklimo_thermo.html MUKLIMO_3] are on the shortlist. Selected setups must be compatible to run with PALM-4U as well as with the UCM of choice.