Changeset 2200 for trunk/LMDZ.VENUS


Ignore:
Timestamp:
Dec 16, 2019, 8:55:01 AM (5 years ago)
Author:
flefevre
Message:

correction de bugs dans le supercycling de la chimie

Location:
trunk/LMDZ.VENUS/libf/phyvenus
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/cloudvenus/new_cloud_sedim.F

    r1687 r2200  
    1       SUBROUTINE new_cloud_sedim(n_lon,n_lev,ptimestep,
    2      &                pmidlay,pbndlay,
    3      &                pt,
    4      &                pq, pdqsed,pdqs_sed,nq,F_sed)
     1      subroutine new_cloud_sedim(n_lon, n_lev, ptimestep,
     2     $                           pmidlay, pbndlay, pt, pq,
     3     $                           d_tr_chem, pdqsed, pdqs_sed,
     4     $                           nq, F_sed)
    55
    66      USE ioipsl
     
    88      USE chemparam_mod
    99      IMPLICIT NONE
    10 
    11 c=======================================================================
    12 c     
    13 c=======================================================================
    1410
    1511c-----------------------------------------------------------------------
     
    2117c#include "tracer.h"
    2218c#include "callkeys.h"
    23        
    2419c
    2520c   arguments:
     
    3631      integer nq                    ! number of tracers
    3732      real pq(n_lon,n_lev,nq)       ! tracers (kg/kg)
    38 c      real pdqfi(n_lon,n_lev,nq)   ! tendency before sedimentation (kg/kg.s-1)
    3933      real pdqsed(n_lon,n_lev,2)    ! tendency due to sedimentation (kg/kg)
     34      real d_tr_chem(n_lon,n_lev,nq)! tendency due to chemistry and clouds (kg/kg)
    4035      real pdqs_sed(n_lon)          ! surface density (Flux if /ptimestep) at surface due to sedimentation (kg.m-2)
    4136     
     
    7368      REAL, PARAMETER :: rho_core = 2500.0
    7469
    75       REAL, DIMENSION(n_lon,n_lev+1) ::
    76      + wgt_SA                         ! Fraction of H2SO4 in droplet local
     70      REAL, DIMENSION(n_lon,n_lev+1) :: wgt_SA   ! Fraction of H2SO4 in droplet local
    7771
    7872c     Stokes speed and sedimentation flux variable
     
    8781     + F_sed                          ! Flux de sedimentation (kg.m-2.s-1 puis en output kg.m-2)
    8882     
    89      
    9083      REAL :: R_mode0                 ! Rayon mode 0 (m), rayon le plus frequent
    91 
    92 
    9384
    9485!      PRINT*,'RHO_DROPLET new_cloud_sedim.F'
     
    10091c    -----------------
    10192   
    102 c     Updating the droplet mass mixing ratio with the partition H2O/H2SO4
    103 c     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    104 
    105       do l=1,n_lev
    106          do ig=1,n_lon
    107          zqi_wv(ig,l) = pq(ig,l,i_h2oliq)
    108          zqi_sa(ig,l) = pq(ig,l,i_h2so4liq)
    109          wgt_SA(ig,l) = WH2SO4(ig,l)
    110          enddo
    111       enddo
     93!     Updating the droplet mass mixing ratio with the partition H2O/H2SO4
     94
     95      zqi_wv(:,:) = pq(:,:,i_h2oliq) + d_tr_chem(:,:,i_h2oliq)*ptimestep
     96      zqi_sa(:,:) = pq(:,:,i_h2so4liq)
     97     $            + d_tr_chem(:,:,i_h2so4liq)*ptimestep
     98      wgt_SA(:,:) = wh2so4(:,:)
    11299
    113100c     Init F_sed
  • trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F

    r2194 r2200  
    10131013     $                              t_seri,
    10141014     $                              tr_seri,
     1015     $                              d_tr_chem,
    10151016     $                              d_tr_sed(:,:,1:2),
    10161017     $                              d_tr_ssed,
  • trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F

    r2197 r2200  
    270270
    271271      do iq = 1,nqmax - nmicro
    272          ztrac(:,:,iq) = ztrac(:,:,iq)*m_tr(iq)/mmean(:,:)
     272         ztrac(:,:,iq) = max(ztrac(:,:,iq)*m_tr(iq)/mmean(:,:),
     273     $                       1.e-30)
    273274         d_tr_chem(:,:,iq) = (ztrac(:,:,iq) - trac(:,:,iq))/pdtphys
    274275      end do
     
    277278
    278279      if (ok_cloud .and. cl_scheme == 1) then
    279          ztrac(:,:,i_h2so4liq) = ztrac(:,:,i_h2so4liq)*m_tr(i_h2so4liq)
    280      $                           /mmean(:,:)
    281          ztrac(:,:,i_h2oliq) = ztrac(:,:,i_h2oliq)*m_tr(i_h2oliq)
    282      $                         /mmean(:,:)
     280         ztrac(:,:,i_h2so4liq) = max(ztrac(:,:,i_h2so4liq)
     281     $                               *m_tr(i_h2so4liq)/mmean(:,:),
     282     $                               1.e-30)
     283         ztrac(:,:,i_h2oliq)   = max(ztrac(:,:,i_h2oliq)
     284     $                               *m_tr(i_h2oliq)/mmean(:,:),
     285     $                               1.e-30)
    283286         d_tr_chem(:,:,i_h2so4liq) = (ztrac(:,:,i_h2so4liq)
    284287     $                              - trac(:,:,i_h2so4liq))/pdtphys
Note: See TracChangeset for help on using the changeset viewer.