Changeset 344 for LMDZ.3.3/trunk/libf/dyn3d
- Timestamp:
- Mar 6, 2002, 3:58:31 PM (23 years ago)
- Location:
- LMDZ.3.3/trunk/libf/dyn3d
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/trunk/libf/dyn3d/calfis.F
r343 r344 1 SUBROUTINE calfis(nq, lafin, rdayvrai,rday_ecri, heure, 2 $ pucov,pvcov,pteta,pq,pmasse,pps,pp,ppk,pphis,pphi, 3 $ pducov,pdvcov,pdteta,pdq,pw, clesphy0, 4 $ pdufi,pdvfi,pdhfi,pdqfi,pdpsfi ) 1 SUBROUTINE calfis(nq, 2 $ lafin, 3 $ rdayvrai, 4 $ rday_ecri, 5 $ heure, 6 $ pucov, 7 $ pvcov, 8 $ pteta, 9 $ pq, 10 $ pmasse, 11 $ pps, 12 $ pp, 13 $ ppk, 14 $ pphis, 15 $ pphi, 16 $ pducov, 17 $ pdvcov, 18 $ pdteta, 19 $ pdq, 20 $ pw, 21 #ifdef INCA_CH4 22 $ flxw, 23 #endif 24 $ clesphy0, 25 $ pdufi, 26 $ pdvfi, 27 $ pdhfi, 28 $ pdqfi, 29 $ pdpsfi) 5 30 c 6 31 c Auteur : P. Le Van, F. Hourdin … … 132 157 REAL zsinbis(iim),zcosbis(iim),z1bis(iim) 133 158 REAL unskap, pksurcp 134 c 159 160 #ifdef INCA_CH4 161 REAL flxw(iip1,jjp1,llm) 162 REAL flxwfi(ngridmx,llm) 163 #endif 135 164 136 165 EXTERNAL gr_dyn_fi,gr_fi_dyn … … 421 450 ENDDO 422 451 452 #ifdef INCA_CH4 453 CALL gr_dyn_fi(llm,iip1,jjp1,ngridmx,flxw,flxwfi) 454 #endif 455 423 456 c----------------------------------------------------------------------- 424 457 c Appel de la physique: … … 426 459 427 460 428 CALL physiq (ngridmx,llm,nq,debut,lafin, 429 , rdayvrai,rday_ecri,heure,dtphys,zplev,zplay,zphi,zphis,airefi, 430 , presnivs,clesphy0, zufi, zvfi,ztfi, zqfi, 431 ccc , pcvgu, pcvgv, pcvgt, pcvgq, 432 , pvervel, 433 C - sorties 434 s zdufi, zdvfi, zdtfi, zdqfi,zdpsrf ) 461 CALL physiq (ngridmx, 462 . llm, 463 . nq, 464 . debut, 465 . lafin, 466 . rdayvrai, 467 . rday_ecri, 468 . heure, 469 . dtphys, 470 . zplev, 471 . zplay, 472 . zphi, 473 . zphis, 474 . airefi, 475 . presnivs, 476 . clesphy0, 477 . zufi, 478 . zvfi, 479 . ztfi, 480 . zqfi, 481 . pvervel, 482 #ifdef INCA_CH4 483 . flxwfi, 484 #endif 485 . zdufi, 486 . zdvfi, 487 . zdtfi, 488 . zdqfi, 489 . zdpsrf) 435 490 436 491 500 CONTINUE -
LMDZ.3.3/trunk/libf/dyn3d/gcm.F
r195 r344 2 2 PROGRAM gcm 3 3 4 #ifdef INCA 5 USE transport_controls, ONLY : adv_flg, mmt_adj 6 #endif 4 7 USE IOIPSL 5 8 … … 127 130 REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm) 128 131 132 #ifdef INCA_CH4 133 REAL :: flxw(ip1jmp1,llm) 134 #endif 135 129 136 LOGICAL offline ! Controle du stockage ds "fluxmass" 130 137 PARAMETER (offline=.true.) … … 409 416 cccc de masse pour Van-Leer dans la routine tracvl . 410 417 c 411 CALL vanleer(numvanle,iapp_tracvl,nqmx,q,pbaru,pbarv, 412 * p, masse, dq, iadv(1), teta, pk ) 418 CALL vanleer(numvanle, 419 . iapp_tracvl, 420 . nqmx, 421 . q, 422 . pbaru, 423 . pbarv, 424 . p, 425 . masse, 426 . dq, 427 . iadv(1), 428 . teta, 429 #ifdef INCA_CH4 430 . flxw, 431 . pk, 432 . mmt_adj, 433 . adv_flg) 434 #else 435 . pk) 436 #endif 413 437 c 414 438 c ... Modif F.Codron .... … … 470 494 ENDIF 471 495 c 472 CALL calfis( nqmx, lafin ,rdayvrai,rday_ecri,time , 473 $ ucov,vcov,teta,q,masse,ps,p,pk,phis,phi , 474 $ du,dv,dteta,dq,w,clesphy0, dufi,dvfi,dhfi,dqfi,dpfi ) 496 CALL calfis( nqmx, 497 $ lafin, 498 $ rdayvrai, 499 $ rday_ecri, 500 $ time, 501 $ ucov, 502 $ vcov, 503 $ teta, 504 $ q, 505 $ masse, 506 $ ps, 507 $ p, 508 $ pk, 509 $ phis, 510 $ phi, 511 $ du, 512 $ dv, 513 $ dteta, 514 $ dq, 515 $ w, 516 #ifdef INCA_CH4 517 $ flxw, 518 #endif 519 $ clesphy0, 520 $ dufi, 521 $ dvfi, 522 $ dhfi, 523 $ dqfi, 524 $ dpfi) 475 525 476 526 c ajout des tendances physiques: -
LMDZ.3.3/trunk/libf/dyn3d/tracvl.F
r78 r344 1 SUBROUTINE tracvl(numvanle,iapp_tracvl,nq,pbaru,pbarv , 2 * p, masse , q, iapptrac, iadv1, teta, pk ) 1 SUBROUTINE tracvl(numvanle, 2 * iapp_tracvl, 3 * nq, 4 * pbaru, 5 * pbarv, 6 * p, 7 * masse, 8 * q, 9 * iapptrac, 10 * iadv1, 11 * teta, 12 #ifdef INCA_CH4 13 * flxw, 14 * pk, 15 * mmt_adj, 16 * adv_flg) 17 #else 18 * pk) 19 #endif 3 20 c 4 21 c Auteur : F. Hourdin … … 20 37 c 21 38 INTEGER numvanle, nq, iapp_tracvl, iapptrac, iadv1 22 23 39 REAL pbaru(ip1jmp1,llm),pbarv(ip1jm,llm) 24 40 REAL q(ip1jmp1,llm,nq),masse(ip1jmp1,llm) 25 41 REAL p( ip1jmp1,llmp1 ),teta(ip1jmp1,llm) 26 42 REAL pk(ip1jmp1,llm) 27 43 #ifdef INCA_CH4 44 INTEGER, PARAMETER :: ntra = 1 45 INTEGER, PARAMETER :: nprath = 1 46 INTEGER :: adv_flg(nq) 47 REAL :: mmt_adj(ip1jmp1,llm,nprath) 48 REAL, SAVE :: qpente(ip1jmp1,llm,10,nprath) 49 REAL :: flxw(ip1jmp1,llm) 50 #endif 28 51 c .... var. locales ..... 29 52 c … … 82 105 CALL groupe( massem, pbaruc,pbarvc, pbarug,pbarvg,wg ) 83 106 107 #ifdef INCA_CH4 108 ! ... Flux de masse diaganostiques traceurs 109 flxw = wg / FLOAT(iapp_tracvl) 110 #endif 84 111 85 112 c test sur l'eventuelle creation de valeurs negatives de la masse … … 115 142 ENDIF 116 143 117 DO iq = numvan, nq 118 CALL vlsplt( q(1,1,iq), 2. ,massem,wg,pbarug,pbarvg,dtvr ) 119 ENDDO 144 #ifdef INCA_CH4 145 do iq = 2, 10 146 qpente(:,:,iq,1)=qpente(:,:,iq,1)*mmt_adj(:,:,1) 147 enddo 148 #endif 120 149 121 iadvtr=0 150 DO iq = numvan, 2 151 #ifdef INCA 152 IF (adv_flg(iq) == 0) CYCLE 153 #endif 154 CALL vlsplt(q(1,1,iq),2.,massem,wg,pbarug,pbarvg,dtvr) 155 ENDDO 156 157 #ifdef INCA_CH4 158 ! CALL prather(q(1,1,3),wg,massem,pbarug,pbarvg,ntra,qpente(1,1,1,1)) 159 #endif 160 161 DO iq =3,nq 162 #ifdef INCA 163 IF (adv_flg(iq) == 0) CYCLE 164 #endif 165 CALL vlsplt(q(1,1,iq),2.,massem,wg,pbarug,pbarvg,dtvr) 166 ENDDO 167 168 iadvtr=0 122 169 123 170 c on reinitialise a zero les flux de masse cumules. -
LMDZ.3.3/trunk/libf/dyn3d/vanleer.F
r78 r344 1 SUBROUTINE vanleer(numvanle,iapp_tracvl,nq,q,pbaru,pbarv , 2 * p ,masse, dq , iadv1, teta, pk ) 1 SUBROUTINE vanleer(numvanle, 2 * iapp_tracvl, 3 * nq, 4 * q, 5 * pbaru, 6 * pbarv, 7 * p, 8 * masse, 9 * dq, 10 * iadv1, 11 * teta, 12 #ifdef INCA_CH4 13 * flxw, 14 * pk, 15 * mmt_adj, 16 * adv_flg) 17 #else 18 * pk) 19 #endif 3 20 c 4 21 IMPLICIT NONE … … 24 41 REAL p( ip1jmp1,llmp1),q( ip1jmp1,llm,nq),dq( ip1jmp1,llm,nq ) 25 42 REAL teta( ip1jmp1,llm),pk( ip1jmp1,llm) 43 #ifdef INCA_CH4 44 INTEGER, PARAMETER :: nprath=1 45 INTEGER :: adv_flg(nq) 46 REAL :: mmt_adj(iip1,jjp1,llm,nprath) 47 REAL :: flxw(ip1jmp1,llm) 48 #endif 26 49 c .................................................................. 27 50 c … … 64 87 c advection 65 88 66 CALL tracvl( numvanle,iapp_tracvl,nq,pbaru,pbarv,p , masse,q , 67 * iapptrac, iadv1, teta ,pk ) 89 CALL tracvl( numvanle, 90 . iapp_tracvl, 91 . nq, 92 . pbaru, 93 . pbarv, 94 . p, 95 . masse, 96 . q, 97 . iapptrac, 98 . iadv1, 99 . teta, 100 #ifdef INCA_CH4 101 . flxw, 102 . pk, 103 . mmt_adj, 104 . adv_flg) 105 #else 106 . pk) 107 #endif 68 108 69 109 IF( numvanle.EQ.1 ) THEN
Note: See TracChangeset
for help on using the changeset viewer.