Changeset 1687


Ignore:
Timestamp:
Apr 6, 2017, 4:15:56 PM (8 years ago)
Author:
slebonnois
Message:

SL: bugs corrections outputs/clouds_AStol/upper_atmosphere/start2archive

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/readstartphy.F

    r1530 r1687  
    44c
    55c
    6       SUBROUTINE readstartphy(fichnom,
     6      SUBROUTINE readstartphy(fichnom,klon_glo,
    77     .            rlat,rlon, tsol,tsoil,
    88     .           albe, solsw, sollw,
     
    1515c======================================================================
    1616      use dimphy
    17       USE mod_grid_phy_lmdz, only: klon_glo
    1817      IMPLICIT none
    1918#include "netcdf.inc"
     
    2221
    2322      CHARACTER*(*) fichnom
     23      integer klon_glo
    2424      REAL rlat(klon_glo), rlon(klon_glo)
    2525      REAL tsol(klon_glo)
  • trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/start2archive.F

    r1443 r1687  
    133133
    134134      fichnom = 'startphy.nc'
    135       CALL readstartphy(fichnom,
     135      CALL readstartphy(fichnom,ngridmx,
    136136     .       rlat,rlon,tsurf,tsoil,
    137137     .       albe, solsw, sollw,
  • trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F

    r1667 r1687  
    6262      real,parameter :: molrad=2.2e-10   ! CO2
    6363     
    64 c     Cloud density (kg.m-3)
    65 c     ~~~~~~~~~~~~~~~~~~~~~~
    66 c      real, DIMENSION(n_lon,n_lev) ::  rho_droplet
     64c     Ratio radius shell model du mode 3
     65c     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     66c       Ce ratio correspond aux mesures effectuées par J. Cimino (1982), Icarus
     67c     Fixer ce parametre a 0 revient a une gouttelette pure en liquide acide sulfurique
     68c     ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_venus !
     69      REAL, PARAMETER :: qrad = 0.97
     70      REAL :: qmass
     71c       masse volumique du coeur (kg.m-3)
     72c     ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_venus !
     73      REAL, PARAMETER :: rho_core = 2500.0
    6774
    6875      REAL, DIMENSION(n_lon,n_lev+1) ::
     
    131138c           pbndlay(:,51)=0 (en parallèle c'est sûr), ne pas l'utiliser pour Fse
    132139       
    133         DO imode=1, nbr_mode
     140c     Sedimentation pour une gouttelette mode 3 de type J. Cimino, 1982, Icarus
     141c     c.a.d 97% radius due a solide 3% radius acide sulfurique 
     142        DO imode=1, nbr_mode - 1
    134143         DO l = cloudmin, cloudmax
    135144            DO ig=1,n_lon
     
    238247      ENDDO
    239248
     249c****************************************************************
     250c        On calcule le F_sed du mode 3 + coeff*(Fsed1 + Fsed2)
     251c****************************************************************
     252         DO l = cloudmin, cloudmax
     253            DO ig=1,n_lon
     254
     255c       calcul de qmass
     256            qmass=(rho_core*qrad**3)/
     257     &    (rho_core*qrad**3+rho_droplet(ig,l)*(1.-qrad**3))
     258
     259c     RD=1000.*RNAVO*RKBOL/RMD avec RMD=43.44 Masse molaire atm venus en g.mol-1   
     260           D_stokes=(((qmass*rho_core+(1.-qmass)*rho_droplet(ig,l))
     261     &      -pmidlay(ig,l)/(RD*pt(ig,l))))
     262     &  *(2./9.)*(RG/VISCOSITY_CO2(pt(ig,l)))
     263     
     264           l_mean=(pt(ig,l)/pmidlay(ig,l))*
     265     &  (0.707*R/(4.*RPI* molrad*molrad * RNAVO))
     266     
     267           R_mode0=R_MEDIAN(ig,l,3)*
     268     &     EXP(-LOG(STDDEV(ig,l,3))**2.)
     269              IF ((l_mean/(R_mode0)).GT.10.) THEN
     270              Rp_DL=R_MEDIAN(ig,l,3)*
     271     &        EXP(3.*LOG(STDDEV(ig,l,3))**2.)
     272              ELSE
     273              Rp_DL=R_MEDIAN(ig,l,3)*
     274     &        EXP(4.*LOG(STDDEV(ig,l,3))**2.)
     275              ENDIF
     276               
     277           a=1.246*l_mean
     278       
     279           c=0.87/l_mean
     280       
     281           b_exp=0.42*l_mean*EXP(-c*Rp_DL)
     282       
     283           A1=a+b_exp*(1.+c*Rp_DL
     284     &  +0.5*(Rp_DL*c)**2
     285     &  +1./6.*(Rp_DL*c)**3)
     286     
     287           A2=1.-b_exp*(c
     288     &  +Rp_DL*c**2
     289     &  +0.5*(Rp_DL**2)*(c**3))
     290       
     291           A3=0.5*b_exp*(c**2+Rp_DL*c**3)
     292       
     293           A4=-b_exp*1./6.*c**3
     294
     295c     Addition des Flux de tous les modes presents     
     296       F_sed(ig,l)=F_sed(ig,l)
     297     &  +((1.-qmass)/(1.-qmass*K_MASS(ig,l,3)))*(
     298     &  (qmass*rho_core+(1.-qmass)*rho_droplet(ig,l))*4./3.*RPI*
     299     &  NBRTOT(ig,l,3)*1.0E6*D_stokes*(
     300     &  A1*R_MEDIAN(ig,l,3)**4
     301     &  *EXP(8.0*LOG(STDDEV(ig,l,3))**2.)
     302     &  +A2*R_MEDIAN(ig,l,3)**5
     303     &  *EXP(12.5*LOG(STDDEV(ig,l,3))**2.)
     304     &  +A3*R_MEDIAN(ig,l,3)**6
     305     &  *EXP(18.0*LOG(STDDEV(ig,l,3))**2.)
     306     &  +A4*R_MEDIAN(ig,l,3)**7
     307     &  *EXP(24.5*LOG(STDDEV(ig,l,3))**2.)))
     308     
     309c      PRINT*,' APRES dTime: F_sed=',F_sed(ig,l), ig, l
     310     
     311        IF (F_sed(ig,l).GT.m_lay(ig,l)) THEN
     312        PRINT*,'==============================================='
     313        PRINT*,'WARNING On a epuise la couche', ig, l
     314        PRINT*,'On epuise pas une couche avec une espèce
     315     &   minoritaire, c est pas bien maaaaaal'
     316            PRINT*,'Water',zqi_wv(ig,l),'Sulfuric Acid',zqi_sa(ig,l)
     317        PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l)
     318        PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep
     319        PRINT*,'Pbnd top',pbndlay(ig,l+1),'Temp',pt(ig,l),'Rho',
     320     &  rho_droplet(ig,l)
     321                PRINT*,'Ntot',NBRTOT(ig,l,:)
     322                PRINT*,'StdDev',STDDEV(ig,l,:),'Rmed',R_MEDIAN(ig,l,:)
     323                PRINT*,'K_MASS',K_MASS(ig,l,:)
     324                PRINT*,'WSA',WH2SO4(ig,l),'RHO',rho_droplet(ig,l)
     325               
     326c               ELSE
     327c               
     328c               PRINT*,'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
     329c       PRINT*,'WARNING On a PAS epuise la couche', ig, l
     330c       PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l)
     331c       PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep
     332c       PRINT*,'Pbnd top',pbndlay(ig,l+1),'Temp',pt(ig,l),'Rho',
     333c     &         rho_droplet(ig,l)(ig,l)
     334c               PRINT*,'Ntot',NBRTOT(ig,l),'Ntot m3',NBRTOT(ig,l)*1.0e6
     335c               PRINT*,'StdDev',STDDEV(ig,l),'Rmed',R_MEDIAN(ig,l)
     336            STOP               
     337              ENDIF
     338       
     339           IF (F_sed(ig,l).LT.0.0d0) THEN
     340              PRINT*,"F_sed est négatif !!!"
     341              PRINT*,'F_sed:',F_sed(ig,l),'m_lay:',m_lay(ig,l)
     342        PRINT*,'F_sed/dtphy',F_sed(ig,l)/ptimestep
     343        PRINT*,'Pbnd top',pbndlay(ig,l+1),'Pmid',pmidlay(ig,l)
     344        PRINT*,'Temp',pt(ig,l),'Rho',
     345     &  rho_droplet(ig,l)
     346                PRINT*,'Ntot',NBRTOT(ig,l,imode),'Ntot m3',
     347     &  NBRTOT(ig,l,imode)*1.0e6
     348                PRINT*,'StdDev',STDDEV(ig,l,imode),'Rmed',
     349     &          R_MEDIAN(ig,l,imode)
     350                PRINT*,'A1',A1,'A2',A2
     351                PRINT*,'A3',A1,'A4',A2
     352                PRINT*,'D_stokes',D_stokes
     353                STOP
     354           ENDIF
     355           
     356              ENDDO
     357             
     358c           ELSE           
     359c           F_sed(:,l)=0.0d0           
     360c           ENDIF
     361           
     362         ENDDO
     363c****************************************************************
     364
    240365c     Passage du Flux au Flux pour un pas de temps (== kg.m-2)     
    241366      F_sed(:,:)=F_sed(:,:)*ptimestep
  • trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_venus.F

    r1667 r1687  
    6262c       Ce ratio correspond aux mesures effectuées par J. Cimino (1982), Icarus
    6363c     Fixer ce parametre a 0 revient a une gouttelette pure en liquide acide sulfurique
     64c     ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_sedim !
    6465      REAL, PARAMETER :: qrad = 0.97
    6566      REAL :: qmass
    6667c       masse volumique du coeur (kg.m-3)
     68c     ATTENTION ! DOIT ETRE COHERENT AVEC new_cloud_sedim !
    6769      REAL, PARAMETER :: rho_core = 2500.0
    6870!----------------------------------------------------------------------------
  • trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F

    r1682 r1687  
    18631863      CALL send_xios_field("dtec",d_t_ec)
    18641864
    1865       CALL send_xios_field("SWnet",swnet)
    1866       CALL send_xios_field("LWnet",lwnet)
     1865      CALL send_xios_field("SWnet",swnet(:,1:klev))
     1866      CALL send_xios_field("LWnet",lwnet(:,1:klev))
    18671867      CALL send_xios_field("fluxvdf",fluxt)
    18681868      CALL send_xios_field("fluxdyn",flux_dyn)
     
    18751875       CALL send_xios_field(tname(iq),qx(:,:,iq)*mmean(:,:)/M_tr(iq))
    18761876         ENDDO
     1877
     1878        IF ((tr_scheme.eq.3).and.(ok_sedim).and.(cl_scheme.eq.1)) THEN
     1879       CALL send_xios_field("Fsedim",Fsedim(:,1:klev))
     1880        ENDIF
    18771881      ENDIF
    18781882
  • trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F

    r1665 r1687  
    126126       trac(:,1:22,i_co)=25.E-6
    127127       trac(:,:,i_hcl)=0.4E-6
    128        trac(:,1:22,i_so2)=9.E-6
     128       trac(:,1:22,i_so2)=10.E-6
    129129       trac(:,1:22,i_h2o)=30.0E-6
    130130
  • trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F

    r1642 r1687  
    358358         if (latB.gt.0) then
    359359           if (nbszave(latB).gt.1) then
     360             ! init to avoid outside values (near midnight so similar compo...)
     361             isza0B = nbszave(latB)
    360362             do iszaB=1,nbszave(latB)-1
    361363               if (  (szave(iszaB,latB).ge.zrmu0)
     
    396398         stop
    397399       endif
    398 
    399 
    400400
    401401       if (isza0.eq.-99) then
Note: See TracChangeset for help on using the changeset viewer.