*=*=*=*= caldyn.html =*=*=*=*
SUBROUTINE caldyn $ (itau, ucov, vcov, h, pext, pks, pksf, phis , $ phi, conser, du, dv, dh, dp, w, pbaru, pbarv, time ) IMPLICIT NONE c======================================================================= c c Auteurs : P. Le Van , F.Hourdin c c Objet: c ------- c ****************************************** c * Calcul des tendances dynamiques. * c ****************************************** c c c Modif 04/93 F.Forget c======================================================================= c----------------------------------------------------------------------- c 0. Declarations: c ---------------- #include "dimensions.h" #include "paramet.h" #include "comconst.h" #include "comvert.h" #include "comgeom.h" c Arguments: c ---------- LOGICAL conser INTEGER itau REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm),h(ip1jmp1,llm) REAL pext(ip1jmp1),pks(ip1jmp1),pksf(ip1jmp1),phis(ip1jmp1) REAL vcont(ip1jm,llm),ucont(ip1jmp1,llm) REAL phi(ip1jmp1,llm) REAL dv(ip1jm,llm),du(ip1jmp1,llm) REAL dh(ip1jmp1,llm),dp(ip1jmp1) REAL pbaru(ip1jmp1,llm),pbarv(ip1jm,llm) REAL time c Local: c ------ REAL ang(ip1jmp1,llm) REAL pbarx(ip1jmp1),pbary(ip1jm),pbarxy(ip1jm) REAL vorpot(ip1jm,llm) REAL w(ip1jmp1,llm),ecin(ip1jmp1,llm),convm(ip1jmp1,llm) REAL bern(ip1jmp1,llm) INTEGER ij,l EXTERNAL advect,bernoui,convmas,covcont,dh1,dudv1,dudv2, * enercin,flumass,pbar,tourpot,vitvert,sortvarc,traceur c cc ----------------------------------------------------------------- cc .... Signification des routines appelees dans caldyn ..... cc ----------------------------------------------------------------- c c covcont : calcul des composantes contravariantes du vent. c pbar : calcul des moyennes horizontales des pressions. c flumass : calcul des flux de masse horizontaux pbaru, pbarv. c dh1 : calcul des tendances sur "h" due a l'advection horizont. c convmas : calcul de la convergence de masse. c vitvert : calcul du flux de masse vertical. c tourpot : calcul de la vorticite potentielle absolue (barotrope). c dudv1 : calcul du terme de vorticite dans l'equation du mouvement c enercin : calcul de l'energie cinetique. c bernoui : calcul de fonction de Bernouilli = ( phi + ecin ) filtre. c dudv2 : calcul des termes de gradient de Bernoulli et de ps. c advect : calcul de l'advection verticale. c sortvarc: calcul et sortie de variables de controle. c c c c ***************************************************************** c CALL covcont ( llm, ucov, vcov, ucont, vcont ) CALL pbar ( pext ,pbarx , pbary, pbarxy ) CALL flumass ( pbarx, pbary, vcont, ucont ,pbaru, pbarv ) CALL dh1 ( h, pbaru, pbarv, dh ) CALL convmas ( pbaru, pbarv, convm ) c ..... calcul de la tendance de ' ps * aire ' ...... c DO ij = 1, ip1jmp1 dp( ij ) = convm( ij,1 ) ENDDO CALL vitvert ( convm , w ) CALL tourpot ( vcov , ucov , pbarxy , vorpot ) CALL dudv1 ( vorpot, pbaru , pbarv , du , dv ) CALL enercin ( vcov , ucov , vcont , ucont , ecin ) CALL bernoui ( ip1jmp1,llm , phi , ecin , bern ) CALL dudv2 ( h , pksf , bern , du , dv ) c ..... calcul du moment cinetique ....... c DO l = 1, llm DO ij = 1, ip1jmp1 ang(ij,l)= ucov(ij,l) + constang(ij) ENDDO ENDDO CALL advect(ang,vcov,h,w,pbarx,pbary,du,dv,dh) c ***************************************************************** c c sortie eventuelle des variables de controle: c ---------------------------------------------- IF (conser) CALL sortvarc $ (itau,ucov,h,pext,pks,phis,pbarx,pbarxy,vorpot,phi,bern,dp . ,time) RETURN END