- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_SERVER/trunk/src/XMLIO/mod_dependency.f90
r17 r29 5 5 USE mod_axis 6 6 USE mod_sorted_list 7 USE mod_zoom 7 8 8 9 TYPE file_dep … … 11 12 TYPE(vector_field),POINTER :: fields 12 13 TYPE(vector_grid),POINTER :: grids 14 TYPE(vector_zoom),POINTER :: zooms 13 15 TYPE(vector_axis),POINTER :: axis 14 16 END TYPE file_dep … … 26 28 TYPE(axis), POINTER :: axis 27 29 TYPE(grid), POINTER :: grid 30 TYPE(zoom), POINTER :: zoom 28 31 END TYPE field_out 29 32 … … 32 35 INCLUDE 'vector_field_out_def.inc' 33 36 34 TYPE(vector_file_dep),POINTER :: file_enabled35 TYPE(vector_field_out),POINTER :: field_enabled36 TYPE(vector_field_dep),POINTER :: field_id37 TYPE(vector_file_dep),POINTER,SAVE :: file_enabled 38 TYPE(vector_field_out),POINTER,SAVE :: field_enabled 39 TYPE(vector_field_dep),POINTER,SAVE :: field_id 37 40 38 41 39 TYPE(sorted_list),POINTER :: sorted_id42 TYPE(sorted_list),POINTER,SAVE :: sorted_id 40 43 41 44 CONTAINS … … 45 48 INCLUDE 'vector_field_out_contains.inc' 46 49 50 51 SUBROUTINE dependency__swap_context(saved_file_enabled,saved_field_enabled,save_field_id,saved_sorted_id) 52 IMPLICIT NONE 53 TYPE(vector_file_dep),POINTER :: saved_file_enabled 54 TYPE(vector_field_out),POINTER :: saved_field_enabled 55 TYPE(vector_field_dep),POINTER :: save_field_id 56 TYPE(sorted_list),POINTER :: saved_sorted_id 57 58 file_enabled=>saved_file_enabled 59 field_enabled=>saved_field_enabled 60 field_id=>save_field_id 61 sorted_id=>saved_sorted_id 62 63 END SUBROUTINE dependency__swap_context 64 47 65 SUBROUTINE set_dependency 48 66 IMPLICIT NONE … … 67 85 TYPE (sorted_list),POINTER :: sorted_axis 68 86 TYPE (sorted_list),POINTER :: sorted_grid 87 TYPE (sorted_list),POINTER :: sorted_zoom 69 88 INTEGER :: i 70 89 INTEGER :: j … … 72 91 ALLOCATE(sorted_axis) 73 92 ALLOCATE(sorted_grid) 93 ALLOCATE(sorted_zoom) 74 94 75 95 IF (PRESENT(Pt_file_group)) THEN 76 96 Pt_fg=>Pt_file_group 77 97 ELSE 78 ALLOCATE(file_enabled)79 98 CALL vector_file_dep__new(file_enabled) 80 99 Pt_fg=>file_definition … … 92 111 ALLOCATE(Pt_file_dep%fields) 93 112 ALLOCATE(Pt_file_dep%grids) 113 ALLOCATE(Pt_file_dep%zooms) 94 114 ALLOCATE(Pt_file_dep%axis) 95 115 pt_file_dep%file=>pt_file … … 97 117 CALL vector_field__new(Pt_file_dep%fields) 98 118 CALL vector_grid__new(Pt_file_dep%grids) 119 CALL vector_zoom__new(Pt_file_dep%zooms) 99 120 CALL vector_axis__new(Pt_file_dep%axis) 100 121 CALL sorted_list__new(sorted_axis) 101 122 CALL sorted_list__new(sorted_grid) 123 CALL sorted_list__new(sorted_zoom) 102 124 103 125 CALL Treat_field_group(pt_file%field_list) … … 105 127 CALL sorted_list__delete(sorted_axis) 106 128 CALL sorted_list__delete(sorted_grid) 129 CALL sorted_list__delete(sorted_zoom) 107 130 ENDIF 108 131 ENDDO … … 138 161 CALL vector_grid__set_new(pt_file_dep%grids,Pt_field%grid,pos) 139 162 CALL sorted_list__add(sorted_grid,hash(Pt_field%grid%id),pos) 163 ENDIF 164 ENDIF 165 166 IF (Pt_field%has_zoom) THEN 167 CALL sorted_list__find(sorted_zoom,hash(Pt_field%zoom%id),pos,found) 168 IF (.NOT. found) THEN 169 CALL vector_zoom__set_new(pt_file_dep%zooms,Pt_field%zoom,pos) 170 CALL sorted_list__add(sorted_zoom,hash(Pt_field%zoom%id),pos) 140 171 ENDIF 141 172 ENDIF … … 161 192 INTEGER :: j 162 193 163 ALLOCATE(field_enabled)164 194 CALL vector_field_out__new(field_enabled) 165 195 … … 172 202 pt_field_out%axis=>pt_field_out%field%axis 173 203 pt_field_out%grid=>pt_field_out%field%grid 204 pt_field_out%zoom=>pt_field_out%field%zoom 174 205 ENDDO 175 206 ENDDO … … 189 220 INTEGER :: i 190 221 191 ALLOCATE(field_id)192 222 CALL vector_field_dep__new(field_id) 193 194 ALLOCATE(sorted_id)195 223 CALL sorted_list__new(sorted_id) 196 224
Note: See TracChangeset
for help on using the changeset viewer.