GCC Code Coverage Report


Directory: ./
File: rad/yom_phys_grid.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 1 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 MODULE YOM_PHYS_GRID
2
3 USE PARKIND1 ,ONLY : JPIM ,JPRB
4
5 IMPLICIT NONE
6 SAVE
7
8 PRIVATE
9 PUBLIC TYPE_PHYS_POINT ,PHYS_GRID,DYN_GRID,DYN_SL,PHYS_SL, YPHYPOI, YDYNPOI, &
10 & JPMXNEI, PHYS_GRID_STRUCT, SL_STRUCT, TYPE_DYN_POINT
11
12 !-------------------------------------------------------------------------
13 ! Derived types for describing the coarse physics grid structure.
14 ! The descriptors themselves
15 ! (YGFL and YGFLC) can be found in module yom_ygfl.F90.
16 !-------------------------------------------------------------------------
17 ! Modifications:
18
19 INTEGER(KIND=JPIM), PARAMETER :: JPMXNEI=36 ! maximum number of neighbouring
20 ! points for averaging or
21 ! interpolation
22
23 TYPE PHYS_GRID_STRUCT
24 INTEGER(KIND=JPIM) :: NGPTOT ! number of physics points in the task
25 INTEGER(KIND=JPIM) :: NGPTOTG
26 INTEGER(KIND=JPIM) :: NDGSAL, NDGENL
27 INTEGER(KIND=JPIM) :: NDGSAG, NDGENG
28 INTEGER(KIND=JPIM), POINTER :: NLOENG(:)
29 REAL(KIND=JPRB), POINTER :: RMU(:)
30 REAL(KIND=JPRB), POINTER :: RW(:)
31
32 INTEGER(KIND=JPIM) :: NRESOL_ID
33 INTEGER(KIND=JPIM) :: NGPTOTMX, NSPEC2, NSMAX
34 INTEGER(KIND=JPIM) :: NPTRFLOFF, NUMP, NDLON
35 INTEGER(KIND=JPIM) :: NDGSAH, NDGENH
36 INTEGER(KIND=JPIM) :: NDGLG, NDLSUR
37 INTEGER(KIND=JPIM) :: NFRSTLOFF, NDSUR1,NDGSUR
38 INTEGER(KIND=JPIM) :: MYFRSTACTLAT, MYLSTACTLAT
39 INTEGER(KIND=JPIM) :: NGPBLKS
40 INTEGER(KIND=JPIM) :: NPROMA
41
42 INTEGER(KIND=JPIM), POINTER, DIMENSION(:) :: NRGRI, NPTRFRSTLAT, NFRSTLAT
43 INTEGER(KIND=JPIM), POINTER, DIMENSION(:) :: NLSTLAT, MYMS, NASM0
44 INTEGER(KIND=JPIM), POINTER, DIMENSION(:,:) :: NSTA, NONL
45 INTEGER(KIND=JPIM), POINTER, DIMENSION(:) :: NSTAGP
46 REAL(KIND=JPRB), POINTER :: RSQM2(:), RLATIG(:), RLATI(:)
47 REAL(KIND=JPRB), POINTER :: RIPI0(:), RIPI1(:), RIPI2(:)
48 INTEGER(KIND=JPIM), POINTER, DIMENSION(:) :: NPTRLSTLAT
49
50 END TYPE PHYS_GRID_STRUCT
51
52 TYPE(PHYS_GRID_STRUCT) :: PHYS_GRID, DYN_GRID
53
54 TYPE SL_STRUCT
55 INTEGER(KIND=JPIM),POINTER :: NSLSTA(:)
56 INTEGER(KIND=JPIM),POINTER :: NSLONL(:)
57 INTEGER(KIND=JPIM),POINTER :: NSLOFF(:)
58 INTEGER(KIND=JPIM),POINTER :: NSLEXT(:,:)
59 INTEGER(KIND=JPIM),POINTER :: NSLSENDPOS(:)
60 INTEGER(KIND=JPIM),POINTER :: NSLRECVPOS(:)
61 INTEGER(KIND=JPIM),POINTER :: NSLSENDPTR(:)
62 INTEGER(KIND=JPIM),POINTER :: NSLRECVPTR(:)
63 INTEGER(KIND=JPIM),POINTER :: NSLCORE(:)
64 INTEGER(KIND=JPIM),POINTER :: NSLCOMM(:)
65
66 INTEGER(KIND=JPIM) :: NASLB1
67 INTEGER(KIND=JPIM) :: NSLPROCS
68 INTEGER(KIND=JPIM) :: NSLMPBUFSZ
69 INTEGER(KIND=JPIM) :: NSLRPT
70 INTEGER(KIND=JPIM) :: NSLSPT
71 INTEGER(KIND=JPIM) :: NSLWIDEN
72 INTEGER(KIND=JPIM) :: NSLWIDES
73 INTEGER(KIND=JPIM) :: NSLWIDEE
74 INTEGER(KIND=JPIM) :: NSLWIDEW
75 END TYPE SL_STRUCT
76
77 TYPE(SL_STRUCT) :: DYN_SL
78 TYPE(SL_STRUCT) :: PHYS_SL
79
80
81 TYPE TYPE_PHYS_POINT ! Individual physics point characteristics
82
83 REAL(KIND=JPRB) :: GELAM, GELAT, GEMU
84 REAL(KIND=JPRB) :: GECLO, GESLO, GM, GAW
85 REAL(KIND=JPRB) :: GNORDL, GNORDM, GSQM2
86 REAL(KIND=JPRB) :: RCOLON, RSILON
87 REAL(KIND=JPRB) :: RINDX, RINDY
88 REAL(KIND=JPRB) :: OROG
89 INTEGER(KIND=JPIM) :: NGPLAT ! row number in the physics grid
90
91 INTEGER(KIND=JPIM) :: NEIGH ! number of neighbours in the dynamics grid
92 ! for going from the dynamics to the physics grid
93 INTEGER(KIND=JPIM), POINTER :: NL0(:) ! indexes in the interpolation buffer of
94 ! the dynamics neighbours
95 REAL(KIND=JPRB), POINTER :: WGT(:) ! weights for every neighbouring
96 ! dynamics point
97 END TYPE TYPE_PHYS_POINT
98
99 TYPE(TYPE_PHYS_POINT),ALLOCATABLE :: YPHYPOI(:)
100
101 TYPE TYPE_DYN_POINT ! Individual dynamics point characteristics
102 INTEGER(KIND=JPIM) :: NEIGH ! number of neighbours in the physics grid
103 ! for going from the physics to the dynamics grid
104 INTEGER(KIND=JPIM), POINTER :: NL0(:) ! indexes in the interpolation buffer of
105 ! the physics neighbours
106 REAL(KIND=JPRB), POINTER :: WGT(:) ! weights for every neighbouring
107 ! physics point
108 END TYPE TYPE_DYN_POINT
109
110 TYPE(TYPE_DYN_POINT),ALLOCATABLE :: YDYNPOI(:)
111
112 !$OMP THREADPRIVATE(dyn_grid,dyn_sl,phys_grid,phys_sl)
113 !$OMP THREADPRIVATE(ydynpoi,yphypoi)
114 END MODULE YOM_PHYS_GRID
115