!copyright (C) 2001 MSC-RPN COMM %%%RPNPHY%%%
***S/P RADIX
*
#include "phy_macros_f.h"
SUBROUTINE RADIX(R,T,Q,TS,ZAI,PS,S,P,W,X,Y,Z,N,M,NK) 1,2
*
#include "impnone.cdk"
INTEGER N,M,NK
REAL R(N,NK),T(M,NK),Q(M,NK),TS(N),ZAI(N),PS(N),S(n,NK)
REAL P(N),W(N),X(N),Y(N),Z(N)
*
*Author
* J. Cote (RPN 1983)
*
*Revision
* 001 J. Cote RPN(Nov 1984)SEF version documentation
* 002 R. Benoit RPN(Nov 1984)Corrections to boundaries
* 003 M. Lepine - RFE model code revision project (Feb 87)
* 004 N. Brunet (May90)
* Standardization of thermodynamic functions
* 005 N. Brunet (May91)
* New version of thermodynamic functions
* and file of constants
* 006 B. Bilodeau (August 1991)- Adaptation to UNIX
* 007 R. Benoit (August 93) - Local sigma coordinate
* 008 B. Bilodeau (May 1994) - New physics interface
* 009 M. Lepine (March 2003) - CVMG... Replacements
* 010 J.P.Toviessi (June 2003) - IBM conversion
* - calls to exponen4 (to calculate power function '**')
* - divisions replaced by reciprocals
* - unnecessary calculations removed
* 011 B. Bilodeau (Aug 2003) - exponen4 replaced by vspown1
*
*
*Object
* to calculate infra-red rate of cooling
*
*Arguments
*
* - Output -
* R infra-red rate of cooling
*
* - Input -
* T temperature
* Q specific humidity
* TS surface temperature
* ZAI inverse of anemometre
* PS surface pressure
* S sigma levels
* P work field
* W work field
* X work field
* Y work field
* Z work field
* N horizontal dimension
* M 1st dimension of T and Q
* NK vertical dimension
*
*Notes
* Calculation of cooling radiation in degrees Kelvin/sec
* (MKS) by using the Sasamori Method. The empirical
* formulas are contained in the functions DAH2O, ACO2,
* DACO2, TH2O, DTH2O.
*
*IMPLICITES
*
#include "clefcon.cdk"
*
#include "consphy.cdk"
*
*
**
*
REAL FACT
REAL PET
REAL RO0,P0,PR
REAL CO2M
REAL TH2O,DTH2O,WW
REAL CORO,PRI,DO4GP0,UTOP,ALFAC,SCO,ALFRS2G,P0CPI,SC,SCW,SCWTF,SCP
SAVE PET,RO0,P0,PR,CO2M
INTEGER J,K
*
REAL ttmp
REAL ttmp1
REAL ttmp2
REAL tmp
AUTOMATIC ( tmp1 , REAL , (N ) )
AUTOMATIC ( tmp2 , REAL , (N ) )
AUTOMATIC ( tmp3 , REAL , (N ) )
AUTOMATIC ( tmp4 , REAL , (N ) )
*
*
DATA PET / 1.E-20 /
DATA RO0 , P0 , PR
X / 1.293 , 1013.25 , 1000.0 /
DATA CO2M / 3.25E-4 /
*
TH2O(WW) = 1.33 - .832*exp(.260*LOG( WW + .0286 ))
ttmp(WW) = exp(.740*LOG( WW + .0286 ))
DTH2O(WW) = - .216/ttmp(WW)
*
*
*
* QUELQUES FACTEURS
*
CORO=CO2M*100.0/RO0
PRI=1.0/PR
DO4GP0=2.5/(GRAV*P0)
ALFAC=CO2M/(100.*P0*RO0*RGASD)
SCO=1.E6*ALFAC
ALFRS2G=ALFAC*RGASD/(2.*GRAV)
P0CPI=1.0/(P0*CPD)
*
FACT = 0.01
*
tmp = 4.0
call vspown1 (tmp1,TS,tmp,N)
call VSREC(tmp2,ZAI,N)
call VSREC(tmp3,T(1,NK),N)
tmp = P0*RGASD
tmp = 1.0/tmp
DO 1 J=1,N
*
X(J)=STEFAN*tmp1(J)
* PS DOIT ETRE EN MB
W(J)=PS(J)*FACT
W(J)=W(J)*W(J)
*
* CONTRIBUTION DE LA COUCHE DE SURFACE (ENTRE SURFACE ET ANEMOMETRE)
* AU CHEMIN OPTIQUE DE H2O (EN G/CM2)
*
1 R(J,NK)=10.*W(J)*Q(J,NK)*tmp*tmp3(J)*tmp2(J)
*
* CHEMIN OPTIQUE POUR H2O ( EN G/CM2 )
*
DO 2 K=NK-1,1,-1
*
* SC=DO4GP0*(S(K+1)**2-S(K)**2)
*
DO 2 J=1,N
ttmp1 = S(j,K)
ttmp1 = ttmp1*ttmp1
ttmp2 = S(j,K+1)
ttmp2 = ttmp2*ttmp2
SC=DO4GP0*(ttmp2-ttmp1)
*
2 R(J,K)=R(J,K+1)+SC*(Q(J,K+1)+Q(J,K))*W(J)
*
DO 3 J=1,N
*
ttmp1 = S(j,1)
ttmp1 = ttmp1*ttmp1
UTOP=2.0*DO4GP0*ttmp1
Z(J)=R(J,1)+UTOP*W(J)*Q(J,1)
3 R(J,NK)=0.5*(R(J,NK)+R(J,NK-1))
*
DO 4 K=1,NK
*
tmp = 4.0
call vspown1 (tmp1,T(1,K),tmp,N)
DO 4 J=1,N
SCP=1-S(j,K)*S(j,K)
SCW = 1.E6 * ALFRS2G * SCP
ttmp1 = S(j,1)
ttmp1 = ttmp1*ttmp1
SCWTF = 1.E6 * ALFRS2G * ( ( 1.0 - 0.5 * ttmp1) - SCP )
SCP = S(j,K)
*
*
* CHEMIN OPTIQUE POUR LE CO2 ( EN CM )
*
P(J)=SCP*PS(J)*FACT
Y(J)=exp(CAPPA*log(P(J)*PRI))
tmp = 1.0/Y(J)
P(J)=P0CPI*P(J)/Y(J)
Y(J)=STEFAN*tmp1(J)
*
* TAUX DE REFROIDISSENENT RADIATIF
*
4 R(J,K)=-P(J)*(
X ABSR
( R(J,K) ,
X W(J)*(SCW+SCO/(ZAI(J)*T(J,NK))) ,
X Q(J,K) )
Y *(Y(J)-X(J))
Z +ABSR
( Z(J)-R(J,K) ,
Z SCWTF*W(J) ,
Z Q(J,K) )
T *Y(J))
*
CONTAINS
REAL FUNCTION DAH2O(WW) 1
REAL WW, dtmp
if (WW .GE. 0.01 ) then
dtmp = WW + .01
dtmp = 1.0/dtmp
DAH2O = .1042*dtmp
else
DAH2O = .205578*exp(-.757*LOG( WW + 3.59E-5 ))
endif
END FUNCTION DAH2O
REAL FUNCTION ACO2(WW) 1
REAL WW
if ( WW .GE. 1. ) then
ACO2 = .02371*ALOG( WW+PET ) + .0581
else
ACO2 = .0676*exp(.421*LOG( WW + .01022 )) - .00982
endif
END FUNCTION ACO2
REAL FUNCTION DACO2(WW) 1
REAL WW, dtmp
if (WW .GE. 1. ) then
dtmp = WW+PET
dtmp = 1.0/dtmp
DACO2 = .02371*dtmp
else
DACO2 = .02846*exp(-.579*Log( WW + .01022 ))
endif
END FUNCTION DACO2
REAL FUNCTION ABSR(XX,YY,ZZ) 2,3
REAL XX,YY,ZZ
* ABSORPTIVITE TOTALE EN M2/KG ( MKS )
*
ABSR = ZZ*( DAH2O
(XX) + ACO2
(YY)*DTH2O(XX) )*0.1
X + CORO*TH2O(XX)*DACO2
(YY)
END FUNCTION ABSR
END