- Timestamp:
- 2022-03-04T12:18:30+01:00 (3 years ago)
- Location:
- branches/ORCHIDEE_2_2/ORCHIDEE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_2_2/ORCHIDEE/orchidee.default
r7485 r7508 1402 1402 PRINTLEV_modname = PRINTLEV 1403 1403 1404 # DRY_SOIL_HEAT_CAPACITY ([J.m^{-3}.K^{-1}] ) : Dry soil Heat capacity of soils {OK_SECHIBA }1405 DRY_SOIL_HEAT_CAPACITY = 1.80e+61406 1407 # DRY_SOIL_HEAT_COND ([W.m^{-2}.K^{-1}] ) : Dry soil Thermal Conductivity of soils {OK_SECHIBA}1408 DRY_SOIL_HEAT_COND = 0.401409 1410 1404 # SNOW_HEAT_COND ([W.m^{-2}.K^{-1}]) : Thermal Conductivity of snow {OK_SECHIBA } 1411 1405 SNOW_HEAT_COND = 0.3 … … 1558 1552 BEDROCK_FLAG = 0 1559 1553 1554 # DRY_SOIL_HEAT_CAPACITY ([J.m^{-3}.K^{-1}] ) : Dry soil Heat capacity of soils {OK_SECHIBA} 1555 DRY_SOIL_HEAT_CAPACITY = (1.47, 1.41, 1.34, 1.27, 1.21, 1.21, 1.18, 1.32, 1.23, 1.18, 1.15, 1.09, 1.09)*e+6 1556 1560 1557 # THERMOSOIL_TPRO (Kelvin [K]) : Initial soil temperature profile if not found in restart {OK_SECHIBA} 1561 1558 THERMOSOIL_TPRO = 280. -
branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_soil.f90
r7199 r7508 70 70 ! Following initializations are only done for option impose_param 71 71 IF ( ok_sechiba .AND. impose_param ) THEN 72 73 !Config Key = DRY_SOIL_HEAT_CAPACITY74 !Config Desc = Dry soil Heat capacity of soils75 !Config If = OK_SECHIBA76 !Config Def = 1.80e+677 !Config Help = Values taken from : PIELKE,'MESOSCALE METEOROLOGICAL MODELING',P.384.78 !Config Units = [J.m^{-3}.K^{-1}]79 CALL getin_p("DRY_SOIL_HEAT_CAPACITY",so_capa_dry)80 81 !! Check parameter value (correct range)82 IF ( so_capa_dry <= zero ) THEN83 CALL ipslerr_p(error_level, "config_soil_parameters.", &84 & "Wrong parameter value for DRY_SOIL_HEAT_CAPACITY.", &85 & "This parameter should be positive. ", &86 & "Please, check parameter value in run.def. ")87 END IF88 89 90 !Config Key = DRY_SOIL_HEAT_COND91 !Config Desc = Dry soil Thermal Conductivity of soils92 !Config If = OK_SECHIBA93 !Config Def = 0.4094 !Config Help = Values taken from : PIELKE,'MESOSCALE METEOROLOGICAL MODELING',P.384.95 !Config Units = [W.m^{-2}.K^{-1}]96 CALL getin_p("DRY_SOIL_HEAT_COND",so_cond_dry)97 98 !! Check parameter value (correct range)99 IF ( so_cond_dry <= zero ) THEN100 CALL ipslerr_p(error_level, "config_soil_parameters.", &101 & "Wrong parameter value for DRY_SOIL_HEAT_COND.", &102 & "This parameter should be positive. ", &103 & "Please, check parameter value in run.def. ")104 END IF105 106 72 107 73 !Config Key = SNOW_HEAT_COND -
branches/ORCHIDEE_2_2/ORCHIDEE/src_parameters/constantes_soil_var.f90
r7432 r7508 75 75 76 76 !! Parameters for soil thermodynamics 77 78 REAL(r_std), SAVE :: so_capa_dry = 1.80e+6 !! Dry soil Heat capacity of soils79 !! @tex $(J.m^{-3}.K^{-1})$ @endtex80 !$OMP THREADPRIVATE(so_capa_dry)81 REAL(r_std), SAVE :: so_cond_dry = 0.40 !! Dry soil Thermal Conductivity of soils82 !! @tex $(W.m^{-2}.K^{-1})$ @endtex83 !$OMP THREADPRIVATE(so_cond_dry)84 77 REAL(r_std), SAVE :: sn_cond = 0.3 !! Thermal Conductivity of snow 85 78 !! @tex $(W.m^{-2}.K^{-1})$ @endtex … … 206 199 & 0.25_r_std /) ! oxisols 207 200 208 REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: so_capa_dry_ ns_usda = &!! Dry soil Heat capacity of soils,J.m^{-3}.K^{-1}201 REAL(r_std),PARAMETER,DIMENSION(nscm_usda) :: so_capa_dry_usda = & !! Dry soil Heat capacity of soils,J.m^{-3}.K^{-1} 209 202 & (/ 1.47e+6_r_std, 1.41e+6_r_std, 1.34e+6_r_std, 1.27e+6_r_std, & !! Pielke [2002, 2013] 210 203 & 1.21e+6_r_std, 1.21e+6_r_std, 1.18e+6_r_std, 1.32e+6_r_std, & -
branches/ORCHIDEE_2_2/ORCHIDEE/src_sechiba/thermosoil.f90
r7506 r7508 154 154 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: QZ !! quartz content [-] 155 155 !$OMP THREADPRIVATE(QZ) 156 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: so_capa_dry _ns!! Dry soil Heat capacity of soils,J.m^{-3}.K^{-1}157 !$OMP THREADPRIVATE(so_capa_dry _ns)156 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: so_capa_dry !! Dry soil Heat capacity of soils,J.m^{-3}.K^{-1} 157 !$OMP THREADPRIVATE(so_capa_dry) 158 158 REAL(r_std), ALLOCATABLE, SAVE, DIMENSION (:) :: so_capa_ice !! Heat capacity of saturated frozen soil (J/K/m3) 159 159 !$OMP THREADPRIVATE(so_capa_ice) … … 372 372 IF (ier /= 0) CALL ipslerr_p(3,'thermosoil_initialize', 'Error in allocation of QZ','','') 373 373 374 ALLOCATE (so_capa_dry _ns(nscm),stat=ier)375 IF (ier /= 0) CALL ipslerr_p(3,'thermosoil_initialize', 'Error in allocation of so_capa_dry _ns','','')374 ALLOCATE (so_capa_dry(nscm),stat=ier) 375 IF (ier /= 0) CALL ipslerr_p(3,'thermosoil_initialize', 'Error in allocation of so_capa_dry','','') 376 376 377 377 ALLOCATE (so_capa_ice(kjpindex),stat=ier) … … 381 381 !! Soil texture choose : Now useless since njsc defines the dominant texture within 13 classes whichever the soil map 382 382 QZ(:) = QZ_usda(:) 383 so_capa_dry_ns(:) = so_capa_dry_ns_usda(:) 384 383 so_capa_dry(:) = so_capa_dry_usda(:) 384 385 !Config Key = DRY_SOIL_HEAT_CAPACITY 386 !Config Desc = Dry soil Heat capacity of soils 387 !Config If = OK_SECHIBA 388 !Config Def = (1.47, 1.41, 1.34, 1.27, 1.21, 1.21, 1.18, 1.32, 1.23, 1.18, 1.15, 1.09, 1.09)*e+6 389 !Config Help = Values taken from : Pielke [2002, 2013] 390 !Config Units = [J.m^{-3}.K^{-1}] 391 CALL getin_p("DRY_SOIL_HEAT_CAPACITY",so_capa_dry) 392 393 !! Check parameter value (correct range) 394 IF ( MINVAL(so_capa_dry(:)) <= zero ) THEN 395 CALL ipslerr_p(3, "thermosoil_initialize", & 396 "Wrong parameter value for DRY_SOIL_HEAT_CAPACITY.", & 397 "This parameter should be positive. ", & 398 "Please, check parameter value in run.def or orchidee.def. ") 399 END IF 400 401 385 402 !! 2. Initialize variable from restart file or with default values 386 403 … … 1627 1644 DO jg = 1, ngrnd 1628 1645 jst = njsc(ji) 1629 pcapa_tmp(ji, jg) = so_capa_dry _ns(jst) * (1-mcs(ji)) + water_capa * tmc_layt(ji,jg)/mille/dlt(jg)1646 pcapa_tmp(ji, jg) = so_capa_dry(jst) * (1-mcs(ji)) + water_capa * tmc_layt(ji,jg)/mille/dlt(jg) 1630 1647 ! 1631 1648 ! 2. Calculate volumetric heat capacity with allowance for permafrost … … 1638 1655 profil_froz(ji,jg) = 1. 1639 1656 pcappa_supp(ji,jg)= 0. 1640 pcapa(ji, jg) = so_capa_dry _ns(jst) * (1-mcs(ji)) + so_capa_ice(ji) * tmc_layt(ji,jg) / mille / dlt(jg)1657 pcapa(ji, jg) = so_capa_dry(jst) * (1-mcs(ji)) + so_capa_ice(ji) * tmc_layt(ji,jg) / mille / dlt(jg) 1641 1658 rho_tot = rho_soil * (1-mcs(ji)) + rho_ice * tmc_layt(ji,jg) / mille / dlt(jg) 1642 1659 pcapa_spec(ji, jg) = pcapa(ji, jg) / rho_tot … … 1655 1672 1656 1673 IF (ok_freeze_thaw_latent_heat) THEN 1657 pcapa(ji, jg) = so_capa_dry _ns(jst) * (1-mcs(ji)) + &1674 pcapa(ji, jg) = so_capa_dry(jst) * (1-mcs(ji)) + & 1658 1675 water_capa * tmc_layt(ji,jg)/mille / dlt(jg) * xx + & 1659 1676 so_capa_ice(ji) * tmc_layt(ji,jg) / mille/dlt(jg) * (1.-xx) + & 1660 1677 shum_ngrnd_perma(ji,jg)*mcs(ji)*lhf*rho_water/fr_dT 1661 1678 ELSE 1662 pcapa(ji, jg) = so_capa_dry _ns(jst) * (1-mcs(ji)) + &1679 pcapa(ji, jg) = so_capa_dry(jst) * (1-mcs(ji)) + & 1663 1680 water_capa * tmc_layt(ji,jg)/mille / dlt(jg) * xx + & 1664 1681 so_capa_ice(ji) * tmc_layt(ji,jg) / mille/dlt(jg) * (1.-xx) … … 1752 1769 DO ji = 1,kjpindex 1753 1770 jst = njsc(ji) 1754 pcapa_tmp(ji, jg) = so_capa_dry _ns(jst) * (1-mcs(ji)) + water_capa * tmc_layt(ji,jg)/mille/dlt(jg)1771 pcapa_tmp(ji, jg) = so_capa_dry(jst) * (1-mcs(ji)) + water_capa * tmc_layt(ji,jg)/mille/dlt(jg) 1755 1772 pcapa(ji,jg) = pcapa_tmp(ji, jg) 1756 1773 pcapa_en(ji,jg) = pcapa_tmp(ji, jg)
Note: See TracChangeset
for help on using the changeset viewer.