Ignore:
Timestamp:
03/27/09 18:02:59 (15 years ago)
Author:
ymipsl
Message:

Mise à jour importante :

  • ajout de la grille type LMDZ
  • ajout des context
  • ajout de namelist pour parametrer l'utilisation du server : avec/sans MPI, en utlisant ou pas OASIS
File:
1 edited

Legend:

Unmodified
Added
Removed
  • XMLIO_SERVER/trunk/src/XMLIO/mod_parse_xml.f90

    r17 r26  
    2828    CHARACTER(len=100) :: node_name 
    2929      
    30      IF (hasChildNodes(root)) THEN 
     30    IF (hasChildNodes(root)) THEN 
    3131      child_list => getChildnodes(root) 
    3232 
     
    3838           
    3939           CASE ('simulation')  
    40              CALL parsing_definition(child_node) 
     40             CALL parsing_simulation(child_node) 
    4141 
    4242           CASE DEFAULT 
     
    4545               CALL Warning("mod_parse_xml:parsing_root") 
    4646             ENDIF 
     47        END SELECT 
     48      ENDDO 
     49    ENDIF 
     50              
     51  END SUBROUTINE parsing_root 
     52 
     53  SUBROUTINE parsing_simulation(root) 
     54  IMPLICIT NONE 
     55    TYPE(fnode), POINTER :: root 
     56    TYPE(fnode), POINTER :: child_node 
     57    TYPE(fnodeList), POINTER :: child_list 
     58 
     59    INTEGER :: il 
     60    CHARACTER(len=100) :: node_name 
     61      
     62     IF (hasChildNodes(root)) THEN 
     63      child_list => getChildnodes(root) 
     64 
     65      DO il=0,getLength(child_list)-1 
     66        child_node => item(child_list,il) 
     67        node_name=getNodename(child_node) 
     68           
     69        SELECT CASE (TRIM(node_name))  
     70           
     71           CASE ('context')  
     72             CALL parsing_context(child_node) 
     73 
     74           CASE DEFAULT 
     75             IF (is_bad_node(node_name)) THEN 
     76               WRITE(message,*) 'Unknown node <<',TRIM(node_name),'>> while parsing simulation' 
     77               CALL Warning("mod_parse_xml:parsing_simulationt") 
     78             ENDIF 
    4779         END SELECT 
    4880        
     
    5082    ENDIF 
    5183              
    52   END SUBROUTINE parsing_root 
    53  
    54  
    55   SUBROUTINE parsing_definition(root) 
     84  END SUBROUTINE parsing_simulation 
     85 
     86  SUBROUTINE parsing_context(node) 
     87  USE mod_context 
    5688  USE mod_axis_definition 
    5789  USE mod_grid_definition 
    5890  USE mod_field_definition 
    5991  USE mod_file_definition 
    60    
    61   IMPLICIT NONE 
    62     TYPE(fnode), POINTER :: root 
    63     TYPE(fnode), POINTER :: child_node 
     92  IMPLICIT NONE   
     93    TYPE(fnode), POINTER         :: node 
     94     
     95    TYPE(fnode), POINTER     :: child_node 
    6496    TYPE(fnodeList), POINTER :: child_list 
    65  
    66     INTEGER :: il 
    67     CHARACTER(len=100) :: node_name 
    68  
    69     IF (hasChildNodes(root)) THEN 
    70       child_list => getChildnodes(root) 
     97    TYPE(axis),POINTER       :: attribute 
     98    LOGICAL                  :: is_root 
     99    INTEGER :: il 
     100    CHARACTER(len=100) :: node_name 
     101    CHARACTER(len=100) :: value 
     102     
     103    IF (is_attribute_exist(node,"id")) THEN 
     104      value=getAttribute(node,"id") 
     105      CALL context__create(TRIM(value))   
     106      CALL context__swap(TRIM(value)) 
     107    ENDIF 
     108     
     109    IF (hasChildNodes(node)) THEN 
     110      child_list => getChildnodes(node) 
     111 
    71112      DO il=0,getLength(child_list)-1 
    72113        child_node => item(child_list,il) 
    73114        node_name=getNodename(child_node) 
    74            
     115         
    75116        SELECT CASE (TRIM(node_name))  
    76117           
     
    89130           CASE DEFAULT 
    90131             IF (is_bad_node(node_name)) THEN 
    91                WRITE(message,*) 'Unknown node <<',TRIM(node_name),'>> while parsing definition' 
    92                CALL Warning("mod_parse_xml:parsing_definition") 
     132               WRITE(message,*) 'Unknown node <<',TRIM(node_name),'>> while parsing context' 
     133               CALL Warning("mod_parse_xml:parsing_context") 
    93134             ENDIF    
    94          END SELECT 
    95         
    96        ENDDO 
    97     ENDIF 
    98      
    99   END SUBROUTINE parsing_definition 
    100   
    101  
    102  
    103  
    104  
    105    
     135        END SELECT 
     136      ENDDO 
     137 
     138    ENDIF 
     139 
     140  END SUBROUTINE parsing_context 
     141 
     142 
    106143  RECURSIVE SUBROUTINE parsing_axis_group(node,parent,root) 
    107144  USE mod_axis_definition 
     
    493530 
    494531  END SUBROUTINE parsing_field_attribute  
    495    
    496    
    497    
    498532 
    499533 
Note: See TracChangeset for help on using the changeset viewer.