MED fichier
f/test21.f
1C* This file is part of MED.
2C*
3C* COPYRIGHT (C) 1999 - 2020 EDF R&D, CEA/DEN
4C* MED is free software: you can redistribute it and/or modify
5C* it under the terms of the GNU Lesser General Public License as published by
6C* the Free Software Foundation, either version 3 of the License, or
7C* (at your option) any later version.
8C*
9C* MED is distributed in the hope that it will be useful,
10C* but WITHOUT ANY WARRANTY; without even the implied warranty of
11C* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12C* GNU Lesser General Public License for more details.
13C*
14C* You should have received a copy of the GNU Lesser General Public License
15C* along with MED. If not, see <http://www.gnu.org/licenses/>.
16C*
17
18C******************************************************************************
19C* - Nom du fichier : test21.f
20C*
21C* - Description : ecriture de valeurs scalaires numeriques dans un fichier MED
22C*
23C ******************************************************************************
24 program test21
25C
26 implicit none
27 include 'med.hf'
28C
29 integer*8 fid
30 integer cret
31 character*16 edtuni,dtunit1
32 character*64 nom1, nom2
33 character*200 desc1, desc2
34 integer vali1, vali2
35 real*8 valr1,dt
36C
37 parameter(nom1="VariableEntiere")
38 parameter(nom2="VariableFlottante")
39 data desc1 / "Une premiere description" /
40 data desc2 / "Une seconde description" /
41 parameter(vali1 = 56,vali2 = -789)
42 parameter(valr1 = 67.98d0)
43
44 parameter(edtuni=" "
45 1 ,dtunit1="ms")
46C
47C
48C Creation du fichier test21.med
49C
50 call mfiope(fid,'test21.med',med_acc_rdwr, cret)
51 print *,cret
52 if (cret .ne. 0 ) then
53 print *,'Erreur creation du fichier'
54 call efexit(-1)
55 endif
56 print *,'Creation du fichier test21.med'
57C
58C Creation d'une variable scalaire entiere
59C
60 call mprcre(fid,nom1,med_int,desc1,dtunit1,
61 & cret)
62 print *,cret
63 if (cret .ne. 0 ) then
64 print *,'Erreur creation variable scalaire'
65 call efexit(-1)
66 endif
67 print *,'Creation d une variable scalaire entiere'
68C
69C Ecriture d'une valeur sans pas de temps ni numero d'ordre
70C
71 call mprivw(fid,nom1,med_no_dt,med_no_it,med_undef_dt,
72 & vali1,cret)
73 print *,cret
74 if (cret .ne. 0 ) then
75 print *,'Erreur ecriture valeur scalaire'
76 call efexit(-1)
77 endif
78 print *,'Ecriture valeur entiere sans pas de temps'
79C
80C Ecriture d'une valeur avec pas de temps et sans numero d'ordre
81C
82 dt = 5.5d0
83 call mprivw(fid,nom1,1,med_no_it,dt,vali2,cret)
84 print *,cret
85 if (cret .ne. 0 ) then
86 print *,'Erreur ecriture valeur scalaire'
87 call efexit(-1)
88 endif
89 print *,'Ecriture valeur entiere avec pas de temps'
90C
91C Creation d'une variable scalaire flottante
92C
93 call mprcre(fid,nom2,med_float64,desc2,dtunit1,
94 & cret)
95 print *,cret
96 if (cret .ne. 0 ) then
97 print *,'Erreur creation variable sclaire'
98 call efexit(-1)
99 endif
100 print *,'Creation d une variable scalaire flottante'
101C
102C Ecriture d'une valeur flottante avec pas de temps et numero d'ordre
103C
104 call mprrvw(fid,nom2,1,2,dt,valr1,cret)
105 print *,cret
106 if (cret .ne. 0 ) then
107 print *,'Erreur ecriture valeur scalaire'
108 call efexit(-1)
109 endif
110 print *,'Ecriture valeur entiere avec pas de temps'
111C
112C Fermeture du fichier
113C
114 call mficlo(fid,cret)
115 if (cret .ne. 0 ) then
116 print *,'Erreur fermeture du fichier'
117 call efexit(-1)
118 endif
119 print *,cret
120 print *,'Fermeture du fichier test21.med'
121C
122 end
123C
subroutine mfiope(fid, name, access, cret)
Ouverture d'un fichier MED.
Definition medfile.f:42
subroutine mficlo(fid, cret)
Fermeture d'un fichier MED.
Definition medfile.f:82
subroutine mprrvw(fid, name, numdt, numit, dt, val, cret)
Cette routine permet l'écriture de la valeur d'un paramètre numérique scalaire.
subroutine mprcre(fid, name, type, des, dtunit, cret)
Cette routine permet la création d'un paramètre numérique scalaire.
subroutine mprivw(fid, name, numdt, numit, dt, val, cret)
Cette routine permet l'écriture de la valeur d'un paramètre numérique scalaire.
double med_float64
Definition med.h:328
int med_int
Definition med.h:333
program test21
Definition test21.f:24