Changeset 2524
- Timestamp:
- May 17, 2021, 2:14:13 PM (4 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r2522 r2524 3382 3382 Added a logical flag allowing for a temperature-dependant parametrization of the water contact parameter : "temp_dependant_m". Default value is false for now. 3383 3383 3384 3384 == 17/05/2021 == CM 3385 minor fix in co2condens4micro; fix co2 sedimentation rate outputs -
trunk/LMDZ.MARS/libf/phymars/co2cloud.F90
r2494 r2524 946 946 call WRITEDIAGFI(ngrid, "satuco2", "vap in satu", " ", 3, satuco2) 947 947 948 call WRITEDIAGFI(ngrid, "precip_co2_ice", "surface deposition of co2 ice", "kg.m-2", 2, pdqs_sedco2(:)*ptimestep) 949 950 call WRITEDIAGFI(ngrid, "precip_co2_ice_rate", "surface deposition rate of co2 ice", "kg.m-2.s-1", 2, pdqs_sedco2(:)) 951 952 call WRITEDIAGFI(ngrid, "co2ice_cond_rate", "CO2 condensation rate in atm layers", "kg.kg-1.s-1", 3, pcondicea) 953 954 call WRITEDIAGFI(ngrid, "pdtcloudco2", "temperature variation of CO2 latent heat", "K.s-1", 3, pdtcloudco2) 955 956 call writediagfi(ngrid, "riceco2", "ice radius", "m", 3, riceco2) 957 958 call WRITEDIAGFI(ngrid, "Tau3D1mic", " co2 ice opacities", " ", 3, Qext1bins2) 959 960 call WRITEDIAGFI(ngrid, "tau1mic", "co2 ice opacity 1 micron", " ", 2, tau1mic) 961 962 call WRITEDIAGFI(ngrid, "mem_Nccn_co2", "CCN number used by CO2", "kg.kg-1", 3, mem_Nccn_co2) 963 964 call WRITEDIAGFI(ngrid, "mem_Mccn_co2", "CCN mass used by CO2", "kg.kg-1", 3, mem_Mccn_co2) 965 966 call WRITEDIAGFI(ngrid, "mem_Mh2o_co2", "H2O mass in CO2 crystal", "kg.kg-1", 3, mem_Mh2o_co2) 948 967 if (CLFvaryingCO2) then 949 968 call WRITEDIAGFI(ngrid, "co2cloudfrac", "co2 cloud fraction", " ", 3, co2cloudfrac) 950 969 end if 951 952 call writediagfi(ngrid, "riceco2", "ice radius", "m", 3, riceco2)953 954 call WRITEDIAGFI(ngrid, "Tau3D1mic", " co2 ice opacities", " ", 3, Qext1bins2)955 956 call WRITEDIAGFI(ngrid, "tau1mic", "co2 ice opacity 1 micron", " ", 2, tau1mic)957 958 call WRITEDIAGFI(ngrid, "mem_Nccn_co2", "CCN number used by CO2", "kg/kg", 3, mem_Nccn_co2)959 960 call WRITEDIAGFI(ngrid, "mem_Mccn_co2", "CCN mass used by CO2", "kg/kg", 3, mem_Mccn_co2)961 962 call WRITEDIAGFI(ngrid, "mem_Mh2o_co2", "H2O mass in CO2 crystal", "kg/kg", 3, mem_Mh2o_co2)963 970 !======================================================================================================================! 964 971 ! END =================================================================================================================! -
trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F
r2409 r2524 14 14 $ fluxsurf_sw,zls, 15 15 $ zdqssed_co2,pcondicea_co2microp, 16 $ zdtcloudco2,pdqsc)16 $ pdqsc) 17 17 18 18 use tracer_mod, only: noms, igcm_h2o_ice, igcm_h2o_vap, … … 81 81 REAL,INTENT(IN) :: zdqssed_co2(ngrid) ! CO2 flux at the surface (kg.m-2.s-1) 82 82 REAL,INTENT(IN) :: pcondicea_co2microp(ngrid,nlayer)! tendency due to CO2 condensation (kg/kg.s-1) 83 REAL,INTENT(IN) :: zdtcloudco2(ngrid,nlayer) ! tendency on temperature due to latent heat84 83 85 84 REAL,INTENT(INOUT) :: piceco2(ngrid) ! CO2 ice on the surface (kg.m-2) -
trunk/LMDZ.MARS/libf/phymars/co2condens_mod4micro.F90
r2494 r2524 61 61 subroutine co2condens4micro(ngrid, nlayer, nq, ptimestep, pcapcal, pplay, pplev, ptsrf, pt, pphi, pdt, pdu, pdv, & 62 62 pdtsrf, pu, pv, pq, pdq, piceco2, psolaralb, pemisurf, pdtc, pdtsrfc, pdpsrf, pduc, & 63 pdvc, pdqc, fluxsurf_sw, zls, zdqssed_co2, pcondicea_co2microp , zdtcloudco2)63 pdvc, pdqc, fluxsurf_sw, zls, zdqssed_co2, pcondicea_co2microp) 64 64 65 65 use tracer_mod, only: noms, igcm_co2, igcm_co2_ice, igcm_h2o_vap, igcm_h2o_ice, igcm_dust_number, igcm_dust_mass, & … … 108 108 pdq(ngrid,nlayer,nq), &! tendency on tracers from previous physical processes 109 109 zdqssed_co2(ngrid), &! CO2 flux at the surface (kg.m-2.s-1) 110 zdtcloudco2(ngrid,nlayer), &! tendency on temperature due to latent heat111 110 fluxsurf_sw(ngrid,2), &! added to calculate flux dependent albedo 112 111 zls, &! solar longitude (rad) … … 297 296 end do 298 297 299 call writediagfi(ngrid, "zcondicea","Condensation rate in layers", " ", 3, zcondicea)300 301 call writediagfi(ngrid,"zfallice", "Sedimentation rate", " ", 2, zfallice)302 303 298 ! Compute without microphysics 304 299 diff_zcondicea(1:ngrid, 1:nlayer) = 0. … … 333 328 end if 334 329 pdtc_2(ig,l) = (ztcond_2(ig,l) - zt_2(ig,l))/ptimestep 335 zcondicea_2(ig,l) = (pplev(ig,l)-pplev(ig,l+1))*ccond*pdtc (ig,l)- zfallheat_2330 zcondicea_2(ig,l) = (pplev(ig,l)-pplev(ig,l+1))*ccond*pdtc_2(ig,l)- zfallheat_2 336 331 ! Case when the ice from above sublimes entirely 337 332 ! """"""""""""""""""""""""""""""""""""""""""""""" … … 725 720 MQtot = MQtot + masse(m+1)*q(m+1) 726 721 if (m==0) then 727 call abort_physic('co2condens_mod4micro','vl1d',1)722 exit 728 723 end if 729 724 end do -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r2514 r2524 434 434 REAL dsotop(ngrid,nlayer) ! density scaled opacity for topdust 435 435 436 REAL nccnco2(ngrid,nlayer) ! true n ccnco2 (kg/kg)437 REAL qccnco2(ngrid,nlayer) ! true q ccnco2 (kg/kg)438 436 439 437 c Test 1d/3d scavenging … … 1657 1655 pdt(1:ngrid,1:nlayer) = 1658 1656 & pdt(1:ngrid,1:nlayer) + 1659 & zdtcloudco2(1:ngrid,1:nlayer) ! --> in co2condens1657 & zdtcloudco2(1:ngrid,1:nlayer) 1660 1658 1661 1659 … … 1953 1951 $ zdtc,zdtsurfc,pdpsrf,zduc,zdvc,zdqc, 1954 1952 $ fluxsurf_sw,zls, 1955 $ zdqssed_co2,zcondicea_co2microp, 1956 & zdtcloudco2) 1953 $ zdqssed_co2,zcondicea_co2microp) 1957 1954 ! no scavenging yet 1958 1955 zdqsc(:,:) = 0. … … 1965 1962 $ fluxsurf_sw,zls, 1966 1963 $ zdqssed_co2,zcondicea_co2microp, 1967 & zd tcloudco2,zdqsc)1964 & zdqsc) 1968 1965 DO iq=1, nq 1969 1966 DO ig=1,ngrid … … 1971 1968 ENDDO ! (ig) 1972 1969 ENDDO ! (iq) 1973 end if 1970 end if ! co2clouds 1974 1971 DO l=1,nlayer 1975 1972 DO ig=1,ngrid … … 2416 2413 endif !(rdstorm) 2417 2414 2418 if (co2clouds) then2419 do ig=1,ngrid2420 nccnco2(ig,:) =2421 & zq(ig,:,igcm_ccnco2_number)*tauscaling(ig)2422 qccnco2(ig,:) =2423 & zq(ig,:,igcm_ccnco2_mass)*tauscaling(ig)2424 enddo2425 endif ! of if (co2clouds)2426 2415 2427 2416 if (water) then … … 2927 2916 2928 2917 if (tracer.and.(igcm_co2.ne.0)) then 2929 ! call WRITEDIAGFI(ngrid,"co2_l1","co2 mix. ratio in 1st layer",2930 ! & "kg/kg",2,zq(1,1,igcm_co2))2931 2918 call WRITEDIAGFI(ngrid,"co2","co2 mass mixing ratio", 2932 & "kg /kg",3,zq(:,:,igcm_co2))2919 & "kg.kg-1",3,zq(:,:,igcm_co2)) 2933 2920 2934 2921 if (co2clouds) then 2935 call WRITEDIAGFI(ngrid,'zdtcloudco2', 2936 & 'temperature variation of CO2 latent heat', 2937 & 'K/s',3,zdtcloudco2) 2938 2939 call WRITEDIAGFI(ngrid,'ccnqco2','CCNco2 mass mr', 2940 & 'kg/kg',3,qccnco2) 2922 call WRITEDIAGFI(ngrid,'ccnqco2','CCNco2 mmr', 2923 & 'kg.kg-1',3,zq(:,:,igcm_ccnco2_mass)) 2941 2924 2942 2925 call WRITEDIAGFI(ngrid,'ccnNco2','CCNco2 number', 2943 & 'part/kg',3,nccnco2) 2944 2945 call WRITEDIAGFI(ngrid,'co2_ice','co2_ice','kg/kg', 2946 & 3,zq(:,:,igcm_co2_ice)) 2947 2948 call WRITEDIAGFI(ngrid,'precip_co2_ice', 2949 & 'surface deposition of co2 ice', 2950 & 'kg.m-2.s-1',2, 2951 & zdqssed(1:ngrid,igcm_co2_ice)) 2926 & 'part.kg-1',3,zq(:,:,igcm_ccnco2_number)) 2927 2928 call WRITEDIAGFI(ngrid,'co2_ice','co2_ice mmr in atm', 2929 & 'kg.kg-1', 3, zq(:,:,igcm_co2_ice)) 2930 2931 call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2, 2932 & emis) 2952 2933 end if ! of if (co2clouds) 2953 2934 end if ! of if (tracer.and.(igcm_co2.ne.0)) … … 3769 3750 rave2=max(rave2/max(totrave2,1.e-30),1.e-30) 3770 3751 CALL WRITEDIAGFI(ngrid,'rmoym', 3771 & 3752 & 'reffice', 3772 3753 & 'm',0,rave2) 3773 3754 … … 3804 3785 3805 3786 ENDIF ! of IF (water) 3806 3807 3808 ! co2clouds 3809 if (co2clouds) then 3810 call WRITEDIAGFI(ngrid,'zdtcloudco2', 3811 & 'temperature variation of CO2 latent heat', 3812 & 'K/s',3,zdtcloudco2) 3813 call WRITEDIAGFI(ngrid,"emis","Surface emissivity","w.m-1",2, 3814 & emis) 3815 3816 end if 3817 3787 3818 3788 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 3819 3789 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Note: See TracChangeset
for help on using the changeset viewer.