/[lmdze]/trunk/phylmd/ozonecm.f
ViewVC logotype

Diff of /trunk/phylmd/ozonecm.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 254 by guez, Mon Feb 5 10:39:38 2018 UTC revision 278 by guez, Thu Jul 12 17:53:18 2018 UTC
# Line 21  contains Line 21  contains
21      ! Keating, G. M. and D. F. Young, 1985: Interim reference models for the      ! Keating, G. M. and D. F. Young, 1985: Interim reference models for the
22      ! middle atmosphere, Handbook for MAP, vol. 16, 205-229.      ! middle atmosphere, Handbook for MAP, vol. 16, 205-229.
23    
     use dimens_m, only: llm  
     USE dimphy, ONLY : klon  
24      use nr_util, only: assert, pi      use nr_util, only: assert, pi
25    
26        use dimensions, only: llm
27      use phyetat0_m, only: rlat      use phyetat0_m, only: rlat
28    
29      REAL, INTENT (IN) :: rjour      REAL, INTENT (IN) :: rjour
30    
31      REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm+1)      REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm + 1)
32      ! pression pour chaque inter-couche, en Pa      ! pression pour chaque inter-couche, en Pa
33    
34      REAL ozonecm(klon, llm)      REAL ozonecm(size(paprs, 1), llm) ! (klon, llm)
35      ! "ozonecm(j, k)" is the column-density of ozone in cell "(j, k)", that is      ! "ozonecm(j, k)" is the column-density of ozone in cell "(j, k)", that is
36      ! between interface "k" and interface "k + 1", in kDU.      ! between interface "k" and interface "k + 1", in kDU.
37    
# Line 40  contains Line 40  contains
40      REAL tozon ! equivalent pressure of ozone above interface "k", in Pa      REAL tozon ! equivalent pressure of ozone above interface "k", in Pa
41      INTEGER i, k      INTEGER i, k
42    
43      REAL field(llm+1)      REAL field(llm + 1)
44      ! "field(k)" is the column-density of ozone between interface      ! "field(k)" is the column-density of ozone between interface
45      ! "k" and the top of the atmosphere (interface "llm + 1"), in kDU.      ! "k" and the top of the atmosphere (interface "llm + 1"), in kDU.
46    
# Line 53  contains Line 53  contains
53    
54      !----------------------------------------------------------      !----------------------------------------------------------
55    
56      call assert(shape(paprs) == (/klon, llm + 1/), "ozonecm")      call assert(size(paprs, 2) == llm + 1, "ozonecm")
57    
58      sint = sin(2 * pi * (rjour + 15.) / an)      sint = sin(2 * pi * (rjour + 15.) / an)
59      cost = cos(2 * pi * (rjour + 15.) / an)      cost = cos(2 * pi * (rjour + 15.) / an)
60      field(llm + 1) = 0.      field(llm + 1) = 0.
61    
62      DO i = 1, klon      DO i = 1, size(paprs, 1)
63         slat = sin(pi / 180. * rlat(i))         slat = sin(pi / 180. * rlat(i))
64         slat2 = slat * slat         slat2 = slat * slat
65         gms = 0.0531 + sint * (- 0.001595 + 0.009443 * slat) + cost &         gms = 0.0531 + sint * (- 0.001595 + 0.009443 * slat) + cost &

Legend:
Removed from v.254  
changed lines
  Added in v.278

  ViewVC Help
Powered by ViewVC 1.1.21