Ignore:
Timestamp:
10/30/09 16:29:39 (15 years ago)
Author:
ymipsl
Message:

Correction bug sur les ids des file_group
+ possibilité de fixer les attributs des groupes à partir de l'ioserver

File:
1 edited

Legend:

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

    r40 r42  
    5050  END TYPE field 
    5151   
     52  INTERFACE field__set_attribut 
     53    MODULE PROCEDURE field__set_attribut_id,field__set_attribut_pt 
     54  END INTERFACE 
     55   
    5256  INCLUDE 'vector_field_def.inc' 
    5357   
     
    206210  END SUBROUTINE field__set 
    207211 
    208   SUBROUTINE field__set_attribut(id,attrib) 
     212  SUBROUTINE field__set_attribut_id(id,attrib,Ok) 
    209213  USE mod_attribut 
    210214  USE mod_field_attribut 
    211215  USE error_msg 
    212216  IMPLICIT NONE 
    213     CHARACTER(LEN=*),INTENT(IN) :: id 
    214     TYPE(attribut),INTENT(IN) :: attrib 
    215  
     217    CHARACTER(LEN=*),INTENT(IN)   :: id 
     218    TYPE(attribut),INTENT(IN)     :: attrib 
     219    LOGICAL,OPTIONAL,INTENT(out)  :: Ok 
     220     
    216221    TYPE(field),POINTER             :: Pt_field 
    217222    INTEGER                         :: Pos 
     
    221226    IF (success) THEN 
    222227      Pt_field=>field_ids%at(Pos)%Pt 
    223     ELSE 
    224       WRITE(message,*) 'Field id :',id,'is undefined' 
    225       CALL error('mod_field::field__set_attribut') 
     228      CALL field__set_attribut(Pt_field,attrib) 
     229      IF (PRESENT(OK)) ok=.TRUE. 
     230    ELSE 
     231      IF (.NOT.PRESENT(OK)) THEN 
     232        WRITE(message,*) 'Field id :',id,'is undefined' 
     233        CALL error('mod_field::field__set_attribut') 
     234      ELSE 
     235        OK=.FALSE. 
     236      ENDIF 
    226237    ENDIF   
    227      
     238  END SUBROUTINE field__set_attribut_id 
     239 
     240     
     241  SUBROUTINE field__set_attribut_pt(pt_field,attrib) 
     242  USE mod_attribut 
     243  USE mod_field_attribut 
     244  USE error_msg 
     245  IMPLICIT NONE 
     246    TYPE(field),POINTER             :: Pt_field 
     247    TYPE(attribut),INTENT(IN) :: attrib 
     248 
    228249    SELECT CASE(attrib%name) 
    229250      CASE (field__name) 
     
    253274     END SELECT 
    254275 
    255      WRITE(message,*) 'field id ',id,' : Attribute type is incompatible with the provided value' 
     276     WRITE(message,*) 'field attribut ',attrib%name,' : type :',attrib%type,' : Attribute type is incompatible with the provided value' 
    256277     CALL error('mod_field::field__set_attribut') 
    257278     
    258   END SUBROUTINE field__set_attribut     
     279  END SUBROUTINE field__set_attribut_pt     
    259280 
    260281  SUBROUTINE field__print(pt_field) 
Note: See TracChangeset for help on using the changeset viewer.