Ignore:
Timestamp:
11/21/18 17:16:13 (5 years ago)
Author:
yushan
Message:

branch_openmp merged and tested with trunk r1597

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/src/test/test_remap_omp.f90

    r1604 r1608  
    1717  TYPE(xios_context) :: ctx_hdl 
    1818 
    19   DOUBLE PRECISION,ALLOCATABLE :: src_lon(:), dst_lon(:), src_lon_tmp(:) 
    20   DOUBLE PRECISION,ALLOCATABLE :: src_lat(:), dst_lat(:), src_lat_tmp(:) 
     19  DOUBLE PRECISION,ALLOCATABLE :: src_lon(:), dst_lon(:) 
     20  DOUBLE PRECISION,ALLOCATABLE :: src_lat(:), dst_lat(:) 
    2121  DOUBLE PRECISION,ALLOCATABLE :: src_boundslon(:,:), dst_boundslon(:,:) 
    2222  DOUBLE PRECISION,ALLOCATABLE :: src_boundslat(:,:), dst_boundslat(:,:) 
    23   DOUBLE PRECISION,ALLOCATABLE :: src_field_2D(:), src_field_2D_clone(:) 
     23  DOUBLE PRECISION,ALLOCATABLE :: src_field_2D(:) 
    2424  DOUBLE PRECISION,ALLOCATABLE :: tmp_field_0(:), tmp_field_1(:), tmp_field_2(:) 
    2525  DOUBLE PRECISION,ALLOCATABLE :: src_field_3D(:,:), src_field_4D(:,:,:), lval(:), lval1(:), lval2(:), src_field_pression(:,:) 
     
    3737  INTEGER :: varid 
    3838  INTEGER :: ts 
    39   INTEGER :: i,j 
     39  INTEGER :: i 
    4040  INTEGER,PARAMETER :: llm=5, interpolatedLlm = 4, llm2 = 6 
    4141  DOUBLE PRECISION, PARAMETER :: missing_value = 100000 
     
    8383  ENDIF 
    8484 
    85   ALLOCATE(src_lon(src_ni), src_lon_tmp(src_ni)) 
    86   ALLOCATE(src_lat(src_ni), src_lat_tmp(src_ni)) 
     85  ALLOCATE(src_lon(src_ni)) 
     86  ALLOCATE(src_lat(src_ni)) 
    8787  ALLOCATE(src_boundslon(src_nvertex,src_ni)) 
    8888  ALLOCATE(src_boundslat(src_nvertex,src_ni)) 
    89   ALLOCATE(src_field_2D(src_ni), src_field_2D_clone(src_ni)) 
     89  ALLOCATE(src_field_2D(src_ni)) 
    9090  ALLOCATE(src_field_3D(src_ni,llm)) 
    9191  ALLOCATE(src_field_4D(src_ni,llm,llm2)) 
     
    111111  DO i=1,src_ni 
    112112    src_field_3D(i,:) = src_field_2D(i) 
    113     IF ((0 < src_lat(i)) .AND. (src_lat(i) < 25.5) .AND. (30 < src_lon(i)) .AND. (src_lon(i) < 60)) THEN 
     113    IF (MOD(i,10)==0) THEN 
    114114      src_mask_2D(i)=.FALSE. 
    115       ! src_field_2D(i) = missing_value 
    116115    ELSE 
    117       src_mask_2D(i)=.TRUE.       
     116      src_mask_2D(i)=.TRUE. 
    118117    ENDIF 
    119     src_lon_tmp(i) = src_lon(i) + 1000 
    120     src_lat_tmp(i) = src_lat(i) + 10000 
    121   ENDDO 
    122   src_field_2D_clone = src_field_2D 
     118  ENDDO 
    123119 
    124120  DO i=1,llm 
    125121    lval(i) = i*100 
    126122    src_field_pression(:,i) = i * 100 
    127     IF (MOD(i,3)==0) THEN 
    128       ! src_field_pression(:,i) = missing_value 
    129       src_field_3D(:,i) = missing_value 
    130     ELSE 
    131       ! src_field_pression(:,i) = i * 100 
    132       src_field_3D(:,i) = src_field_3D(:,i) + i * 10  
    133     ENDIF 
    134     ! src_field_3D(:,i) = src_field_3D(:,i) + i * 10     
     123    src_field_3D(:,i) = src_field_3D(:,i) + i * 10     
    135124  ENDDO 
    136125 
    137126  DO i=1,llm2 
    138     src_field_4D(:,:,i) = src_field_3D(:,:) + i * 100 
     127    src_field_4D(:,:,i) = src_field_3D(:,:) 
    139128  ENDDO 
    140129 
     
    206195                            bounds_lon_1D=dst_boundslon, bounds_lat_1D=dst_boundslat, nvertex=dst_nvertex) 
    207196 
    208   !CALL xios_set_domain_attr("src_domain_unstructured_read", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured") 
    209   !CALL xios_set_domain_attr("src_domain_unstructured_read", lonvalue_1D=src_lon_tmp, latvalue_1D=src_lat_tmp, & 
    210   !                          bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex) 
    211  
    212  
    213197  dtime%second = 3600 
    214198  CALL xios_set_timestep(dtime) 
     
    226210  !CALL xios_get_domain_attr("src_domain_unstructured_read", ni=src_tmp_ni, nj=src_tmp_nj) 
    227211  !ALLOCATE(tmp_field_2(src_tmp_ni*src_tmp_nj)) 
    228    
     212 
    229213  DO ts=1,1 
    230214    CALL xios_recv_field("src_field_regular", tmp_field_0) 
     
    232216    !CALL xios_recv_field("src_field_unstructured", tmp_field_2) 
    233217    CALL xios_update_calendar(ts) 
    234      
    235     !DO i=1,src_ni 
    236     !  src_field_2D_clone(i) = src_field_2D(i) 
    237     !  IF ((23.5 * ts < src_lat(i)) .AND. (src_lat(i) < 65.5 *ts) .AND. (0 < src_lon(i)) .AND. (src_lon(i) < 30*ts)) THEN       
    238     !    src_field_2D_clone(i) = missing_value     
    239     !  ENDIF 
    240     !ENDDO 
    241  
    242218    CALL xios_send_field("src_field_2D",src_field_2D) 
    243219    CALL xios_send_field("src_field_2D_clone",src_field_2D) 
     
    255231  DEALLOCATE(src_lon, src_lat, src_boundslon,src_boundslat, src_field_2D) 
    256232  DEALLOCATE(dst_lon, dst_lat, dst_boundslon,dst_boundslat) 
    257   DEALLOCATE(tmp_field_0) 
    258   !DEALLOCATE(tmp_field_1) 
    259   !DEALLOCATE(tmp_field_2) 
    260    
    261   CALL xios_finalize() 
    262    
    263   print *, "Client : xios_finalize ", rank 
    264  
     233  ! DEALLOCATE(tmp_field_0, tmp_field_1, tmp_field_2) 
     234   
     235  CALL xios_finalize()  
     236  print *, "Client : xios_finalize OK", rank, size 
     237   
    265238  !$omp barrier 
    266239 
     
    290263 
    291264 
     265 
Note: See TracChangeset for help on using the changeset viewer.