Changes between Version 14 and Version 15 of ticket/0829


Ignore:
Timestamp:
2011-06-03T16:04:40+02:00 (9 years ago)
Author:
rblod
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0829

    v14 v15  
    118118It was implemented in wrk_nemo_2 and implemented for test in traadv_tvd. To avoid changing all routines before a definitive choice, we choose to keep the old way and duplicate wrk_nemo in wrk_nemo_2 (later saved as wrk_nemo_2_simple), so we declare the double amount of memory, this would of course not be the case if it was implemented in all routines[[BR]] 
    119119To avoid memory leaks, we could check for instance at the end of step that each counter is equal to one.[[BR]] 
    120 This was implemented here : http://forge.ipsl.jussieu.fr/nemo/changeset/2775 and wrk_nemo_2 is there http://forge.ipsl.jussieu.fr/nemo/browser/branches/2011/dev_r2769_LOCEAN_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo_2.F90_simple 
     120This was implemented here : http://forge.ipsl.jussieu.fr/nemo/changeset/2775 [[BR]] 
     121and wrk_nemo_2 is there http://forge.ipsl.jussieu.fr/nemo/browser/branches/2011/dev_r2769_LOCEAN_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo_2.F90_simple 
    121122 
    122123==== 3- Dynamic dynamic memory ==== 
    123124 
    124125The point here is to avoid to have hard-coded the maximum of potential work arrays in use, and to optimize the memory size, especially for applications expensive in memory (biogeochemistry, assimilation)[[BR]] 
    125 Here again, as a preliminary test, the implementation is done is w and the previous one is renamed wrk_nemo_2_simple.[[BR]] 
     126Here again, as a preliminary test, the implementation is done is in wrk_nemo_2.F90 and the previous one is renamed wrk_nemo_2_simple.[[BR]] 
    126127For each type of work arrays, we use an associated chained list to build the working arrays needed. But when we exit a routine, we do not destroy the working array created but we just point back to the beginning of the list. If the following routine need one array more, we just add an element in the chain. Actually at the end of the first time step we should have built exactly  the total amount of memory needed.  
    127128{{{ 
     
    151152 
    152153 
    153 Anyway, an example can be found there http://forge.ipsl.jussieu.fr/nemo/changeset/2776 and wrk_nemo_2 is there http://forge.ipsl.jussieu.fr/nemo/browser/branches/2011/dev_r2769_LOCEAN_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo_2.F90 
     154Anyway, an example can be found there http://forge.ipsl.jussieu.fr/nemo/changeset/2776[[BR]] 
     155 and wrk_nemo_2 is there http://forge.ipsl.jussieu.fr/nemo/browser/branches/2011/dev_r2769_LOCEAN_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo_2.F90 
    154156 
    155157----