wiki:DevelopmentActivities/Bugs

Version 30 (modified by ajornet, 8 years ago) (diff)

--

Current Bugs

List of bugs that need to be fixed. They are ordered by priority from the top to the bottom.

Diffuco

Floating exception at:

! Eq. 18 of Yin et al. (2009)
Cc = ( gamma_star(icinic) * x1 + ( assimi(icinic) + Rd(icinic) ) * x2 )  &
                        / ( x1 - ( assimi(icinic) + Rd(icinic) ) )

x1, assimi are Rd are 0.

Check for:

/ccc/work/cont003/dsm/p529jorn/experiments/SECHSTOM.DGVM.10336

At coordinates latitude = 9 and longitude=101 (sea).

Forcesoil

The orchidee (r3022) can not run after one time of forcesoil, it showed a error "floating overflow"

The error can be found in this file: /home/users/yhuang/job/orchidee/test_f/oe.yfpe0f.g.nrouting.Ye.ori

And the output are all in: /home/orchidee04/yhuang/test/spinup/g/yfpe0f.g.nrouting.Ye.ori/

Reported by Ye

compiling error

gmake driver met a error showed as below:

mpif90 -c -cpp -DCPP_PARA -p -g -fpe0 -traceback -fp-stack-check -ftrapuv -check bounds  -i4 -r8 -I../../../lib -module ../../../lib -I/usr/local/install/netcdf-4.3.2p/include  sechiba.f90
sechiba.f90(44): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [THERMOSOILC]
  USE thermosoilc
------^
compilation aborted for sechiba.f90 (code 1)
gmake[2]: *** [../../../lib/libsechiba.a(sechiba.o)] Error 1
gmake[2]: Leaving directory `/home/users/yhuang/modipsl/modeles/ORCHIDEE/src_sechiba'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/home/users/yhuang/modipsl/modeles/ORCHIDEE/src_sechiba'
gmake: *** [libsechiba] Error 2

thermosoilc.f90 is just a copy of thermosoil.f90, but sechiba.f90 used module thermosoilc (at line 44 in sechiba.f90), but there is no command dealing with thermosoilc.f90 in AA_make in the same directory, I think that is why I can not use gmake driver to compile.

Reported Ye

flags consistency

Check flags consistency between VEGET_UPDATE= 1Y and IMPOSE_VEG= y.

VEGET_UPDATE= 0Y
-> Pour les crops on utilise la première carte lue.
VEGET_UPDATE= 1Y
-> On active le LUC, on lit la carte de vegétation seulement pour prendre en compte les crops qui évoluent alors ; le DGVM continue de gérer les PFTs naturels en fonction des conditions climatiques (enfin c'est ce que j'ai compris).

Il ne faut surtout pas mettre IMPOSE_VEG= y puisque si on impose la végétation elle ne va pas pouvoir évoluer en fonction du climat (je n'ai pas testé mais ce fonctionnement semble absurde, il faudrait arrêter avec un message d'erreur).

Spitfire

Multiple floating point exceptions at reat_of_spread

There is a floating overflow exception at exp(XXXX) from lpj_spitfire.f90 -> rate_of_spread

! reaction intensity
a(:)=8.9033*(sigma(:)**(-0.7913))
WHERE (a(:).le.0.00001 .OR. bet(:).le.0.00001)
   dummy(:)=0.0
ELSEWHERE
   dummy(:)=exp(a(:)*(1.0-bet(:)))
ENDWHERE

Proposed solution: set sigma values to 10000. FAILED

     !calculate mass weighted surface-area-to-volume ratio by fuel types.
     WHERE (dead_fuel(:).gt.min_stomate)
       sigma(:)=(fuel_1hr_total(:) * sigma_1hr + &
            fuel_10hr_total(:) * sigma_10hr + &
            fuel_100hr_total(:) * sigma_100hr) / dead_fuel(:)
     ELSEWHERE
       sigma(:)=0.00001 -> 10000
     ENDWHERE

Proposed solution: check sigma instead of a. OK (Accepted by Chao and Fabienne)

! reaction intensity
a(:)=8.9033*(sigma(:)**(-0.7913))
WHERE (sigma(:).le.0.00001 .OR. bet(:).le.0.00001)
   dummy(:)=0.0
ELSEWHERE
   dummy(:)=exp(a(:)*(1.0-bet(:)))
ENDWHERE

This is not the root of the problem here. It comes from somewhere else but it triggers at this point. Proposal not applied.

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.