/[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 265 by guez, Tue Mar 20 09:35:59 2018 UTC revision 266 by guez, Thu Apr 19 17:54:55 2018 UTC
# Line 22  contains Line 22  contains
22      ! middle atmosphere, Handbook for MAP, vol. 16, 205-229.      ! middle atmosphere, Handbook for MAP, vol. 16, 205-229.
23    
24      use dimensions, only: llm      use dimensions, only: llm
     USE dimphy, ONLY : klon  
25      use nr_util, only: assert, pi      use nr_util, only: assert, pi
26      use phyetat0_m, only: rlat      use phyetat0_m, only: rlat
27    
28      REAL, INTENT (IN) :: rjour      REAL, INTENT (IN) :: rjour
29    
30      REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm+1)      REAL, INTENT (IN) :: paprs(:, :) ! (klon, llm + 1)
31      ! pression pour chaque inter-couche, en Pa      ! pression pour chaque inter-couche, en Pa
32    
33      REAL ozonecm(klon, llm)      REAL ozonecm(size(paprs, 1), llm) ! (klon, llm)
34      ! "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
35      ! between interface "k" and interface "k + 1", in kDU.      ! between interface "k" and interface "k + 1", in kDU.
36    
# Line 40  contains Line 39  contains
39      REAL tozon ! equivalent pressure of ozone above interface "k", in Pa      REAL tozon ! equivalent pressure of ozone above interface "k", in Pa
40      INTEGER i, k      INTEGER i, k
41    
42      REAL field(llm+1)      REAL field(llm + 1)
43      ! "field(k)" is the column-density of ozone between interface      ! "field(k)" is the column-density of ozone between interface
44      ! "k" and the top of the atmosphere (interface "llm + 1"), in kDU.      ! "k" and the top of the atmosphere (interface "llm + 1"), in kDU.
45    
# Line 53  contains Line 52  contains
52    
53      !----------------------------------------------------------      !----------------------------------------------------------
54    
55      call assert(shape(paprs) == (/klon, llm + 1/), "ozonecm")      call assert(size(paprs, 2) == llm + 1, "ozonecm")
56    
57      sint = sin(2 * pi * (rjour + 15.) / an)      sint = sin(2 * pi * (rjour + 15.) / an)
58      cost = cos(2 * pi * (rjour + 15.) / an)      cost = cos(2 * pi * (rjour + 15.) / an)
59      field(llm + 1) = 0.      field(llm + 1) = 0.
60    
61      DO i = 1, klon      DO i = 1, size(paprs, 1)
62         slat = sin(pi / 180. * rlat(i))         slat = sin(pi / 180. * rlat(i))
63         slat2 = slat * slat         slat2 = slat * slat
64         gms = 0.0531 + sint * (- 0.001595 + 0.009443 * slat) + cost &         gms = 0.0531 + sint * (- 0.001595 + 0.009443 * slat) + cost &

Legend:
Removed from v.265  
changed lines
  Added in v.266

  ViewVC Help
Powered by ViewVC 1.1.21