Changeset 634 for LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phytrac.F
- Timestamp:
- May 4, 2005, 5:11:29 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_par_0/libf/phylmd/phytrac.F
r633 r634 64 64 65 65 USE ioipsl 66 66 USE dimphy 67 USE comgeomphy 68 USE iophy 69 #ifdef CPP_PARALLEL 70 USE vampir 71 #endif 67 72 #ifdef INCA 68 73 USE sflx … … 76 81 #ifdef INCA_AER 77 82 USE AEROSOL_MOD, only : ntr,trmx,trnx 83 cym USE AEROSOL_DIAG, only : cla,las,tausum,angst,aload,scon 84 cym . ,scavcoef_st,scavcoef_cv 85 cym USE AEROSOL_PROGNOS, ONLY : md 78 86 USE AEROSOL_DIAG,only : cla,las,tausum,angst,aload,cload,totaerh2o,tau, 79 87 $ emiss20,sconc,scavcoef_st,scavcoef_cv … … 103 111 #include "YOMCST.h" 104 112 #include "dimensions.h" 105 #include "dimphy.h"113 cym#include "dimphy.h" 106 114 #include "indicesol.h" 107 115 #include "temps.h" 108 116 #include "paramet.h" 109 117 #include "control.h" 110 #include "comgeomphy.h"118 cym#include "comgeomphy.h" 111 119 #include "advtrac.h" 112 120 c====================================================================== … … 225 233 cAA ................................................ 226 234 227 REAL trs(klon,nbtr) ! Conc. radon ds le sol 228 SAVE trs 229 230 REAL masktr(klon,nbtr) ! Masque reservoir de sol traceur 235 REAL,save,allocatable :: trs(:,:) ! Conc. radon ds le sol 236 cym SAVE trs 237 REAL :: trs_tmp(klon2) 238 239 REAL,save,allocatable :: masktr(:,:) ! Masque reservoir de sol traceur 231 240 c Masque de l'echange avec la surface 232 241 c (1 = reservoir) ou (possible => 1 ) 233 SAVE masktr234 REAL fshtr(klon,nbtr) ! Flux surfacique dans le reservoir de sol235 SAVE fshtr236 REAL hsoltr(nbtr) ! Epaisseur equivalente du reservoir de sol237 SAVE hsoltr238 REAL tautr(nbtr) ! Constante de decroissance radioactive239 SAVE tautr240 REAL vdeptr(nbtr) ! Vitesse de depot sec dans la couche Brownienne241 SAVE vdeptr242 REAL scavtr(nbtr) ! Coefficient de lessivage243 SAVE scavtr242 cym SAVE masktr 243 REAL,save,allocatable :: fshtr(:,:) ! Flux surfacique dans le reservoir de sol 244 cym SAVE fshtr 245 REAL,save,allocatable :: hsoltr(:) ! Epaisseur equivalente du reservoir de sol 246 cym SAVE hsoltr 247 REAL,save,allocatable :: tautr(:) ! Constante de decroissance radioactive 248 cym SAVE tautr 249 REAL,save,allocatable :: vdeptr(:) ! Vitesse de depot sec dans la couche Brownienne 250 cym SAVE vdeptr 251 REAL,save,allocatable :: scavtr(:) ! Coefficient de lessivage 252 cym SAVE scavtr 244 253 cAA 245 254 CHARACTER*2 itn … … 273 282 C nature du traceur 274 283 c 275 logical aerosol(nbtr) ! Nature du traceur284 logical,save,allocatable :: aerosol(:) ! Nature du traceur 276 285 c ! aerosol(it) = true => aerosol 277 286 c ! aerosol(it) = false => gaz 278 287 c ! nat_trac(it) = 1. aerosol 279 logical clsol(nbtr) ! clsol(it) = true => CL sol calculee280 logical radio(nbtr) ! radio(it)=true => decroisssance radioactive281 save aerosol,clsol,radio288 logical,save,allocatable :: clsol(:) ! clsol(it) = true => CL sol calculee 289 logical,save,allocatable :: radio(:) ! radio(it)=true => decroisssance radioactive 290 cym save aerosol,clsol,radio 282 291 C 283 292 c====================================================================== … … 298 307 REAL d_tr(klon,klev), d_trs(klon) ! tendances de traceurs 299 308 REAL d_tr_cl(klon,klev,nbtr) ! tendance de traceurs couche limite 300 REAL d_tr_cv(klon,klev,nbtr) ! tendance de traceurs conv pour chq traceur 309 REAL d_tr_cli(klon,klev,nbtr) ! tendance de traceurs CL pour chq traceur 310 REAL d_tr_cv(klon,klev,nbtr) ! tendance de traceurs convection 311 REAL d_tr_cvi(klon,klev,nbtr) ! tendance de traceurs conv pour chq traceur 301 312 REAL d_tr_th(klon,klev,nbtr) ! la tendance des thermiques 302 313 REAL d_tr_dec(klon,klev,nbtr) ! la tendance de la decroissance … … 367 378 #endif 368 379 . /) 369 370 371 REAL, PARAMETER :: dry_mass = 28.966 372 REAL, POINTER :: hbuf(:) 373 REAL, ALLOCATABLE :: obuf(:) 374 REAL :: calday 375 REAL :: pdel(klon,klev) 376 REAL :: dummy(klon,klev) = 0. 377 #endif 378 #ifdef INCA_AER 379 integer la 380 dummy(:,:)=0. 380 381 #endif 381 382 c … … 386 387 387 388 if (debutphy) then 389 allocate( trs(klon,nbtr) ) 390 allocate( masktr(klon,nbtr)) 391 allocate( fshtr(klon,nbtr) ) 392 allocate( hsoltr(nbtr)) 393 allocate( tautr(nbtr)) 394 allocate( vdeptr(nbtr)) 395 allocate( scavtr(nbtr)) 396 allocate( aerosol(nbtr)) 397 allocate( clsol(nbtr)) 398 allocate( radio(nbtr)) 388 399 389 400 ecrit_tra = NINT(86400./pdtphys *ecritphy) … … 416 427 c print*,'valeur de debut dans phytrac :',debutphy 417 428 trs(:,:) = 0. 418 419 open (99,file='starttrac',status='old', 429 430 if (phy_rank==0) then 431 trs_tmp(:)=0. 432 open (99,file='starttrac',status='old', 420 433 . err=999,form='formatted') 421 read(99,*) (trs (i,1),i=1,klon)434 read(99,*) (trs_tmp(i),i=1,klon2) 422 435 999 close(99) 436 endif 437 call ScatterField(trs_tmp,trs(:,1),1) 423 438 c print*, 'apres starttrac' 424 439 … … 451 466 endif 452 467 #ifdef INCA 468 call VTe(VTphysiq) 469 call VTb(VTinca) 453 470 !====================================================================== 454 471 ! Chimie … … 539 556 END DO 540 557 #endif 558 call VTe(VTinca) 559 call VTb(VTphysiq) 541 560 #else 542 561 … … 861 880 if (lafin) then 862 881 print*, 'c est la fin de la physique' 863 open (99,file='restarttrac', form='formatted') 864 do i=1,klon 865 write(99,*) trs(i,1) 866 enddo 867 PRINT*, 'Ecriture du fichier restarttrac' 868 close(99) 882 883 call GatherField(trs(:,1),trs_tmp,1) 884 if (phy_rank==0) then 885 886 open (99,file='restarttrac', form='formatted') 887 do i=1,klon 888 write(99,*) trs_tmp(i) 889 enddo 890 PRINT*, 'Ecriture du fichier restarttrac' 891 close(99) 892 endif 869 893 else 870 894 print*, 'physique pas fini'
Note: See TracChangeset
for help on using the changeset viewer.