Ignore:
Timestamp:
Feb 27, 2025, 11:35:32 AM (4 months ago)
Author:
gmilcareck
Message:

Generic PCM:
Rewriting of the rayleigh scattering module. Before the commit, the Rayleigh scattering was separated into a constant part and a wavelength-dependent part.
However, in the constant part, because everything was added up/multiplied together before being added to the module,
we lose the information about where these numbers come from and if we want to add a new molecule or update a molecule... well... good luck.
Now, each molecule depends only on 2 physical parameters: the refractive index and the King Factor.
If you want add another molecule, you just need to add these 2 parameters and the references (please).
For water, the rayleigh scattering now depends on temperature and pressure.
GM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/setspv.F90

    r2831 r3654  
    55!     Purpose
    66!     -------
    7 !     Set up spectral intervals, stellar spectrum and Rayleigh
    8 !     opacity in the shortwave.
     7!     Set up spectral intervals and stellar spectrum in the shortwave.
    98!     
    109!     Authors
     
    2524      use radinc_h,    only: L_NSPECTV, corrkdir, banddir
    2625      use radcommon_h, only: BWNV,BLAMV,WNOV,DWNV,WAVEV, &
    27                              STELLARF,TAURAY
     26                             STELLARF
    2827      use datafile_mod, only: datadir
    29       use callkeys_mod, only: Fat1AU,rayleigh
     28      use callkeys_mod, only: Fat1AU
    3029
    3130      implicit none
     
    133132      print*,' '
    134133
    135 
    136 !=======================================================================
    137 !     Set up the wavelength independent part of the Rayleigh scattering.
    138 !     The pressure dependent part will be computed elsewhere (OPTCV).
    139 !     WAVEV is in microns.  There is no Rayleigh scattering in the IR.
    140 
    141       if(rayleigh) then
    142          call calc_rayleigh
    143       else
    144          print*,'setspv: No Rayleigh scattering, check for NaN in output!'
    145          do N=1,L_NSPECTV
    146             TAURAY(N) = 1E-16
    147          end do
    148       endif
    149 
    150134      RETURN
    151135    END subroutine setspv
Note: See TracChangeset for help on using the changeset viewer.