#ifdef CPP_PARA MODULE lmdz_gr_fi_dyn_p IMPLICIT NONE PRIVATE PUBLIC gr_fi_dyn_p CONTAINS SUBROUTINE gr_fi_dyn_p(nfield, ngrid, im, jm, pfi, pdyn) ! Interface with parallel physics, USE mod_interface_dyn_phys USE dimphy USE parallel_lmdz IMPLICIT NONE !======================================================================= ! passage d'un champ de la grille scalaire a la grille physique !======================================================================= INTEGER im, jm, ngrid, nfield REAL pdyn(im, jm, nfield) REAL pfi(ngrid, nfield) INTEGER i, j, ifield, ig !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) DO ifield=1,nfield DO ig=1,klon i=index_i(ig) j=index_j(ig) pdyn(i,j,ifield)=pfi(ig,ifield) IF (i==1) pdyn(im,j,ifield)=pdyn(i,j,ifield) ENDDO ! traitement des poles IF (pole_nord) THEN DO i=1,im pdyn(i,1,ifield)=pdyn(1,1,ifield) ENDDO ENDIF IF (pole_sud) THEN DO i=1,im pdyn(i,jm,ifield)=pdyn(1,jm,ifield) ENDDO ENDIF ENDDO !$OMP END DO NOWAIT END END MODULE lmdz_gr_fi_dyn_p #endif