--- trunk/phylmd/ozonecm.f 2018/02/05 10:39:38 254 +++ trunk/phylmd/ozonecm.f 2018/07/12 17:53:18 278 @@ -21,17 +21,17 @@ ! Keating, G. M. and D. F. Young, 1985: Interim reference models for the ! middle atmosphere, Handbook for MAP, vol. 16, 205-229. - use dimens_m, only: llm - USE dimphy, ONLY : klon use nr_util, only: assert, pi + + use dimensions, only: llm use phyetat0_m, only: rlat REAL, INTENT (IN) :: rjour - REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm+1) + REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm + 1) ! pression pour chaque inter-couche, en Pa - REAL ozonecm(klon, llm) + REAL ozonecm(size(paprs, 1), llm) ! (klon, llm) ! "ozonecm(j, k)" is the column-density of ozone in cell "(j, k)", that is ! between interface "k" and interface "k + 1", in kDU. @@ -40,7 +40,7 @@ REAL tozon ! equivalent pressure of ozone above interface "k", in Pa INTEGER i, k - REAL field(llm+1) + REAL field(llm + 1) ! "field(k)" is the column-density of ozone between interface ! "k" and the top of the atmosphere (interface "llm + 1"), in kDU. @@ -53,13 +53,13 @@ !---------------------------------------------------------- - call assert(shape(paprs) == (/klon, llm + 1/), "ozonecm") + call assert(size(paprs, 2) == llm + 1, "ozonecm") sint = sin(2 * pi * (rjour + 15.) / an) cost = cos(2 * pi * (rjour + 15.) / an) field(llm + 1) = 0. - DO i = 1, klon + DO i = 1, size(paprs, 1) slat = sin(pi / 180. * rlat(i)) slat2 = slat * slat gms = 0.0531 + sint * (- 0.001595 + 0.009443 * slat) + cost &