/[lmdze]/trunk/dyn3d/massdair.f
ViewVC logotype

Annotation of /trunk/dyn3d/massdair.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 76 - (hide annotations)
Fri Nov 15 18:45:49 2013 UTC (10 years, 6 months ago) by guez
Original Path: trunk/dyn3d/massdair.f90
File size: 1320 byte(s)
Moved everything out of libf.
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     ! Auteurs : P. Le Van , F. Hourdin.
13    
14     ! Méthode pour calculer massebx et masseby. A chaque point
15     ! scalaire P(i, j) sont affectés quatre coefficients d'aires.
16    
17     ! alpha1(i, j) calculé au point (i + 1/4, j - 1/4)
18     ! alpha2(i, j) calculé au point (i + 1/4, j + 1/4)
19     ! alpha3(i, j) calculé au point (i - 1/4, j + 1/4)
20     ! alpha4(i, j) calculé au point (i - 1/4, j - 1/4)
21    
22     ! Avec alpha1(i, j) = aire(i + 1/4, j - 1/4)/ aire(i, j)
23    
24     ! Pour plus de détails, voir sous-programme "iniconst" et
25     ! "massdair.txt".
26    
27     USE comgeom, ONLY: airesurg
28     USE dimens_m, ONLY: iim, llm
29     USE paramet_m, ONLY: iip1, ip1jmp1, llmp1
30    
31     REAL, intent(in):: p(ip1jmp1, llmp1) ! aux interfaces des llm couches
32     real, intent(out):: masse(ip1jmp1, llm)
33    
34     ! Variables locales
35     INTEGER l, ij
36    
37     !----------------------------------------------------------
38    
39     DO l = 1 , llm
40     masse(:, l) = airesurg(:) * (p(:, l) - p(:, l + 1))
41    
42     DO ij = 1, ip1jmp1, iip1
43     masse(ij + iim, l) = masse(ij, l)
44     ENDDO
45     end DO
46    
47     END SUBROUTINE massdair
48    
49     end module massdair_m

  ViewVC Help
Powered by ViewVC 1.1.21