Changeset 1987


Ignore:
Timestamp:
Aug 28, 2018, 12:15:19 PM (6 years ago)
Author:
jleconte
Message:

28/08/2018 == JL

Start a series of commits to change the upper boundary conditions in the radiative transfer to solve some issues with the last two layers.
It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR but visible does not handle very well diffusion in first layer.
Tauaero and tauray are set to 0 (a small value for rayleigh because the code crashes otherwise) in the 4 first semilayers in optcv, but not optci.
This solves random variations of the sw heating at the model top.

Location:
trunk/LMDZ.GENERIC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/README

    r1980 r1987  
    13721372== 31/07/2018 == EM
    13731373Follow-up of change in maximum length of tracer names in the dynamics
     1374
     1375== 28/08/2018 == JL
     1376Start a series of commits to change the upper boundary conditions in the radiative transfer to solve some issues with the last two layers.
     1377It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR but visible does not handle very well diffusion in first layer.
     1378Tauaero and tauray are set to 0 (a small value for rayleigh because the code crashes otherwise) in the 4 first semilayers in optcv, but not optci.
     1379This solves random variations of the sw heating at the model top.
  • trunk/LMDZ.GENERIC/libf/phystd/optcv.F90

    r1725 r1987  
    128128
    129129  ! Spectral dependance of aerosol absorption
     130            !JL18 It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR
     131            !   but visible does not handle very well diffusion in first layer.
     132            !   The tauaero and tauray are thus set to 0 (a small value for rayleigh because the code crashes otherwise)
     133            !   in the 4 first semilayers in optcv, but not optci.
     134            !   This solves random variations of the sw heating at the model top.
    130135  do iaer=1,naerkind
    131136     do NW=1,L_NSPECTV
    132         do K=2,L_LEVELS
     137        TAEROS(1:4,NW,IAER)=0.d0
     138        do K=5,L_LEVELS
    133139           TAEROS(K,NW,IAER) = TAUAERO(K,IAER) * QXVAER(K,NW,IAER)
    134140        end do                    ! levels
     
    138144  ! Rayleigh scattering
    139145  do NW=1,L_NSPECTV
    140      do K=2,L_LEVELS
     146     TRAY(1:4,NW)   = 1d-30
     147     do K=5,L_LEVELS
    141148        TRAY(K,NW)   = TAURAY(NW) * DPR(K)
    142149     end do                    ! levels
     
    289296  !     we need to calculate the scattering albedo and asymmetry factors
    290297
     298            !JL18 It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR
     299            !   but not in the visible
     300            !   The tauaero is thus set to 0 in the 4 first semilayers in optcv, but not optci.
     301            !   This solves random variations of the sw heating at the model top.
    291302  do iaer=1,naerkind
    292303    DO NW=1,L_NSPECTV
    293       DO K=2,L_LEVELS
     304      TAUAEROLK(1:4,NW,IAER)=0.d0
     305      DO K=5,L_LEVELS
    294306           TAUAEROLK(K,NW,IAER) = TAUAERO(K,IAER) * QSVAER(K,NW,IAER) ! effect of scattering albedo
    295307      ENDDO
     
    344356  DO NG=1,L_NGAUSS       ! full gauss loop
    345357     DO NW=1,L_NSPECTV       
    346         TAUV(1,NW,NG)=0.0D0
    347         DO L=1,L_NLAYRAD
    348            TAUV(L+1,NW,NG)=TAUV(L,NW,NG)+DTAUV(L,NW,NG)
    349         END DO
    350 
    351358        TAUCUMV(1,NW,NG)=0.0D0
    352359        DO K=2,L_LEVELS
    353360           TAUCUMV(K,NW,NG)=TAUCUMV(K-1,NW,NG)+DTAUKV(K,NW,NG)
    354361        END DO
     362
     363        DO L=1,L_NLAYRAD+1
     364           TAUV(L,NW,NG)=TAUCUMV(2*L,NW,NG)
     365        END DO
    355366     END DO           
    356367  END DO                 ! end full gauss loop
Note: See TracChangeset for help on using the changeset viewer.