wiki:INCAbugs

Version 11 (modified by acosce, 13 years ago) (diff)

--

BUGS référencés dans INCA

utilisation de Adjust (17 janvier 2011)

l'option adjust introduit des erreurs dans le code. Il faut lancer une pré-simulation avec l'option adjust et ensuite la mettre à zéro et pointer vers le fichier BandResol? de la pré-simulation.

ptrop (17 janvier 2011)

Depuis le passage à une parallélisation mixte mpi/openMP le calcul de la variable ptrop dans set_ub_vals était à zéro.

ptrop=ptrop_glo(nbbeg_loc:nbend_loc)

commit 197 sur INCA3

Exp_slv (17 janvier 2011)

Dans toutes les versions de exp_slv on arrête le calcul de base_sol à 2 espÚces de la fin. Les deux derniÚres sont systématiquement considérées comme étant O3I et O3S. Or ces espÚces n'existent pas dans les configurations AER et GES. Dans ce cas là il vous faut modifier le calcul de base_sol (enlever le "-2") et commenter les lignes qui suivent.
Commit 200 sur INCA3

SETHET (30 janvier 2009

Sur la machine platine du CCRT il y a un problÚme de compilation dans la routine sethet du modÚle. Il s'agit d'enlever un espace lors de la déclaration de la variable mapping1

integer :: mapping1 = (/ &
....
   26/ ) 

devient 

integer :: mapping1 = (/ &
....

   26/) 





DIURNAL_GEOM (14 janvier 2009)

Dans diurnal_geom les variables sunon et sunoff ne sont pas initialisées ce qui peut poser problÚme car leurs calculs dépendent de conditions IF qui ne sont pas toujours vérifiées. Il faut donc rajouter en début de routine

 sunon(:)  = 0. 
 sunoff(:) = 0. 





Config NMHC : EXP_SLV & IMP_SLV (05 décembre 2008)

Dans les routines exp_sol, imp_sol les réactions sont représentées par leurs numéros. Cependant ces numéros sont indiqués en dur dans le code et quelques erreurs se sont glissées dans leur ordre.

EXP_SLV.F90
Les réactions c2h4 et c3h6 sont inversées.

      + reaction_rates(:,177+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,178+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,179+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,180+compt)*base_sol(:,id_c2h4)             &
      + reaction_rates(:,181+compt)*base_sol(:,id_c2h4)             &

devient

      + reaction_rates(:,179+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,180+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,181+compt)*base_sol(:,id_c3h6)             &
      + reaction_rates(:,177+compt)*base_sol(:,id_c2h4)             &
      + reaction_rates(:,178+compt)*base_sol(:,id_c2h4)             &


IMP_SLV.F90
Pour les pertes de O3 la réaction O3+c2h2 n'existe pas, il faut la modifier par o3+c2h4. De plus de nouveau les numéros des réactions sont inversés entre c2h4 et c3h6

             + reaction_rates(k,177+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,178+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,179+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,180+compt) * base_sol(k,id_C2H2)      &
             + reaction_rates(k,181+compt) * base_sol(k,id_C2H2)      &

devient

             + reaction_rates(k,179+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,180+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,181+compt) * base_sol(k,id_C3H6)      &
             + reaction_rates(k,177+compt) * base_sol(k,id_C2H4)      &
             + reaction_rates(k,178+compt) * base_sol(k,id_C2H4)      &

Pour la production du co2 il y a une erreur sur le numéro de réaction MVK+O3

               +  reaction_rates(k,242+compt) * base_sol(k,id_MACR) * 0.42    &
               +  reaction_rates(k,246+compt) * base_sol(k,id_MVK)  * 0.48    &
               )

devient

               +  reaction_rates(k,242+compt) * base_sol(k,id_MACR) * 0.42    &
               +  reaction_rates(k,245+compt) * base_sol(k,id_MVK)  * 0.48    &
               )

Pour la production de hno3 il manque une équation (onitr + oh -> M.CO3 + 0.75.HNO3 + 0.25.NO2 +0.25.H2O) et un facteur 0.4 pour l'équation onitr + no3 -> M.CO3 +0.4.HNO3 + 0.8.NO2 + 0.5.NO

             + reaction_rates(k,279+compt) * base_sol(k,id_onitu) * base_sol(k,id_oh) * 0.5   &
             + reaction_rates(k,287+compt) * base_sol(k,id_onitr) * base_sol(k,id_no3)        &

devient

             + reaction_rates(k,279+compt) * base_sol(k,id_onitu) * base_sol(k,id_oh) * 0.5   &
             + reaction_rates(k,287+compt) * base_sol(k,id_onitr) * base_sol(k,id_no3)* 0.4   &
             + reaction_rates(k,286+compt) * base_sol(k,id_onitr) * base_sol(k,id_oh) * 0.75  &





BCPOMSOURCE (le 18 novembre 2008)

Dans bcpomsource il manquait le calcul des variables fdistBC et fdistPOM permettant de calculer les champs AIN et ASN.
Il faut donc rajouter le calcul suivant :

! Source size distribution is always the same 
fdistBC= 1./3.141592654*6./rop(id_ASBCM) &
    /srcmmd_id_ASBCM**3 *EXP(4.5*srcsigmaln(asmode)**2)
  
fdistPOM=1./3.141592654*6./rop(id_ASPOMM) &
    /srcmmd_id_ASPOMM**3 *EXP(4.5*srcsigmaln(asmode)**2)

Ce calcul a disparu lors du changement de version : lecture de BC et POM dans un fichier texte et lecture dans le fichier sflx.nc

Ce bug peut impliquer des différences de 30% et plus sur les variables AIN et ASN (et les varibles en dépendant)

ATTENTION : dans certaines versions ces variables sont calculées à l'intérieur d'une boucle "IF (.not. bcpom_through_sflx) " dans laquelle on n'entre pas par défaut




MESSAGES d'erreurs dans INCA

nciop (04 decembre 2008)

Assertion failed: nciop != NULL, file posixio.c, line 1762 

Ce message est du au fait que le programme essaie d'ouvrir un fichier netcdf qui n'existe pas.
La solution est d'utiliser la routine fortran inquire permettant de tester l'existence de ce fichier.