Changeset 2566 for LMDZ5/trunk/libf/dyn3d_common
- Timestamp:
- Jun 10, 2016, 4:52:39 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d_common/infotrac.F90
r2391 r2566 86 86 INTEGER, ALLOCATABLE, DIMENSION(:) :: hadv ! index of horizontal trasport schema 87 87 INTEGER, ALLOCATABLE, DIMENSION(:) :: vadv ! index of vertical trasport schema 88 89 #ifdef INCA 90 INTEGER, ALLOCATABLE, DIMENSION(:) :: hadv_inca ! index of horizontal trasport schema 91 INTEGER, ALLOCATABLE, DIMENSION(:) :: vadv_inca ! index of vertical trasport schema 92 #endif 88 93 89 94 CHARACTER(len=15), ALLOCATABLE, DIMENSION(:) :: tnom_0 ! tracer short name … … 226 231 ! 227 232 ALLOCATE(tnom_0(nqtrue), hadv(nqtrue), vadv(nqtrue),tnom_transp(nqtrue)) 233 234 #ifdef INCA 235 ALLOCATE(hadv_inca(nbtr), vadv_inca(nbtr)) 236 #endif 228 237 ! 229 238 !jyg< … … 375 384 !>jyg 376 385 ! le module de chimie fournit les noms des traceurs 377 ! et les schemas d'advection associes. 378 386 ! et les schemas d'advection associes. excepte pour ceux lus 387 ! dans traceur.def 388 IF (ierr .eq. 0) then 389 DO iq=1,nqo 390 391 write(*,*) 'infotrac 237: iq=',iq 392 ! CRisi: ajout du nom du fluide transporteur 393 ! mais rester retro compatible 394 READ(90,'(I2,X,I2,X,A)',IOSTAT=IOstatus) hadv(iq),vadv(iq),tchaine 395 write(lunout,*) 'iq,hadv(iq),vadv(iq)=',iq,hadv(iq),vadv(iq) 396 write(lunout,*) 'tchaine=',trim(tchaine) 397 write(*,*) 'infotrac 238: IOstatus=',IOstatus 398 if (IOstatus.ne.0) then 399 CALL abort_gcm('infotrac_init','Pb dans la lecture de traceur.def',1) 400 endif 401 ! Y-a-t-il 1 ou 2 noms de traceurs? -> On regarde s'il y a un 402 ! espace ou pas au milieu de la chaine. 403 continu=.true. 404 nouveau_traceurdef=.false. 405 iiq=1 406 do while (continu) 407 if (tchaine(iiq:iiq).eq.' ') then 408 nouveau_traceurdef=.true. 409 continu=.false. 410 else if (iiq.lt.LEN_TRIM(tchaine)) then 411 iiq=iiq+1 412 else 413 continu=.false. 414 endif 415 enddo 416 write(*,*) 'iiq,nouveau_traceurdef=',iiq,nouveau_traceurdef 417 if (nouveau_traceurdef) then 418 write(lunout,*) 'C''est la nouvelle version de traceur.def' 419 tnom_0(iq)=tchaine(1:iiq-1) 420 tnom_transp(iq)=tchaine(iiq+1:15) 421 else 422 write(lunout,*) 'C''est l''ancienne version de traceur.def' 423 write(lunout,*) 'On suppose que les traceurs sont tous d''air' 424 tnom_0(iq)=tchaine 425 tnom_transp(iq) = 'air' 426 endif 427 write(lunout,*) 'tnom_0(iq)=<',trim(tnom_0(iq)),'>' 428 write(lunout,*) 'tnom_transp(iq)=<',trim(tnom_transp(iq)),'>' 429 430 END DO !DO iq=1,nqtrue 431 CLOSE(90) 432 ELSE !! if traceur.def doesn't exist 433 tnom_0(1)='H2Ov' 434 tnom_transp(1) = 'air' 435 tnom_0(2)='H2Ol' 436 tnom_transp(2) = 'air' 437 hadv(1) = 10 438 hadv(2) = 10 439 vadv(1) = 10 440 vadv(2) = 10 441 ENDIF 442 379 443 #ifdef INCA 380 444 CALL init_transport( & 381 hadv , &382 vadv , &445 hadv_inca, & 446 vadv_inca, & 383 447 conv_flg, & 384 448 pbl_flg, & 385 449 solsym) 386 450 #endif 387 tnom_0(1)='H2Ov' 388 tnom_transp(1) = 'air' 389 tnom_0(2)='H2Ol' 390 tnom_transp(2) = 'air' 391 IF (nqo == 3) then 392 tnom_0(3)='H2Oi' !! jyg 393 tnom_transp(3) = 'air' 394 endif 451 395 452 396 453 !jyg< 397 454 DO iq = nqo+1, nqtrue 455 hadv(iq) = hadv_inca(iq-nqo) 456 vadv(iq) = vadv_inca(iq-nqo) 398 457 tnom_0(iq)=solsym(iq-nqo) 399 458 tnom_transp(iq) = 'air' 400 459 END DO 401 !! DO iq =3,nqtrue402 !! tnom_0(iq)=solsym(iq-2)403 !! END DO404 !! nqo = 2405 !>jyg406 460 407 461 END IF ! (type_trac == 'inca')
Note: See TracChangeset
for help on using the changeset viewer.