Changeset 40 for XMLIO_SERVER/trunk/src/XMLIO/mod_field.f90
- Timestamp:
- 09/17/09 10:02:37 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/XMLIO/mod_field.f90
r35 r40 206 206 END SUBROUTINE field__set 207 207 208 SUBROUTINE field__set_attribut(id,attrib) 209 USE mod_attribut 210 USE mod_field_attribut 211 USE error_msg 212 IMPLICIT NONE 213 CHARACTER(LEN=*),INTENT(IN) :: id 214 TYPE(attribut),INTENT(IN) :: attrib 215 216 TYPE(field),POINTER :: Pt_field 217 INTEGER :: Pos 218 LOGICAL :: success 219 220 CALL sorted_list__find(Ids,hash(Id),Pos,success) 221 IF (success) THEN 222 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') 226 ENDIF 227 228 SELECT CASE(attrib%name) 229 CASE (field__name) 230 IF (attrib%type==string0) CALL field__set(pt_field,name=attrib%string0_ptr) ; RETURN 231 CASE (field__field_ref) 232 IF (attrib%type==string0) CALL field__set(pt_field,ref=attrib%string0_ptr) ; RETURN 233 CASE (field__description) 234 IF (attrib%type==string0) CALL field__set(pt_field,description=attrib%string0_ptr) ; RETURN 235 CASE (field__unit) 236 IF (attrib%type==string0) CALL field__set(pt_field,unit=attrib%string0_ptr) ; RETURN 237 CASE (field__operation) 238 IF (attrib%type==string0) CALL field__set(pt_field,operation=attrib%string0_ptr) ; RETURN 239 CASE (field__freq_op) 240 IF (attrib%type==integer0) CALL field__set(pt_field,freq_op=attrib%integer0_ptr) ; RETURN 241 CASE (field__axis_ref) 242 IF (attrib%type==string0) CALL field__set(pt_field,axis_ref=attrib%string0_ptr) ; RETURN 243 CASE (field__grid_ref) 244 IF (attrib%type==string0) CALL field__set(pt_field,grid_ref=attrib%string0_ptr) ; RETURN 245 CASE (field__zoom_ref) 246 IF (attrib%type==string0) CALL field__set(pt_field,zoom_ref=attrib%string0_ptr) ; RETURN 247 CASE (field__prec) 248 IF (attrib%type==integer0) CALL field__set(pt_field,prec=attrib%integer0_ptr) ; RETURN 249 CASE (field__level) 250 IF (attrib%type==integer0) CALL field__set(pt_field,level=attrib%integer0_ptr) ; RETURN 251 CASE (field__enabled) 252 IF (attrib%type==logical0) CALL field__set(pt_field,enabled=attrib%logical0_ptr) ; RETURN 253 END SELECT 254 255 WRITE(message,*) 'field id ',id,' : Attribute type is incompatible with the provided value' 256 CALL error('mod_field::field__set_attribut') 257 258 END SUBROUTINE field__set_attribut 208 259 209 260 SUBROUTINE field__print(pt_field)
Note: See TracChangeset
for help on using the changeset viewer.