*=*=*=*= SURAD.html =*=*=*=*
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