Ignore:
Timestamp:
Jul 23, 2024, 5:57:06 PM (3 months ago)
Author:
abarral
Message:

Replace 1DUTILS.h by module lmdz_1dutils.f90
Replace 1DConv.h by module lmdz_old_1dconv.f90 (it's only used by old_* files)
Convert *.F in DUST to *.f90

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/bcscav_spl.f90

    r5103 r5104  
    1       SUBROUTINE bcscav_spl(pdtime,flxr,flxs,alpha_r,alpha_s,x,dx)
     1SUBROUTINE bcscav_spl(pdtime, flxr, flxs, alpha_r, alpha_s, x, dx)
    22
    3       USE dimphy
    4       IMPLICIT NONE
    5 c=====================================================================
    6 c Objet : below-cloud scavenging of tracers
    7 c Date : september 1999
    8 c Auteur: O. Boucher (LOA)
    9 c=====================================================================
    10 c
    11       INCLUDE "dimensions.h"
    12       INCLUDE "chem.h"
    13       INCLUDE "YOMCST.h"
    14       INCLUDE "YOECUMF.h"
    15 c
    16       REAL pdtime, alpha_r, alpha_s, R_r, R_s
    17       PARAMETER (R_r=0.001)          !--mean raindrop radius (m)
    18       PARAMETER (R_s=0.001)          !--mean snow crystal radius (m)
    19       REAL flxr(klon,klev)         ! liquid precipitation rate (kg/m2/s)
    20       REAL flxs(klon,klev)         ! solid  precipitation rate (kg/m2/s)
    21       REAL flxr_aux(klon,klev+1)
    22       REAL flxs_aux(klon,klev+1)
    23       REAL x(klon,klev)              ! q de traceur 
    24       REAL dx(klon,klev)             ! tendance de traceur
    25 c
    26 c--variables locales     
    27       INTEGER i, k
    28       REAL pr, ps, ice, water
    29 c
    30 c------------------------------------------
    31 c
    32 ! NHL
    33 ! Auxiliary variables defined to deal with the fact that precipitation
    34 ! fluxes are defined on klev levels only.
    35 ! NHL
     3  USE dimphy
     4  IMPLICIT NONE
     5  !=====================================================================
     6  ! Objet : below-cloud scavenging of tracers
     7  ! Date : september 1999
     8  ! Auteur: O. Boucher (LOA)
     9  !=====================================================================
     10  !
     11  INCLUDE "dimensions.h"
     12  INCLUDE "chem.h"
     13  INCLUDE "YOMCST.h"
     14  INCLUDE "YOECUMF.h"
     15  !
     16  REAL :: pdtime, alpha_r, alpha_s, R_r, R_s
     17  PARAMETER (R_r = 0.001)          !--mean raindrop radius (m)
     18  PARAMETER (R_s = 0.001)          !--mean snow crystal radius (m)
     19  REAL :: flxr(klon, klev)         ! liquid precipitation rate (kg/m2/s)
     20  REAL :: flxs(klon, klev)         ! solid  precipitation rate (kg/m2/s)
     21  REAL :: flxr_aux(klon, klev + 1)
     22  REAL :: flxs_aux(klon, klev + 1)
     23  REAL :: x(klon, klev)              ! q de traceur
     24  REAL :: dx(klon, klev)             ! tendance de traceur
     25  !
     26  !--variables locales
     27  INTEGER :: i, k
     28  REAL :: pr, ps, ice, water
     29  !
     30  !------------------------------------------
     31  !
     32  ! NHL
     33  ! Auxiliary variables defined to deal with the fact that precipitation
     34  ! fluxes are defined on klev levels only.
     35  ! NHL
    3636
    37       flxr_aux(:,klev+1)=0.0
    38       flxs_aux(:,klev+1)=0.0
    39       flxr_aux(:,1:klev)=flxr(:,:)
    40       flxs_aux(:,1:klev)=flxs(:,:)
     37  flxr_aux(:, klev + 1) = 0.0
     38  flxs_aux(:, klev + 1) = 0.0
     39  flxr_aux(:, 1:klev) = flxr(:, :)
     40  flxs_aux(:, 1:klev) = flxs(:, :)
    4141
    42       DO k=1, klev
    43       DO i=1, klon
    44        pr=0.5*(flxr_aux(i,k)+flxr_aux(i,k+1))
    45        ps=0.5*(flxs_aux(i,k)+flxs_aux(i,k+1))
    46        water=pr*alpha_r/R_r/rho_water
    47        ice=ps*alpha_s/R_s/rho_ice
    48        dx(i,k)=-3./4.*x(i,k)*pdtime*(water+ice)
    49 ctmp       dx(i,k)=-3./4.*x(i,k)*pdtime*
    50 ctmp     .         (pr*alpha_r/R_r/rho_water+ps*alpha_s/R_s/rho_ice)
    51       ENDDO
    52       ENDDO
    53 c
    54       RETURN
    55       END
     42  DO k = 1, klev
     43    DO i = 1, klon
     44      pr = 0.5 * (flxr_aux(i, k) + flxr_aux(i, k + 1))
     45      ps = 0.5 * (flxs_aux(i, k) + flxs_aux(i, k + 1))
     46      water = pr * alpha_r / R_r / rho_water
     47      ice = ps * alpha_s / R_s / rho_ice
     48      dx(i, k) = -3. / 4. * x(i, k) * pdtime * (water + ice)
     49      !tmp       dx(i,k)=-3./4.*x(i,k)*pdtime*
     50      !tmp     .         (pr*alpha_r/R_r/rho_water+ps*alpha_s/R_s/rho_ice)
     51    ENDDO
     52  ENDDO
     53  !
     54  RETURN
     55END SUBROUTINE bcscav_spl
Note: See TracChangeset for help on using the changeset viewer.