Changeset 2748


Ignore:
Timestamp:
Jan 8, 2017, 1:47:25 PM (8 years ago)
Author:
oboucher
Message:

Small tweaks to aeropt RRTM routines

Location:
LMDZ5/trunk/libf/phylmd/rrtm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_5wv_rrtm.F90

    r2739 r2748  
    1212  USE DIMPHY
    1313  USE aero_mod
    14   USE phys_local_var_mod, only: od550aer,od865aer,ec550aer,od550lt1aer
     14  USE phys_local_var_mod, ONLY: od550aer,od865aer,ec550aer,od550lt1aer
     15  USE YOMCST, ONLY: RD,RG
    1516
    1617  !
     
    5152  !
    5253  IMPLICIT NONE
    53   INCLUDE "YOMCST.h"
    5454  !
    5555  ! Input arguments:
    5656  !
    57   REAL, DIMENSION(klon,klev), INTENT(in)   :: pdel
    58   REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer
    59   REAL, DIMENSION(klon,klev), INTENT(in)   :: RHcl     ! humidite relative ciel clair
    60   INTEGER,INTENT(in)                       :: flag_aerosol
    61   LOGICAL,INTENT(in)                       :: flag_bc_internal_mixture
    62   REAL, DIMENSION(klon,klev), INTENT(in)   :: pplay
    63   REAL, DIMENSION(klon,klev), INTENT(in)   :: t_seri
     57  REAL, DIMENSION(klon,klev), INTENT(IN)   :: pdel
     58  REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer
     59  REAL, DIMENSION(klon,klev), INTENT(IN)   :: RHcl     ! humidite relative ciel clair
     60  INTEGER,INTENT(IN)                       :: flag_aerosol
     61  LOGICAL,INTENT(IN)                       :: flag_bc_internal_mixture
     62  REAL, DIMENSION(klon,klev), INTENT(IN)   :: pplay
     63  REAL, DIMENSION(klon,klev), INTENT(IN)   :: t_seri
    6464  !
    6565  ! Output arguments:
    6666  !
    67   REAL, DIMENSION(klon), INTENT(out)                      :: ai      ! POLDER aerosol index
    68   REAL, DIMENSION(klon,nwave,naero_tot), INTENT(out)      :: tausum
    69   REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(out) :: tau
     67  REAL, DIMENSION(klon), INTENT(OUT)                      :: ai      ! POLDER aerosol index
     68  REAL, DIMENSION(klon,nwave,naero_tot), INTENT(OUT)      :: tausum
     69  REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(OUT) :: tau
    7070
    7171  !
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_6bands_rrtm.F90

    r2739 r2748  
    1111  USE aero_mod
    1212  USE phys_local_var_mod, only: absvisaer
     13  USE YOMCST, ONLY: RG
    1314
    1415  !    Yves Balkanski le 12 avril 2006
     
    2021  !
    2122  IMPLICIT NONE
    22 
    23   INCLUDE "YOMCST.h"
    24   INCLUDE "clesphys.h"
    25 
     23  !
     24  INCLUDE "clephys.h"
    2625  !
    2726  ! Input arguments:
    2827  !
    29   REAL, DIMENSION(klon,klev),     INTENT(in)  :: pdel
    30   REAL, DIMENSION(klon,klev,naero_tot),   INTENT(in)  :: m_allaer
    31   REAL, DIMENSION(klon,klev,naero_tot),   INTENT(in)  :: m_allaer_pi
    32   REAL, DIMENSION(klon,klev),     INTENT(in)  :: RHcl       ! humidite relative ciel clair
    33   INTEGER,                        INTENT(in)  :: flag_aerosol
    34   LOGICAL,                        INTENT(in)  :: flag_bc_internal_mixture
    35   REAL, DIMENSION(klon,klev),     INTENT(in)  :: zrho
     28  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: pdel
     29  REAL, DIMENSION(klon,klev,naero_tot),   INTENT(IN)  :: m_allaer
     30  REAL, DIMENSION(klon,klev,naero_tot),   INTENT(IN)  :: m_allaer_pi
     31  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: RHcl       ! humidite relative ciel clair
     32  INTEGER,                        INTENT(IN)  :: flag_aerosol
     33  LOGICAL,                        INTENT(IN)  :: flag_bc_internal_mixture
     34  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: zrho
    3635  !
    3736  ! Output arguments:
     
    3938  ! 1= natural aerosols
    4039  !
    41   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: tau_allaer ! epaisseur optique aerosol
    42   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: piz_allaer ! single scattering albedo aerosol
    43   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: cg_allaer  ! asymmetry parameter aerosol
    44 
     40  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: tau_allaer ! epaisseur optique aerosol
     41  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: piz_allaer ! single scattering albedo aerosol
     42  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: cg_allaer  ! asymmetry parameter aerosol
    4543  !
    4644  ! Local
     
    104102  INTEGER :: aerindex, classbc, classbc_pi
    105103  REAL :: tmp_var, tmp_var_pi, BC_massfra, BC_massfra_pi
    106 
     104  CHARACTER*20 :: modname
    107105  !
    108106  REAL, PARAMETER :: tau_min = 1.e-7
     
    474472!----BEGINNING OF CALCULATIONS
    475473
     474  modname='aeropt_6bands_rrtm'
     475
    476476  spsol = 0
    477477  spinsol = 0
    478478
    479479  IF (NSW.NE.nbands_sw_rrtm) THEN
    480      print *,'Erreur NSW doit etre egal a 6 pour cette routine'
    481      stop
     480    CALL abord_physic(modname,'Erreur NSW doit etre egal a 6 pour cette routine',1)
    482481  ENDIF
    483482
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_lw_rrtm.F90

    r2739 r2748  
    1212  USE dimphy
    1313  USE aero_mod
    14   USE phys_state_var_mod, ONLY : tau_aero_lw_rrtm
    15   USE YOERAD, ONLY : NLW
    16   USE YOMCST
     14  USE phys_state_var_mod, ONLY: tau_aero_lw_rrtm
     15  USE YOERAD, ONLY: NLW
     16  USE YOMCST, ONLY: RG
    1717
    1818  IMPLICIT NONE
     
    2424  LOGICAL, INTENT(IN)                              :: ok_alw
    2525  INTEGER, INTENT(IN)                              :: flag_aerosol
    26   REAL, DIMENSION(klon,klev), INTENT(in)           :: pdel, zrho
    27   REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer, m_allaer_pi
     26  REAL, DIMENSION(klon,klev), INTENT(IN)           :: pdel, zrho
     27  REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer, m_allaer_pi
    2828  !
    2929  INTEGER inu, i, k
    3030  REAL :: zdh(klon,klev)
    3131  REAL :: tmp_var, tmp_var_pi
     32  CHARACTER*20 modname
    3233  !
    3334  !--absorption coefficient for CIDUST
     
    3738  0.017, 0.053, 0.031, 0.008, 0.010, 0.011, 0.013, 0.015  /
    3839  !
     40  modname='aeropt_lw_rrtm'
     41  !
    3942  IF (NLW.NE.nbands_lw_rrtm) THEN
    40      PRINT *,'Erreur NLW doit etre egal a 16 pour cette routine'
    41      STOP
     43    CALL abort_physic(modname,'Erreur NLW doit etre egal a 16 pour cette routine',1)
    4244  ENDIF
    4345  !
Note: See TracChangeset for help on using the changeset viewer.