1 |
|
|
! |
2 |
|
|
! $Id: dimphy.F90 3442 2019-01-25 10:12:29Z fairhead $ |
3 |
|
|
! |
4 |
|
|
MODULE dimphy |
5 |
|
|
|
6 |
|
|
INTEGER,SAVE :: klon |
7 |
|
|
INTEGER,SAVE :: kdlon |
8 |
|
|
INTEGER,SAVE :: kfdia |
9 |
|
|
INTEGER,SAVE :: kidia |
10 |
|
|
INTEGER,SAVE :: klev |
11 |
|
|
INTEGER,SAVE :: klevp1 |
12 |
|
|
INTEGER,SAVE :: klevm1 |
13 |
|
|
INTEGER,SAVE :: kflev |
14 |
|
|
|
15 |
|
|
!$OMP THREADPRIVATE(klon,kfdia,kidia,kdlon) |
16 |
|
|
REAL,save,allocatable,dimension(:) :: zmasq |
17 |
|
|
!$OMP THREADPRIVATE(zmasq) |
18 |
|
|
|
19 |
|
|
CONTAINS |
20 |
|
|
|
21 |
|
1 |
SUBROUTINE Init_dimphy(klon0,klev0) |
22 |
|
|
IMPLICIT NONE |
23 |
|
|
|
24 |
|
|
INTEGER, INTENT(in) :: klon0 |
25 |
|
|
INTEGER, INTENT(in) :: klev0 |
26 |
|
|
|
27 |
|
1 |
klon=klon0 |
28 |
|
1 |
kdlon=klon |
29 |
|
1 |
kidia=1 |
30 |
|
1 |
kfdia=klon |
31 |
|
|
!$OMP MASTER |
32 |
|
1 |
klev=klev0 |
33 |
|
1 |
klevp1=klev+1 |
34 |
|
1 |
klevm1=klev-1 |
35 |
|
1 |
kflev=klev |
36 |
|
|
!$OMP END MASTER |
37 |
✓✗✗✓ ✗✓ |
1 |
ALLOCATE(zmasq(klon)) |
38 |
✓✓ |
995 |
zmasq=0. |
39 |
|
|
|
40 |
|
1 |
END SUBROUTINE Init_dimphy |
41 |
|
|
|
42 |
|
|
SUBROUTINE Init_dimphy1D(klon0,klev0) |
43 |
|
|
! 1D special version of dimphy without ALLOCATE(zmasq) |
44 |
|
|
! which will be allocated in iniphysiq |
45 |
|
|
IMPLICIT NONE |
46 |
|
|
|
47 |
|
|
INTEGER, INTENT(in) :: klon0 |
48 |
|
|
INTEGER, INTENT(in) :: klev0 |
49 |
|
|
|
50 |
|
|
klon=klon0 |
51 |
|
|
kdlon=klon |
52 |
|
|
kidia=1 |
53 |
|
|
kfdia=klon |
54 |
|
|
klev=klev0 |
55 |
|
|
klevp1=klev+1 |
56 |
|
|
klevm1=klev-1 |
57 |
|
|
kflev=klev |
58 |
|
|
|
59 |
|
|
END SUBROUTINE Init_dimphy1D |
60 |
|
|
|
61 |
|
|
|
62 |
|
|
END MODULE dimphy |