Ignore:
Timestamp:
Jul 15, 2015, 1:08:35 PM (9 years ago)
Author:
ymipsl
Message:

Redonddant point on the frontier domain are not transfered any more from DYNAMICO to LMDZ

YM

Location:
dynamico_lmdz/aquaplanet/ICOSA_LMDZ/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • dynamico_lmdz/aquaplanet/ICOSA_LMDZ/src/distrib_icosa_lmdz.f90

    r3841 r3852  
    4545      DO j=jj_begin,jj_end
    4646        DO i=ii_begin,ii_end
    47           ij=(j-1)*iim+i
    48           pos_tmp=pos_tmp+1
    49           IF (pos_tmp >= klon_omp_begin .AND. pos_tmp <= klon_omp_end) nindex=nindex+1
     47          IF (domain(ind)%own(i,j)) THEN
     48            pos_tmp=pos_tmp+1
     49            IF (pos_tmp >= klon_omp_begin .AND. pos_tmp <= klon_omp_end) nindex=nindex+1
     50          ENDIF
    5051        ENDDO
    5152      ENDDO
     
    6364          DO i=ii_begin,ii_end
    6465            ij=(j-1)*iim+i
    65             pos=pos+1
    66             IF (pos >= klon_omp_begin .AND. pos <= klon_omp_end) THEN
    67               nindex=nindex+1
    68               distrib_physic(ndomain_distrib)%index(nindex)=ij
     66            IF (domain(ind)%own(i,j)) THEN
     67              pos=pos+1
     68              IF (pos >= klon_omp_begin .AND. pos <= klon_omp_end) THEN
     69                nindex=nindex+1
     70                distrib_physic(ndomain_distrib)%index(nindex)=ij
     71              ENDIF
    6972            ENDIF
    7073          ENDDO
  • dynamico_lmdz/aquaplanet/ICOSA_LMDZ/src/interface_icosa_lmdz.f90

    r3841 r3852  
    22
    33  USE field_mod, ONLY: t_field
    4   USE transfert_mod, ONLY: t_message
     4  USE transfert_mod, ONLY: t_message 
    55 
    66 
    7   TYPE(t_message) :: req_u
     7  TYPE(t_message),SAVE :: req_u
     8  TYPE(t_message),SAVE :: req_dps0, req_dulon0, req_dulat0, req_dTemp0, req_dq0
    89
    910  TYPE(t_field),POINTER,SAVE :: f_p(:)
     
    4849  USE xios_mod
    4950  USE time_mod , init_time_icosa=> init_time
    50 
     51  USE transfert_mod
     52 
    5153! from LMDZ
    5254  USE mod_grid_phy_lmdz, ONLY : unstructured
     
    112114    CALL allocate_field(f_dps,field_t,type_real)
    113115    CALL allocate_field(f_duc,field_t,type_real,3,llm)   
     116
     117    CALL init_message(f_dps,req_i0,req_dps0)
     118    CALL init_message(f_dulon,req_i0,req_dulon0)
     119    CALL init_message(f_dulat,req_i0,req_dulat0)
     120    CALL init_message(f_dTemp,req_i0,req_dTemp0)
     121    CALL init_message(f_dq,req_i0,req_dq0)
    114122!$OMP END PARALLEL   
    115123
     
    117125    DO ind=1,ndomain
    118126      CALL swap_dimensions(ind)
    119       nbp_phys=nbp_phys+ii_nb*jj_nb
     127      DO j=jj_begin,jj_end
     128        DO i=ii_begin,ii_end
     129          IF (domain(ind)%own(i,j)) nbp_phys=nbp_phys+1
     130        ENDDO
     131      ENDDO
    120132    ENDDO
    121133   
     
    392404    ENDIF
    393405
    394     IF(it==itaumax) THEN
     406
     407    IF(it-itau0>=itaumax) THEN
    395408      lafin=.TRUE.
    396409    ELSE
     
    485498    CALL transfer_lmdz_to_icosa(dq_phy   , f_dq )
    486499    CALL transfer_lmdz_to_icosa(dps_phy  , f_dps )
    487 
    488 
     500   
     501    CALL send_message(f_dps,req_dps0)
     502    CALL send_message(f_dulon,req_dulon0)
     503    CALL send_message(f_dulat,req_dulat0)
     504    CALL send_message(f_dTemp,req_dTemp0)
     505    CALL send_message(f_dq,req_dq0)
     506
     507    CALL wait_message(req_dps0)
     508    CALL wait_message(req_dulon0)
     509    CALL wait_message(req_dulat0)
     510    CALL wait_message(req_dTemp0)
     511    CALL wait_message(req_dq0)
    489512
    490513
Note: See TracChangeset for help on using the changeset viewer.