Module de clés namelists PHYEX Une solution serait de créer un module propre à PHYEX qui contiendrait des clés de contrôle de haut niveau pour la physique (y en a-t-il d'autres?). Ce module serait initialisé dans Méso-NH à partir de la clé actuelle qui est sans doute utilisée ailleurs dans le code de Méso-NH Dependencies: - définir les interfaces propres - créer des codes pour le driver - liste dans document Interfaces - pour AROME placés, en attendant, dans phyex/externals Clé de compilation REPRO48 + REPRO55 ajoutées pour permettre de reproduire le cycle 48 MNH-5.5.0, elles: - contournent des corrections de bug - modifient l'organisation de calculs Ces clés devront être supprimées Merge pb: - ice4_nucleation_wrapper: Tableaux allocatable introduits par Philippe dans meso-nh. Pas introduits (pour l'instant?) dans version common. Ryad a fait des tests pour regarder impact des allocatable sur CPU => temps * 2 Code à nettoyer quelque soit l'option retenue Dernier code de Ryad: /home/gmap/mrpm/khatib/public/modset/mods_ice4_nucleation_wrapper.tgz et/ou /home/gmap/mrpm/khatib/public/modset/ice4_nucleation_wrapper.f90 - rain_ice_red: le cas test MesoNH n'est pas bit repro (diffs > 1% sur rapports de melange) sur la modif src/mesonh/rain_ice_red au commit bdd10dd (First rain_ice new/red merge) - shallow_mf (appels dans aro_shallow et arp_shallow): Dans Méso-NH: shallow_mf doit être appelé avec PDX=XDXHAT(1) et PDY=XDYHAT(1) Dans AROME/ARP: où trouver la taille de maille? Pour l'instant 2 versions à cause de l'interface à compute_uprfat_rhcj10 - compute_updraft_rhcj10: en attente retour de Rachel et/ou Yves pour faire le merge Etape 2: array syntax -> loop - en profiter pour supprimer args PA/PB des routines appelées depuis ice4_tendencies, comme pour nucleation - regarder si pcompute et llcompute sont toujours tous deux nécessaires dans les mode_ice4* avec le passage en do - si possible, modifier ice4_sedimentation_split* dans le même esprit que stat - transformer sedimentation_split_momentum comme sedimentation_split - une distinction KSIZE/KPROMA est à faire dans la microphysique. Pour une meilleure compréhension du code, il faut partir du principe de déclarer tous les tableaux en KPROMA et de les utiliser que jusqu'à KSIZE - essayer l'outil développé par Juan Pb identifiés à corriger plus tard: - deposition devrait être déplacée dans ice4_tendencies - non reproduction en changeant le nombre de procs - avec les optimisations de Ryad, les tableaux 3D de precip passés à ice4_tendencies lorsque HSUBG_RC_RR_ACCR=='PRFR' ne sont pas utilisables puisque les K1, K2 et K3 sont relatifs à la boucle IMICRO et que les calculs faits en debut de routine ne concernent qu'une partie des points => à corriger - seules les options oper ont été testées, il manque des test pour sedim_after, nmaxiter, xmrstep, xtstep, autoconv, rainfr - arome/ini_cmfshall devrait s'appeler ini_param_mfshall - th_r_from_thl_rt appelée partout, il faudrait limiter à OTEST Répertoire arome/ext et mesonh/ext contient les codes non PHYEX qu'il faut modifier dans le pack pour qu'il puisse être compilé. Ce répertoire devra être vidé à la fin du phasage, les modifications nécessaires ayadevront avoir été fournies par ailleurs Budgets/DDH - Le code dans budget_DDH devra être transféré dans mode_budget - les routines arome specifiques aux budgets sont dans mpa/micro, il faudrait les mettre ailleurs SPP - modd_spp_type est pour l'instant dans mpa/micro/externals mais n'est pas de la microphysique Gradients/shuman: - essayer de mettre des abort dans les routines arome (shuman doit suffire) Nettoyage apl_arome non fait (pb a la compilation) ==> 4 arguments dans aro_turb_mnh supprimés (non utilisés) turb.F90 : il reste un CALL à SOURCES_NEG_CORRECT à ajouter. Besoin de récupérer CCLOUD dans apl_arome : comment ?