@=============================================================================== v3.01 debug 06/09/2022 based on the following croco version : branch 63-pisces-bug-fixes / commit 8 Juillet 2022 commit fa71ad6ff048429b9c6a1fca1be1266a484769d7 (HEAD -> 63-pisces-bug-fixes) Author: Gildas Cambon Date: Fri Jul 8 12:21:02 2022 +0200 Add CVT parrallel repro + exact_restart repro tests for PISCES @=============================================================================== 1/ contient tous les bugfixes PISCES + QUOTA + SEDIMENTS identifiés depuis 2 ans mais pas les bugfixes croco! 2/ Certains des bugfix croco qu'on traine depuis 2 ans ont été corrigés par croco OCEAN/wetdry.F OCEAN/zoombc_2D.F OCEAN/set_nudgcof.F 3/ Nouveaux bugfixs sur bulk_online (By Steph) -------------------------------------------------------------------------------- Spécificités Pulsation: (dans SOURCE v3.01) -------------------------------------------------------------------------------- pour output_cpp.txt propre à Pulsation : OCEAN/cppcheck.F OCEAN/read_inf.F Faut il remonter dans croco l'écriture des clés CPP dans un fichiers distinct de output.txt Très pratique pour les comparaisons comme les sorties ascii PISCES pour comparer l'exécution de 2 simus -------------------------------------------------------------------------------- Spécificités config du LOCEAN : (dans SOURCE v3.01) -------------------------------------------------------------------------------- à discuter pour savoir si on propose de remonter dans croco OCEAN/step3d_t.F. problème de stratification avec dRz =0. Qui ne doit pas arriver. A garder et à vérifier que ça n'arrive pas. Mis par Steph pour ASAP mais plante aussi à l'éxecution pour AWA si on ne mets pas le patch. (cf error à la fin du fichier) PISCES/p4zlim.F90. limite en fer dans l'Austral à discuter avec Olivier PISCES/biology_pisces.F Garantie pas de valeurs <0 salinité pour grille mère quand y a AGRIF sur l'update. A tester que pas nécessaire dans la v3.00 -------------------------------------------------------------------------------- Bugfix à remonter : (dans SOURCE v3.01) -------------------------------------------------------------------------------- OCEAN/ncscrum.h - integer indxDON, indxDOP, indxPON, indxPOP, indxNPH, + integer indxDON, indxDOP, indxPON, indxPOP, indxNPH, OCEAN/init_scalar.F #### Commitée par Renaud dans la branche 63-pisces-bug-fixes !!! un oubli d'= mais qui provoque un abort à la compilation avec PISCES. - vname(2,indxbioFlux+Nmeso2-1) + vname(2,indxbioFlux+Nmeso2-1)= - vname(2,indxbioVSink+Nsildep-1) + vname(2,indxbioVSink+Nsildep-1)= OCEAN/lmd_skpp1994.F #### corrigé mais mal par Marchesiello #### demander un cherry-pik vers la release. !!!! - Bo(i,j)=g*( alpha(i,j)*(stflx(i,j,itemp)-srflx(i,j)) +# endif Corrigé par Marchhessiello mais sur le master uniquemenrt et manque un endif commit ed98cdf906417e9139bde5b3db900360afecd712 Could you please make a cherry-pick of the commit ed98cdf906417e9139bde5b3db900360afecd712 concerning the file OCEAN/lmd_skpp1994.F to the release branch? Maybe you have to add a "endif" after the removed line to close the "# ifdef TEMPERATURE" -------------------------------------------------------------------------------- ANCIENS BUGFIX plus nécessaires -------------------------------------------------------------------------------- OCEAN/wetdry.F : erreur compilation si undef AGRIF & define AGRIF_2WAY Vérifier que la correction est juste et nécessaire. OCEAN/zoombc_2D.F : bug fix sur les frontières pour les bancs découvrants (WETDRY=T) nécessaires au Sénégal nouvelle version: différence # ifdef WET_DRY0 au lieu de ifdef WET_DRY qui évite le passage par cette boucle qu'il fallait corriger parce que les frontières sont traitées ailleurs par une routine générale? OCEAN/set_nudgcof.F. sponge CANARY2 mais pas nécessaire si CANARY => AWA -------------------------------------------------------------------------------- Nouveaux bugfixes Steph v3.00 bulk online (dans SOURCE v3.01) -------------------------------------------------------------------------------- 1/ OCEAN/forces.h #### corrigé par Gildas dans master + release sur master : commit 5dcc6b6055f6680a56f4efbbe9dc9514fd4416cf sur release : commit 277138e77f0d2421d7b9f64483d3b16f8254bd29 Bug fix in force.h : AGRIF+ONLINE BULK with MPI was blowing up (serial and with OpenMP was OK) Add uwndg_norot and radswg_down arrays into common in case of ONLINE BULK # endif # ifdef ONLINE common /bulk_uwndg_norot/uwndg_norot common /bulk_radswg_down/radswg_down 2/ OCEAN/online_interpolate_bulk.F Pour croco : Faut il faire passer les 2 nouvelles variables intermediaires radswg_down & uwndg_norot comme les autres par la boucle : > call exchange_u2d_tile(1,Lm,1,Mm, > & uwndg_norot(START_2D_ARRAY,iblkrec)) Pour Steph spécifiquement qui lit le module au lieu de le calculer Faut il commenter le call pour wspdg et le mettre pour uwndg_norot? > ! Modif SPOUS ASAP > # ifdef MPI > call exchange_u2d_tile(1,Lm,1,Mm, > & uwndg_norot(START_2D_ARRAY,iblkrec)) > # endif > ! Modif SPOUS ASAP --- > ! Modif SPOUS ASAP > ! call exchange_r2d_tile(1,Lm,1,Mm, > ! & wspdg(START_2D_ARRAY,iblkrec)) > ! Modif SPOUS ASAP -------------------------------------------------------------------------------- Une modif SEDIMENTS (zéro urgence pour croco_locean mais pour mémoire) -------------------------------------------------------------------------------- PISCES/SED/sedini.F90 à propos des diagnostiques sur les sédiments? Modif évoquée par Renaud mais pas commitée sur la branche 63-pisces-bug-fixes @=============================================================================== @ Modifs par CONFIG : @=============================================================================== -------------------------------------------------------------------------------- Spécificités ASAP & ASAP2 : (dans compile/croco ASAP2) -------------------------------------------------------------------------------- OCEAN/hmix_coef.F. modification coefficient horcon OCEAN/online_bulk_var.F Modification des noms de variables OCEAN/online_get_bulk.F lecture du module du vent OCEAN/online_interpolate_bulk.F lecture du module du vent OCEAN/online_set_bulk.F lecture du module du vent PISCES/p4zsbc.F90 unité des poussières si on utilise un fichier dust pour les poussières. Vérifier que l'unité est cohérente avec la namelist. -------------------------------------------------------------------------------- spécificités AWA (can11sen2) : (dans compile/croco AWA) -------------------------------------------------------------------------------- add SHADING option V. Echevin OCEAN/cppdefs.h : # define SHADING OCEAN/analytical.F : OCEAN/forces.h (A modifier dans source v3.01 pour bugfix bulk_online) PISCES/ocean2pisces.F90 : ln_qsr_bio = .true. PISCES/ocean2pisces.h90 OCEAN/step3d_t.F : (déja modifié dans source v3.01 pour problème de stratification) -------------------------------------------------------------------------------- Suggestions : -------------------------------------------------------------------------------- namelist_pisces_quota_ref? qui viendrait écraser la namelist_pisces_ref ANA_DIURNAL_SW / PISCES => STOP! @=============================================================================== @ Annexe @=============================================================================== -------------------------------------------------------------------------------- Erreur à l'execution sur IRENE-AMD sans la correction sur step3d_t.F ( => division par zéro!) -------------------------------------------------------------------------------- STEP time[DAYS] NO3 DIA ZOO DOC trd 0 0.00001 2.1716502E+01 1.5158428E-02 1.1060670E-02 2.2635132E+00 0 STEP time[DAYS] NO3 DIA ZOO DOC trd 0 0.00001 2.5223867E+01 3.4736061E-02 1.9954398E-02 4.0170951E+00 0 Number of days per year in file year2daydta = 365.250000000000 [irene5577:149104:0:149104] Caught signal 8 (Floating point exception: floating-point divide by zero) [irene5577:149012:0:149012] Caught signal 8 (Floating point exception: floating-point divide by zero) [irene5577:149076:0:149076] Caught signal 8 (Floating point exception: floating-point divide by zero) [irene5577:149080:0:149080] Caught signal 8 (Floating point exception: floating-point divide by zero) [irene5577:149084:0:149084] Caught signal 8 (Floating point exception: floating-point divide by zero) /ccc/scratch/cont005/gen1140/hourdinc/croco_scratch_IRENE-AMD/step3d_t_.f: [ sub_loop_step3d_t_tile_() ] ... [irene5577:149088:0:149088] Caught signal 8 (Floating point exception: floating-point divide by zero) 2049 & +(qp1(i,j,k+1)- qp1(i,j,k)) 2050 & *dpth*(1.D0-2.D0*qp2*dpth) 2051 cff = min( 1.D0/dRz,-1.D-14 ) ==> 2052 cff1 = 1.D0/(z_r(i,j,k+1)-z_r(i,j,k)) 2053 hbltmp=10.D0 2054 gama = 1.D0 2055 sig = (z_w(i,j,N)-z_w(i,j,k))/max(hbltmp,10.D0) -------------------------------------------------------------------------------- Erreur à l'execution sur JEANZAY sans la correction sur step3d_t.F ( => division par zéro!) -------------------------------------------------------------------------------- Error execution JEANZAY / DATARMOR... : STEP time[DAYS] NO3 DIA ZOO DOC trd 0 0.00001 2.1716502E+01 1.5158428E-02 1.1060670E-02 2.2635132E+00 0 STEP time[DAYS] NO3 DIA ZOO DOC trd 0 0.00001 2.5223867E+01 3.4736061E-02 1.9954398E-02 4.0170951E+00 0 Number of days per year in file year2daydta = 365.250000000000 forrtl: error (73): floating divide by zero Image PC Routine Line Source libifcoremt.so.5 00002AAAAE843F3F for__signal_handl Unknown Unknown libpthread-2.19.s 00002AAAAE3B1870 Unknown Unknown Unknown croco_DATARMOR.ex 00000000011B7E99 sub_loop_step3d_t 2054 step3d_t_.f croco_DATARMOR.ex 000000000116828A step3d_t_tile_ 700 step3d_t_.f croco_DATARMOR.ex 0000000001163642 sub_loop_step3d_t 485 step3d_t_.f croco_DATARMOR.ex 000000000116253A step3d_t_ 142 step3d_t_.f croco_DATARMOR.ex 0000000000E7E8EA sub_loop_step3d_t 5807 step_.f croco_DATARMOR.ex 0000000000E7DD88 step3d_t_thread_ 4707 step_.f croco_DATARMOR.ex 0000000000E79608 sub_loop_step_ 880 step_.f croco_DATARMOR.ex 0000000000E78818 step_ 154 step_.f croco_DATARMOR.ex 0000000001AD1985 agrif_util_mp_agr 497 modutil.F90 croco_DATARMOR.ex 0000000001AD1B88 agrif_util_mp_agr 517 modutil.F90 croco_DATARMOR.ex 0000000001AC9ECC agrif_util_mp_agr 85 modutil.F90 croco_DATARMOR.ex 0000000000DFB8DD sub_loop_main_ 1506 main_.f croco_DATARMOR.ex 0000000000DF7542 MAIN__ 285 main_.f croco_DATARMOR.ex 00000000004055DE Unknown Unknown Unknown libc-2.19.so 00002AAAB04C3B25 __libc_start_main Unknown Unknown croco_DATARMOR.ex 00000000004054F9 Unknown Unknown Unknown