Changes between Version 3 and Version 4 of Documentation/UserGuide/restartability


Ignore:
Timestamp:
2020-02-28T14:51:15+01:00 (4 years ago)
Author:
lathiere
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/UserGuide/restartability

    v3 v4  
    44Last revision: 2020/02/28, J. Lathière 
    55 
    6 In some rare cases after bugfixes or implementation of new code, problems with reproducibility or 1+1=2 might be introduced unintentionally. Often these are related to incorrect variable dimensions in different sub-routines, memory issues or the lack of variables in the restart files. Such issues are easier to catch sooner than later. Thus, to minimize the time spent on debugging reproducibility and 1+1=2 issues, the following simple test are suggested/required before each commit of substantial code changes*: 
     6In some rare cases after bugfixes or implementation of new code, problems with reproducibility or 1+1=2 might be introduced unintentionally. Often these are related to incorrect variable dimensions in different sub-routines, memory issues or the lack of variables in the restart files. Such issues are easier to catch sooner than later. Thus, to minimize the time spent on debugging reproducibility and 1+1=2 issues, '''the following simple test are suggested/required before each commit of substantial code changes''': 
    77  
    88=== 1+1=2 === 
    9 If you do not run these test globally, make sure to use impose_veg=y. 
    10 The standard F2 run.def settings have been tested and 1+1=2 from revision r6272. Thus, please always make the test for the standard settings. In case of other run.def settings during your developments, make same tests for your settings also. More recent tests have shown that 1+1=2 for LCC with r6279 at the global scale.  
     9'''If you do not run these test globally''', make sure to use impose_veg=y. 
     10The standard F2 run.def settings have been tested and 1+1=2 from revision r6272. Thus, please '''always make the test for the standard settings'''. In case of other run.def settings during your developments, '''make same tests for your settings also'''. More recent tests have shown that 1+1=2 for LCC with r6279 at the global scale.  
    1111 
    1212'''The standard test''' 
    1313 
    14 1) 1Y vs. 12*1M, i.e. do two simulations for a full year; one with period length of 1 year; the other with period length of 1 month. Afterwards compare their final restart files both from stomate and sechiba. 
     141) 1Y vs. 12*1M, i.e. do two simulations for a full year: one with period length of 1 year; the other with period length of 1 month. Afterwards compare their final restart files both from stomate and sechiba. 
    1515 
    16 Most issues should be caught with (1). In case of problems, it will make the debugging easier, if you can track down the onset of difference between the restart files (i.e. start of year, onset of growing season, end of year etc.) Thus, continue with test like 
     16Most issues should be caught with this first test. In case of problems, it will make the debugging easier, if you can track down the onset of difference between the restart files (i.e. start of year, onset of growing season, end of year etc.). 
     17 
     18Thus, continue with tests like: 
    1719 
    18202) 1D+1D=2D (compare the final restart files) 
     
    2123 
    2224=== How to compare netcdf files === 
    23 The comparison is easiest if the same variables are contained in the two netcdf files and the variables are in the same order. The differ100.sh script by Josefine Ghattas, nicely does this. Moreover, it uses cdo diffv to compare the files. Howeve,r 5dim variables are ignored by the cdo diffv command, thus not all variables in the restart files can be compared by the differ100.sh 
     25The comparison is the easiest if the same variables are contained in the two netcdf files and the variables are in the same order. The differ100.sh script by Josefine Ghattas, nicely does this. Moreover, it uses cdo diffv to compare the files. Howeve,r 5dim variables are ignored by the cdo diffv command, thus not all variables in the restart files can be compared by the differ100.sh 
    2426 
    2527=== Have to check for differences between to netcdf files that have variables with dimensions higher than 4 ===