1 |
guez |
67 |
module massdair_m |
2 |
guez |
3 |
|
3 |
guez |
67 |
IMPLICIT NONE |
4 |
guez |
3 |
|
5 |
guez |
67 |
contains |
6 |
guez |
3 |
|
7 |
guez |
67 |
SUBROUTINE massdair(p, masse) |
8 |
guez |
3 |
|
9 |
guez |
67 |
! From LMDZ4/libf/dyn3d/massdair.F, version 1.1.1.1 2004/05/19 12:53:07 |
10 |
|
|
|
11 |
|
|
! Calcule la masse d'air dans chaque maille. |
12 |
guez |
79 |
! Authors: P. Le Van, F. Hourdin |
13 |
guez |
67 |
|
14 |
guez |
102 |
USE comgeom, ONLY: airesurg_2d |
15 |
guez |
265 |
USE dimensions, ONLY: iim, jjm, llm |
16 |
guez |
67 |
|
17 |
guez |
102 |
REAL, intent(in):: p(iim + 1, jjm + 1, llm + 1) |
18 |
|
|
! aux interfaces des llm couches |
19 |
guez |
67 |
|
20 |
guez |
102 |
real, intent(out):: masse(iim + 1, jjm + 1, llm) |
21 |
guez |
67 |
|
22 |
guez |
102 |
! Local: |
23 |
|
|
INTEGER l |
24 |
|
|
|
25 |
guez |
67 |
!---------------------------------------------------------- |
26 |
|
|
|
27 |
guez |
102 |
forall (l = 1: llm) masse(:iim, :, l) = airesurg_2d(:iim, :) & |
28 |
|
|
* (p(:iim, :, l) - p(:iim, :, l + 1)) |
29 |
|
|
masse(iim + 1, :, :) = masse(1, :, :) |
30 |
guez |
67 |
|
31 |
|
|
END SUBROUTINE massdair |
32 |
|
|
|
33 |
|
|
end module massdair_m |