Changeset 40 for XMLIO_SERVER/trunk/src/XMLIO/mod_file.f90
- Timestamp:
- 09/17/09 10:02:37 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/XMLIO/mod_file.f90
r26 r40 10 10 CHARACTER(len=str_len) :: name 11 11 LOGICAL :: has_name 12 CHARACTER(len=str_len) :: name_suffix 13 LOGICAL :: has_name_suffix 12 14 CHARACTER(len=str_len) :: description 13 15 LOGICAL :: has_description … … 79 81 pt_file%has_id = .FALSE. 80 82 pt_file%has_name = .FALSE. 83 pt_file%has_name_suffix = .FALSE. 81 84 pt_file%has_description = .FALSE. 82 85 pt_file%has_output_freq = .FALSE. … … 93 96 END SUBROUTINE file__new 94 97 95 SUBROUTINE file__set(pt_file, name, description, output_freq, output_level,enabled)98 SUBROUTINE file__set(pt_file, name, name_suffix, description, output_freq, output_level,enabled) 96 99 IMPLICIT NONE 97 100 TYPE(file), POINTER :: pt_file 98 101 CHARACTER(len=*) ,OPTIONAL :: name 102 CHARACTER(len=*) ,OPTIONAL :: name_suffix 99 103 CHARACTER(len=*) ,OPTIONAL :: description 100 104 INTEGER ,OPTIONAL :: output_freq … … 107 111 ENDIF 108 112 113 IF (PRESENT(name_suffix)) THEN 114 pt_file%name_suffix=TRIM(ADJUSTL(name_suffix)) 115 pt_file%has_name_suffix = .TRUE. 116 ENDIF 117 109 118 IF (PRESENT(description)) THEN 110 119 pt_file%description=TRIM(ADJUSTL(description)) … … 129 138 END SUBROUTINE file__set 130 139 140 SUBROUTINE file__set_attribut(id,attrib) 141 USE mod_attribut 142 USE mod_file_attribut 143 USE error_msg 144 IMPLICIT NONE 145 CHARACTER(LEN=*),INTENT(IN) :: id 146 TYPE(attribut),INTENT(IN) :: attrib 147 148 TYPE(file),POINTER :: Pt_file 149 INTEGER :: Pos 150 LOGICAL :: success 151 152 CALL sorted_list__find(Ids,hash(Id),Pos,success) 153 IF (success) THEN 154 Pt_file=>file_ids%at(Pos)%Pt 155 ELSE 156 WRITE(message,*) 'File id :',id,'is undefined' 157 CALL error('mod_file::file__set_attribut') 158 ENDIF 159 160 SELECT CASE(attrib%name) 161 CASE (file__name) 162 IF (attrib%type==string0) CALL file__set(pt_file,name=attrib%string0_ptr) ; RETURN 163 CASE (file__name_suffix) 164 IF (attrib%type==string0) CALL file__set(pt_file,name_suffix=attrib%string0_ptr) ; RETURN 165 CASE (file__description) 166 IF (attrib%type==string0) CALL file__set(pt_file,description=attrib%string0_ptr) ; RETURN 167 CASE (file__output_freq) 168 IF (attrib%type==integer0) CALL file__set(pt_file,output_freq=attrib%integer0_ptr) ; RETURN 169 CASE (file__output_level) 170 IF (attrib%type==integer0) CALL file__set(pt_file,output_level=attrib%integer0_ptr) ; RETURN 171 CASE (file__enabled) 172 IF (attrib%type==logical0) CALL file__set(pt_file,enabled=attrib%logical0_ptr) ; RETURN 173 END SELECT 174 175 WRITE(message,*) 'file id ',id,' : Attribute type is incompatible with the provided value' 176 CALL error('mod_file::file__set_attribut') 177 178 END SUBROUTINE file__set_attribut 179 180 131 181 SUBROUTINE file__get_field_list(pt_file,pt_field_list) 132 182 IMPLICIT NONE … … 153 203 ELSE 154 204 PRINT *,"name undefined" 205 ENDIF 206 207 IF (pt_file%has_name_suffix) THEN 208 PRINT *,"name_suffix = ",TRIM(pt_file%name_suffix) 209 ELSE 210 PRINT *,"name_suffix undefined" 155 211 ENDIF 156 212 … … 199 255 ELSE 200 256 pt_file_out%has_name=.FALSE. 257 ENDIF 258 259 IF (pt_file_in%has_name_suffix) THEN 260 pt_file_out%name_suffix=pt_file_in%name_suffix 261 pt_file_out%has_name_suffix=.TRUE. 262 ELSE IF ( pt_file_default%has_name_suffix) THEN 263 pt_file_out%name_suffix=pt_file_default%name_suffix 264 pt_file_out%has_name_suffix=.TRUE. 265 ELSE 266 pt_file_out%has_name_suffix=.FALSE. 201 267 ENDIF 202 268
Note: See TracChangeset
for help on using the changeset viewer.