Changeset 1629 for trunk/LMDZ.MARS/libf/phymars
- Timestamp:
- Nov 22, 2016, 12:08:15 PM (8 years ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/co2cloud.F
r1617 r1629 83 83 ! a la chaleur latente 84 84 85 REALriceco2(ngrid,nlay) ! Ice mass mean radius (m)85 DOUBLE PRECISION riceco2(ngrid,nlay) ! Ice mass mean radius (m) 86 86 ! (r_c in montmessin_2004) 87 87 REAL nuice(ngrid,nlay) ! Estimated effective variance … … 755 755 enddo 756 756 enddo 757 ccall WRITEDIAGFI(ngrid,"satuco2","vap in satu","kg/kg",1,758 c& satuco2)759 ccall WRITEdiagfi(ngrid,"riceco2","ice radius","m"760 c& ,1,riceco2)757 call WRITEDIAGFI(ngrid,"satuco2","vap in satu","kg/kg",1, 758 & satuco2) 759 call WRITEdiagfi(ngrid,"riceco2","ice radius","m" 760 & ,1,riceco2) 761 761 ! or output in diagfi.nc (for testphys1d) 762 762 c call WRITEDIAGFI(ngrid,'ps','Surface pressure','Pa',0,ps) -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r1627 r1629 1851 1851 1852 1852 if (co2clouds) then 1853 1854 1855 1856 1857 1858 1859 & zq(ig,l,igcm_co2) *1860 & (zplev(ig,l) - zplev(ig,l+1)) / g1861 1862 & zq(ig,l,igcm_co2_ice) *1863 & (zplev(ig,l) - zplev(ig,l+1)) / g1864 1865 c 1866 1867 & (1.+nuiceco2_ref)-0.05 ,0.),1.2)1868 c 1853 c mtotco2(:)=0 1854 c icetotco2(:)=0 1855 c raveco2(:)=0 1856 c do ig=1,ngrid 1857 c do l=1,nlayer 1858 c mtotco2(ig) = mtotco2(ig) + 1859 c & zq(ig,l,igcm_co2) * 1860 c & (zplev(ig,l) - zplev(ig,l+1)) / g 1861 c icetotco2(ig) = icetotco2(ig) + 1862 c & zq(ig,l,igcm_co2_ice) * 1863 c & (zplev(ig,l) - zplev(ig,l+1)) / g 1864 1865 c Computing abs optical depth at 825 cm-1 in each ! for now commented for CO2 - listo layer to simulate NEW TES retrieval 1866 c Qabsice = min( max(0.4e6*riceco2(ig,l)* 1867 c & (1.+nuiceco2_ref)-0.05 ,0.),1.2) 1868 c opTESco2(ig,l)= 0.75 * Qabsice * 1869 1869 c & zq(ig,l,igcm_co2_ice) * 1870 1870 c & (zplev(ig,l) - zplev(ig,l+1)) / g 1871 1871 c & / (rho_ice_co2 * riceco2(ig,l) 1872 1872 c & * (1.+nuiceco2_ref)) 1873 c 1874 1875 1873 c tauTESco2(ig)=tauTESco2(ig)+ opTESco2(ig,l) 1874 c enddo 1875 c enddo 1876 1876 call co2sat(ngrid*nlayer,zt,zplay,zqsatco2) 1877 1877 do ig=1,ngrid … … 1881 1881 enddo 1882 1882 enddo 1883 1883 1884 1884 if (scavenging) then 1885 1885 Nccntot(:)= 0 … … 1890 1890 do l=1,nlayer 1891 1891 icetotco2(ig) = icetotco2(ig) + 1892 & zq(ig,l,igcm_co2_ice) *1893 & (zplev(ig,l) - zplev(ig,l+1)) / g1892 & zq(ig,l,igcm_co2_ice) * 1893 & (zplev(ig,l) - zplev(ig,l+1)) / g 1894 1894 Nccntot(ig) = Nccntot(ig) + 1895 1895 & zq(ig,l,igcm_ccnco2_number)*tauscaling(ig) … … 1899 1899 & *(zplev(ig,l) - zplev(ig,l+1)) / g 1900 1900 cccc Column integrated effective ice radius 1901 cccc is weighted by total ice surface area (BETTER than total ice mass)1901 cccc is weighted by total ice surface area (BETTER than total ice mass) 1902 1902 raveco2(ig) = raveco2(ig) + 1903 1903 & tauscaling(ig) * … … 1924 1924 & max(icetotco2(ig),1.e-30),1.e-30) ! mass weight 1925 1925 enddo 1926 endif ! of if (scavenging)1927 endif ! of if (co2clouds)1928 endif! of if (tracer)1926 endif ! of if (scavenging) 1927 endif ! of if (co2clouds) 1928 endif ! of if (tracer) 1929 1929 1930 1930 #ifndef MESOSCALE … … 2682 2682 2683 2683 2684 call WRITEDIAGFI(ngrid,"satuco2","vap in satu","kg/kg",1,2685 & satuco2(1,:))2686 call WRITEdiagfi(ngrid,"riceco2","ice radius","m"2687 & ,1,riceco2(1,:))2684 c call WRITEDIAGFI(ngrid,"satuco2","vap in satu","kg/kg",1, 2685 c & satuco2) 2686 c call WRITEdiagfi(ngrid,"riceco2","ice radius","m" 2687 c & ,1,riceco2) 2688 2688 ! or output in diagfi.nc (for testphys1d) 2689 2689 call WRITEDIAGFI(ngrid,'ps','Surface pressure','Pa',0,ps) 2690 2690 call WRITEDIAGFI(ngrid,'temp','Temperature ', 2691 & 'K JA',1,zt (1,:))2691 & 'K JA',1,zt) 2692 2692 c call WRITEDIAGFI(ngrid,'temp2','Temperature ', 2693 2693 c & 'K JA2',1,pt) -
trunk/LMDZ.MARS/libf/phymars/updaterad.F90
r1619 r1629 23 23 real, parameter :: ricemax = 500.e-6 24 24 25 real, parameter :: r3iceco2min = 1.e-3026 real, parameter :: riceco2min = 1.e-1027 28 real, parameter :: r3iceco2max = 125.e-1229 real, parameter :: riceco2max = 500.e-625 double precision, parameter :: r3iceco2min = 1.e-30 26 double precision, parameter :: riceco2min = 1.e-10 27 28 double precision, parameter :: r3iceco2max = 125.e-12 29 double precision, parameter :: riceco2max = 500.e-6 30 30 31 31 … … 112 112 real, intent(in) :: qice,qccn,nccn 113 113 real, intent(in) :: coeff ! this coeff is tauscaling if microphy = T (possibly ccn_factor^-1 otherwise) 114 real, intent(out) :: rice,rhocloudco2 ! rhocloud is needed for sedimentation and is also a good diagnostic variable 114 real, intent(out) :: rhocloudco2 ! rhocloud is needed for sedimentation and is also a good diagnostic variable 115 double precision, intent(out) :: rice 115 116 real nccn_true,qccn_true ! nombre et masse de CCN 116 117
Note: See TracChangeset
for help on using the changeset viewer.