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

Contents of /trunk/dyn3d/geopot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 43 - (show annotations)
Fri Apr 8 12:43:31 2011 UTC (13 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/geopot.f90
File size: 963 byte(s)
"start_init_phys" is now called directly by "etat0" instead of through
"start_init_dyn". "qsol_2d" is no longer a variable of module
"start_init_phys_m", it is an argument of
"start_init_phys". "start_init_dyn" now receives "tsol_2d" from
"etat0".

Split file "vlspltqs.f" into "vlspltqs.f90", "vlxqs.f90" and
""vlyqs.f90".

In "start_init_orog", replaced calls to "flin*" by calls to NetCDF95.

1 module geopot_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE geopot(ngrid, teta, pk, pks, phis, phi)
8
9 ! From libf/dyn3d/geopot.F, version 1.1.1.1 2004/05/19
10 ! Author: P. Le Van
11 ! Objet : calcul du géopotentiel aux milieux des couches
12 ! L'intégration se fait de bas en haut.
13
14 USE dimens_m
15 USE paramet_m
16
17 INTEGER, INTENT (IN):: ngrid
18 REAL, INTENT (IN):: teta(ngrid, llm), pks(ngrid)
19 REAL, INTENT (IN) :: phis(ngrid)
20 REAL, INTENT (IN) :: pk(ngrid, llm)
21 REAL, INTENT (out):: phi(ngrid, llm)
22
23 ! Local:
24 INTEGER l
25
26 ! -----------------------------------------------------------------------
27
28 ! Calcul de phi au niveau 1 près du sol :
29 phi(:, 1) = phis + teta(:, 1) * (pks - pk(:, 1))
30
31 ! Calcul de phi aux niveaux supérieurs :
32 DO l = 2, llm
33 phi(:, l) = phi(:, l-1) + 0.5 * (teta(:, l) + teta(:, l-1)) &
34 * (pk(:, l-1) - pk(:, l))
35 END DO
36
37 END SUBROUTINE geopot
38
39 end module geopot_m

  ViewVC Help
Powered by ViewVC 1.1.21