Opened 13 years ago

Closed 12 years ago

#60 closed defect (fixed)

Problème calcul temps elapse pour les simulations > 1h

Reported by: acosce Owned by: somebody
Priority: minor Milestone: libIGCM_v2.0
Component: treatment Version: 1.0
Keywords: Cc:

Description

copie de mail sur les conseils de Martial :

Bonjour,

Je suis actuellement en train de faire des tests pour passer INCA en 39 niveaux et en regardant mes run.card je me suis aperçue d'un soucis au niveau du RealCpuTime :

#--------------------------------------------------------------------------------------------------------------------------------------------------------------
# CumulPeriod | PeriodDateBegin |   PeriodDateEnd |        RunDateBegin |          RunDateEnd |     RealCpuTime |     UserCpuTime |      SysCpuTime | ExeDate
#---------------------------------------------------------------------------------------------------------------------------------------------------------
#           1 |        20060101 |        20060131 | 2011-09-08T13:54:48 | 2011-09-08T15:33:49 |        99.00000 |     46224.53000 |        99.79000 | ATM_Sep_8_11:44-CHM_Sep_8_11:36

99.0000 secondes me parait très court pour un mois de simulation.
surtout qu'en fin de journal de sortie j'ai les données suivantes :

46224.53user 99.79system 1:39:00elapsed 779%CPU (0avgtext+0avgdata 0maxresident)k

Le problème vient de la fonction IGCM_add_out.awk qui considère que une période de simulation est forcément inférieur à une heure et donc calcul le RealCpuTime ainsi :

RealTime=(substr($3,1,match($3, ":")-1)*60.+substr($3, match($3, ":")+1, match($3, "elapsed")))

Ce qui fait dans mon cas :
RealTime = 1*60 + 39 = 99

On peut remplacer cette ligne par :

RealTime=(substr($3,1,match($3, ":")-1)*3600.  +  substr($3, match($3, ":")+1, match($3, ":"))*60. + substr($3, match($3, ":")+3, match($3, "elapsed")))

Ce qui donne :
RealTime = 1*3600. + 39*60. +0

Mais cette ligne ne fonctionnerait plus pour les périodes inférieures à 1h ....
Je sais que ce n'est pas très grave si le run.card indique des perfs erronées mais c'est un outil bien utile. Existe-t-il une option qui impose les unités de la commande "time" ?

Bon week end
Anne

Change History (1)

comment:1 Changed 12 years ago by mafoipsl

  • Component changed from Documentation to treatment
  • Milestone changed from libIGCM_v1.11 to libIGCM_v2.0
  • Resolution set to fixed
  • Status changed from new to closed

Corrected with Changeset [670] and [671].

Note: See TracTickets for help on using tickets.