source: LMDZ5/trunk/libf/dynphy_lonlat/mod_interface_dyn_phys.F90 @ 3876

Last change on this file since 3876 was 2429, checked in by Laurent Fairhead, 8 years ago

Correction on the calculation of the surface of the grid at the poles (problem was introduced
in r2222).
Due to the different distribution of OMP tasks in the dynamics and the physics, had to
introduce 2 new logical variables, is_pole_north_phy and is_pole_south_phy, and so decided
to rename the old is_north_pole/is_south_pole to is_north_pole_dyn/is_south_pole_dyn to
stay coherent and, hopefully, clear things up a bit.
LF

  • 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
RevLine 
[1279]1!
2! $Id: mod_interface_dyn_phys.F90 2429 2016-01-27 12:43:09Z oboucher $
3!
[774]4MODULE mod_interface_dyn_phys
5  INTEGER,SAVE,dimension(:),allocatable :: index_i
6  INTEGER,SAVE,dimension(:),allocatable :: index_j
7 
8 
[2351]9CONTAINS
10 
[2239]11#ifdef CPP_PARA
[1279]12! Interface with parallel physics,
[774]13  SUBROUTINE Init_interface_dyn_phys
14    USE mod_phys_lmdz_mpi_data
15    IMPLICIT NONE
[792]16    include 'dimensions.h'   
[774]17   
18    INTEGER :: i,j,k
19   
20    ALLOCATE(index_i(klon_mpi))
21    ALLOCATE(index_j(klon_mpi))
22   
23    k=1
[2429]24    IF (is_north_pole_dyn) THEN
[774]25      index_i(k)=1
26      index_j(k)=1
27      k=2
28    ELSE
29      DO i=ii_begin,iim
[2429]30        index_i(k)=i
31        index_j(k)=jj_begin
32        k=k+1
33      ENDDO
[774]34    ENDIF
35   
36    DO j=jj_begin+1,jj_end-1
37      DO i=1,iim
[2429]38        index_i(k)=i
39        index_j(k)=j
40        k=k+1
[774]41      ENDDO
42    ENDDO
43   
[2429]44    IF (is_south_pole_dyn) THEN
[774]45      index_i(k)=1
46      index_j(k)=jj_end
47    ELSE
48      DO i=1,ii_end
[2429]49        index_i(k)=i
50        index_j(k)=jj_end
51        k=k+1
[774]52       ENDDO
53    ENDIF
54 
55  END SUBROUTINE Init_interface_dyn_phys
[2351]56#else
57  SUBROUTINE Init_interface_dyn_phys
58  ! dummy routine for seq case
59  END SUBROUTINE Init_interface_dyn_phys
[1279]60#endif
[2239]61! of #ifdef CPP_PARA
[774]62END MODULE mod_interface_dyn_phys
Note: See TracBrowser for help on using the repository browser.