Changeset 1922 for trunk/LMDZ.MARS/libf/phymars/improvedCO2clouds.F
- Timestamp:
- Apr 19, 2018, 3:16:47 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/improvedCO2clouds.F
r1921 r1922 1 MODULE improvedCO2clouds_mod 2 3 IMPLICIT NONE 4 5 CONTAINS 6 1 7 subroutine improvedCO2clouds(ngrid,nlay,microtimestep, 2 8 & pplay,pplev,pteff,sum_subpdt, 3 9 & pqeff,sum_subpdq,subpdqcloudco2,subpdtcloudco2, 4 10 & nq,tauscaling, 5 & mem dMMccn,memdMMh2o,memdNNccn)11 & mem_Mccn_co2,mem_Mh2o_co2,mem_Nccn_co2) 6 12 USE comcstfi_h, only: pi, g, cpp 7 13 USE updaterad, only: updaterice_micro, updaterice_microco2 … … 36 42 c Memory of the origin of the co2 particles is kept and thus the 37 43 c water cycle shouldn't be modified by this. 38 c WARNING: no sedimentation of the water ice origin is performed44 c WARNING: no sedimentation of the water ice origin is performed 39 45 c in the microphysical timestep in co2cloud.F. 40 46 … … 104 110 DOUBLE PRECISION Mo,No,No_dust,Mo_dust 105 111 DOUBLE PRECISION Rn, Rm, dev2,dev3, n_derf, m_derf 106 DOUBLE PRECISION mem dMMccn(ngrid,nlay)107 DOUBLE PRECISION mem dMMh2o(ngrid,nlay)108 DOUBLE PRECISION mem dNNccn(ngrid,nlay)112 DOUBLE PRECISION mem_Mccn_co2(ngrid,nlay) ! Memory of CCN mass of H2O and dust used by CO2 113 DOUBLE PRECISION mem_Mh2o_co2(ngrid,nlay) ! Memory of H2O mass integred into CO2 crystal 114 DOUBLE PRECISION mem_Nccn_co2(ngrid,nlay) ! Memory of CCN number of H2O and dust used by CO2 109 115 110 116 ! Radius used by the microphysical scheme (m) … … 506 512 zq(ig,l,igcm_h2o_ice) = zq(ig,l,igcm_h2o_ice)-dMh2o_ice 507 513 zq(ig,l,igcm_ccn_mass)= zq(ig,l,igcm_ccn_mass)-dMh2o_ccn 508 mem dMMh2o(ig,l)=memdMMh2o(ig,l)+dMh2o_ice509 mem dMMccn(ig,l)=memdMMccn(ig,l)+dMh2o_ccn510 mem dNNccn(ig,l)=memdNNccn(ig,l)+dNNh2o514 mem_Mh2o_co2(ig,l)=mem_Mh2o_co2(ig,l)+dMh2o_ice 515 mem_Mccn_co2(ig,l)=mem_Mccn_co2(ig,l)+dMh2o_ccn 516 mem_Nccn_co2(ig,l)=mem_Nccn_co2(ig,l)+dNNh2o 511 517 endif ! of if co2useh2o 512 518 ENDIF ! of is satu >1 … … 566 572 ! On sublime tout 567 573 if (co2useh2o) then 568 if (mem dMMccn(ig,l) .gt. 0) then574 if (mem_Mccn_co2(ig,l) .gt. 0) then 569 575 zq(ig,l,igcm_ccn_mass)=zq(ig,l,igcm_ccn_mass) 570 & +mem dMMccn(ig,l)576 & +mem_Mccn_co2(ig,l) 571 577 endif 572 if (mem dMMh2o(ig,l) .gt. 0) then578 if (mem_Mh2o_co2(ig,l) .gt. 0) then 573 579 zq(ig,l,igcm_h2o_ice)=zq(ig,l,igcm_h2o_ice) 574 & +mem dMMh2o(ig,l)580 & +mem_Mh2o_co2(ig,l) 575 581 endif 576 582 577 if (mem dNNccn(ig,l) .gt. 0) then583 if (mem_Nccn_co2(ig,l) .gt. 0) then 578 584 zq(ig,l,igcm_ccn_number)=zq(ig,l,igcm_ccn_number) 579 & +mem dNNccn(ig,l)585 & +mem_Nccn_co2(ig,l) 580 586 endif 581 587 endif … … 583 589 & zq(ig,l,igcm_dust_mass) 584 590 & + zq(ig,l,igcm_ccnco2_mass)- 585 & (mem dMMh2o(ig,l)+memdMMccn(ig,l))591 & (mem_Mh2o_co2(ig,l)+mem_Mccn_co2(ig,l)) 586 592 zq(ig,l,igcm_dust_number) = 587 593 & zq(ig,l,igcm_dust_number) 588 & + zq(ig,l,igcm_ccnco2_number)-memdNNccn(ig,l) 594 & + zq(ig,l,igcm_ccnco2_number) 595 & -mem_Nccn_co2(ig,l) 589 596 590 597 zq(ig,l,igcm_co2) = zq(ig,l,igcm_co2) … … 594 601 zq(ig,l,igcm_co2_ice)=0. 595 602 zq(ig,l,igcm_ccnco2_number)=0. 596 mem dNNccn(ig,l)=0.597 mem dMMh2o(ig,l)=0.598 mem dMMccn(ig,l)=0.603 mem_Nccn_co2(ig,l)=0. 604 mem_Mh2o_co2(ig,l)=0. 605 mem_Mccn_co2(ig,l)=0. 599 606 riceco2(ig,l)=0. 600 607 … … 643 650 644 651 645 end 646 647 648 652 c TEST D.BARDET 653 call WRITEDIAGFI(ngrid,"No_dust","Nombre particules de poussière" 654 & ,"part/kg",3,No_dust) 655 call WRITEDIAGFI(ngrid,"Mo_dust","Masse particules de poussière" 656 & ,"kg/kg ",3,Mo_dust) 657 658 END SUBROUTINE improvedCO2clouds 659 660 END MODULE improvedCO2clouds_mod 661 662 663
Note: See TracChangeset
for help on using the changeset viewer.