= !ToDo-List = \\ == Documentation == [[span(style=color: #FF0000, Responsibilities for PALM-internal workshop 2016 are marked in red color)]] ||='''Page (e. g. wiki/doc/app/userint)''' =||='''What to do?''' =||='''Name''' =|| || ||Write reference document for code formatting and programming rules / programmer guidelines ||[[span(style=color: #FF0000, Siggi )]] || ||wiki/doc/app/jobcontrol ||Restructure mrun documentation || || ||wiki/doc/tec/mbuild ||Description of mbuild || || ||wiki/doc/tec/subjob ||Description of subjob || || ||to be created ||Create descriptive page for "Model Steering" || || ||wiki/doc/app/... ||Navigation for documentation pages (Steering of interactive/batch runs) || || ||wiki/doc/tec/1d_model ||Description of 1d model || || ||wiki/doc/tec/cloud_physics ||Description of cloud physics module || || ||wiki/doc/app/examples/turbinf ||Update description about usage of turbulent inflow || [[span(style=color: #FF0000, Tobias )]] || ||wiki/doc ||Update of page "Documentation" || || || ||complete explanations for PALM error messages || [[span(style=color: #FF0000, all, if there is time to spare )]] || || ||Links from manual to tutorial || || || ||Write descriptions for exercises 6-14 (divide all exercises into Tutorial exercises and Advanced exercises), Advanced examples->Research project examples || || ||gallery ||Update the gallery (new images from research projects)|| || ||wiki/Help/FAQ || Extend FAQ list || || ||... ||List the literature on which the applied methods and approaches (physical and numerical) are based on and set links to this list wherever references are made|| || ||wiki/doc/ ||Description of statistical methods (computation of fluxes and variances, horizontal averaging, etc.) || || ||wiki/doc#Modelformulation ||Transfer contents from the PALM paper (Maronga et al. 2015) to the trac system || || || ||Write documentation for wind turbine parametrization code || Björn Witha || \\ == Source Code == ||='''Program parts''' =||='''What to do?''' =||='''Name''' =|| ||~~mrun, subjob, mbuild~~ ||~~Translate German comments to English~~ ||~~Siggi~~ r1289 || ||mrun ||restructure / simplify / remove the parameter-file check ||Björn || || ||develop new GUI for parameter file generation || || || ||develop an installation script (using cmake mechanism ||[[span(style=color: #FF0000, Helge )]] || ||PALM code, OpenACC ||completion of single-GPU porting ||Siggi || ||PALM code, OpenACC ||re-evaluation of the MPI-GPU-version || || ||PALM code, OpenACC ||implement CUDA-aware MPI || || ||mrun, subjob ||allow batch-job-directives (e.g. PBS) and execution commands (mpiexec, aprun, etc.) to be configured using entries in .mrun.config ||[[span(style=color: #FF0000, Siggi )]] || ||mrun, subjob, mbuild ||cleaning ||[[span(style=color: #FF0000, Siggi )]] || ||PALM code ||code clearing and restructuring following programmer guidelines of DWD/DMI ||all || || ||~~- use KIND parameter for defining single/double precision instead of compiler options (e.g. -r8)~~ ||~~all~~ r1354 || || ||~~- select from modules only those variables really required, using the ONLY attribute~~ ||~~all~~ r1324 || || ||- describe variables in the declaration statements ||all || || ||- extend the MODULE concept to other parts of the code (canopy model, etc.) ||~~Farah (canopy)~~ r1484, Jens (coupling) || || ||- move initialization from init_3d_model to the respective modules || || ||PALM code ||~~output progress messages on terminal or to the job protocol (see Helges progress bars)~~ ||~~Siggi, Helge~~ r1402 || || ||~~finish implementation of FFT/ALLTOALL overlapping~~ ||~~Ketelsen, Siggi~~ r1306 || || ||finish implementation of prognostic_equation/SENDRECV overlapping || || || ||Avoid collecting of 2D data on PE0 (topography data, surface coupling layer), maybe using co-array FORTRAN || || || ||~~Implement flux limiter for Wicker-Skamarock~~ ||~~Matthias, Lennart~~ postponed due to inherent optimization drawbacks || || ||~~Implement RRTMG radiation model~~ ||~~Björn~~ || || ||Subgrid-scale saturation fluctuation for Lagrangian cloud model ||Fabian || || ||~~Implement new particle data structure in LPM~~ ||~~Fabian~~ || || ||~~Implement logarithmic interpolation of particle velocities near the surface~~ ||~~Matthias~~ r1315 || || ||Separate equation for passive scalar (multiple scalars?) ||? || || ||Modification of random number generator to allow better parallelization ||Helge || || ||implementation of a tracbot, which automatically runs and checks examples in case of any code changes || || || ||implement SGS model from Igor Esau || || || ||~~implement a soil model (similar to DALES?)~~ ||~~Björn~~ || ||~~calc_spectra~~ ||~~check and update the internal calculation of spectra~~ ||~~Matthias (check)~~ || || ||~~improve output of standard timeseries: L is defined as Obukhov-length for dry air; should also be defined for moist air; output of buoyancy flux w"vpt"0~~ ||~~Björn~~ || ||data_output ||implement output of hydrostatic pressure ||Björn, Helge || ||data_output ||implement output of scalar and momentum fluxes calculated by temporal EC || || || ||~~implement random number generation for ensemble runs~~ ||~~Helge, Björn~~ || || ||implement new boundary condition for cases where the grid spacing is in the order of the roughness length || || || ||~~increase limit for some identifier strings (e.g. length of variable names is very limited)~~ ||~~Björn~~ || ||PALM code ||implement anelastic approximation || || || ||implementation of viscous topography || || ||PALM code ||Use NetCDF instead of ASCII for topography data || || ||PALM code ||~~ Update GPL~~ ||~~all~~ r1310 || ||PALM code ||~~Allow runs for >= 10000 cores~~ ||~~Björn, Siggi~~ || ||PALM code ||Create temporary job sub-directories via mrun (does not work properly with the FORTRAN system call function) || || ||PALM code ||Discuss the treatment of package parameters, regarding their appearance in {{{read_var_list}}} and {{{write_var_list}}}. Discuss the general treatment / separation of {{{inipar}}} and {{{d3par}}} parameters. ||all || ||Example runs ||Modify the "building" example run (example_building_p3d), since topography is allowed with WS-scheme || || ||PALM code ||For reference_state='horizontal_average' round the averaged profile (e.g. 3.3 digits) to make runs repeatable || || ||PALM code ||Add description for all variables/quantities used in PALM according to doxygen syntax || || ||PALM code ||Avoid repeating code blocks (e.g. for data output) and use subroutines instead || || ||PALM code ||Modularize code parts wherever possible, modularize swap_timelevels etc. || || ||PALM code ||Avoid unnecessary grid checks when using multi grid solver || || ||PALM code, topography ||remove bug which appears for complex topography; the current workaround is to filter the topography apriori, but this doesn't help in case of topography on coarse-grid MG levels; filter may have to be applied within PALM code directly || || ||PALM code ||Remove unnecessary tail and dvrp code from Lagrangian particle model || [[span(style=color: #FF0000, Fabian )]] || ||PALM code ||Substitute some mathematical descriptions of processes in Lagrangian cloud model by more appropriate parameterizations (terminal velocities in lpm_advec and lpm_collision_kernels) || [[span(style=color: #FF0000, Fabian )]] || ||PALM code ||Implement Johannes' splitting and merging algorithm for Lagrangian particles || Fabian, Johannes || ||PALM code ||Implement random velocity perturbations for Lagrangian droplets; make simple random number generator available for general usage || [[span(style=color: #FF0000, Fabian )]] || ||PALM code ||Unification of bulk cloud microphysics (i.e., delete calc_precipitation, calc_liquid_water, impact_of_latent_heat and introduce these processes to the microphysics subroutine) || [[span(style=color: #FF0000, Fabian )]] || || PALM code || Implement and homogenize output of cloud-physical variables derived from bulk and Lagrangian cloud physics (e.g., qc, ql, qr, lpt, pt) || [[span(style=color: #FF0000, Fabian )]] || ||PALM code/ documentation ||Change the name specific humidity to mixing ratio! We don't compute specific humidities. || [[span(style=color: #FF0000, Fabian )]] || || data_output || In profile output define zu and zw only once instead of define a vertical dimension for each individual variable (e.g. zpt, zw"u, zw"v, ...) || || || data_output || When calculating vertical cross sections averaged along x or y, leave out topography || || || data_output || Do not output ghost points || || || PALM code || Separate option "cyclic_fill" from restart run to avoid unwanted effects (e.g. surface heat flux value in namelist of a run using "cyclic_fill" will always be overwritten by the value used in the precursor run). || || || PALM code || Change mass flux correction from addition to multiplication || [[span(style=color: #FF0000, Tobias )]] || || PALM code || Integrate wind turbine parametrization code into the default code || Björn Witha || || PALM code || define dimensions of data_output, data_output_pr, etc. as variables (avoid fixed numbers in code) || || || PALM code || Implement synthetic turbulence generation method || Tobias || || mrun / ? || put INPUT and USER_CODE folder under revision control (git) with automatic updates whenever a job is sent || || || PALM code || Revision of large-scale forcing / nudging implementation including input data format. In this course, allow for using the mechanism to initialize PALM with explicit vertical profiles without further large-scale forcing or nudging || || \\ == Code performance== || ||define setups for scaling / benchmark runs ||Björn, Siggi, Fabian || || ||carry out runs to determine PALM's weak/strong scaling behaviour + parallel efficiency, this might be good to be carried out during the test phase of the HLRNIII-Hannover-complex ||? || || || || || == Tools== ||- ||new plotting tool to replace palmplot || || ||- ||new tool to find possible model grid configurations || || ||watchdog ||Debugging: runs on two hosts at the same time, display error messages only once, add on/off switches for each host, add "do you really want to cancel job hannover.1234567 ?"-button ||Björn ||