include file: fintern8.cdk 5 #if defined (DOC) * ***s/r fintern8 - REAL*8 thermodyanmic statement functions. * * Author: JM Belanger CMDA/SMC Aug. 2000 * * Revision 001: Yves J. Rochon *ARQX/SMC, Sept 2004 * - Added functions of sat. vapour pressure * over water (FOEW8_CMAM) and over ice (FOEI8_CMAM), * resultant sat. specific humidity (FOQST8_CMAM), and * others. * * REAL*8 version of thermodynamic functions based on * fintern.cdk in the physics library. * *Arguments * #endif * * FONCTION DE TENSION DE VAPEUR SATURANTE (TETENS) - EW OU EI SELON TT FOEW8(TTT) = 610.78D0*EXP( MIN(SIGN(17.269D0,TTT-TRPL),SIGN W (21.875D0,TTT-TRPL))*ABS(TTT-TRPL)/(TTT-35.86D0+MAX(0.D0,SIGN W (28.2D0,TRPL-TTT)))) * * FONCTION CALCULANT LA DERIVEE SELON T DE LN EW (OU LN EI) FODLE8(TTT)=(4097.93D0+MAX(0.D0,SIGN(1709.88D0,TRPL-TTT))) W /((TTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-TTT)))* W (TTT-35.86D0+MAX(0.D0,SIGN(28.2D0,TRPL-TTT)))) * * FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE (QSAT) FOQST8(TTT,PRS)=EPS1/(MAX(1.D0,PRS/FOEW8(TTT))-EPS2) * * FONCTION CALCULANT LA DERIVEE DE QSAT SELON T FODQS8(QST,TTT)=QST*(1.D0+DELTA*QST)*FODLE8(TTT) * QST EST LA SORTIE DE FOQST * * FONCTION CALCULANT TENSION VAP (EEE) FN DE HUM SP (QQQ) ET PRS FOEFQ8(QQQ,PRS) = MIN(PRS,(QQQ*PRS) / (EPS1 + EPS2*QQQ)) * * FONCTION CALCULANT HUM SP (QQQ) DE TENS. VAP (EEE) ET PRES (PRS) FOQFE8(EEE,PRS) = MIN(1.D0,EPS1*EEE / (PRS-EPS2*EEE)) * * FONCTION CALCULANT TEMP VIRT. (TVI) DE TEMP (TTT) ET HUM SP (QQQ) FOTVT8(TTT,QQQ) = TTT * (1.0D0 + DELTA*QQQ) * * FONCTION CALCULANT TTT DE TEMP VIRT. (TVI) ET HUM SP (QQQ) FOTTV8(TVI,QQQ) = TVI / (1.0D0 + DELTA*QQQ) * * FONCTION CALCULANT HUM REL DE HUM SP (QQQ), TEMP (TTT) ET PRES (PRS) * HR = E/ESAT FOHR8(QQQ,TTT,PRS) = MIN(PRS,FOEFQ8(QQQ,PRS)) / FOEW8(TTT) * * LES 5 FONCTIONS SUIVANTES SONT VALIDES DANS LE CONTEXTE OU ON * NE DESIRE PAS TENIR COMPTE DE LA PHASE GLACE DANS LES CALCULS * DE SATURATION. * * FONCTION DE VAPEUR SATURANTE (TETENS) FOEWA8(TTT)=610.78D0*EXP(17.269D0*(TTT-TRPL)/(TTT-35.86D0)) * * FONCTION CALCULANT LA DERIVEE SELON T DE LN EW FODLA8(TTT)=17.269D0*(TRPL-35.86D0)/(TTT-35.86D0)**2 * * FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE FOQSA8(TTT,PRS)=EPS1/(MAX(1.D0,PRS/FOEWA8(TTT))-EPS2) * * FONCTION CALCULANT LA DERIVEE DE QSAT SELON T FODQA8(QST,TTT)=QST*(1.D0+DELTA*QST)*FODLA8(TTT) * * FONCTION CALCULANT L'HUMIDITE RELATIVE FOHRA8(QQQ,TTT,PRS)=MIN(PRS,FOEFQ8(QQQ,PRS))/FOEWA8(TTT) * * LES 6 FONCTIONS SUIVANTES SONT REQUISES POUR LA TEMPERATURE * EN FONCTION DE LA TENSION DE VAPEUR SATURANTE. * (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004) * * FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR * SATURANTE PAR RAPPORT A EW. FOTW8(EEE)=(35.86D0*LOG(EEE/610.78D0)-17.269D0*TRPL)/ W (LOG(EEE/610.78D0)-17.269D0) * * FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR * SATURANTE PAR RAPPORT A EI. FOTI8(EEE)=(7.66D0*LOG(EEE/610.78D0)-21.875D0*TRPL)/ W (LOG(EEE/610.78D0)-21.875D0) * * FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE * VAPEUR SATURANTE (EW). FODTW8(TTT,EEE)=(35.86D0-TTT)/EEE W /(LOG(EEE/610.78D0)-17.269D0) * * FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE * VAPEUR SATURANTE (EI). FODTI8(TTT,EEE)=(7.66D0-TTT)/EEE W /(LOG(EEE/610.78D0)-21.875D0) * * FONCTION DE L'AJUSTEMENT DE LA TEMPERATURE. FOTWI8(TTT,EEE)=MAX(0.0D0,SIGN(1.0D0,TTT-TRPL))*FOTW8(EEE) W -MIN(0.0D0,SIGN(1.0D0,TTT-TRPL))*FOTI8(EEE) * * FONCTION DE L'AJUSTEMENT DE LA DERIVEE DE LA TEMPERATURE. FODTWI8(TTT,EEE)=MAX(0.0D0,SIGN(1.0D0,TTT-TRPL))*FODTW8(TTT,EEE) W -MIN(0.0D0,SIGN(1.0D0,TTT-TRPL))*FODTI8(TTT,EEE) * * LES 7 FONCTIONS SUIVANTES POUR EW-EI SONT REQUISES POUR LES MODELES * CMAM ET CGCM. (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004) * * FONCTION DE TENSION DE VAPEUR SATURANTE - EW FOEW8_CMAM(TTT) = 100.D0*EXP(21.656D0-5418.D0/TTT) * * FONCTION DE TENSION DE VAPEUR SATURANTE - EI FOEI8_CMAM(TTT) = 100.D0*EXP(24.292D0-6141.D0/TTT) * * FONCTION DE LA PROPORTION DE LA CONTRIBUTION DE EW VS EI FOERAT8_CMAM(TTT)=MIN(1.0D0,0.0059D0+0.9941D0*EXP(-0.003102D0* W MIN(0.0D0,TTT-TRPL)**2)) * * FONCTION DE TENSION DE VAPEUR SATURANTE RESULTANTE - EW et EI FOEWI8_CMAM(TTT) = FOEW8_CMAM(TTT)*FOERAT8_CMAM(TTT) W +(1.0D0-FOERAT8_CMAM(TTT))*FOEI8_CMAM(TTT) * * FONCTION DE LA DERIVE DE LN(E) PAR RAPPORT A LA TEMPERATURE FODLE8_CMAM(TTT) = FOERAT8_CMAM(TTT)*5418.D0/TTT/TTT W +(1.0D0-FOERAT8_CMAM(TTT))*6141.D0/TTT/TTT * * FONCTION CALCULANT L'HUMIDITE SPECIFIQUE SATURANTE (QSAT). * PREND EN COMPTE LES PHASES GLACE ET EAU. FOQST8_CMAM(TTT,PRS)=EPS1/(MAX(1.0D0,PRS/ W FOEWI8_CMAM(TTT))-EPS2) * * LES 6 FONCTIONS SUIVANTES SONT REQUISES POUR LA TEMPERATURE * EN FONCTION DE LA TENSION DE VAPEUR SATURANTE POUR CMAM/CGCM * (AJOUTE PAR YVES J. ROCHON, ARQX/SMC, JUIN 2004) * * FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR * SATURANTE PAR RAPPORT A EW. FOTW8_CMAM(EEE)=5418.D0/(21.656D0-LOG(EEE/100.0D0)) * * FONCTION DE LA TEMPERATURE EN FONCTION DE LA TENSION DE VAPEUR * SATURANTE PAR RAPPORT A EI. FOTI8_CMAM(EEE)=6141.D0/(24.292D0-LOG(EEE/100.0D0)) * * FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE * VAPEUR SATURANTE (EW). FODTW8_CMAM(TTT,EEE)=TTT/EEE/(21.656D0-LOG(EEE/100.0D0)) * * FONCTION DE LA DERIVE DE LA TEMPERATURE EN FONCTION DE LA TENSION DE * VAPEUR SATURANTE (EI). FODTI8_CMAM(TTT,EEE)=TTT/EEE/(24.292D0-LOG(EEE/100.0D0)) * * FONCTION DE L'AJUSTEMENT DE LA TEMPERATURE. FOTWI8_CMAM(TTT,EEE)= W FOERAT8_CMAM(TTT)*FOTW8_CMAM(EEE)+ W (1.0D0-FOERAT8_CMAM(TTT))*FOTI8_CMAM(EEE) * * FONCTION DE L'AJUSTEMENT DE LA DERIVEE DE LA TEMPERATURE. FODTWI8_CMAM(TTT,EEE)= W FOERAT8_CMAM(TTT)*FODTW8_CMAM(TTT,EEE)+ W (1.0D0-FOERAT8_CMAM(TTT))*FODTI8_CMAM(TTT,EEE) *