source: LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/lmdz_gr_fi_dyn_p.F90 @ 5134

Last change on this file since 5134 was 5117, checked in by abarral, 2 months ago

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
Line 
1#ifdef CPP_PARA
2MODULE lmdz_gr_fi_dyn_p
3  IMPLICIT NONE
4  PRIVATE
5  PUBLIC gr_fi_dyn_p
6CONTAINS
7
8  SUBROUTINE gr_fi_dyn_p(nfield, ngrid, im, jm, pfi, pdyn)
9    ! Interface with parallel physics,
10    USE mod_interface_dyn_phys
11    USE dimphy
12    USE parallel_lmdz
13    IMPLICIT NONE
14    !=======================================================================
15    !   passage d'un champ de la grille scalaire a la grille physique
16    !=======================================================================
17    INTEGER im, jm, ngrid, nfield
18    REAL pdyn(im, jm, nfield)
19    REAL pfi(ngrid, nfield)
20    INTEGER i, j, ifield, ig
21
22    !$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
23    DO ifield=1,nfield
24
25      DO ig=1,klon
26        i=index_i(ig)
27        j=index_j(ig)
28        pdyn(i,j,ifield)=pfi(ig,ifield)
29        IF (i==1) pdyn(im,j,ifield)=pdyn(i,j,ifield)
30      ENDDO
31
32      !   traitement des poles
33      IF (pole_nord) THEN
34        DO i=1,im
35          pdyn(i,1,ifield)=pdyn(1,1,ifield)
36        ENDDO
37      ENDIF
38       
39      IF (pole_sud) THEN
40        DO i=1,im
41          pdyn(i,jm,ifield)=pdyn(1,jm,ifield)
42        ENDDO
43      ENDIF
44     
45    ENDDO
46    !$OMP END DO NOWAIT
47  END
48
49END MODULE lmdz_gr_fi_dyn_p
50#endif
Note: See TracBrowser for help on using the repository browser.