10 subroutine regr_pr_int(ncid, name, julien, plev, pplay, top_value, v3)
27 use netcdf95, only: nf95_inq_varid, handle_err
28 use netcdf
, only: nf90_get_var
36 integer,
intent(in):: ncid
37 character(len=*),
intent(in):: name
38 integer,
intent(in):: julien
40 real,
intent(in):: plev(:)
43 real,
intent(in)::
pplay(:, :)
46 real,
intent(in):: top_value
49 real,
intent(out):: v3(:, :)
56 include
"dimensions.h"
59 real v1(
iim, jjm + 1, 0:size(plev))
65 real v2(klon, 0:size(plev))
74 call
assert(shape(v3) == (/klon, llm/),
"regr_pr_int v3")
75 call
assert(shape(
pplay) == (/klon, llm/),
"regr_pr_int pplay")
82 ncerr = nf90_get_var(ncid, varid, v1(1, :, 1:), start=(/1, 1, julien/))
83 call
handle_err(
"regr_pr_int nf90_get_var " // name, ncerr, ncid)
86 v1(1, :, 1:) = v1(1, jjm+1:1:-1, 1:)
89 v1(1, :, 0) = top_value
92 v1(2:, :, :) = spread(v1(1, :, :), dim=1, ncopies=
iim-1)