= 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. [[BR]] ptrop=ptrop_glo(nbbeg_loc:nbend_loc) [[BR]] 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. [[BR]] 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/) }}} [[BR]] [[BR]] [[BR]] [[BR]] == __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. }}} [[BR]] [[BR]] [[BR]] [[BR]] == __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. [[BR]] __EXP_SLV.F90__[[BR]] 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) & }}} [[BR]] __IMP_SLV.F90__ [[BR]] 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 & }}} [[BR]] [[BR]] [[BR]] [[BR]] == __BCPOMSOURCE (le 18 novembre 2008)__ == Dans bcpomsource il manquait le calcul des variables ''fdistBC'' et ''fdistPOM'' permettant de calculer les champs AIN et ASN. [[BR]] 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 [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] = 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. [[BR]] La solution est d'utiliser la routine fortran '''inquire''' permettant de tester l'existence de ce fichier.