Ignore:
Timestamp:
05/24/17 16:59:40 (7 years ago)
Author:
yushan
Message:

save modif

File:
1 edited

Legend:

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

    r1141 r1146  
    5252  if(rank < size-2) then 
    5353 
    54   !$omp parallel default(private) 
     54  !$omp parallel default(firstprivate)  
    5555 
    5656!!! XIOS Initialization (get the local communicator) 
     
    6060  CALL MPI_COMM_SIZE(comm,size,ierr) 
    6161 
     62   
     63  !$omp critical (open_file) 
    6264  ierr=NF90_OPEN(src_file, NF90_NOWRITE, ncid) 
     65  !$omp end critical (open_file) 
     66 
    6367  ierr=NF90_INQ_VARID(ncid,"bounds_lon",varid) 
    6468  ierr=NF90_INQUIRE_VARIABLE(ncid, varid,dimids=dimids) 
     
    134138  ENDDO 
    135139 
     140  !$omp critical (open_file) 
    136141  ierr=NF90_OPEN(dst_file, NF90_NOWRITE, ncid) 
     142  !$omp end critical (open_file) 
     143 
     144   
    137145  ierr=NF90_INQ_VARID(ncid,"bounds_lon",varid) 
    138146  ierr=NF90_INQUIRE_VARIABLE(ncid, varid,dimids=dimids) 
     
    168176  CALL xios_get_handle("test",ctx_hdl) 
    169177  CALL xios_set_current_context(ctx_hdl) 
    170  
     178   
    171179  CALL xios_set_domain_attr("src_domain", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured") 
    172180  CALL xios_set_domain_attr("src_domain", lonvalue_1D=src_lon, latvalue_1D=src_lat, & 
     
    189197                            bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex) 
    190198 
    191  
    192199  dtime%second = 3600 
    193200   
     
    195202 
    196203  CALL xios_close_context_definition() 
    197   CALL xios_get_domain_attr("src_domain_regular_read", ni=src_tmp_ni, nj=src_tmp_nj) 
    198   ALLOCATE(tmp_field_0(src_tmp_ni*src_tmp_nj)) 
    199  
    200   CALL xios_get_axis_attr("src_axis_curvilinear_read", n=src_tmp_n) 
    201   CALL xios_get_domain_attr("src_domain_curvilinear_read", ni=src_tmp_ni, nj=src_tmp_nj) 
    202   ALLOCATE(tmp_field_1(src_tmp_ni*src_tmp_nj*src_tmp_n)) 
    203  
    204   CALL xios_get_domain_attr("src_domain_unstructured_read", ni=src_tmp_ni, nj=src_tmp_nj) 
    205   ALLOCATE(tmp_field_2(src_tmp_ni*src_tmp_nj)) 
    206    
    207   CALL xios_recv_field("src_field_regular", tmp_field_0) 
    208   CALL xios_recv_field("src_field_curvilinear", tmp_field_1) 
    209   CALL xios_recv_field("src_field_unstructured", tmp_field_2) 
    210  
    211   DO ts=1,10 
    212     CALL xios_update_calendar(ts) 
    213     CALL xios_send_field("src_field_2D",src_field_2D) 
    214      
    215     DO i=1,src_ni 
    216       src_field_2D_clone(i) = src_field_2D(i) 
    217       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       
    218         src_field_2D_clone(i) = missing_value     
    219       ENDIF 
    220     ENDDO 
    221  
    222     CALL xios_send_field("src_field_2D_clone",src_field_2D_clone) 
    223     CALL xios_send_field("src_field_3D",src_field_3D) 
    224     CALL xios_send_field("src_field_3D_clone",src_field_3D) 
    225     CALL xios_send_field("src_field_4D",src_field_4D) 
    226     CALL xios_send_field("src_field_3D_pression",src_field_pression) 
    227     CALL xios_send_field("tmp_field_0",tmp_field_0) 
    228     CALL xios_send_field("tmp_field_1",tmp_field_1) 
    229     CALL xios_send_field("tmp_field_2",tmp_field_2) 
    230     CALL wait_us(5000) ; 
    231    ENDDO 
    232  
     204   
    233205  CALL xios_context_finalize() 
    234  
    235   DEALLOCATE(src_lon, src_lat, src_boundslon,src_boundslat, src_field_2D) 
    236   DEALLOCATE(dst_lon, dst_lat, dst_boundslon,dst_boundslat) 
    237   DEALLOCATE(tmp_field_0, tmp_field_1, tmp_field_2) 
    238  
    239    
    240  
     206   
    241207  CALL xios_finalize() 
    242208   
Note: See TracChangeset for help on using the changeset viewer.