Changeset 132 for XMLIO_V2/dev/dev_rv/src/XMLIO/main.f90
- Timestamp:
- 10/14/10 14:52:38 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/main.f90
r131 r132 3 3 ! --------------------------------------------------- ! 4 4 5 MODULE XML 5 MODULE XTYPE 6 IMPLICIT NONE 7 8 ! Ne jamais modifier les valeurs internes de ce type dans le code fortran. 9 TYPE XHandle 10 INTEGER :: dtype 11 INTEGER :: daddr 12 END TYPE XHandle 13 14 TYPE XDate 15 INTEGER :: year, month, day, hour, minute, second 16 END TYPE XDate 17 18 TYPE XDuration 19 REAL(kind = 4) :: year, month, day, hour, minute, second 20 END TYPE XDuration 21 22 ! enum XDType 23 INTEGER, PARAMETER :: NOTYPE = 0 24 INTEGER, PARAMETER :: DTREATMENT = 1, DDATE = 2, CALENDAR = 3, ECONTEXT = 4 25 INTEGER, PARAMETER :: EAXIS = 5 , EDOMAIN = 6 , EFIELD = 7 , EFILE = 8 , EGRID = 9 26 INTEGER, PARAMETER :: GAXIS = 10, GDOMAIN = 11, GFIELD = 12, GFILE = 13, GGRID = 14 27 28 ! enum XFileType 29 INTEGER, PARAMETER :: NETCDF4 = 0 30 31 ! Autres constantes 32 TYPE(XHandle) , PARAMETER :: NULLHANDLE = XHandle(0, 0) 33 TYPE(XDuration), PARAMETER :: NONEDUR = XDuration(0., 0., 0., 0., 0., 0.) 34 35 END MODULE XTYPE 36 37 MODULE IXHANDLE 38 39 INTERFACE 40 41 SUBROUTINE xios_handle_create(ret, dtype, idt) 42 USE XTYPE 43 TYPE(XHandle), INTENT(OUT) :: ret 44 INTEGER , INTENT(IN) :: dtype 45 CHARACTER*(*), INTENT(IN) :: idt 46 END SUBROUTINE xios_handle_create 47 48 END INTERFACE 49 50 END MODULE IXHANDLE 51 52 MODULE IXML 53 IMPLICIT NONE 6 54 INTERFACE 7 55 … … 15 63 16 64 END INTERFACE 17 END MODULE XML 65 END MODULE IXML 66 67 MODULE IDATATREATMENT 68 IMPLICIT NONE 69 INTERFACE 70 71 SUBROUTINE xios_dtreatment_new(dt, context) 72 USE XTYPE 73 TYPE(XHandle), INTENT(OUT) :: dt 74 TYPE(XHandle), INTENT(IN) :: context 75 END SUBROUTINE xios_dtreatment_new 76 77 SUBROUTINE xios_dtreatment_create_files_and_headers(dt, ftype) 78 USE XTYPE 79 TYPE(XHandle), INTENT(IN) :: dt 80 INTEGER , INTENT(IN) :: ftype 81 END SUBROUTINE xios_dtreatment_create_files_and_headers 82 83 END INTERFACE 84 END MODULE IDATATREATMENT 18 85 19 86 PROGRAM MAIN 20 USE XML 87 USE XTYPE 88 USE IXHANDLE 89 USE IXML 90 USE IDATATREATMENT 91 21 92 IMPLICIT NONE 22 93 23 CHARACTER(LEN = 100):: filename 94 TYPE(XHandle) :: context1 = NULLHANDLE 95 TYPE(XHandle) :: dtreat = NULLHANDLE 24 96 25 filename = "/local/XMLIOSERVER_DEV/dev_rv/test/iodef_simple_test.xml" 97 ! Parsing du document xml depuis un fichier situé sur le disque. 98 CALL xios_xml_Parse_File("/local/XMLIOSERVER_DEV/dev_rv/test/iodef_simple_test.xml") 26 99 27 CALL xios_xml_Parse_File(filename) 100 ! Création d'un handle sur le contexte dans lequel on souhaite travailler, cà d 'context1' ici. 101 CALL xios_handle_create(context1, ECONTEXT, "context1") 102 iF ((context1%dtype == 0) .AND. (context1%daddr == 0)) THEN 103 PRINT *, "Impossible de créer un handle sur l'élément context1 !" 104 STOP 105 END IF 106 107 ! ----------- Début du traitement ----------- ! 108 109 ! Création et initialisation d'une instance de traitement des données dans 'context1'. 110 CALL xios_dtreatment_new(dtreat, context1) 111 iF ((dtreat%dtype == 0) .AND. (dtreat%daddr == 0)) THEN 112 PRINT *, "Impossible d'initialiser l'instance de traitement !" 113 STOP 114 END IF 115 116 ! Création des fichiers et des entêtes dans le contexte. 117 CALL xios_dtreatment_create_files_and_headers(dtreat, NETCDF4) 28 118 29 119 END PROGRAM MAIN
Note: See TracChangeset
for help on using the changeset viewer.