= Name and subject of the action Last edition: '''[[Wikinfo(changed_ts)]]''' by '''[[Wikinfo(changed_by)]]''' The PI is responsible to closely follow the progress of the action, and especially to contact NEMO project manager if the delay on preview (or review) are longer than the 2 weeks expected. [[PageOutline(2, , inline)]] == Summary ||=Action || ENHANCE-05_mathiot_REBUILD: || ||=PI(S) || Pierre Mathiot || ||=Digest || Decrease memory usagest and speed-up the rebuild by using a reader process and a writer process || ||=Dependencies || If any || ||=Branch || source:/NEMO/branches/{YEAR}/dev_r{REV}_{ACTION_NAME} || ||=Previewer(s) || Names || ||=Reviewer(s) || Names || ||=Ticket || #XXXX || === Description {{{#!box width=25em help Describe the goal of development and the methodology, \\ add reference documents or publications if relevant. }}} '' * Decreasing the memory usage will be done by avoiding the creation of a global 3d array in the tools. To do so, we can read the local domain and write it where it should be writen in the netcdf using start and count. * Elapse time can be decrease by almost 2 by having a reader process which read local domain and send it to a writer process. Using more reader processes and more writer processes will speedup even more the rebuild but netcdf compression is not available if writing in parralel so it will be at the expence of having a nccopy step at the end. Test on eORCA12 showed that this is slower. So multiple readers/writers will not be implemented.'' === Implementation {{{#!box width=35em help Describe flow chart of the changes in the code. \\ List the Fortran modules and subroutines to be created/edited/deleted. \\ Detailed list of new variables to be defined (including namelists), \\ give for each the chosen name and description wrt coding rules. }}} ''...'' === Documentation updates {{{#!box width=55em help Using previous parts, define the main changes to be done in the NEMO literature (manuals, guide, web pages, …). }}} ''...'' == Preview {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#preview_)]] }}} ''...'' == Tests {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#tests)]] }}} ''...'' == Review {{{#!box width=50em info [[Include(wiki:Developers/DevProcess#review)]] }}} ''...''