Changeset 5246 for LMDZ6/trunk/libf/dyn3d_common/geopot.f90
- Timestamp:
- Oct 21, 2024, 2:58:45 PM (23 hours ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/geopot.f90
r5245 r5246 2 2 ! $Header$ 3 3 ! 4 5 4 SUBROUTINE geopot (ngrid, teta, pk, pks, phis, phi ) 5 IMPLICIT NONE 6 6 7 c=======================================================================8 c 9 cAuteur: P. Le Van10 c-------11 c 12 cObjet:13 c------14 c 15 c*******************************************************************16 c.... calcul du geopotentiel aux milieux des couches .....17 c*******************************************************************18 c 19 c.... l'integration se fait de bas en haut ....20 c 21 c.. ngrid,teta,pk,pks,phis sont des argum. d'entree pour le s-pg ..22 cphi est un argum. de sortie pour le s-pg .23 c 24 c=======================================================================25 c-----------------------------------------------------------------------26 cDeclarations:27 c-------------7 !======================================================================= 8 ! 9 ! Auteur: P. Le Van 10 ! ------- 11 ! 12 ! Objet: 13 ! ------ 14 ! 15 ! ******************************************************************* 16 ! .... calcul du geopotentiel aux milieux des couches ..... 17 ! ******************************************************************* 18 ! 19 ! .... l'integration se fait de bas en haut .... 20 ! 21 ! .. ngrid,teta,pk,pks,phis sont des argum. d'entree pour le s-pg .. 22 ! phi est un argum. de sortie pour le s-pg . 23 ! 24 !======================================================================= 25 !----------------------------------------------------------------------- 26 ! Declarations: 27 ! ------------- 28 28 29 30 29 include "dimensions.h" 30 include "paramet.h" 31 31 32 cArguments:33 c----------32 ! Arguments: 33 ! ---------- 34 34 35 INTEGERngrid36 REAL teta(ngrid,llm),pks(ngrid),phis(ngrid),pk(ngrid,llm) ,37 *phi(ngrid,llm)35 INTEGER :: ngrid 36 REAL :: teta(ngrid,llm),pks(ngrid),phis(ngrid),pk(ngrid,llm) , & 37 phi(ngrid,llm) 38 38 39 39 40 cLocal:41 c------40 ! Local: 41 ! ------ 42 42 43 INTEGERl, ij43 INTEGER :: l, ij 44 44 45 45 46 c-----------------------------------------------------------------------47 ccalcul de phi au niveau 1 pres du sol .....46 !----------------------------------------------------------------------- 47 ! calcul de phi au niveau 1 pres du sol ..... 48 48 49 DO 1ij = 1, ngrid50 51 1 CONTINUE49 DO ij = 1, ngrid 50 phi( ij,1 ) = phis( ij ) + teta(ij,1) * ( pks(ij) - pk(ij,1) ) 51 END DO 52 52 53 ccalcul de phi aux niveaux superieurs .......53 ! calcul de phi aux niveaux superieurs ....... 54 54 55 56 57 phi(ij,l) = phi(ij,l-1) + 0.5 * ( teta(ij,l) + teta(ij,l-1) )58 ** ( pk(ij,l-1) - pk(ij,l) )59 60 55 DO l = 2,llm 56 DO ij = 1,ngrid 57 phi(ij,l) = phi(ij,l-1) + 0.5 * ( teta(ij,l) + teta(ij,l-1) ) & 58 * ( pk(ij,l-1) - pk(ij,l) ) 59 ENDDO 60 ENDDO 61 61 62 63 END 62 RETURN 63 END SUBROUTINE geopot
Note: See TracChangeset
for help on using the changeset viewer.