*IF DEF,A19_2A SOILC2A.2 C *****************************COPYRIGHT****************************** SOILC2A.3 C (c) CROWN COPYRIGHT 1997, METEOROLOGICAL OFFICE, All Rights Reserved. SOILC2A.4 C SOILC2A.5 C Use, duplication or disclosure of this code is subject to the SOILC2A.6 C restrictions as set forth in the contract. SOILC2A.7 C SOILC2A.8 C Meteorological Office SOILC2A.9 C London Road SOILC2A.10 C BRACKNELL SOILC2A.11 C Berkshire UK SOILC2A.12 C RG12 2SZ SOILC2A.13 C SOILC2A.14 C If no contract has been raised with this copy of the code, the use, SOILC2A.15 C duplication or disclosure of it is strictly prohibited. Permission SOILC2A.16 C to do so must first be obtained in writing from the Head of Numerical SOILC2A.17 C Modelling at the above address. SOILC2A.18 C ******************************COPYRIGHT****************************** SOILC2A.19 !!! Subroutine SOILCARB ----------------------------------------------- SOILC2A.20 !!! SOILC2A.21 !!! Purpose : Updates carbon contents of the soil. SOILC2A.22 !!! SOILC2A.23 !!! SOILC2A.24 !!! Model Modification history: SOILC2A.25 !!! version Date SOILC2A.26 !!! 4.4 10/97 New Deck. Peter Cox SOILC2A.27 !!! 4.5 12/05/98 Operate only on points indexed with TRIF_INDEX. ABX1F405.1671 !!! Richard Betts ABX1F405.1672 !!! SOILC2A.28 !!!END ---------------------------------------------------------------- SOILC2A.29SUBROUTINE SOILCARB (LAND_FIELD,TRIF_PTS,TRIF_INDEX 1,1ABX1F405.1673 &, FORW,GAMMA,LIT_C_T,RESP_S,CS) SOILC2A.31 SOILC2A.32 IMPLICIT NONE SOILC2A.33 SOILC2A.34 INTEGER SOILC2A.35 & LAND_FIELD ! IN Total number of land points. SOILC2A.36 &,TRIF_PTS ! IN Number of points on which ABX1F405.1674 ! ! TRIFFID may operate ABX1F405.1675 &,TRIF_INDEX(LAND_FIELD) ! IN Indices of land points on ABX1F405.1676 ! ! which TRIFFID may operate ABX1F405.1677 &,L,T ! WORK Loop counters ABX1F405.1678 SOILC2A.41 REAL SOILC2A.42 & FORW ! IN Forward timestep weighting. SOILC2A.43 &,GAMMA ! IN Inverse timestep (/360days). ABX1F405.1679 &,LIT_C_T(LAND_FIELD) ! IN Total carbon litter ABX1F405.1680 C ! (kg C/m2/360days). ABX1F405.1681 &,RESP_S(LAND_FIELD) ! INOUT Soil respiration ABX1F405.1682 C ! (kg C/m2/360days). ABX1F405.1683 &,CS(LAND_FIELD) ! INOUT Soil carbon (kg C/m2). SOILC2A.47 &,DCS(LAND_FIELD) ! WORK Increment to the soil carbon SOILC2A.48 C ! (kg C/m2). SOILC2A.49 &,DPC_DCS(LAND_FIELD) ! WORK Rate of change of PC with SOILC2A.50 C ! soil carbon (/360days). ABX1F405.1684 &,PC(LAND_FIELD) ! WORK Net carbon accumulation in SOILC2A.52 C ! the soil (kg C/m2/360days). ABX1F405.1685 SOILC2A.54 SOILC2A.55 SOILC2A.56 DO T=1,TRIF_PTS ABX1F405.1686 L=TRIF_INDEX(T) ABX1F405.1687 SOILC2A.58 C---------------------------------------------------------------------- SOILC2A.59 C Diagnose the net local carbon flux into the soil SOILC2A.60 C---------------------------------------------------------------------- SOILC2A.61 PC(L) = LIT_C_T(L)-RESP_S(L) SOILC2A.62 SOILC2A.63 C---------------------------------------------------------------------- SOILC2A.64 C Variables required for the implicit and equilibrium calculations SOILC2A.65 C---------------------------------------------------------------------- SOILC2A.66 DPC_DCS(L) = RESP_S(L)/CS(L) SOILC2A.67 SOILC2A.68 C---------------------------------------------------------------------- SOILC2A.69 C Save current value of soil carbon SOILC2A.70 C---------------------------------------------------------------------- SOILC2A.71 DCS(L) = CS(L) SOILC2A.72 SOILC2A.73 ENDDO SOILC2A.74 SOILC2A.75 SOILC2A.76 C---------------------------------------------------------------------- SOILC2A.77 C Update soil carbon SOILC2A.78 C---------------------------------------------------------------------- SOILC2A.79 CALL DECAY
(LAND_FIELD,TRIF_PTS,TRIF_INDEX ABX1F405.1688 &, DPC_DCS,FORW,GAMMA,PC,CS) SOILC2A.81 SOILC2A.82 C---------------------------------------------------------------------- SOILC2A.83 C Apply implicit correction to the soil respiration rate. SOILC2A.84 C---------------------------------------------------------------------- SOILC2A.85 DO T=1,TRIF_PTS ABX1F405.1689 L=TRIF_INDEX(T) ABX1F405.1690 SOILC2A.87 DCS(L) = CS(L) - DCS(L) SOILC2A.88 RESP_S(L) = RESP_S(L) + FORW*DPC_DCS(L)*DCS(L) SOILC2A.89 SOILC2A.90 ENDDO SOILC2A.91 SOILC2A.92 RETURN SOILC2A.93 END SOILC2A.94 *ENDIF SOILC2A.95