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

Annotation of /trunk/dyn3d/geopot.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 32 - (hide annotations)
Tue Apr 6 17:52:58 2010 UTC (14 years, 1 month ago) by guez
Original Path: trunk/libf/dyn3d/geopot.f90
File size: 952 byte(s)
Split "stringop.f90" into single-procedure files. Gathered files in directory
"IOIPSL/Stringop".

Split "flincom.f90" into "flincom.f90" and "flinget.f90". Removed
unused procedures from module "flincom". Removed unused argument
"filename" of procedure "flinopen_nozoom".

Removed unused files.

Split "grid_change.f90" into "grid_change.f90" and
"gr_phy_write_3d.f90".

Removed unused procedures from modules "calendar", "ioipslmpp",
"grid_atob", "gath_cpl" and "getincom". Removed unused procedures in
files "ppm3d.f" and "thermcell.f".

Split "mathelp.f90" into "mathelp.f90" and "mathop.f90".

Removed unused variable "dpres" of module "comvert".

Use argument "itau" instead of local variables "iadvtr" and "first" to
control algorithm in procedure "fluxstokenc".

Removed unused arguments of procedure "integrd".

Removed useless computations at the end of procedure "leapfrog".

Merged common block "matrfil" into module "parafilt".

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

  ViewVC Help
Powered by ViewVC 1.1.21