Version 25 (modified by ajornet, 5 years ago) (diff)


Current Bugs

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


There are regative values at fuel_XXhr variables

Supposedly solved at r3021 and r3022. It seems that it is not the case.

There are negative values at diff_frac in stomate_litter.

It only fails when DGVM is active.

I disscussed it with Chao, he thinks it comes from somewhere else. I also disscussed with Dan about DGVM. She did not find anything.

It remains to check if this is a problem related only to precission. Due to the use of min_stomate.

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
WHERE (a(:).le.0.00001 .OR. bet(:).le.0.00001)

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(:)
       sigma(:)=0.00001 -> 10000

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

! reaction intensity
WHERE (sigma(:).le.0.00001 .OR. bet(:).le.0.00001)

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.

River routing

Albert's personal branch (r3022) can not run for four points when RIVER_ROUTING is on, but can run for globe.


Possible it is caused by the region I choose is not large enough, but it is still a bug.

Reported by Ye.

Fix on forcesoil r3050

VSD merge

How to deal with already designed MICT soil layers ?

In Albert's branch, we have two possible different sets of values for soil_capa and soil_cond based on the keyword SOIL_LAYERS_DISCRE_METHOD (see constantes_soil.f90 and get_discretization_constants in thermosoil.f90).

This gives access to two different vertical discretization schemes (see thermosoil_levels). I copied all this relevant code below.

  1. Do we agree that we completely let down these two discretization schemes to get the new one (see vertical_soil_init)?
  1. I have the impression that soil_capa and soil_cond may intervene elsewhere, do we still keep the two different sets of values?

Note: this is a good opportunity to introduce unit tests.


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

New Drivers

Test performance

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.

-> Pour les crops on utilise la première carte lue.
-> 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).

New Drivers

Test performance