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_field.f90

    r26 r29  
    55  USE mod_axis 
    66  USE mod_grid 
    7      
     7  USE mod_zoom 
     8    
    89  IMPLICIT NONE 
    910 
     
    2526    CHARACTER(len=str_len)         :: grid_ref 
    2627    LOGICAL                        :: has_grid_ref 
     28    CHARACTER(len=str_len)         :: zoom_ref 
     29    LOGICAL                        :: has_zoom_ref 
    2730    INTEGER                        :: level 
    2831    LOGICAL                        :: has_level 
     
    4043    TYPE(grid),POINTER             :: grid 
    4144    LOGICAL                        :: has_grid 
     45    TYPE(zoom),POINTER             :: zoom 
     46    LOGICAL                        :: has_zoom 
    4247    INTEGER                        :: internal(internal_field) 
    4348     
     
    107112   pt_field%has_axis_ref = .FALSE. 
    108113   pt_field%has_grid_ref = .FALSE. 
     114   pt_field%has_zoom_ref = .FALSE. 
    109115   pt_field%has_prec = .FALSE. 
    110116   pt_field%has_level = .FALSE.  
     
    115121   Pt_field%has_axis=.FALSE. 
    116122   Pt_field%has_grid=.FALSE. 
     123   Pt_field%has_zoom=.FALSE. 
    117124       
    118125   IF (PRESENT(Id)) THEN 
     
    126133 
    127134 
    128  SUBROUTINE field__set(p_field, name, ref, description, unit, operation, freq_op, axis_ref, grid_ref, prec, level, enabled) 
     135 SUBROUTINE field__set(p_field, name, ref, description, unit, operation, freq_op, axis_ref, grid_ref, zoom_ref, prec, level, enabled) 
    129136 
    130137    TYPE(field), pointer :: p_field 
     
    137144    CHARACTER(len=*),OPTIONAL :: axis_ref 
    138145    CHARACTER(len=*),OPTIONAL :: grid_ref 
     146    CHARACTER(len=*),OPTIONAL :: zoom_ref 
    139147    INTEGER, OPTIONAL :: prec 
    140148    INTEGER, OPTIONAL :: level 
     
    174182        p_field%has_grid_ref = .TRUE. 
    175183    ENDIF 
     184 
     185    IF (PRESENT(zoom_ref)) THEN 
     186        p_field%zoom_ref=TRIM(ADJUSTL(zoom_ref)) 
     187        p_field%has_zoom_ref = .TRUE. 
     188    ENDIF 
     189 
    176190    IF (PRESENT(prec)) then 
    177191        p_field%prec=prec 
     
    240254    ELSE 
    241255        PRINT *, 'grid_ref undefined ' 
     256    ENDIF 
     257 
     258    IF (pt_field%has_zoom_ref) THEN 
     259        PRINT *, 'zoom_ref : ',TRIM(pt_field%zoom_ref) 
     260    ELSE 
     261        PRINT *, 'zoom_ref undefined ' 
    242262    ENDIF 
    243263     
     
    378398    ELSE 
    379399        pt_field_out%has_grid_ref=.FALSE. 
     400    ENDIF 
     401 
     402    IF (pt_field_in%has_zoom_ref) THEN 
     403        pt_field_out%zoom_ref=pt_field_in%zoom_ref 
     404        pt_field_out%has_zoom_ref=.TRUE. 
     405    ELSE IF ( pt_field_default%has_zoom_ref ) THEN 
     406        pt_field_out%zoom_ref=pt_field_default%zoom_ref 
     407        pt_field_out%has_zoom_ref=.TRUE. 
     408    ELSE 
     409        pt_field_out%has_zoom_ref=.FALSE. 
    380410    ENDIF 
    381411 
     
    526556 END SUBROUTINE field__solve_grid_ref 
    527557    
     558 SUBROUTINE field__solve_zoom_ref(pt_field) 
     559 USE error_msg 
     560 IMPLICIT NONE 
     561   TYPE(field), POINTER :: pt_field 
     562    
     563   IF (.NOT. pt_field%has_zoom_ref) THEN 
     564     IF (pt_field%has_grid_ref) THEN 
     565       pt_field%has_zoom_ref=.TRUE. 
     566       pt_field%zoom_ref=pt_field%grid_ref 
     567     ENDIF 
     568   ENDIF 
     569     
     570   IF (pt_field%has_zoom_ref) THEN 
     571     CALL zoom__get(pt_field%zoom_ref,pt_field%zoom) 
     572     IF (ASSOCIATED(pt_field%zoom)) THEN 
     573       pt_field%has_zoom=.TRUE. 
     574     ELSE 
     575       WRITE (message,*) "The field : id = ",pt_field%id,"  name = ",Pt_field%name,   & 
     576                        " has a unknown reference to zoom : id =",pt_field%zoom_ref 
     577       CALL error("mod_field::field__solve_zoom_ref") 
     578     ENDIF 
     579   ENDIF 
     580    
     581 END SUBROUTINE field__solve_zoom_ref 
    528582 
    529583    
Note: See TracChangeset for help on using the changeset viewer.