13 USE yomhook
,ONLY : lhook, dr_hook
14 USE parkind1
,ONLY : jprb
22 platmin,platmax,klon,klat,kl,plon,plat )
45 REAL,
INTENT(IN) :: plonmin
46 REAL,
INTENT(IN) :: plonmax
47 REAL,
INTENT(IN) :: platmin
48 REAL,
INTENT(IN) :: platmax
49 INTEGER,
INTENT(IN) :: klon
50 INTEGER,
INTENT(IN) :: klat
51 INTEGER,
INTENT(IN) :: kl
52 REAL,
DIMENSION(:),
INTENT(IN) :: plon
53 REAL,
DIMENSION(:),
INTENT(IN) :: plat
54 REAL,
DIMENSION(:),
POINTER :: pgrid_par
55 REAL(KIND=JPRB) :: zhook_handle
62 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:PUT_GRIDTYPE_LONLAT_REG',0,zhook_handle)
63 ALLOCATE(pgrid_par(7+2*kl))
64 pgrid_par(1) = plonmin
65 pgrid_par(2) = plonmax
66 pgrid_par(3) = platmin
67 pgrid_par(4) = platmax
68 pgrid_par(5) = float(klon)
69 pgrid_par(6) = float(klat)
70 pgrid_par(7) = float(kl)
71 pgrid_par(8:7+kl) = plon(:)
72 pgrid_par(8+kl:7+2*kl) = plat(:)
73 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:PUT_GRIDTYPE_LONLAT_REG',1,zhook_handle)
81 platmin,platmax,klon,klat, &
105 REAL,
DIMENSION(:),
INTENT(IN) :: pgrid_par
106 REAL,
INTENT(OUT),
OPTIONAL :: plonmin
107 REAL,
INTENT(OUT),
OPTIONAL :: plonmax
108 REAL,
INTENT(OUT),
OPTIONAL :: platmin
109 REAL,
INTENT(OUT),
OPTIONAL :: platmax
110 INTEGER,
INTENT(OUT),
OPTIONAL :: klon
111 INTEGER,
INTENT(OUT),
OPTIONAL :: klat
112 INTEGER,
INTENT(OUT),
OPTIONAL :: kl
113 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: plon
114 REAL,
DIMENSION(:),
INTENT(OUT),
OPTIONAL :: plat
120 INTEGER :: ilon, ilat
122 REAL(KIND=JPRB) :: zhook_handle
124 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:GET_GRIDTYPE_LONLAT_REG',0,zhook_handle)
125 ilon = nint(pgrid_par(5))
126 ilat = nint(pgrid_par(6))
127 il = nint(pgrid_par(7))
129 IF (present(plonmin)) plonmin = pgrid_par(1)
130 IF (present(plonmax)) plonmax = pgrid_par(2)
131 IF (present(platmin)) platmin = pgrid_par(3)
132 IF (present(platmax)) platmax = pgrid_par(4)
133 IF (present(klon )) klon = ilon
134 IF (present(klat )) klat = ilat
135 IF (present(kl )) kl = il
136 IF (present(plon )) plon(:) = pgrid_par(8:7+il)
137 IF (present(plat )) plat(:) = pgrid_par(8+il:7+2*il)
138 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:GET_GRIDTYPE_LONLAT_REG',1,zhook_handle)
146 klon,klat,plon,plat )
170 REAL,
INTENT(IN) :: plonmin
171 REAL,
INTENT(IN) :: plonmax
172 REAL,
INTENT(IN) :: platmin
173 REAL,
INTENT(IN) :: platmax
174 INTEGER,
INTENT(IN) :: klon
175 INTEGER,
INTENT(IN) :: klat
176 REAL,
DIMENSION(:),
INTENT(OUT) :: plon,plat
183 INTEGER :: jlon, jlat
186 REAL(KIND=JPRB) :: zhook_handle
189 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:LATLON_LONLAT_REG',0,zhook_handle)
194 jc = jlon + (jlat-1) * klon
196 plon(jl) = plonmin + (plonmax-plonmin) * (float(jlon)-0.5) / float(klon)
197 plat(jl) = platmin + (platmax-platmin) * (float(jlat)-0.5) / float(klat)
200 IF (lhook) CALL dr_hook(
'MODE_GRIDTYPE_LONLAT_REG:LATLON_LONLAT_REG',1,zhook_handle)
subroutine latlon_lonlat_reg(PLONMIN, PLONMAX, PLATMIN, PLATMAX, KLON, KLAT, PLON, PLAT)
subroutine get_gridtype_lonlat_reg(PGRID_PAR, PLONMIN, PLONMAX, PLATMIN, PLATMAX, KLON, KLAT, KL, PLON, PLAT)
subroutine put_gridtype_lonlat_reg(PGRID_PAR, PLONMIN, PLONMAX, PLATMIN, PLATMAX, KLON, KLAT, KL, PLON, PLAT)