The Intermediate Complexity Atmospheric Research model (ICAR)
A computationally efficient atmospheric model for downscaling.
|
Kain-Fritsch Cumulus Scheme from WRF More...
Public Member Functions | |
subroutine | kfcps (ids, ide, jds, jde, kds, kde,ims, ime, jms, jme, kms, kme,its, ite, jts, jte, kts, kte,DT, KTAU, DX, CUDT, ADAPT_STEP_FLAG,rho,RAINCV, PRATEC, NCA,U, V, TH, T, W, QV, dz8w, Pcps, pi,W0AVG, XLV0, XLV1, XLS0, XLS1, CP, R, G, EP1,EP2, SVP1, SVP2, SVP3, SVPT0,STEPCU, CU_ACT_FLAG, warm_rain |
subroutine | kfpara (I, J, U0, V0, T0, QV0, P0, DZQ, W0AVG1D, DT, DX, DXSQ, rho, XLV0, XLV1, XLS0, XLS1, CP, R, G, EP2, SVP1, SVP2, SVP3, SVPT0, DQDT, DQIDT, DQCDT, DQRDT, DQSDT, DTDT, RAINCV, PRATEC, NCA, warm_rain, qi_flag, qs_flag, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte) |
subroutine | condload (QLIQ, QICE, WTW, DZ, BOTERM, ENTERM, RATE, QNEWLQ, QNEWIC, QLQOUT, QICOUT, G) |
subroutine | dtfrznew (TU, P, THTEU, QVAP, QLIQ, QICE, RATIO2, TTFRZ, TBFRZ, QNWFRZ, RL, FRC1, EFFQ, IFLAG, XLV0, XLV1, XLS0, XLS1, EP2, ALIQ, BLIQ, CLIQ, DLIQ, AICE, BICE, CICE, DICE) |
subroutine | prof5 (EQ, EE, UD) |
subroutine | tpmix (P, THTU, TU, QU, QLIQ, QICE, QNEWLQ, QNEWIC, RATIO2, RL, XLV0, XLV1, XLS0, XLS1, EP2, ALIQ, BLIQ, CLIQ, DLIQ, AICE, BICE, CICE, DICE) |
subroutine | envirtht (P1, T1, Q1, THT1, R1, RL, EP2, ALIQ, BLIQ, CLIQ, DLIQ, AICE, BICE, CICE, DICE) |
real function | tpdd (P, THTED, TGS, RS, RD, RH, XLV0, XLV1, EP2, ALIQ, BLIQ, CLIQ, DLIQ, AICE, BICE, CICE, DICE) |
subroutine | kfinit (RTHCUTEN, RQVCUTEN, RQCCUTEN, RQRCUTEN, RQICUTEN, RQSCUTEN, NCA, W0AVG, P_QI, P_QS, P_FIRST_SCALAR, restart, allowed_to_read, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, its, ite, jts, jte, kts, kte) |
Public Attributes | |
real, parameter | rad = 1500. |
Kain-Fritsch Cumulus Scheme from WRF
subroutine module_cu_kf::condload | ( | real, intent(inout) | QLIQ, |
real, intent(inout) | QICE, | ||
real, intent(inout) | WTW, | ||
real, intent(in) | DZ, | ||
real, intent(in) | BOTERM, | ||
real, intent(in) | ENTERM, | ||
real, intent(in) | RATE, | ||
real, intent(inout) | QNEWLQ, | ||
real, intent(inout) | QNEWIC, | ||
real, intent(inout) | QLQOUT, | ||
real, intent(inout) | QICOUT, | ||
real, intent(in) | G | ||
) |
subroutine module_cu_kf::dtfrznew | ( | real, intent(inout) | TU, |
real, intent(in) | P, | ||
real, intent(inout) | THTEU, | ||
real, intent(inout) | QVAP, | ||
real, intent(inout) | QLIQ, | ||
real, intent(inout) | QICE, | ||
real, intent(inout) | RATIO2, | ||
real, intent(in) | TTFRZ, | ||
real, intent(in) | TBFRZ, | ||
real, intent(inout) | QNWFRZ, | ||
real, intent(inout) | RL, | ||
real, intent(inout) | FRC1, | ||
real, intent(in) | EFFQ, | ||
integer, intent(inout) | IFLAG, | ||
real, intent(in) | XLV0, | ||
real, intent(in) | XLV1, | ||
real, intent(in) | XLS0, | ||
real, intent(in) | XLS1, | ||
real, intent(in) | EP2, | ||
real, intent(in) | ALIQ, | ||
real, intent(in) | BLIQ, | ||
real, intent(in) | CLIQ, | ||
real, intent(in) | DLIQ, | ||
real, intent(in) | AICE, | ||
real, intent(in) | BICE, | ||
real, intent(in) | CICE, | ||
real, intent(in) | DICE | ||
) |
subroutine module_cu_kf::envirtht | ( | real, intent(in) | P1, |
real, intent(in) | T1, | ||
real, intent(in) | Q1, | ||
real, intent(inout) | THT1, | ||
real, intent(in) | R1, | ||
real, intent(in) | RL, | ||
real, intent(in) | EP2, | ||
real, intent(in) | ALIQ, | ||
real, intent(in) | BLIQ, | ||
real, intent(in) | CLIQ, | ||
real, intent(in) | DLIQ, | ||
real, intent(in) | AICE, | ||
real, intent(in) | BICE, | ||
real, intent(in) | CICE, | ||
real, intent(in) | DICE | ||
) |
subroutine module_cu_kf::kfcps | ( | integer, intent(in) | ids, |
integer, intent(in) | ide, | ||
integer, intent(in) | jds, | ||
integer, intent(in) | jde, | ||
integer, intent(in) | kds, | ||
integer, intent(in) | kde, | ||
integer, intent(in) | ims, | ||
integer, intent(in) | ime, | ||
integer, intent(in) | jms, | ||
integer, intent(in) | jme, | ||
integer, intent(in) | kms, | ||
integer, intent(in) | kme, | ||
integer, intent(in) | its, | ||
integer, intent(in) | ite, | ||
integer, intent(in) | jts, | ||
integer, intent(in) | jte, | ||
integer, intent(in) | kts, | ||
integer, intent(in) | kte, | ||
real, intent(in) | DT, | ||
integer, intent(in) | KTAU, | ||
real, intent(in) | DX, | ||
real, intent(in) | CUDT, | ||
logical, intent(in), optional | ADAPT_STEP_FLAG, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | rho, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | RAINCV, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | PRATEC, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | NCA, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | U, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | V, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | TH, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | T, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | W, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | QV, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | dz8w, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | Pcps, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(in) | pi, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(inout) | W0AVG, | ||
real, intent(in) | XLV0, | ||
real, intent(in) | XLV1, | ||
real, intent(in) | XLS0, | ||
real, intent(in) | XLS1, | ||
real, intent(in) | CP, | ||
real, intent(in) | R, | ||
real, intent(in) | G, | ||
real, intent(in) | EP1, | ||
real, intent(in) | EP2, | ||
real, intent(in) | SVP1, | ||
real, intent(in) | SVP2, | ||
real, intent(in) | SVP3, | ||
real, intent(in) | SVPT0, | ||
integer, intent(in) | STEPCU, | ||
logical, dimension( ims:ime , jms:jme ), intent(inout) | CU_ACT_FLAG, | ||
logical, intent(in) | warm_rain | ||
) |
subroutine module_cu_kf::kfinit | ( | real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RTHCUTEN, |
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RQVCUTEN, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RQCCUTEN, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RQRCUTEN, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RQICUTEN, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | RQSCUTEN, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | NCA, | ||
real, dimension( ims:ime , kms:kme , jms:jme ), intent(out) | W0AVG, | ||
integer, intent(in) | P_QI, | ||
integer, intent(in) | P_QS, | ||
integer, intent(in) | P_FIRST_SCALAR, | ||
logical, intent(in) | restart, | ||
logical, intent(in) | allowed_to_read, | ||
integer, intent(in) | ids, | ||
integer, intent(in) | ide, | ||
integer, intent(in) | jds, | ||
integer, intent(in) | jde, | ||
integer, intent(in) | kds, | ||
integer, intent(in) | kde, | ||
integer, intent(in) | ims, | ||
integer, intent(in) | ime, | ||
integer, intent(in) | jms, | ||
integer, intent(in) | jme, | ||
integer, intent(in) | kms, | ||
integer, intent(in) | kme, | ||
integer, intent(in) | its, | ||
integer, intent(in) | ite, | ||
integer, intent(in) | jts, | ||
integer, intent(in) | jte, | ||
integer, intent(in) | kts, | ||
integer, intent(in) | kte | ||
) |
subroutine module_cu_kf::kfpara | ( | integer, intent(in) | I, |
integer, intent(in) | J, | ||
real, dimension( kts:kte ), intent(in) | U0, | ||
real, dimension( kts:kte ), intent(in) | V0, | ||
real, dimension( kts:kte ), intent(in) | T0, | ||
real, dimension( kts:kte ), intent(in) | QV0, | ||
real, dimension( kts:kte ), intent(in) | P0, | ||
real, dimension( kts:kte ), intent(in) | DZQ, | ||
real, dimension( kts:kte ), intent(in) | W0AVG1D, | ||
real, intent(in) | DT, | ||
real, intent(in) | DX, | ||
real, intent(in) | DXSQ, | ||
real, dimension( kts:kte ), intent(in) | rho, | ||
real, intent(in) | XLV0, | ||
real, intent(in) | XLV1, | ||
real, intent(in) | XLS0, | ||
real, intent(in) | XLS1, | ||
real, intent(in) | CP, | ||
real, intent(in) | R, | ||
real, intent(in) | G, | ||
real, intent(in) | EP2, | ||
real, intent(in) | SVP1, | ||
real, intent(in) | SVP2, | ||
real, intent(in) | SVP3, | ||
real, intent(in) | SVPT0, | ||
real, dimension( kts:kte ), intent(inout) | DQDT, | ||
real, dimension( kts:kte ), intent(inout) | DQIDT, | ||
real, dimension( kts:kte ), intent(inout) | DQCDT, | ||
real, dimension( kts:kte ), intent(inout) | DQRDT, | ||
real, dimension( kts:kte ), intent(inout) | DQSDT, | ||
real, dimension( kts:kte ), intent(inout) | DTDT, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | RAINCV, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | PRATEC, | ||
real, dimension( ims:ime , jms:jme ), intent(inout) | NCA, | ||
logical, intent(in) | warm_rain, | ||
logical | qi_flag, | ||
logical | qs_flag, | ||
integer, intent(in) | ids, | ||
integer, intent(in) | ide, | ||
integer, intent(in) | jds, | ||
integer, intent(in) | jde, | ||
integer, intent(in) | kds, | ||
integer, intent(in) | kde, | ||
integer, intent(in) | ims, | ||
integer, intent(in) | ime, | ||
integer, intent(in) | jms, | ||
integer, intent(in) | jme, | ||
integer, intent(in) | kms, | ||
integer, intent(in) | kme, | ||
integer, intent(in) | its, | ||
integer, intent(in) | ite, | ||
integer, intent(in) | jts, | ||
integer, intent(in) | jte, | ||
integer, intent(in) | kts, | ||
integer, intent(in) | kte | ||
) |
subroutine module_cu_kf::prof5 | ( | real, intent(in) | EQ, |
real, intent(inout) | EE, | ||
real, intent(inout) | UD | ||
) |
real function module_cu_kf::tpdd | ( | real, intent(in) | P, |
real, intent(in) | THTED, | ||
real, intent(in) | TGS, | ||
real, intent(inout) | RS, | ||
real, intent(in) | RD, | ||
real, intent(in) | RH, | ||
real, intent(in) | XLV0, | ||
real, intent(in) | XLV1, | ||
real, intent(in) | EP2, | ||
real, intent(in) | ALIQ, | ||
real, intent(in) | BLIQ, | ||
real, intent(in) | CLIQ, | ||
real, intent(in) | DLIQ, | ||
real, intent(in) | AICE, | ||
real, intent(in) | BICE, | ||
real, intent(in) | CICE, | ||
real, intent(in) | DICE | ||
) |
subroutine module_cu_kf::tpmix | ( | real, intent(in) | P, |
real, intent(in) | THTU, | ||
real, intent(inout) | TU, | ||
real, intent(inout) | QU, | ||
real, intent(inout) | QLIQ, | ||
real, intent(inout) | QICE, | ||
real, intent(inout) | QNEWLQ, | ||
real, intent(inout) | QNEWIC, | ||
real, intent(in) | RATIO2, | ||
real, intent(in) | RL, | ||
real, intent(in) | XLV0, | ||
real, intent(in) | XLV1, | ||
real, intent(in) | XLS0, | ||
real, intent(in) | XLS1, | ||
real, intent(in) | EP2, | ||
real, intent(in) | ALIQ, | ||
real, intent(in) | BLIQ, | ||
real, intent(in) | CLIQ, | ||
real, intent(in) | DLIQ, | ||
real, intent(in) | AICE, | ||
real, intent(in) | BICE, | ||
real, intent(in) | CICE, | ||
real, intent(in) | DICE | ||
) |
real, parameter module_cu_kf::rad = 1500. |