Ignore:
Timestamp:
Nov 7, 2016, 10:23:46 PM (8 years ago)
Author:
oboucher
Message:

Fixing a small bug on the vertical discretization of the source term and removing a useless USE module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/StratAer/traccoag_mod.F90

    r2695 r2699  
    2424    USE phys_cal_mod
    2525    USE sulfate_aer_mod
    26     USE nucleate_mod
    2726    USE phys_local_var_mod, ONLY: stratomask
    2827    USE sulfate_aer_mod, ONLY : stracomp, denh2sa
     
    8887    REAL,DIMENSION(klev)                   :: f_lay_emiss         ! fraction of emission for every vertical layer
    8988    REAL                                   :: f_lay_sum           ! sum of layer emission fractions
    90     REAL                                   :: alt_lower           ! integral boundary for Gaussian emission profile in altitude
    91     REAL                                   :: alt_upper           ! integral boundary for Gaussian emission profile in altitude
     89    REAL                                   :: alt                 ! altitude for integral calculation
    9290    INTEGER,PARAMETER                      :: n_int_alt=10        ! number of subintervals for integration over Gaussian emission profile
    9391    REAL,DIMENSION(nbtr_bin)               :: r_bin               ! particle radius in size bin [m]
     
    184182            DO k=1, klev
    185183              f_lay_emiss(k)=0.0
    186               alt_lower=altLMDz(k)
    187184              DO i_int=1, n_int_alt
    188                 alt_upper=alt_lower+(altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
     185                alt=altLMDz(k)+float(i_int)*(altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    189186                f_lay_emiss(k)=f_lay_emiss(k)+1./(sqrt(2.*RPI)*sigma_alt_vol)* &
    190                 & (exp(-0.5*((altemiss_vol-alt_lower)/sigma_alt_vol)**2.)+     &
    191                 &  exp(-0.5*((alt_upper-altemiss_vol)/sigma_alt_vol)**2.))*    &
    192                 & (alt_upper-alt_lower)/2.
     187                &              exp(-0.5*((alt-altemiss_vol)/sigma_alt_vol)**2.)*   &
     188                &              (altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    193189              ENDDO
    194190              f_lay_sum=f_lay_sum+f_lay_emiss(k)
     
    227223          DO k=1, klev
    228224            f_lay_emiss(k)=0.0
    229             alt_lower=altLMDz(k)
    230225            DO i_int=1, n_int_alt
    231             alt_upper=alt_lower+(altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    232             f_lay_emiss(k)=f_lay_emiss(k)+1./(sqrt(2.*RPI)*sigma_alt_sai)* &
    233               & (exp(-0.5*((altemiss_sai-alt_lower)/sigma_alt_sai)**2.)+   &
    234               &  exp(-0.5*((alt_upper-altemiss_sai)/sigma_alt_sai)**2.))*  &
    235               & (alt_upper-alt_lower)/2.
     226              alt=altLMDz(k)+float(i_int)*(altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
     227              f_lay_emiss(k)=f_lay_emiss(k)+1./(sqrt(2.*RPI)*sigma_alt_sai)* &
     228              &              exp(-0.5*((alt-altemiss_sai)/sigma_alt_sai)**2.)*   &
     229              &              (altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    236230            ENDDO
    237231            f_lay_sum=f_lay_sum+f_lay_emiss(k)
Note: See TracChangeset for help on using the changeset viewer.