!copyright (C) 2001 MSC-RPN COMM %%%RPNPHY%%% *** S/P UPDATE2 *SUBROUTINE UPDATE3( TS, T2, WG, W2, WF, WL, WR, WS, 1 1 ALPHAS, RHOS, RHOSNO, VMOD, CD, RHOA, 1 HFLUX, EFLUX, TST, T2T, WGT, W2T, 1 WFT, WLT, WRT, WST, 1 ALPHAST, RHOST, 1 BM, FQ, ALFAT, ALFAQ, 1 CTU, TH, HU, ZA, 1 N ) * #include "impnone.cdk"
* * INTEGER N REAL TS(N), T2(N), WG(N), W2(N), WR(N), WS(N) REAL WF(N), WL(N) REAL ALPHAS(N), RHOS(N), RHOSNO(N) REAL VMOD(N), CD(N), RHOA(N) REAL HFLUX(N), EFLUX(N) REAL TST(N), T2T(N), WGT(N), W2T(N), WRT(N), WST(N) REAL WFT(N), WLT(N) REAL ALPHAST(N), RHOST(N) REAL BM(N), FQ(N) REAL ALFAT(N), ALFAQ(N) REAL CTU(N), TH(N), HU(N), ZA(N) * *Author * S. Belair (January 1997) *Revisions * 001 J. Mailhot (March 1998) - Addition of sea ice surface * 002 J. Mailhot (Oct 1998) - Remove AQ and add ALFAQ * Change name from UPDATE1 to UPDATE2 * 003 S. Belair (Jan 1999) - New variables WF and WL * 004 S. Belair (Feb 1999) - Change formulation for the vertical * diffusion boundary terms, and cleanup * 005 S. Belair (March 1999) * Remove temporal filtering for ISBA's * prognostic variables * 006 J.-F. Mahfouf (Spring 2003) - * Add implicit boundary condition option for vert. diff. * * *Object * Update the prognostic variables * *Arguments * * - Input/Output - * TS * T2 * WG * W2 prognostic variables at time - * WF * WL * WR * WS * ALPHAS * RHOS * RHOSNO density of snow (kg/m3) for output only * * * - Input - * * VMOD module of the low-level wind * CD surface transfer coefficient for momentum * RHOA low-level air density * HFLUX surface flux of sensible heat * EFLUX water vapor flux * * - Output - * TST * T2T * WGT * W2T prognostic variables at time + * WFT * WLT * WRT * WST * ALPHAST * RHOST * * BM homogeneous boundary condition term in the * diffusion equation for U and V * ALFAT inhomogeneous boundary term in the diffusion equation for Theta * ALFAQ inhomogeneous boundary term in the diffusion equation for Q * FQ surface momentum flux * * #include "consphy.cdk"
* #include "options.cdk"
* * INTEGER I * * * DO I=1,N * TS(I) = TST(I) T2(I) = T2T(I) WG(I) = WGT(I) W2(I) = W2T(I) WF(I) = WFT(I) WL(I) = WLT(I) WR(I) = WRT(I) WS(I) = WST(I) ALPHAS(I) = ALPHAST(I) RHOS(I) = RHOST(I) RHOSNO(I) = RHOST(I)*RAUW * WG(I) = MAX( WG(I) , 0.001 ) W2(I) = MAX( W2(I) , 0.001 ) * END DO * * * * Feedback on the vertical diffusion * DO I=1,N BM(I) = VMOD(I)*CD(I) FQ(I) = RHOA(I)*CD(I)*VMOD(I)*VMOD(I) ALFAT(I) = -HFLUX(I) / (CPD*RHOA(I)) ALFAQ(I) = -EFLUX(I) IF (IMPFLX) THEN ALFAT(I) = ALFAT(I) - CTU(I)* TH(I) ALFAQ(I) = ALFAQ(I) - CTU(I)* HU(I) ENDIF END DO * * * * * RETURN END