27 use netcdf95, only: nf95_open, nf95_close, nf95_inq_varid, handle_err
28 use netcdf
, only: nf90_nowrite, nf90_get_var
34 REAL,
intent(in):: p3d(:, :, :)
38 real,
intent(out):: o3_mob_regr(:, :, :)
45 include
"dimensions.h"
47 integer ncid, varid, ncerr
50 real r_mob(jjm + 1, size(press_in_edg) - 1)
57 print *,
"Call sequence information: regr_pr_o3"
58 call
assert(shape(o3_mob_regr) == (/
iim + 1, jjm + 1, llm/), &
59 "regr_pr_o3 o3_mob_regr")
60 call
assert(shape(p3d) == (/
iim + 1, jjm + 1, llm + 1/),
"regr_pr_o3 p3d")
62 call
nf95_open(
"coefoz_LMDZ.nc", nf90_nowrite, ncid)
66 ncerr = nf90_get_var(ncid, varid, r_mob, start=(/1, 1, dayref/))
70 r_mob = r_mob(jjm+1:1:-1, :)
77 do j = 1, jjm + 1, jjm
78 o3_mob_regr(1,
j, llm:1:-1) &
86 o3_mob_regr(
i,
j, llm:1:-1) &
88 p3d(
i,
j, llm+1:1:-1))
94 o3_mob_regr(2:, 1, :) = spread(o3_mob_regr(1, 1, :), dim=1, ncopies=
iim)
95 o3_mob_regr(2:, jjm + 1, :) &
96 = spread(o3_mob_regr(1, jjm + 1, :), dim=1, ncopies=
iim)
99 o3_mob_regr(
iim + 1, 2:jjm, :) = o3_mob_regr(1, 2:jjm, :)