Changeset 1629
- Timestamp:
- Nov 22, 2016, 12:08:15 PM (8 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r1627 r1629 2364 2364 Bug fix in 1D in physiq, missing "if (co2clouds)" around some operations to 2365 2365 be done only when that option is set. 2366 2367 == 22/11/2016 == JA 2368 - Bug fix concerning the "riceco2" variable which was declared as a double or as areal in different routines. riceco2 is now correctly declared as a double evrywhere (updaterad.F and co2cloud.F) 2369 - Moved CO2 clouds outuputs from physiq_mod.F to co2cloud.F 2370 - Removed some CO2 clouds properties computation in physiq_mod.F (now done in post-treatment) -
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 -
trunk/LMDZ.MARS/makegcm_ifort
r1540 r1629 6 6 ######################################################################## 7 7 set dim="64x48x32" 8 set dim="32" 8 9 set physique=mars 9 10 set phys="PHYS=$physique" … … 40 41 if ( $? == 0 ) then 41 42 echo "*** NETCDF preset *** GNOME cluster" 42 setenv NCDFLIB /usr/l ocal/lib43 setenv NCDFINC /usr/ local/include43 setenv NCDFLIB /usr/lib64 44 setenv NCDFINC /usr/include 44 45 endif 45 46 hostname | grep 'ciclad' > /dev/null … … 55 56 setenv NCDFINC /smplocal/pub/NetCDF/4.1.3/seq/include 56 57 endif 58 #### LATMOS 59 hostname | grep 'latmos.ipsl.fr' > /dev/null 60 if ( $? == 0 ) then 61 echo "*** NETCDF preset *** LATMOS" 62 setenv NCDFLIB /net/nfs/exoclim/audouard/GCM_MARS/netcdf-4.0.1/lib 63 setenv NCDFINC /net/nfs/exoclim/audouard/GCM_MARS/netcdf-4.0.1/include 64 endif 65 66 67 setenv NCDFLIB /opt/netcdf43/ifort/lib 68 setenv NCDFINC /opt/netcdf43/ifort/include 69 70 57 71 ### end NetCDF presets 58 72 … … 189 203 if $CRAY then 190 204 set optim90="-Wp'-P' -DCRAY "'-p$(LIBO) -eiv ' 191 set oplink="-Wl'-DSTACK=128 -f indef' -L$NCDFLIB -lnetcdf "205 set oplink="-Wl'-DSTACK=128 -f indef' -L$NCDFLIB -lnetcdff " 192 206 set mod_loc_dir=" " 193 207 set mod_suffix=" " … … 195 209 set optim90=" -fast" 196 210 set optimtru90=" -fast -free" 197 set opt_link="-L$NCDFLIB -lnetcdf "211 set opt_link="-L$NCDFLIB -lnetcdff" 198 212 set mod_loc_dir=$localdir 199 213 set mod_suffix=mod … … 420 434 else if $LINUX then 421 435 ## for ifort 422 set optim=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug "423 set optim90=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug "424 set optimtru90=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug "436 set optim=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug -DNC_DOUBLE -real-size 64 " 437 set optim90=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug -DNC_DOUBLE -real-size 64 " 438 set optimtru90=" -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check all -debug -DNC_DOUBLE -real-size 64 " 425 439 else 426 440 echo "pas d option debug predefinie pour cette machine" … … 721 735 set f77=ifort 722 736 set f90=ifort 723 set opt_link=" -L$LIBOGCM -L$NCDFLIB -lnetcdf "737 set opt_link=" -L$LIBOGCM -L$NCDFLIB -lnetcdff " 724 738 else if $SUN then 725 739 set f77=f90 … … 773 787 else if $LINUX then 774 788 # Ehouarn : adapt to gfortran 775 set optim="$optim -I${libo} $cpp_def "776 set optim90="$optim90 -I${libo} $cpp_def "777 set optimtru90="$optimtru90 -I${libo} $cpp_def "789 set optim="$optim -I${libo} $cpp_def -DNC_DOUBLE -real-size 64" 790 set optim90="$optim90 -I${libo} $cpp_def -DNC_DOUBLE -real-size 64 " 791 set optimtru90="$optimtru90 -I${libo} $cpp_def -DNC_DOUBLE -real-size 64" 778 792 # Ehouarn: remove set mod_loc_dir def below; mod_loc_dir=$localdir (set above) 779 793 # set mod_loc_dir=$libo
Note: See TracChangeset
for help on using the changeset viewer.