LMDZ
tourpot.F90
Go to the documentation of this file.
1 SUBROUTINE tourpot ( vcov, ucov, massebxy, vorpot )
2 !
3 !-------------------------------------------------------------------------------
4 ! Authors: P. Le Van.
5 !-------------------------------------------------------------------------------
6 ! Purpose: Compute potential vorticity.
7  IMPLICIT NONE
8  include "dimensions.h"
9  include "paramet.h"
10  include "comgeom.h"
11  include "logic.h"
12 !===============================================================================
13 ! Arguments:
14  REAL, INTENT(IN) :: vcov (ip1jm, llm)
15  REAL, INTENT(IN) :: ucov (ip1jmp1,llm)
16  REAL, INTENT(IN) :: massebxy(ip1jm, llm)
17  REAL, INTENT(OUT) :: vorpot (ip1jm, llm)
18 !===============================================================================
19 ! Method used:
20 ! vorpot = ( Filtre( d(vcov)/dx - d(ucov)/dy ) + fext ) /psbarxy
21 !===============================================================================
22 ! Local variables:
23  INTEGER :: l, ij
24  REAL :: rot(ip1jm,llm)
25 !===============================================================================
26 
27 !--- Wind vorticity ; correction: rot(iip1,j,l) = rot(1,j,l)
28  DO l=1,llm
29  DO ij=1,ip1jm-1
30  rot(ij,l)=vcov(ij+1,l)-vcov(ij,l)+ucov(ij+iip1,l)-ucov(ij,l)
31  END DO
32  DO ij=iip1,ip1jm,iip1; rot(ij,l)=rot(ij-iim,l); END DO
33  END DO
34 
35 !--- Filter
36  CALL filtreg(rot,jjm,llm,2,1,.false.,1)
37 
38 !--- Potential vorticity ; correction: rot(iip1,j,l) = rot(1,j,l)
39  DO l=1,llm
40  DO ij=1,ip1jm-1
41  vorpot(ij,l)=(rot(ij,l)+fext(ij))/massebxy(ij,l)
42  END DO
43  DO ij=iip1,ip1jm,iip1; vorpot(ij,l)=vorpot(ij-iim,l); END DO
44  END DO
45 
46 END SUBROUTINE tourpot
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
!$Header!CDK comgeom COMMON comgeom && fext
Definition: comgeom.h:25
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Header llmm1 INTEGER ip1jm
Definition: paramet.h:14
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
Definition: calcul_STDlev.h:26
subroutine tourpot(vcov, ucov, massebxy, vorpot)
Definition: tourpot.F90:2
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
subroutine filtreg(champ, nlat, nbniv, ifiltre, iaire, griscal, iter)
Definition: filtreg.F:6