!copyright (C) 2001 MSC-RPN COMM %%%RPNPHY%%%
***S/R SETVIS2
*
SUBROUTINE SETVIS2(DSIG,DSH,DSC,DZ,RMUO,QOZSTP, 1,1
+ SIG, T, PSOL, QOZ, XLAT, XLON, HZ, DATE,
+ IDATIM, LMX, LEV, M, SATUCO)
#include "impnone.cdk"
*
REAL DATE
EXTERNAL SUNCOS
LOGICAL SATUCO
INTEGER IDATIM(14),LMX,LEV,KMX
INTEGER I,J,K,M
REAL DSIG(lmx,LEV),DSH(lmx,LEV),DSC(lmx,LEV),
$ PSOL(LMX),QOZSTP(LMX,LEV),RMUO(LMX),DZ(LMX,LEV)
REAL SIG(lmx,LEV),T(M,LEV),XLAT(LMX),XLON(LMX),QOZ(LMX,LEV)
REAL A1,A2,HZ
*
*Author
* L.Garand (1989)
*
*Revision
* 001 G.Pellerin(Mar90)Standard documentation
* 002 N. Brunet (May91)
* New version of thermodynamic functions
* and file of constants
* 003 R. Benoit (Aug 93) Local Sigma
* 004 L. Garand (Apr 95) Reduction mode
* 005 L. Garand (April 95) Aerosols and liquid water
* no more calculated here
*
*Object
* to calculate the inputs for solar radiation
*
*Arguments
*
* - Output -
* DSH sigma thickness with exponent 1.9
* DSC sigma thickness with exponent 1.75
* DZ thickness of layers in metres
* RMUO cosines of the solar angle
* QOZSTP ozone in CMSTP ( cm at standard pressure )
* for each layer
*
* - Input -
* DSIG sigma thickness of layers
* SIG sigma levels
* T temperature at that level
* PSOL surface pressure
* QOZ ozone in kg/m2 for subroutine RADFACE
* XLAT latitude in radians
* XLON longitude in radians
* HZ Greenwich hour
* DATE julian day, if =0, IDATIM is used
* IDATIM time group in standard RPN format
* LMX number of points to process
* LEV number of layers
* M 1st dimension of T
* SATUCO .TRUE. if water/ice phase for saturation
* .FALSE. if water phase only for saturation
*
*Notes
* 1st dimension of T can be different from N
*
**
*
*
#include "consphy.cdk"
KMX=LEV-1
C CALCUL DES EPAISSEURS
C
do 30 i=1,lmx
A2=(SIG(i,1)+SIG(i,2))/2.
A1=2.*SIG(i,1)-A2
c A1=AMAX1(A1,1.E-8)
* la ligne suivante peut etre substituee a la ligne precedente
A1=AMAX1(A1,sig(i,1)/2.)
c DSIG(i,1)=A2-A1
DSH(i,1)=A2**1.9-A1**1.9
DSC(i,1)=A2**1.75-A1**1.75
30 continue
DO 126 K=2,KMX
do 31 i=1,lmx
A1=(SIG(i,K)+SIG(i,K-1))/2.
A2=(SIG(i,K)+SIG(i,K+1))/2.
c DSIG(i,K)=A2-A1
DSH(i,K)= A2**1.9 - A1**1.9
DSC(i,K)= A2**1.75-A1**1.75
31 continue
126 CONTINUE
C
do 32 i=1,lmx
A2=(SIG(i,KMX)+SIG(i,KMX+1))/2.
c DSIG(i,LEV)=1.- A2
DSH(i,LEV)=1.- A2 **1.9
DSC(i,LEV)=1.- A2 **1.75
32 continue
C
DO 1 J=1,LEV
DO 2 I=1,LMX
2 DZ(I,J) = DSIG(i,J)*RGASD*T(I,J)/GRAV/SIG(i,J)
1 CONTINUE
C
C COSINUS ANGLE SOLAIRE
CALL SUNCOS
(RMUO,LMX,XLAT,XLON,HZ,DATE,IDATIM)
C
C
C OZONE EN CMSTP
DO 7 J=1,LEV
DO 8 I=1,LMX
C INVERSE DE CONVERSION DANS RADFACE
QOZSTP(I,J) = QOZ(I,J)*PSOL(I)*DSIG(i,J)/GRAV/2.144E-2
8 CONTINUE
7 CONTINUE
C
RETURN
END