Changeset 5246 for LMDZ6/trunk/libf/dynphy_lonlat/gr_fi_dyn_p.F90
- Timestamp:
- Oct 21, 2024, 2:58:45 PM (23 hours ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dynphy_lonlat/gr_fi_dyn_p.F90
r5245 r5246 2 2 ! $Id$ 3 3 ! 4 4 SUBROUTINE gr_fi_dyn_p(nfield,ngrid,im,jm,pfi,pdyn) 5 5 #ifdef CPP_PARA 6 ! Interface with parallel physics,7 8 9 10 11 c=======================================================================12 cpassage d'un champ de la grille scalaire a la grille physique13 c=======================================================================6 ! Interface with parallel physics, 7 USE mod_interface_dyn_phys 8 USE dimphy 9 USE parallel_lmdz 10 IMPLICIT NONE 11 !======================================================================= 12 ! passage d'un champ de la grille scalaire a la grille physique 13 !======================================================================= 14 14 15 c-----------------------------------------------------------------------16 cdeclarations:17 c-------------15 !----------------------------------------------------------------------- 16 ! declarations: 17 ! ------------- 18 18 19 INTEGERim,jm,ngrid,nfield20 REALpdyn(im,jm,nfield)21 REALpfi(ngrid,nfield)19 INTEGER :: im,jm,ngrid,nfield 20 REAL :: pdyn(im,jm,nfield) 21 REAL :: pfi(ngrid,nfield) 22 22 23 INTEGERi,j,ifield,ig23 INTEGER :: i,j,ifield,ig 24 24 25 c-----------------------------------------------------------------------26 ccalcul:27 c-------28 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)29 25 !----------------------------------------------------------------------- 26 ! calcul: 27 ! ------- 28 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 29 DO ifield=1,nfield 30 30 31 32 33 34 35 36 31 do ig=1,klon 32 i=index_i(ig) 33 j=index_j(ig) 34 pdyn(i,j,ifield)=pfi(ig,ifield) 35 if (i==1) pdyn(im,j,ifield)=pdyn(i,j,ifield) 36 enddo 37 37 38 ctraitement des poles39 40 41 42 43 44 45 46 47 48 49 50 51 52 c$OMP END DO NOWAIT38 ! traitement des poles 39 if (pole_nord) then 40 do i=1,im 41 pdyn(i,1,ifield)=pdyn(1,1,ifield) 42 enddo 43 endif 44 45 if (pole_sud) then 46 do i=1,im 47 pdyn(i,jm,ifield)=pdyn(1,jm,ifield) 48 enddo 49 endif 50 51 ENDDO 52 !$OMP END DO NOWAIT 53 53 #endif 54 ! of #ifdef CPP_PARA55 56 END 54 ! of #ifdef CPP_PARA 55 RETURN 56 END SUBROUTINE gr_fi_dyn_p
Note: See TracChangeset
for help on using the changeset viewer.