SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE SURFACE_CDCH_1DARP (PZREF, PZ0EFF, PZ0H, PVMOD, PTA, PTG, & 00003 PQA, PQS, PCD, PCDN, PCH ) 00004 ! ################################################################### 00005 ! Purpose : 00006 ! ------ 00007 00008 ! - CALCUL DES COEFFICIENTS D'ECHANGE TURBULENT Cd ET Ch 00009 ! DE LA MEME FACON QU'ARPEGE. (cf ACHMT) 00010 00011 !----------------------------------------------------------------------- 00012 ! ------- 00013 ! Auteur. 00014 ! ------- 00015 ! Dec 2007 : M. Jidane * MAROC METEO * 00016 ! 00017 !----------------------------------------------------------------------- 00018 00019 ! - ARGUMENTS D'ENTREE. 00020 ! ------------------- 00021 ! PZ0EFF : LA LONGUEUR DE RUGOSITE COURANTE. 00022 ! PZ0H : LONGUEUR DE RUGOSITE THERMIQUE COURANTE 00023 ! PTA : TEMPERATURE. 00024 ! PTG : TEMPERATURE DE SURFACE. 00025 ! PQA : specific humidity 00026 ! PQS : humidity at surface 00027 00028 !----------------------------------------------------------------------- 00029 00030 ! - ARGUMENTS DE SORTIE. 00031 ! -------------------- 00032 ! PCD : COEFFICIENT D'ECHANGE EN SURFACE POUR U ET V. 00033 ! PCDN : COEFFICIENT NEUTRE D'ECHANGE EN SURFACE. 00034 ! PCH : COEFFICIENT D'ECHANGE EN SURFACE POUR T ET Q 00035 00036 USE MODD_CSTS, ONLY : XG, XRD, XRV, XCPD, XKARMAN 00037 USE MODD_SURF_ATM, ONLY : XEDB, XEDC, XEDD, XEDK, XUSURIC, XUSURID, XUSURICL 00038 00039 ! 00040 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00041 USE PARKIND1 ,ONLY : JPRB 00042 ! 00043 IMPLICIT NONE 00044 00045 REAL, DIMENSION(:), INTENT(IN) :: PZREF 00046 REAL, DIMENSION(:), INTENT(IN) :: PZ0EFF 00047 REAL, DIMENSION(:), INTENT(IN) :: PZ0H 00048 REAL, DIMENSION(:), INTENT(IN) :: PVMOD 00049 REAL, DIMENSION(:), INTENT(IN) :: PTA 00050 REAL, DIMENSION(:), INTENT(IN) :: PTG 00051 REAL, DIMENSION(:), INTENT(IN) :: PQA 00052 REAL, DIMENSION(:), INTENT(IN) :: PQS 00053 REAL, DIMENSION(:), INTENT(OUT) :: PCD 00054 REAL, DIMENSION(:), INTENT(OUT) :: PCDN 00055 REAL, DIMENSION(:), INTENT(OUT) :: PCH 00056 00057 INTEGER :: JLON 00058 00059 REAL, DIMENSION(0:3,1:4) :: GCZ0H 00060 00061 REAL, DIMENSION(SIZE(PTA)) :: ZSTAB 00062 ! ZSTAB : INDICE DE STABILITE A LA SURFACE. 00063 REAL, DIMENSION(SIZE(PTA)) :: ZCDNH, ZRTI, ZU 00064 00065 REAL :: ZR, ZRS 00066 ! ZR : CONSTANTE DES GAZ POUR L'AIR. 00067 ! ZRS : CONSTANTE DES GAZ POUR L'AIR AU SOL. 00068 00069 REAL :: Z2B, Z3B, Z3BC, ZCD, ZCD0, ZCH, ZCH0, ZCIS, ZDID, 00070 ZDIH, ZDS, ZLOI, ZLOS, ZMU, ZPD, ZPH, ZRZD, ZRZH, 00071 ZUSURIC, ZSTA, ZIXP, ZSTAH, ZHS 00072 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00073 00074 !* 00075 ! ------------------------------------------------------------------ 00076 ! I - CONSTANTES AUXILIAIRES. 00077 ! ISBA - roughness length 00078 IF (LHOOK) CALL DR_HOOK('SURFACE_CDCH_1DARP',0,ZHOOK_HANDLE) 00079 GCZ0H(0,1)=7.5 00080 GCZ0H(1,1)=2.39037 00081 GCZ0H(2,1)=-.28583 00082 GCZ0H(3,1)=.01074 00083 GCZ0H(0,2)=0.5 00084 GCZ0H(1,2)=-.07028 00085 GCZ0H(2,2)=.01023 00086 GCZ0H(3,2)=-.00067 00087 GCZ0H(0,3)=5.0 00088 GCZ0H(1,3)=4.51268 00089 GCZ0H(2,3)=.34012 00090 GCZ0H(3,3)=-.05330 00091 GCZ0H(0,4)=0.5 00092 GCZ0H(1,4)=-.09421 00093 GCZ0H(2,4)=.01463 00094 GCZ0H(3,4)=-.00099 00095 00096 00097 ZUSURIC=XUSURIC*XUSURICL 00098 00099 !* 00100 ! ------------------------------------------------------------------ 00101 ! II - CALCUL DES PARAMETRES DERIVES ET CONSTANTE DE SECURITE (POUR 00102 ! LE CARRE DU CISAILLEMENT DE VENT). 00103 00104 ! COMPUTATION OF DERIVED PARAMETERS AND SECURITY CONSTANT (FOR 00105 ! THE SQUARE OF THE WIND SHEAR). 00106 00107 Z2B=2.0*XEDB 00108 Z3B=3.*XEDB 00109 Z3BC=3.*XEDB*XEDC 00110 00111 !* 00112 ! ------------------------------------------------------------------ 00113 ! IV - CALCUL DE L EPAISSEUR DE LA CLS (EN GEOPOTENTIEL). 00114 00115 ! COMPUTATION OF THE THICKNESS OF THE SBL (IN GEOPOTENTIAL). 00116 00117 ! - TEMPORAIRE(S) 1D . 00118 00119 !* 00120 ! ------------------------------------------------------------------ 00121 ! VI - CALCULS PROPREMENT DITS DES CARACTERISTIQUES DE SURFACE. 00122 00123 ! EFFECTIVE CALCULATIONS OF THE SURFACE CHARACTERISTICS. 00124 00125 IF(XUSURID == 0.0) THEN 00126 ZIXP=1.0 00127 ELSE 00128 ZIXP=3. 00129 ENDIF 00130 00131 DO JLON=1, SIZE(PTA) 00132 00133 ZR = XRD + (XRV-XRD)*PQA(JLON) 00134 ZRS = XRD + (XRV-XRD)*PQS(JLON) 00135 00136 ! CALCULS GEOMETRIQUES. 00137 ! GEOMETRIC CALCULATIONS. 00138 00139 ZRZD=1.0+PZREF(JLON)/PZ0EFF(JLON) 00140 PCDN(JLON)=(XKARMAN/LOG(ZRZD))**2 00141 00142 ! CALCUL PRELIMINAIRES NECESSAIRES A LA DETERMINATION DES 00143 ! COEFFICIENTS D'ECHANGE CD ET CH DANS LE CAS DE DEUX RUGOSITES 00144 ! DYNAMIQUE Z0 ET THERMIQUE ZOH. 00145 00146 ! PRELIMINARY COMPUTATIONS NECESSARY FOR THE DETERMINATION OF 00147 ! EXCHANGE COEFFICIENTS CD AND CH IN THE CASE OF TWO ROUGHNESS 00148 ! LENGTHS Z0 DYNAMICAL AND ZOH THERMAL. 00149 00150 ! - TEMPORAIRE(S) 1D . 00151 00152 ! ZCDNH : COEFFICIENT THERMIQUE NEUTRE D'ECHANGE EN SURFACE. 00153 ! : NEUTRAL SURFACE THERMAL EXCHANGE COEFFICIENT. 00154 00155 ZRZH=1.0+PZREF(JLON)/PZ0H(JLON) 00156 ZCDNH(JLON)=XKARMAN**2/(LOG(ZRZH)*LOG(ZRZD)) 00157 ZMU=LOG(PZ0EFF(JLON)/PZ0H(JLON)) 00158 ZCD0=(GCZ0H(0,1)+ZMU*(GCZ0H(1,1)+ZMU*(GCZ0H(2,1)+ZMU & 00159 *GCZ0H(3,1))))/(1.5*XEDC) 00160 ZPD=(GCZ0H(0,2)+ZMU*(GCZ0H(1,2)+ZMU*(GCZ0H(2,2)+ZMU*GCZ0H(3,2))))-0.5 00161 ZCH0=(GCZ0H(0,3)+ZMU*(GCZ0H(1,3)+ZMU*(GCZ0H(2,3)+ZMU*GCZ0H(3,3))))/XEDC 00162 ZPH=(GCZ0H(0,4)+ZMU*(GCZ0H(1,4)+ZMU*(GCZ0H(2,4)+ZMU*GCZ0H(3,4))))-0.5 00163 ZCD=ZCD0*ZRZD**ZPD 00164 ZCH=ZCH0*ZRZH**ZPH 00165 00166 ! CISAILLEMENT DE VENT. 00167 ! WIND SHEAR. 00168 00169 ! - TEMPORAIRE(S) 1D . 00170 00171 ! ZU : MODULE DU VENT DE SURFACE. 00172 ! : SURFACE WIND SPEED. 00173 00174 ZCIS=PVMOD(JLON)**2 00175 ZU(JLON)=PVMOD(JLON) 00176 00177 ! CALCUL DE STABILITE. 00178 ! STABILITY COMPUTATION. 00179 00180 ! - TEMPORAIRE(S) 1D . 00181 00182 ! ZRTI : INVERSE DE R*T. 00183 ! : INVERSE OF R*T. 00184 ! ZSTA : APPROXIMATION DE DELTA(PHI)*DELTA(LN(THETA)). 00185 ! : APPROXIMATION OF DELTA(PHI)*DELTA(LN(THETA)). 00186 00187 ZRTI(JLON)=2.0/(ZR*PTA(JLON)+(XRD/XCPD)*XG*PZREF(JLON)& 00188 +ZRS*PTG(JLON)) 00189 ZSTA=XG*PZREF(JLON)*(ZR*PTA(JLON)+(XRD/XCPD) & 00190 *XG*PZREF(JLON)-ZRS*PTG(JLON))*ZRTI(JLON) 00191 ZSTAH=ZSTA/(1.0+ZIXP*ZUSURIC*MAX(0.0,ZSTA)/ZCIS)**(1.0/ZIXP) 00192 ZSTA=ZSTA/(1.0+ZUSURIC*MAX(0.0,ZSTA)/ZCIS) 00193 ZSTAB(JLON)=MAX(0.0,SIGN(1.0,ZSTA)) 00194 00195 ! CALCULS COMMUNS POUR QUANTITE DE MOUVEMENT ET ENERGIE. 00196 ! COMMON COMPUTATIONS FOR MOMENTUM AND ENERGY. 00197 00198 ZDS=SQRT(ZCIS+XEDD/XEDK*ABS(ZSTA)) 00199 ZHS=SQRT(ZCIS+XEDD*XEDK*ABS(ZSTAH)) 00200 ZDID=1.0/(ZU(JLON)+ZCD*Z3BC*PCDN(JLON)*SQRT(ABS(ZSTA)*ZRZD)) 00201 ZDIH=1.0/(ZU(JLON)+ZCH*Z3BC*ZCDNH(JLON)*SQRT(ABS(ZSTA)*ZRZH)) 00202 00203 ! CALCULS POUR LES COMPOSANTES DU VENT DE CD ET DE SON PRODUIT PAR 00204 ! DENSITE FOIS MODULE DU VENT. 00205 ! COMPUTATIONS FOR MOMENTUM OF CD AND OF ITS PRODUCT BY DENSITY 00206 ! TIME WIND SPEED. 00207 00208 ZLOS=ZCIS*ZDS/(ZU(JLON)*ZDS+Z2B*ABS(ZSTA)) 00209 ZLOI=ZU(JLON)-Z2B*ZSTA*ZDID 00210 PCD(JLON)=(ZLOI+ZSTAB(JLON)*(ZLOS-ZLOI))*PCDN(JLON)/ZU(JLON) 00211 00212 ! IDEM POUR LA TEMPERATURE ET L'HUMIDITE. 00213 ! THE SAME FOR TEMPERATURE AND HUMIDITY. 00214 00215 ZLOS=ZCIS**2/(ZU(JLON)*ZCIS+Z3B*ABS(ZSTAH)*ZHS) 00216 ZLOI=ZU(JLON)-Z3B*ZSTA*ZDIH 00217 PCH(JLON)=(ZLOI+ZSTAB(JLON)*(ZLOS-ZLOI))*ZCDNH(JLON)/ZU(JLON) 00218 00219 ENDDO 00220 IF (LHOOK) CALL DR_HOOK('SURFACE_CDCH_1DARP',1,ZHOOK_HANDLE) 00221 00222 END SUBROUTINE SURFACE_CDCH_1DARP