! $Header$ SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi) USE lmdz_ssum_scopy, ONLY: scopy IMPLICIT NONE !======================================================================= ! passage d'un champ de la grille scalaire a la grille physique !======================================================================= !----------------------------------------------------------------------- ! declarations: ! ------------- INTEGER :: im, jm, ngrid, nfield REAL :: pdyn(im, jm, nfield) REAL :: pfi(ngrid, nfield) INTEGER :: j, ifield, ig !----------------------------------------------------------------------- ! calcul: ! ------- IF (ngrid/=2 + (jm - 2) * (im - 1)) THEN CALL abort_gcm("gr_dyn_fi", 'probleme de dim', 1) end if ! traitement des poles CALL SCOPY(nfield, pdyn, im * jm, pfi, ngrid) CALL SCOPY(nfield, pdyn(1, jm, 1), im * jm, pfi(ngrid, 1), ngrid) ! traitement des point normaux DO ifield = 1, nfield DO j = 2, jm - 1 ig = 2 + (j - 2) * (im - 1) CALL SCOPY(im - 1, pdyn(1, j, ifield), 1, pfi(ig, ifield), 1) ENDDO ENDDO RETURN END SUBROUTINE gr_dyn_fi