*=*=*=*= SURAD.html =*=*=*=*
SUBROUTINE SURAD

SUBROUTINE SURAD


      SUBROUTINE SURAD(KULOUT)
      IMPLICIT LOGICAL(L)
C
#include "dimensions.h"
#include "dimphys.h"
#include "dimradmars.h"
C
C**** *SURAD*   - INITIALIZE COMMON YOMRAD CONTROLLING RADIATION
C
C     PURPOSE.
C     --------
C           INITIALIZE YOMRAD, THE COMMON THAT CONTROLS THE
C           RADIATION OF THE MODEL, AND YOMRDU THAT INCLUDES
C           ADJUSTABLE PARAMETERS FOR RADIATION COMPUTATIONS
C
C**   INTERFACE.
C     ----------
C        *CALL* *SURAD(KULOUT)
C
C        EXPLICIT ARGUMENTS :
C        --------------------
C        KULOUT : LOGICAL UNIT FOR THE OUTPUT
C
C        IMPLICIT ARGUMENTS :
C        --------------------
C        COMMON YOMRAD
C
C     METHOD.
C     -------
C        SEE DOCUMENTATION
C
C     EXTERNALS.
C     ----------
C        *SUAER*, *SULW*, *SUSW*
C
C     REFERENCE.
C     ----------
C        ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE
C     "IN CORE MODEL"
C
C     AUTHOR.
C     -------
C        JEAN-JACQUES MORCRETTE  *ECMWF*
C
C     MODIFICATIONS.
C     --------------
C        ORIGINAL : 88-12-15
C     ------------------------------------------------------------------
C
#include "yomlun.h"
#include "yomcst.h"
#include "yomrad.h"
#include "yomaer.h"
#include "yomlw.h"
#include "yomsw.h"
#include "yomrdu.h"
C
C-----------------------------------------------------------------------
C
C     -----------------------------------------------------------------
      NAMELIST/NAMRAD/NMODE,NFLUX,NRAD,NAER,NGEO,NPOLO
     S               ,LGEOSE,LGEOSW,LGMS,LINDSA,LMTO
     S               ,LNOAA,LNOAB,LNOAC,LNOAD
C     -----------------------------------------------------------------
C      ----------------------------------------------------------------
C
C*       1.    SET DEFAULT VALUES.
C              -------------------
C
 100  CONTINUE
C
      NMODE=0
      NFLUX=2
      NRAD=1
      NAER=0
      NGEO=0
      NPOLO=0
      LGEOSE=.FALSE.
      LGEOSW=.FALSE.
      LGMS=.FALSE.
      LINDSA=.FALSE.
      LMTO=.FALSE.
      LNOAA=.FALSE.
      LNOAB=.FALSE.
      LNOAC=.FALSE.
      LNOAD=.FALSE.
C
C      ----------------------------------------------------------------
C
C*       2.    SET DEFAULT VALUES FOR ADJUSTABLE PARAMETERS
C              --------------------------------------------
C
 200  CONTINUE
C
C... La valeur de NUAER determine si on prend en compte ou non
C    les aerosols
      NUAER = NUA
      NTRAER = NTRA
      NIMP = 6
c   indice de grille du point pour le quel on fait eventuellement des
c   sorties detaillees dans le listing
      JLIMPRAD=1
      PRINT*,'NIMP = ',NIMP
      NOUT = KULOUT
C
      ZEPSC  = 1.E-5
      ZEPSCO = 1.E-5
      ZEPSCQ = 1.E-3
      ZEPSCT = 1.E-5
      ZEPSCW = 1.E-5
      ZEELOG = 1.E-5
C
      CDAY   = RDAY * RG / RCPD
C     cday=447.6   !!!
      print*,'constante cday',cday
      CH2O   = 1. / (RG * 1.90 * 10.)
      CCO2   = 1. / (RG * 1.75 * 10.)
      DIFF   = 1.66
      C10E   = 0.4342945
      CCLWMR = 0.2
C
C      ----------------------------------------------------------------
C
C*       3.    MODIFY DEFAULT VALUES.
C              ----------------------
C
 300  CONTINUE
CX    REWIND(NULNAM)
CX    READ(NULNAM,NAMRAD)
C      ----------------------------------------------------------------
C
C*       4.    ADJUST DIMENSIONS FOR RADIATION ARRAYS
C              --------------------------------------
C
 400  CONTINUE
      IF (NMODE.EQ.1) THEN
         NFLUX=12
      ELSE IF (NMODE.EQ.2) THEN
         NFLUX=12
         NRAD=2
      ELSE IF (NMODE.EQ.3) THEN
         NRAD=2
      END IF
C      ----------------------------------------------------------------
C
C*       5.    INITIALIZE RADIATION COEFFICIENTS.
C              ----------------------------------
C
 500  CONTINUE
C
      CALL SUAER
      CALL SULW
      CALL SUSW
C      ----------------------------------------------------------------
C
C*       5.    PRINT FINAL VALUES.
C              -------------------
C
 600  CONTINUE
      WRITE(UNIT=KULOUT,FMT='('' COMMON YOMRAD '')')
      WRITE(UNIT=KULOUT,FMT='('' LRADI = '',L5
     S     ,'' NMODE = '',I1
     S     ,'' NFLUX = '',I2
     S     ,'' NRAD  = '',I2
     S     )')
     S LRADI,NMODE,NFLUX,NRAD
      WRITE(UNIT=KULOUT,FMT='('' NGEO  = '',I1
     S     ,'' LGEOSE = '',L5
     S     ,'' LGEOSW = '',L5
     S     ,'' LGMS   = '',L5
     S     ,'' LINDSA = '',L5
     S     ,'' LMTO   = '',L5
     S     )')
     S NGEO,LGEOSE,LGEOSW,LGMS,LINDSA,LMTO
      WRITE(UNIT=KULOUT,FMT='('' NPOLO = '',I1
     S     ,'' LNOAA  = '',L5
     S     ,'' LNOAB  = '',L5
     S     ,'' LNOAC  = '',L5
     S     ,'' LNOAD  = '',L5
     S     )')
     S NPOLO,LNOAA,LNOAB,LNOAC,LNOAD
C
C     -----------------------------------------------------------------
C
      RETURN
      END