Changes between Version 26 and Version 27 of DevelopmentActivities/Bugs


Ignore:
Timestamp:
2015-12-15T10:53:16+01:00 (9 years ago)
Author:
ajornet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentActivities/Bugs

    v26 v27  
    22 
    33List of bugs that need to be fixed. They are ordered by priority from the top to the bottom. 
    4  
    5 == Spitfire == 
    6  
    7 === Multiple floating point exceptions at reat_of_spread === 
    8  
    9 There is a floating overflow exception at exp(XXXX) from lpj_spitfire.f90 -> rate_of_spread 
    10  
    11 {{{ 
    12 ! reaction intensity 
    13 a(:)=8.9033*(sigma(:)**(-0.7913)) 
    14 WHERE (a(:).le.0.00001 .OR. bet(:).le.0.00001) 
    15    dummy(:)=0.0 
    16 ELSEWHERE 
    17    dummy(:)=exp(a(:)*(1.0-bet(:))) 
    18 ENDWHERE 
    19 }}} 
    20  
    21 Proposed solution: set sigma values to 10000. FAILED 
    22 {{{ 
    23      !calculate mass weighted surface-area-to-volume ratio by fuel types. 
    24      WHERE (dead_fuel(:).gt.min_stomate) 
    25        sigma(:)=(fuel_1hr_total(:) * sigma_1hr + & 
    26             fuel_10hr_total(:) * sigma_10hr + & 
    27             fuel_100hr_total(:) * sigma_100hr) / dead_fuel(:) 
    28      ELSEWHERE 
    29        sigma(:)=0.00001 -> 10000 
    30      ENDWHERE 
    31 }}} 
    32  
    33  
    34 Proposed solution: check sigma instead of a. OK (Accepted by Chao and Fabienne) 
    35  
    36 {{{ 
    37 ! reaction intensity 
    38 a(:)=8.9033*(sigma(:)**(-0.7913)) 
    39 WHERE (sigma(:).le.0.00001 .OR. bet(:).le.0.00001) 
    40    dummy(:)=0.0 
    41 ELSEWHERE 
    42    dummy(:)=exp(a(:)*(1.0-bet(:))) 
    43 ENDWHERE 
    44 }}} 
    45  
    46 This is not the root of the problem here. It comes from somewhere else but it triggers at this point. Proposal not applied. 
    47  
    48 Attention: the use of WHERE statement with min_stomate is a bad practice which leads to potential bugs. What if the value is negative? In this case it would be ignored. 
    49  
    50 == River routing == 
    51  
    52 Albert's personal branch (r3022) can not run for four points when RIVER_ROUTING is on, but can run for globe. 
    53  
    54 /home/orchidee04/yhuang/test/spinup/4p.nrouting/yfpe0f.yrouting.Ye.v2 
    55  
    56 Possible it is caused by the region I choose is not large enough, but it is still a bug. 
    57  
    58 Reported by Ye. 
    59  
    60 Fix on forcesoil r3050 
    61  
    624 
    635== VSD merge == 
     
    13072 
    13173Test performance 
     74 
     75== River routing == 
     76 
     77Albert's personal branch (r3022) can not run for four points when RIVER_ROUTING is on, but can run for globe. 
     78 
     79/home/orchidee04/yhuang/test/spinup/4p.nrouting/yfpe0f.yrouting.Ye.v2 
     80 
     81Possible it is caused by the region I choose is not large enough, but it is still a bug. 
     82 
     83Reported by Ye. 
     84 
     85Fix on forcesoil r3050 
     86 
     87 
     88== Spitfire == 
     89 
     90=== Multiple floating point exceptions at reat_of_spread === 
     91 
     92There is a floating overflow exception at exp(XXXX) from lpj_spitfire.f90 -> rate_of_spread 
     93 
     94{{{ 
     95! reaction intensity 
     96a(:)=8.9033*(sigma(:)**(-0.7913)) 
     97WHERE (a(:).le.0.00001 .OR. bet(:).le.0.00001) 
     98   dummy(:)=0.0 
     99ELSEWHERE 
     100   dummy(:)=exp(a(:)*(1.0-bet(:))) 
     101ENDWHERE 
     102}}} 
     103 
     104Proposed solution: set sigma values to 10000. FAILED 
     105{{{ 
     106     !calculate mass weighted surface-area-to-volume ratio by fuel types. 
     107     WHERE (dead_fuel(:).gt.min_stomate) 
     108       sigma(:)=(fuel_1hr_total(:) * sigma_1hr + & 
     109            fuel_10hr_total(:) * sigma_10hr + & 
     110            fuel_100hr_total(:) * sigma_100hr) / dead_fuel(:) 
     111     ELSEWHERE 
     112       sigma(:)=0.00001 -> 10000 
     113     ENDWHERE 
     114}}} 
     115 
     116 
     117Proposed solution: check sigma instead of a. OK (Accepted by Chao and Fabienne) 
     118 
     119{{{ 
     120! reaction intensity 
     121a(:)=8.9033*(sigma(:)**(-0.7913)) 
     122WHERE (sigma(:).le.0.00001 .OR. bet(:).le.0.00001) 
     123   dummy(:)=0.0 
     124ELSEWHERE 
     125   dummy(:)=exp(a(:)*(1.0-bet(:))) 
     126ENDWHERE 
     127}}} 
     128 
     129This is not the root of the problem here. It comes from somewhere else but it triggers at this point. Proposal not applied. 
     130 
     131Attention: the use of WHERE statement with min_stomate is a bad practice which leads to potential bugs. What if the value is negative? In this case it would be ignored.