Changeset 8418 for branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate
- Timestamp:
- 2024-02-12T19:49:09+01:00 (11 months ago)
- Location:
- branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate.f90
r7326 r8418 644 644 rest_id_stom, hist_id_stom, hist_id_stom_IPCC, & 645 645 index, lalo, neighbours, resolution, & 646 contfrac, totfrac_nobio, clay, temp_air,&647 lai, veget, veget_max,&646 contfrac, totfrac_nobio, clay, bulk, & 647 temp_air, lai, veget, veget_max, & 648 648 deadleaf_cover, assim_param, temp_growth ) 649 649 … … 665 665 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: totfrac_nobio !! Fraction of grid cell covered by lakes, land ice, cities, ... (unitless) 666 666 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: clay !! Clay fraction of soil (0-1, unitless) 667 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: bulk !! Bulk density (kg/m**3) 667 668 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: temp_air !! Air temperature at first atmospheric model layer (K) 668 669 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(in) :: lai !! Leaf area inex @tex $(m^2 m^{-2})$ @endtex … … 1188 1189 & (kjit, kjpij, kjpindex, & 1189 1190 & index, lalo, neighbours, resolution, contfrac, totfrac_nobio, clay, & 1190 & temp_air, temp_sol, stempdiag, &1191 & humrel, shumdiag, litterhumdiag, precip_rain, precip_snow, &1191 & bulk, temp_air, temp_sol, stempdiag, & 1192 & humrel, shumdiag,shumdiagSAT, litterhumdiag,litterhumdiagSAT, precip_rain, precip_snow, & 1192 1193 & gpp, deadleaf_cover, assim_param, & 1193 1194 & lai, frac_age, height, veget, veget_max, & … … 1225 1226 !! ice, cities, ... (unitless) 1226 1227 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: clay !! Clay fraction of soil (0-1, unitless) 1228 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: bulk !! Bulk density (kg/m**3) 1227 1229 REAL(r_std),DIMENSION(kjpindex,nvm),INTENT(in) :: humrel !! Relative humidity ("moisture availability") 1228 1230 !! (0-1, unitless) … … 1231 1233 REAL(r_std),DIMENSION(kjpindex,nslm),INTENT(in) :: stempdiag !! Soil temperature (K) 1232 1234 REAL(r_std),DIMENSION(kjpindex,nslm),INTENT(in) :: shumdiag !! Relative soil moisture (0-1, unitless) 1235 REAL(r_std),DIMENSION(kjpindex,nslm),INTENT(in) :: shumdiagSAT !! Relative soil moisture (0-1, unitless) 1236 !! with respect to(mcs-mcw) 1233 1237 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: litterhumdiag !! Litter humidity (0-1, unitless) 1238 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: litterhumdiagSAT !! Litter humidity (0-1, unitless) 1239 !! with respect to(tmc_litter_sat-tmc_litter_wilt) 1234 1240 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: precip_rain !! Rain precipitation 1235 1241 !! @tex $(mm dt_stomate^{-1})$ @endtex … … 1369 1375 1370 1376 !_ ================================================================================================================================ 1371 1377 1378 1372 1379 !! 1. Initialize variables 1373 1380 … … 1487 1494 CALL littercalc (kjpindex, & 1488 1495 turnover_littercalc, bm_to_littercalc, & 1489 veget_cov_max, temp_sol, stempdiag, shumdiag, litterhumdiag, &1496 veget_cov_max, temp_sol, stempdiag, shumdiag, litterhumdiag,shumdiagSAT,litterhumdiagSAT, & 1490 1497 litterpart, litter, dead_leaves, lignin_struc, & 1491 1498 deadleaf_cover, resp_hetero_litter, & 1492 1499 soilcarbon_input_inst, control_temp_inst, control_moist_inst, & 1493 matrixA, vectorB )1500 matrixA, vectorB, bulk, clay, carbon) 1494 1501 1495 1502 ! Heterothropic litter respiration during time step ::dt_sechiba @tex $(gC m^{-2})$ @endtex … … 1551 1558 & (kjpindex, dt_days, & 1552 1559 & veget_cov, veget_cov_max, & 1553 & humrel_daily, t2m_daily, tsoil_daily, soilhum_daily, lalo, & 1560 & humrel_daily, t2m_daily, tsoil_daily, & 1561 & soilhum_daily, lalo, & 1554 1562 & precip_daily, npp_daily, biomass, & 1555 1563 & turnover_daily, gpp_daily, when_growthinit, & … … 1562 1570 & maxfpc_lastyear, maxfpc_thisyear, & 1563 1571 & humrel_month, humrel_week, t2m_longterm, tau_longterm, & 1564 & t2m_month, t2m_week, tsoil_month, 1572 & t2m_month, t2m_week, tsoil_month,soilhum_month, & 1565 1573 & npp_longterm, turnover_longterm, gpp_week, & 1566 1574 & gdd_m5_dormance, gdd_midwinter, ncd_dormance, ngd_minus5, & … … 1584 1592 & clay, herbivores, & 1585 1593 & tsurf_daily, tsoil_daily, t2m_daily, t2m_min_daily, & 1586 & litterhum_daily, soilhum_daily, &1594 & litterhum_daily, soilhum_daily, & 1587 1595 & maxhumrel_lastyear, minhumrel_lastyear, & 1588 1596 & gdd0_lastyear, precip_lastyear, & … … 2013 2021 !_ ================================================================================================================================ 2014 2022 2015 SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, assim_param)2023 SUBROUTINE stomate_finalize (kjit, kjpindex, index, clay, bulk, assim_param) 2016 2024 2017 2025 IMPLICIT NONE … … 2023 2031 INTEGER(i_std),DIMENSION(kjpindex),INTENT(in) :: index !! Indices of the terrestrial pixels only (unitless) 2024 2032 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: clay !! Clay fraction of soil (0-1, unitless) 2033 REAL(r_std),DIMENSION(kjpindex),INTENT(in) :: bulk !! Bulk density (kg/m**3) 2025 2034 REAL(r_std),DIMENSION(kjpindex,nvm,npco2),INTENT(in) :: assim_param !! min+max+opt temperatures (K) & vmax for photosynthesis 2026 2035 … … 2109 2118 dt_days, days_since_beg, & 2110 2119 ind, adapted, regenerate, & 2111 humrel_daily, gdd_init_date, litterhum_daily, 2120 humrel_daily, gdd_init_date, litterhum_daily,& 2112 2121 t2m_daily, t2m_min_daily, tsurf_daily, tsoil_daily, & 2113 2122 soilhum_daily, precip_daily, & -
branches/ORCHIDEE_2_2/ORCHIDEE/src_stomate/stomate_io.f90
r7326 r8418 440 440 & .TRUE., litterhum_daily, 'gather', nbp_glo, index_g) 441 441 IF (ALL(litterhum_daily(:) == val_exp)) litterhum_daily(:) = zero 442 442 443 !- 443 444 t2m_daily(:) = val_exp … … 471 472 & .TRUE., soilhum_daily, 'gather', nbp_glo, index_g) 472 473 IF (ALL(soilhum_daily(:,:) == val_exp)) soilhum_daily(:,:) = zero 474 473 475 !- 474 476 precip_daily(:) = val_exp … … 604 606 & .TRUE., soilhum_month, 'gather', nbp_glo, index_g) 605 607 IF (ALL(soilhum_month(:,:) == val_exp)) soilhum_month(:,:) = zero 608 609 606 610 !- 607 611 ! 6 fire probability … … 993 997 CALL restget_p (rest_id_stomate, var_name, nbp_glo, nlitt , 1, itime, & 994 998 & .TRUE., litter(:,:,m,l,k), 'gather', nbp_glo, index_g) 995 IF (ALL(litter(:,:,m,l,k) == val_exp)) litter(:,:,m,l,k) = zero 999 IF (ok_moyano_soilhumsat)THEN 1000 IF (ALL(litter(:,:,m,l,k) == val_exp)) litter(:,:,m,l,k) = Litterini_Moyano 1001 ELSE 1002 IF (ALL(litter(:,:,m,l,k) == val_exp)) litter(:,:,m,l,k) = zero 1003 ENDIF 996 1004 ENDDO 997 1005 ENDDO … … 1013 1021 CALL restget_p (rest_id_stomate, var_name, nbp_glo, ncarb , 1, itime, & 1014 1022 & .TRUE., carbon(:,:,m), 'gather', nbp_glo, index_g) 1015 IF (ALL(carbon(:,:,m) == val_exp)) carbon(:,:,m) = zero 1023 IF (ok_moyano_soilhumsat)THEN 1024 IF (ALL(carbon(:,:,m) == val_exp)) carbon(:,:,m) = Cini_Moyano 1025 ELSE 1026 IF (ALL(carbon(:,:,m) == val_exp)) carbon(:,:,m) = zero 1027 ENDIF 1016 1028 ENDDO 1017 1029 !- … … 1689 1701 var_name = 't2m_daily' 1690 1702 CALL restput_p (rest_id_stomate, var_name, nbp_glo, 1, 1, itime, & 1691 & t2m_daily, 'scatter', nbp_glo, index_g)1703 & t2m_daily, 'scatter', nbp_glo, index_g) 1692 1704 !- 1693 1705 var_name = 't2m_min_daily' 1694 1706 CALL restput_p (rest_id_stomate, var_name, nbp_glo, 1, 1, itime, & 1695 & t2m_min_daily, 'scatter', nbp_glo, index_g)1707 & t2m_min_daily, 'scatter', nbp_glo, index_g) 1696 1708 !- 1697 1709 var_name = 'tsurf_daily' 1698 1710 CALL restput_p (rest_id_stomate, var_name, nbp_glo, 1, 1, itime, & 1699 & tsurf_daily, 'scatter', nbp_glo, index_g)1711 & tsurf_daily, 'scatter', nbp_glo, index_g) 1700 1712 !- 1701 1713 var_name = 'tsoil_daily' 1702 1714 CALL restput_p (rest_id_stomate, var_name, nbp_glo, nslm, 1, itime, & 1703 & tsoil_daily, 'scatter', nbp_glo, index_g)1715 & tsoil_daily, 'scatter', nbp_glo, index_g) 1704 1716 !- 1705 1717 var_name = 'soilhum_daily'
Note: See TracChangeset
for help on using the changeset viewer.