1 | MODULE YOMGC |
---|
2 | |
---|
3 | USE PARKIND1 ,ONLY : JPIM ,JPRB |
---|
4 | |
---|
5 | IMPLICIT NONE |
---|
6 | |
---|
7 | SAVE |
---|
8 | |
---|
9 | ! ------------------------------------------------------------------ |
---|
10 | !* Grid point boundaries |
---|
11 | |
---|
12 | ! RCORI : Coriolis parameter "f = 2 Omega sin(theta)". |
---|
13 | ! RCORIC : 2 Omega cos(theta). |
---|
14 | ! GEMU : sine of geographic latitude "sin(theta)". |
---|
15 | ! GSQM2 : cosine of geographic latitude "cos(theta)". |
---|
16 | ! GELAM : geographic longitude "lambda". |
---|
17 | ! GELAT : geographic latitude "theta". |
---|
18 | ! GECLO : cosine of geographic longitude "cos(lambda)". |
---|
19 | ! GESLO : sine of geographic longitude "sin(lambda)". |
---|
20 | ! GM : mapping factor "M". |
---|
21 | ! GOMVRL : zonal component of vector "2 vec(Omega) wedge a vec(k)". |
---|
22 | ! GOMVRM : meridian component of vector "2 vec(Omega) wedge a vec(k)". |
---|
23 | ! GNORDL : zonal component "gnordl" of unit vector directed towards |
---|
24 | ! the geographic Northern pole. |
---|
25 | ! GNORDM : meridian component "gnordm" of unit vector directed towards |
---|
26 | ! the geographic Northern pole. |
---|
27 | ! GNORDLCL : zonal component of vector "rssavnabla gnordl". |
---|
28 | ! GNORDMCL : zonal component of vector "rssavnabla gnordm". |
---|
29 | ! GNORDMCM : meridian component of vector "rssavnabla gnordm". |
---|
30 | ! OROG : grid-point surface orography "Phi_s". |
---|
31 | ! OROGL : zonal component of "vnabla' Phi_s". |
---|
32 | ! OROGM : zonal component of "vnabla' Phi_s". |
---|
33 | ! OROGLL,OROGMM,OROGLM: second-order reduced derivatives of surface orography. |
---|
34 | ! GAW : Gaussian weight. |
---|
35 | ! NGPLAT : DM-global number of the Gaussian grid latitude. |
---|
36 | ! NUNIQUEGP : pointer array (see computation in sugem2.F90). |
---|
37 | |
---|
38 | REAL(KIND=JPRB),ALLOCATABLE:: RCORI(:) |
---|
39 | REAL(KIND=JPRB),ALLOCATABLE:: RCORIC(:) |
---|
40 | REAL(KIND=JPRB),ALLOCATABLE:: GEMU(:) |
---|
41 | REAL(KIND=JPRB),ALLOCATABLE:: GSQM2(:) |
---|
42 | REAL(KIND=JPRB),ALLOCATABLE:: GELAM(:) |
---|
43 | REAL(KIND=JPRB),ALLOCATABLE:: GELAT(:) |
---|
44 | REAL(KIND=JPRB),ALLOCATABLE:: GECLO(:) |
---|
45 | REAL(KIND=JPRB),ALLOCATABLE:: GESLO(:) |
---|
46 | REAL(KIND=JPRB),ALLOCATABLE:: GM(:) |
---|
47 | REAL(KIND=JPRB),ALLOCATABLE:: GOMVRL(:) |
---|
48 | REAL(KIND=JPRB),ALLOCATABLE:: GOMVRM(:) |
---|
49 | REAL(KIND=JPRB),ALLOCATABLE:: GNORDL(:) |
---|
50 | REAL(KIND=JPRB),ALLOCATABLE:: GNORDM(:) |
---|
51 | REAL(KIND=JPRB),ALLOCATABLE:: GNORDLCL(:) |
---|
52 | REAL(KIND=JPRB),ALLOCATABLE:: GNORDMCL(:) |
---|
53 | REAL(KIND=JPRB),ALLOCATABLE:: GNORDMCM(:) |
---|
54 | REAL(KIND=JPRB),ALLOCATABLE:: OROG(:) |
---|
55 | REAL(KIND=JPRB),ALLOCATABLE:: OROGL(:) |
---|
56 | REAL(KIND=JPRB),ALLOCATABLE:: OROGM(:) |
---|
57 | REAL(KIND=JPRB),ALLOCATABLE:: OROGLL(:) |
---|
58 | REAL(KIND=JPRB),ALLOCATABLE:: OROGMM(:) |
---|
59 | REAL(KIND=JPRB),ALLOCATABLE:: OROGLM(:) |
---|
60 | REAL(KIND=JPRB),ALLOCATABLE:: GAW(:) |
---|
61 | INTEGER(KIND=JPIM),ALLOCATABLE:: NGPLAT(:) |
---|
62 | INTEGER(KIND=JPIM),ALLOCATABLE:: NUNIQUEGP(:) |
---|
63 | |
---|
64 | ! ---------------------------------------------------------------- |
---|
65 | |
---|
66 | !$OMP THREADPRIVATE(gaw,geclo,gelam,gelat,gemu,geslo,gm,gnordl,gnordlcl,gnordm,gnordmcl,gnordmcm,gomvrl) |
---|
67 | !$OMP THREADPRIVATE(gomvrm,gsqm2,ngplat,nuniquegp,orog,orogl,orogll,oroglm,orogm,orogmm,rcori,rcoric) |
---|
68 | END MODULE YOMGC |
---|