Ignore:
Timestamp:
04/15/09 17:34:38 (15 years ago)
Author:
ymipsl
Message:

New Features :

  • Les zoom sont maintenant utilisables.
  • Lorsqu'un serveur ne sort pas de données dans un fichier, le fichier n'est pas crée.
  • Lorsqu'un serveur est le seul a sortir un fichier, l'indexation par numero de process est supprimé.
  • Les axes verticaux ont maintenant un attribut << positive [TRUE/FALSE]>>
File:
1 edited

Legend:

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

    r26 r29  
    33  USE mod_sorted_list 
    44  USE mod_domain 
     5  USE mod_zoom 
     6 
    57  IMPLICIT NONE 
    68 
     
    1921    INTEGER                     :: nj 
    2022    LOGICAL                     :: has_dimension 
     23    TYPE(vector_zoom),POINTER   :: associated_zoom 
     24    TYPE(zoom),POINTER          :: global_zoom 
    2125  END TYPE grid 
    2226 
     
    7579   ALLOCATE(pt_grid%subdomain) 
    7680   ALLOCATE(pt_grid%rank_ids) 
     81   ALLOCATE(pt_grid%associated_zoom) 
     82    
    7783   CALL domain__new(pt_grid%domain) 
    7884   CALL vector_domain__new(pt_grid%subdomain) 
    7985   CALL sorted_list__new(pt_grid%rank_ids) 
     86   CALL vector_zoom__new(pt_grid%associated_zoom) 
    8087    
    8188   pt_grid%has_id          = .FALSE. 
     
    9097     CALL sorted_list__Add(Ids,hash(id),Pos) 
    9198   ENDIF 
     99    
     100   CALL grid__get_new_zoom(pt_grid,pt_grid%global_zoom,id) 
    92101 
    93102 END SUBROUTINE grid__new 
     
    160169    TYPE(grid), POINTER  :: pt_grid 
    161170    TYPE(domain),POINTER :: subdomain 
     171    TYPE(zoom),POINTER :: pt_zoom 
    162172     
    163173    REAL,ALLOCATABLE :: lon(:,:) 
    164174    REAL,ALLOCATABLE :: lat(:,:) 
    165     INTEGER :: ib,ie,jb,je,ni,nj,ibegin,jbegin 
     175    INTEGER :: ib,ie,jb,je,ni,nj,ibegin,jbegin,iend,jend 
    166176    INTEGER :: i 
    167177     
     
    203213       
    204214      CALL domain__set(pt_grid%domain,0,ni,nj,ibegin,jbegin,lon,lat) 
    205  
    206        
     215      iend=ibegin+ni-1 
     216      jend=jbegin+nj-1 
     217       
     218       
     219      pt_grid%global_zoom%ni_glo=pt_grid%ni 
     220      pt_grid%global_zoom%nj_glo=pt_grid%nj 
     221      pt_grid%global_zoom%ibegin_glo=1       
     222      pt_grid%global_zoom%jbegin_glo=1 
     223       
     224      DO i=1,pt_grid%associated_zoom%size 
     225        pt_zoom=>pt_grid%associated_zoom%at(i)%pt 
     226         
     227        ib=MAX(pt_zoom%ibegin_glo-ibegin+1,1) 
     228        ie=MIN(pt_zoom%ibegin_glo+pt_zoom%ni_glo-ibegin,ni) 
     229        pt_zoom%ni_loc=MAX(ie-ib+1,0) 
     230        pt_zoom%ibegin_loc=ib 
     231 
     232        jb=MAX(pt_zoom%jbegin_glo-jbegin+1,1) 
     233        je=MIN(pt_zoom%jbegin_glo+pt_zoom%nj_glo-jbegin,nj) 
     234        pt_zoom%nj_loc=MAX(je-jb+1,0) 
     235        pt_zoom%jbegin_loc=jb 
     236      ENDDO 
     237                  
     238             
    207239      DEALLOCATE(lon) 
    208240      DEALLOCATE(lat) 
     
    211243       
    212244             
    213          
     245  SUBROUTINE grid__get_new_zoom(pt_grid,pt_zoom,zoom_id) 
     246  USE string_function 
     247  IMPLICIT NONE 
     248    TYPE(grid), POINTER                      :: pt_grid 
     249    TYPE(zoom),POINTER                       :: pt_zoom 
     250    CHARACTER(LEN=*),INTENT(IN),OPTIONAL     :: zoom_id 
     251    LOGICAL                                  :: success 
     252     
     253     CALL vector_zoom__get_new(pt_grid%associated_zoom,Pt_zoom) 
     254     CALL zoom__new(Pt_zoom,zoom_id) 
     255     
     256   END SUBROUTINE grid__get_new_zoom 
     257      
    214258  SUBROUTINE grid__print(pt_grid) 
    215259  IMPLICIT NONE 
Note: See TracChangeset for help on using the changeset viewer.