= !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''' =|| ||wiki/doc/tec/developerrules ||~~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 ||Hiwi || || ||Write documentation for wind turbine parametrization code || Björn Witha || ||~~wiki/doc/tec/lsm~~ ||~~Write documentation for land surface model~~ || ~~[[span(style=color: #FF0000, Björn )]]~~ || ||~~wiki/doc/tec/radiation~~ ||~~Write documentation for radiation models~~ || ~~[[span(style=color: #FF0000, Björn )]]~~ || ||~~wiki/doc/tec/bc~~ ||~~Write documentation for new treatment of the constant flux layer~~ || ~~[[span(style=color: #FF0000, Björn )]]~~ || ||wiki/doc/tec/ocean ||density in formulas need to be corrected: in-situ density is used in the buoyancy and energy production term, potential density is only used to calculate stability (Brunt-Vaisala frequency for calculating the mixing length). This error was made in the Maronga et al.(2015) paper as well! || || \\ == PALM seminar improvements (for 2017) == ||='''Item''' =||='''What to do?''' =||='''Name''' =|| ||Lecture handouts ||Separate binding for lectures and exercises|| || ||Name tags ||Name tags for participants. Provide PALM T-Shirts and/or name tags for lecturers / exercise advisors|| || ||Exercise solutions ||After some time into the exercise sessions, participants should receive solutions for the input files in order to be able to produce and analyse some results|| || ||Group photo || || || ||Exercises || Reduce the runtime of the exercises and test the computational time with ''gfortran'' as participants often use this compiler on their noteboeoks. || || ||Parameter file inconsistencies ||Settings for data output are not consistent within the parameter file. For example, 3d/2d/pr output variables are explicitly declared, but timeseries are always the same (confusing for users). Also, differentiation between data_output and data_output_pr is confusing. A possible solution would be to use data_output exlusively and include profiles, e.g. for pt this then would read "pt", "pt_xy", "pt_pr", etc. || || ||Default FFT solver ||The default is currently "system-specific", but on some notebooks of the user there was no FFT library available. The default should thus be changed to the Temperton FFT || || ||dt_dots ||Description in the documentation should be revised (default value) || || ||data output steering ||User find it confusing that they have to specify the data output in the parameter file (e.g. for xy and 3d output) and then switch data output on AGAIN in the mrun call. Maybe we can find a more convenient solution? || || ||mrungui || So far we have not used the mrungui within the seminar, although it might be quite convenient tool for users. || || ||... || || || \\ == 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~~ ||~~[[span(style=color: #FF0000, 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 || || ||- review MODULE concept and extend it to other parts of the code (canopy model, coupling, ). This should include swap_timelevel.f90 ||~~Farah (canopy)~~ r1484, [[span(style=color: #FF0000, Björn )]] || || ||- 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?) ||to be done in MOSAIK || || ||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 ||to be done in MOSAIK || || ||~~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~~ ||~~Helge~~ || || ||implementation of viscous topography || || ||PALM code ||Use NetCDF instead of ASCII for topography data ||to be done in MOSAIK || ||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 in {{{data_output}}} routines and use subroutines instead || || ||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 ||could be done within MOSAIK || || PALM code || Particle code: unify allocation of particle arrays within lpm_droplet_collision, lpm_droplet_condensation, ... (REAL(wp), DIMENSION(:), ALLOCATABLE or REAL(wp), DIMENSION(prt_count(k,j,i))) || Fabian || || PALM code || Use only one Magnus formula within the code (not several as in microphysics.f90, lpm_droplet_condensation.f90, calc_liquid_water.f90, land_surface_model.f90) || Fabian || || PALM code || Implement PALM error messages in parallel random number generator module || || || mrun / data output || Use same cycle number for all output files || || || PALM code || Review summation of "1E-5_wp" in lines 164/167 in diffusivities.f90 (r2119), see ticket:393 || || || data_output || Make use of already implemented 'long_name' attribute of variables, i.e. give possibility to assign a long_name for user defined variables || || || data_output || Set missing values/fill values inside topography and define these missing values as attributes in NetCDF file. || || ||mrun, .mrun.config || allow for a different name and directory for the "job_queue" folder || || || PALM code || optimise calculation of npex and npey in init_pegrid, such that a working (and efficient) processor topology will be found if it exists || Katrin || \\ == 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 ||? || || || || || \\ == Ticket system== ||~~Revision number~~ ||~~Add possibility to enter revision number in ticket header, currently only PALM version is available~~ ||~~Farah~~ || \\ == Tools== ||- ||new plotting tool to replace palmplot ||Christoph + Hiwi || ||- ||new tool to find possible model grid configurations ||HiWi || ||~~watchdog~~ ||~~Debugging: runs on two hosts at the same time, add on/off switches for each host, add "do you really want to cancel job hannover.1234567 ?"-button~~ ||~~Björn~~ ||