Changeset 3605 for LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90
- Timestamp:
- Nov 21, 2019, 4:43:45 PM (5 years ago)
- Location:
- LMDZ6/branches/Ocean_skin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin
-
LMDZ6/branches/Ocean_skin/libf/phylmd/phytrac_mod.F90
-
Property
svn:keywords
set to
Id
r3418 r3605 54 54 CONTAINS 55 55 56 SUBROUTINE phytrac_init() 57 USE dimphy 58 USE infotrac_phy, ONLY: nbtr 59 IMPLICIT NONE 60 61 ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr)) 62 ALLOCATE(flux_tr_dry(klon,nbtr),d_tr_dec(klon,klev,nbtr),d_tr_cv(klon,klev,nbtr)) 63 ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr)) 64 ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr)) 65 ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr)) 66 ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr)) 67 ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr),qDi(klon,klev,nbtr)) 68 ALLOCATE(qPa(klon,klev,nbtr),qMel(klon,klev,nbtr)) 69 ALLOCATE(qTrdi(klon,klev,nbtr),dtrcvMA(klon,klev,nbtr)) 70 ALLOCATE(d_tr_th(klon,klev,nbtr)) 71 ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr),d_tr_lessi_nucl(klon,klev,nbtr)) 72 73 END SUBROUTINE phytrac_init 74 56 75 SUBROUTINE phytrac( & 57 76 nstep, julien, gmtime, debutphy, & … … 332 351 ! -- INITIALIZATION -- 333 352 !###################################################################### 334 IF (debutphy) THEN335 ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr))336 ALLOCATE(flux_tr_dry(klon,nbtr),d_tr_dec(klon,klev,nbtr),d_tr_cv(klon,klev,nbtr))337 ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr))338 ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr))339 ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr))340 ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr))341 ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr),qDi(klon,klev,nbtr))342 ALLOCATE(qPa(klon,klev,nbtr),qMel(klon,klev,nbtr))343 ALLOCATE(qTrdi(klon,klev,nbtr),dtrcvMA(klon,klev,nbtr))344 ALLOCATE(d_tr_th(klon,klev,nbtr))345 ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr),d_tr_lessi_nucl(klon,klev,nbtr))346 ENDIF347 353 348 354 DO k=1,klev … … 405 411 !Config Key = convscav 406 412 !Config Desc = Convective scavenging switch: 0=off, 1=on. 407 !Config Def = . false.413 !Config Def = .FALSE. 408 414 !Config Help = 409 415 ! 410 416 !$OMP MASTER 411 convscav_omp=. false.417 convscav_omp=.FALSE. 412 418 call getin('convscav', convscav_omp) 413 419 iflag_vdf_trac_omp=1 … … 479 485 CASE('co2i') 480 486 source(:,:)=0. 487 lessivage = .FALSE. 488 aerosol(:) = .FALSE. 489 pbl_flg(:) = 1 490 iflag_the_trac= 1 491 iflag_vdf_trac= 1 492 iflag_con_trac= 1 481 493 #ifdef CPP_StratAer 482 494 CASE('coag') … … 506 518 CASE('lmdz') 507 519 IF (convscav.and.aerosol(it)) THEN 508 flag_cvltr(it)=. true.520 flag_cvltr(it)=.TRUE. 509 521 ccntrAA(it) =ccntrAA_in !--a modifier par JYG a lire depuis fichier 510 522 ccntrENV(it)=ccntrENV_in 511 523 coefcoli(it)=coefcoli_in 512 524 ELSE 513 flag_cvltr(it)=. false.525 flag_cvltr(it)=.FALSE. 514 526 ENDIF 515 527 516 528 CASE('repr') 517 flag_cvltr(it)=. false.529 flag_cvltr(it)=.FALSE. 518 530 519 531 CASE('inca') 520 532 ! IF ((it.EQ.id_Rn222) .OR. ((it.GE.id_SO2) .AND. (it.LE.id_NH3)) ) THEN 521 533 ! !--gas-phase species 522 ! flag_cvltr(it)=. false.534 ! flag_cvltr(it)=.FALSE. 523 535 ! 524 536 ! ELSEIF ( (it.GE.id_CIDUSTM) .AND. (it.LE.id_AIN) ) THEN 525 537 ! !--insoluble aerosol species 526 ! flag_cvltr(it)=. true.538 ! flag_cvltr(it)=.TRUE. 527 539 ! ccntrAA(it)=0.7 528 540 ! ccntrENV(it)=0.7 … … 530 542 ! ELSEIF ( (it.EQ.id_Pb210) .OR. ((it.GE.id_CSSSM) .AND. (it.LE.id_SSN))) THEN 531 543 ! !--soluble aerosol species 532 ! flag_cvltr(it)=. true.544 ! flag_cvltr(it)=.TRUE. 533 545 ! ccntrAA(it)=0.9 534 546 ! ccntrENV(it)=0.9 … … 540 552 !--test OB 541 553 !--for now we do not scavenge in cvltr 542 flag_cvltr(it)=. false.554 flag_cvltr(it)=.FALSE. 543 555 544 556 CASE('co2i') 545 557 !--co2 tracers are not scavenged 546 flag_cvltr(it)=. false.558 flag_cvltr(it)=.FALSE. 547 559 548 560 #ifdef CPP_StratAer 549 561 CASE('coag') 550 562 IF (convscav.and.aerosol(it)) THEN 551 flag_cvltr(it)=. true.563 flag_cvltr(it)=.TRUE. 552 564 ccntrAA(it) =ccntrAA_in 553 565 ccntrENV(it)=ccntrENV_in 554 566 coefcoli(it)=coefcoli_in 555 567 ELSE 556 flag_cvltr(it)=. false.568 flag_cvltr(it)=.FALSE. 557 569 ENDIF 558 570 #endif … … 562 574 ! 563 575 ELSE ! iflag_con .ne. 3 564 flag_cvltr(:) = . false.576 flag_cvltr(:) = .FALSE. 565 577 ENDIF 566 578 ! … … 590 602 IF (lessivage .AND. type_trac .EQ. 'inca') THEN 591 603 CALL abort_physic('phytrac', 'lessivage=T config_inca=inca impossible',1) 592 STOP604 ! STOP 593 605 ENDIF 594 606 ! 595 END 607 ENDIF ! of IF (debutphy) 596 608 !############################################ END INITIALIZATION ####### 597 609 … … 637 649 ! -- CO2 interactif -- 638 650 ! -- source is updated with FF and BB emissions 639 ! -- OB => PC need to add net fluxfrom ocean and orchidee651 ! -- and net fluxes from ocean and orchidee 640 652 ! -- sign convention : positive into the atmosphere 653 641 654 CALL tracco2i(pdtphys, debutphy, & 642 655 xlat, xlon, pphis, pphi, & … … 754 767 #endif 755 768 756 END 769 ENDIF ! convection 757 770 758 771 !====================================================================== … … 792 805 END DO ! it 793 806 794 END 807 ENDIF ! Thermiques 795 808 796 809 !====================================================================== … … 878 891 CALL abort_physic('iflag_vdf_trac', 'cas non prevu',1) 879 892 ! 880 END 893 ENDIF ! couche limite 881 894 882 895 !====================================================================== … … 968 981 zdz(i,k)=(paprs(i,k)-paprs(i,k+1))/zrho(i,k)/RG 969 982 ! 970 END 971 END 983 ENDDO 984 ENDDO 972 985 973 986 DO k=klev-1, 1, -1 … … 1014 1027 ! (1.-1./(frac_impa(i,k)*frac_nucl(i,k))) 1015 1028 !-------------- 1016 END 1017 END 1018 END 1019 END 1029 ENDDO 1030 ENDDO 1031 ENDIF 1032 ENDDO 1020 1033 ! ********* end modified old version 1021 1034 … … 1053 1066 ! ---------------------------------------------------------------------- 1054 1067 tr_seri(i,k,it)=tr_seri(i,k,it)*frac_impa(i,k)*frac_nucl(i,k) 1055 END 1056 END 1057 END 1058 END 1068 ENDDO 1069 ENDDO 1070 ENDIF 1071 ENDDO 1059 1072 1060 1073 ! ********* end old version 1061 1074 ENDIF ! iflag_lscav . EQ. 1, 2, 3 or 4 1062 1075 ! 1063 END 1076 ENDIF ! lessivage 1064 1077 1065 1078 -
Property
svn:keywords
set to
Note: See TracChangeset
for help on using the changeset viewer.