SCALE-RM
|
module land / physics / snow / ky90 More...
Functions/Subroutines | |
subroutine, public | land_phy_snow_ky90_setup |
Setup. More... | |
subroutine, public | land_phy_snow_ky90 (LIA, LIS, LIE, LJA, LJS, LJE, SFLX_water, SFLX_ENGI, PRSA, TA, QA, WA, UA, VA, DENS, SFLX_RAD_dn, exists_land, dt, TSNOW, SWE, SDepth, SDzero, nosnowsec, Salbedo, SFLX_SH, SFLX_LH, SFLX_QV, SFLX_QV_ENGI, SFLX_GH, SNOW_LAND_GH, SNOW_LAND_Water, SNOW_frac) |
Main routine for land submodel. More... | |
subroutine | snow_ky90_main (TSNOW, SWE, DEPTH, ZNSNOW, nosnowsec, ALBEDO_out, Emiss, HFLUX, LATENTFLUX, GFLUX, EvapFLX, Evap_ENGI, QCC, QFUSION, MELT, SWEMELT, Gflux2land, SFLX_SNOW, SFLX_ENGI, TA, UA, RH, DENS, SW, LW, time) |
snow model main routine More... | |
subroutine | groundflux (TS, TA, UA, RH, rhoair, ALPHA, SW, LW, GFLUX, RFLUX, SFLUX, LINFLUX, LOUTFLUX, HFLUX, LATENTFLUX) |
subroutine | cal_param (ZN1, TS1, GFLUX, TA, UA, RH, rhoair, LW, time) |
subroutine | check_applicability (GFLUX, TS1, ZN1, TA, UA, RH, rhoair, LW, GFLUX_res, beta, time) |
subroutine | snowdepth (GFLUX, ZN1, ZN2, time) |
subroutine | recalculatez (ZN1, TS, GFLUX, ZN2, time) |
subroutine | calculationmo (GFLUX, CSRHOS, ZN1, TS1, ZN2, TS2, MELT, QCC, QFUSION, time) |
subroutine | calculationnomo (GFLUX, CSRHOS, ZN1, TS1, ZN2, TS2, MELT, QCC, QFUSION, time) |
subroutine | check_res (ZN1, ZN2, TS1, TS2, GFLUX, TA, UA, RH, rhoair, LW, flag, time) |
subroutine | cal_r1r2 (ZN1, TS1, GFLUX, TA, UA, RH, rhoair, LW, time) |
Variables | |
real(rp), public | w0 |
real(rp), public | rhosnow = 400.0_RP |
module land / physics / snow / ky90
name | type | default value | comment |
---|---|---|---|
ALBEDO_CONST | logical | .true. | |
SNOW_CONDUCTIVITY | real(RP) | 0.42_RP | |
WATER_CONTENT | real(RP) | 0.1_RP | |
SNOW_HEAT_CAPACITYRHO | real(RP) | 8.4e+05_RP | |
SNOW_RHO | real(RP) | 400.0_RP | |
SNOWDEPTH_INITIAL | real(RP) | 0.0_RP | |
ALBEDO_VALUE | real(RP) | 0.686_RP | |
DEBUG | logical | .false. |
name | description | unit | variable |
---|---|---|---|
LAND_SNOW_MELT | Heat used for snow melt | J/m2 | MELT |
LAND_SNOW_QCC | Heat used for changing temperature profile | J/m2 | QCC |
LAND_SNOW_QFUSION | Heat used for phase change of snow | J/m2 | QFUSION |
LAND_SNOW_SWEMELT | Equivalent water of melt snow | kg/m2 | SWEMELT |
subroutine, public scale_land_phy_snow_ky90::land_phy_snow_ky90_setup |
Setup.
Definition at line 82 of file scale_land_phy_snow_ky90.F90.
References scale_io::io_fid_conf, scale_prc::prc_abort(), rhosnow, and w0.
Referenced by mod_land_driver::land_driver_setup().
subroutine, public scale_land_phy_snow_ky90::land_phy_snow_ky90 | ( | integer, intent(in) | LIA, |
integer, intent(in) | LIS, | ||
integer, intent(in) | LIE, | ||
integer, intent(in) | LJA, | ||
integer, intent(in) | LJS, | ||
integer, intent(in) | LJE, | ||
real(rp), dimension(lia,lja), intent(in) | SFLX_water, | ||
real(rp), dimension (lia,lja), intent(in) | SFLX_ENGI, | ||
real(rp), dimension (lia,lja), intent(in) | PRSA, | ||
real(rp), dimension (lia,lja), intent(in) | TA, | ||
real(rp), dimension (lia,lja), intent(in) | QA, | ||
real(rp), dimension (lia,lja), intent(in) | WA, | ||
real(rp), dimension (lia,lja), intent(in) | UA, | ||
real(rp), dimension (lia,lja), intent(in) | VA, | ||
real(rp), dimension (lia,lja), intent(in) | DENS, | ||
real(rp), dimension(lia,lja,n_rad_dir,n_rad_rgn), intent(in) | SFLX_RAD_dn, | ||
logical, dimension(lia,lja), intent(in) | exists_land, | ||
real(dp), intent(in) | dt, | ||
real(rp), dimension (lia,lja), intent(inout) | TSNOW, | ||
real(rp), dimension (lia,lja), intent(inout) | SWE, | ||
real(rp), dimension (lia,lja), intent(inout) | SDepth, | ||
real(rp), dimension (lia,lja), intent(inout) | SDzero, | ||
real(rp), dimension (lia,lja), intent(inout) | nosnowsec, | ||
real(rp), dimension (lia,lja,2), intent(out) | Salbedo, | ||
real(rp), dimension (lia,lja), intent(out) | SFLX_SH, | ||
real(rp), dimension (lia,lja), intent(out) | SFLX_LH, | ||
real(rp), dimension (lia,lja), intent(out) | SFLX_QV, | ||
real(rp), dimension (lia,lja), intent(out) | SFLX_QV_ENGI, | ||
real(rp), dimension (lia,lja), intent(out) | SFLX_GH, | ||
real(rp), dimension (lia,lja), intent(out) | SNOW_LAND_GH, | ||
real(rp), dimension(lia,lja), intent(out) | SNOW_LAND_Water, | ||
real(rp), dimension (lia,lja), intent(out) | SNOW_frac | ||
) |
Main routine for land submodel.
Definition at line 151 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_eps, scale_const::const_epsvap, scale_const::const_i_lw, scale_const::const_i_sw, scale_const::const_tem00, scale_cpl_sfc_index::i_r_diffuse, scale_cpl_sfc_index::i_r_direct, scale_cpl_sfc_index::i_r_ir, scale_cpl_sfc_index::i_r_nir, scale_cpl_sfc_index::i_r_vis, scale_prc::prc_abort(), and snow_ky90_main().
Referenced by mod_land_driver::land_driver_calc_tendency().
subroutine scale_land_phy_snow_ky90::snow_ky90_main | ( | real(rp), intent(inout) | TSNOW, |
real(rp), intent(inout) | SWE, | ||
real(rp), intent(inout) | DEPTH, | ||
real(rp), intent(inout) | ZNSNOW, | ||
real(rp), intent(inout) | nosnowsec, | ||
real(rp), intent(out) | ALBEDO_out, | ||
real(rp), intent(out) | Emiss, | ||
real(rp), intent(out) | HFLUX, | ||
real(rp), intent(out) | LATENTFLUX, | ||
real(rp), intent(out) | GFLUX, | ||
real(rp), intent(out) | EvapFLX, | ||
real(rp), intent(out) | Evap_ENGI, | ||
real(rp), intent(out) | QCC, | ||
real(rp), intent(out) | QFUSION, | ||
real(rp), intent(out) | MELT, | ||
real(rp), intent(out) | SWEMELT, | ||
real(rp), intent(out) | Gflux2land, | ||
real(rp), intent(in) | SFLX_SNOW, | ||
real(rp), intent(in) | SFLX_ENGI, | ||
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | DENS, | ||
real(rp), intent(in) | SW, | ||
real(rp), intent(in) | LW, | ||
real(dp), intent(in) | time | ||
) |
snow model main routine
Definition at line 361 of file scale_land_phy_snow_ky90.F90.
References cal_param(), calculationmo(), calculationnomo(), check_applicability(), check_res(), scale_const::const_tem00, scale_atmos_hydrometeor::cv_ice, groundflux(), scale_atmos_hydrometeor::lhf, recalculatez(), rhosnow, snowdepth(), and w0.
Referenced by land_phy_snow_ky90().
subroutine scale_land_phy_snow_ky90::groundflux | ( | real(rp), intent(in) | TS, |
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | rhoair, | ||
real(rp), intent(in) | ALPHA, | ||
real(rp), intent(in) | SW, | ||
real(rp), intent(in) | LW, | ||
real(rp), intent(out) | GFLUX, | ||
real(rp), intent(out) | RFLUX, | ||
real(rp), intent(out) | SFLUX, | ||
real(rp), intent(out) | LINFLUX, | ||
real(rp), intent(out) | LOUTFLUX, | ||
real(rp), intent(out) | HFLUX, | ||
real(rp), intent(out) | LATENTFLUX | ||
) |
Definition at line 625 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::cal_param | ( | real(rp), intent(in) | ZN1, |
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | GFLUX, | ||
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | rhoair, | ||
real(rp), intent(in) | LW, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 693 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::check_applicability | ( | real(rp), intent(in) | GFLUX, |
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | ZN1, | ||
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | rhoair, | ||
real(rp), intent(in) | LW, | ||
real(rp), intent(out) | GFLUX_res, | ||
real(rp), intent(out) | beta, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 725 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::snowdepth | ( | real(rp), intent(in) | GFLUX, |
real(rp), intent(in) | ZN1, | ||
real(rp), intent(out) | ZN2, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 749 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::recalculatez | ( | real(rp), intent(in) | ZN1, |
real(rp), intent(in) | TS, | ||
real(rp), intent(in) | GFLUX, | ||
real(rp), intent(out) | ZN2, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 800 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::calculationmo | ( | real(rp), intent(in) | GFLUX, |
real(rp), intent(in) | CSRHOS, | ||
real(rp), intent(in) | ZN1, | ||
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | ZN2, | ||
real(rp), intent(in) | TS2, | ||
real(rp), intent(out) | MELT, | ||
real(rp), intent(out) | QCC, | ||
real(rp), intent(out) | QFUSION, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 821 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, scale_prc::prc_abort(), rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::calculationnomo | ( | real(rp), intent(in) | GFLUX, |
real(rp), intent(in) | CSRHOS, | ||
real(rp), intent(in) | ZN1, | ||
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | ZN2, | ||
real(rp), intent(in) | TS2, | ||
real(rp), intent(out) | MELT, | ||
real(rp), intent(out) | QCC, | ||
real(rp), intent(out) | QFUSION, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 857 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, rhosnow, and w0.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::check_res | ( | real(rp), intent(in) | ZN1, |
real(rp), intent(in) | ZN2, | ||
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | TS2, | ||
real(rp), intent(in) | GFLUX, | ||
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | rhoair, | ||
real(rp), intent(in) | LW, | ||
character(len=*) | flag, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 889 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00.
Referenced by snow_ky90_main().
subroutine scale_land_phy_snow_ky90::cal_r1r2 | ( | real(rp), intent(in) | ZN1, |
real(rp), intent(in) | TS1, | ||
real(rp), intent(in) | GFLUX, | ||
real(rp), intent(in) | TA, | ||
real(rp), intent(in) | UA, | ||
real(rp), intent(in) | RH, | ||
real(rp), intent(in) | rhoair, | ||
real(rp), intent(in) | LW, | ||
real(dp), intent(in) | time | ||
) |
Definition at line 922 of file scale_land_phy_snow_ky90.F90.
References scale_const::const_tem00, scale_io::io_get_available_fid(), and scale_io::io_get_fname().
real(rp), public scale_land_phy_snow_ky90::w0 |
Definition at line 35 of file scale_land_phy_snow_ky90.F90.
Referenced by cal_param(), calculationmo(), calculationnomo(), check_applicability(), groundflux(), land_phy_snow_ky90_setup(), snow_ky90_main(), and snowdepth().
real(rp), public scale_land_phy_snow_ky90::rhosnow = 400.0_RP |
Definition at line 36 of file scale_land_phy_snow_ky90.F90.
Referenced by cal_param(), calculationmo(), calculationnomo(), check_applicability(), groundflux(), land_phy_snow_ky90_setup(), snow_ky90_main(), and snowdepth().