Salome HOME
Homard executable
[modules/homard.git] / src / tool / Utilitaire / utdhlc.F
1       subroutine utdhlc ( datheu, numann,
2      >                    nummoi, numjou, numheu, nummin, numsec,
3      >                    codret )
4 c ______________________________________________________________________
5 c
6 c                             H O M A R D
7 c
8 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
9 c
10 c Version originale enregistree le 18 juin 1996 sous le numero 96036
11 c aupres des huissiers de justice Simart et Lavoir a Clamart
12 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
13 c aupres des huissiers de justice
14 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
15 c
16 c    HOMARD est une marque deposee d'Electricite de France
17 c
18 c Copyright EDF 1996
19 c Copyright EDF 1998
20 c Copyright EDF 2002
21 c Copyright EDF 2020
22 c ______________________________________________________________________
23 c
24 c convertit la date et l'heure d'une forme longue en une forme compacte
25 c ______________________________________________________________________
26 c .        .     .        .                                            .
27 c .  nom   . e/s . taille .           description                      .
28 c .____________________________________________________________________.
29 c . datheu .  s  .   1    . nombre de secondes depuis le debut de l'an .
30 c . numann . e   .   1    . numero de l'annee (complet: exemple 1996)  .
31 c . numjou . e   .   1    . numero du jour                             .
32 c . numheu . e   .   1    . numero de l'heure                          .
33 c . nummin . e   .   1    . numero de la minute                        .
34 c . numsec . e   .   1    . numero de la seconde                       .
35 c . codret .  s  .   1    . code de retour                             .
36 c ______________________________________________________________________
37 c
38 c====
39 c 0. declarations et dimensionnement
40 c====
41 c
42 c 0.1. ==> generalites
43 c
44       implicit none
45       save
46 c
47 c 0.2. ==> communs
48 c
49 c 0.3. ==> arguments
50 c
51       integer datheu
52       integer numann
53       integer nummoi, numjou, numheu, nummin, numsec
54       integer codret
55 c
56 c 0.4. ==> variables locales
57 c
58       integer nbjour
59       integer iaux, naux
60 c
61       integer lonmoi (12)
62 c
63 c====
64 c 1.  initialisation
65 c====
66 c
67       codret = 0
68 c
69       lonmoi (1) = 31
70       lonmoi (2) = 28
71       lonmoi (3) = 31
72       lonmoi (4) = 30
73       lonmoi (5) = 31
74       lonmoi (6) = 30
75       lonmoi (7) = 31
76       lonmoi (8) = 31
77       lonmoi (9) = 30
78       lonmoi (10) = 31
79       lonmoi (11) = 30
80       lonmoi (12) = 31
81 c
82 c====
83 c 2. mise en forme
84 c====
85 c
86 c 2.2. ==> cumul du nombre de jours pleins passes depuis le debut
87 c          de l'annee
88 c
89       nbjour = 0
90 c
91       naux = nummoi - 1
92 c
93       if ( naux.lt.0 .or. naux.gt.11 ) then
94         codret = 1
95       endif
96 c
97       do 22 iaux = 1 , naux
98          nbjour = nbjour + lonmoi(mod(iaux-1,12)+1)
99    22 continue
100 c
101       if ( mod(numann,4).eq.0 .and. nummoi.gt.2 ) then
102          nbjour = nbjour + 1
103       endif
104 c
105 c 2.3. ==> cumul du nombre de jours pleins passes depuis le debut
106 c          du mois
107 c
108       nbjour = nbjour + numjou - 1
109 c
110 cc    if ( numheu.lt.24 ) then
111 cc        nbjour = nbjour - 1
112 cc    endif
113 c
114 c 2.4. ==> calcul du nombre de secondes depuis le debut de l'annee
115 c
116       datheu = numsec +
117      >         nummin*60 +
118      >         numheu*3600 +
119      >         nbjour*86400
120 c
121       end