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