[3331] | 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 |
---|