Skip to content
Snippets Groups Projects
Commit c7ef2dbd authored by Kyle's avatar Kyle
Browse files

code runs but fails in balancing the hydrology

there are still missing functions
parent ee6bcac0
No related branches found
No related tags found
No related merge requests found
...@@ -492,7 +492,11 @@ contains ...@@ -492,7 +492,11 @@ contains
case('scalarLambda_wetsoil' ); get_ixdiag = iLookDIAG%scalarLambda_wetsoil ! thermal conductivity of wet soil (W m-1) case('scalarLambda_wetsoil' ); get_ixdiag = iLookDIAG%scalarLambda_wetsoil ! thermal conductivity of wet soil (W m-1)
case('mLayerThermalC' ); get_ixdiag = iLookDIAG%mLayerThermalC ! thermal conductivity at the mid-point of each layer (W m-1 K-1) case('mLayerThermalC' ); get_ixdiag = iLookDIAG%mLayerThermalC ! thermal conductivity at the mid-point of each layer (W m-1 K-1)
case('iLayerThermalC' ); get_ixdiag = iLookDIAG%iLayerThermalC ! thermal conductivity at the interface of each layer (W m-1 K-1) case('iLayerThermalC' ); get_ixdiag = iLookDIAG%iLayerThermalC ! thermal conductivity at the interface of each layer (W m-1 K-1)
! forcing ! enthalpy
case('scalarCanairEnthalpy' ); get_ixdiag = iLookDIAG%scalarCanairEnthalpy ! enthalpy of the canopy air space (J m-3)
case('scalarCanopyEnthalpy' ); get_ixdiag = iLookDIAG%scalarCanopyEnthalpy ! enthalpy of the vegetation canopy (J m-3)
case('mLayerEnthalpy' ); get_ixdiag = iLookDIAG%mLayerEnthalpy ! enthalpy of the snow+soil layers (J m-3)
! forcing
case('scalarVPair' ); get_ixdiag = iLookDIAG%scalarVPair ! vapor pressure of the air above the vegetation canopy (Pa) case('scalarVPair' ); get_ixdiag = iLookDIAG%scalarVPair ! vapor pressure of the air above the vegetation canopy (Pa)
case('scalarVP_CanopyAir' ); get_ixdiag = iLookDIAG%scalarVP_CanopyAir ! vapor pressure of the canopy air space (Pa) case('scalarVP_CanopyAir' ); get_ixdiag = iLookDIAG%scalarVP_CanopyAir ! vapor pressure of the canopy air space (Pa)
case('scalarTwetbulb' ); get_ixdiag = iLookDIAG%scalarTwetbulb ! wetbulb temperature (K) case('scalarTwetbulb' ); get_ixdiag = iLookDIAG%scalarTwetbulb ! wetbulb temperature (K)
...@@ -563,6 +567,7 @@ contains ...@@ -563,6 +567,7 @@ contains
case('scalarVolLatHt_fus' ); get_ixdiag = iLookDIAG%scalarVolLatHt_fus ! volumetric latent heat of fusion (J m-3) case('scalarVolLatHt_fus' ); get_ixdiag = iLookDIAG%scalarVolLatHt_fus ! volumetric latent heat of fusion (J m-3)
! number of function evaluations ! number of function evaluations
case('numFluxCalls' ); get_ixdiag = iLookDIAG%numFluxCalls ! number of flux calls (-) case('numFluxCalls' ); get_ixdiag = iLookDIAG%numFluxCalls ! number of flux calls (-)
case('wallClockTime' ); get_ixdiag = iLookDIAG%wallClockTime ! wall clock time (s)
! get to here if cannot find the variable ! get to here if cannot find the variable
case default case default
get_ixdiag = integerMissing get_ixdiag = integerMissing
...@@ -720,9 +725,16 @@ contains ...@@ -720,9 +725,16 @@ contains
case('dGroundEvaporation_dTCanopy' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dTCanopy ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1) case('dGroundEvaporation_dTCanopy' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dTCanopy ! derivative in ground evaporation w.r.t. canopy temperature (kg m-2 s-1 K-1)
case('dGroundEvaporation_dTGround' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dTGround ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1) case('dGroundEvaporation_dTGround' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dTGround ! derivative in ground evaporation w.r.t. ground temperature (kg m-2 s-1 K-1)
case('dGroundEvaporation_dCanWat' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dCanWat ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1) case('dGroundEvaporation_dCanWat' ); get_ixderiv = iLookDERIV%dGroundEvaporation_dCanWat ! derivative in ground evaporation w.r.t. canopy liquid water content (s-1)
! derivatives in transpiration
case('dCanopyTrans_dTCanair' ); get_ixderiv = iLookDERIV%dCanopyTrans_dTCanair ! derivative in canopy transpiration w.r.t. canopy air temperature (kg m-2 s-1 K-1)
case('dCanopyTrans_dTCanopy' ); get_ixderiv = iLookDERIV%dCanopyTrans_dTCanopy ! derivative in canopy transpiration w.r.t. canopy temperature (kg m-2 s-1 K-1)
case('dCanopyTrans_dTGround' ); get_ixderiv = iLookDERIV%dCanopyTrans_dTGround ! derivative in canopy transpiration w.r.t. ground temperature (kg m-2 s-1 K-1)
case('dCanopyTrans_dCanWat' ); get_ixderiv = iLookDERIV%dCanopyTrans_dCanWat ! derivative in canopy transpiration w.r.t. canopy total water content (s-1)
! derivatives in canopy water w.r.t canopy temperature ! derivatives in canopy water w.r.t canopy temperature
case('dTheta_dTkCanopy' ); get_ixderiv = iLookDERIV%dTheta_dTkCanopy ! derivative of volumetric liquid water content w.r.t. temperature (K-1) case('dTheta_dTkCanopy' ); get_ixderiv = iLookDERIV%dTheta_dTkCanopy ! derivative of volumetric liquid water content w.r.t. temperature (K-1)
case('d2Theta_dTkCanopy2' ); get_ixderiv = iLookDERIV%d2Theta_dTkCanopy2 ! second derivative of volumetric liquid water content w.r.t. temperature
case('dCanLiq_dTcanopy' ); get_ixderiv = iLookDERIV%dCanLiq_dTcanopy ! derivative of canopy liquid storage w.r.t. temperature (kg m-2 K-1) case('dCanLiq_dTcanopy' ); get_ixderiv = iLookDERIV%dCanLiq_dTcanopy ! derivative of canopy liquid storage w.r.t. temperature (kg m-2 K-1)
case('dFracLiqVeg_dTkCanopy' ); get_ixderiv = iLookDERIV%dFracLiqVeg_dTkCanopy ! derivative in fraction of (throughfall + drainage) w.r.t. temperature
! derivatives in canopy liquid fluxes w.r.t. canopy water ! derivatives in canopy liquid fluxes w.r.t. canopy water
case('scalarCanopyLiqDeriv' ); get_ixderiv = iLookDERIV%scalarCanopyLiqDeriv ! derivative in (throughfall + canopy drainage) w.r.t. canopy liquid water (s-1) case('scalarCanopyLiqDeriv' ); get_ixderiv = iLookDERIV%scalarCanopyLiqDeriv ! derivative in (throughfall + canopy drainage) w.r.t. canopy liquid water (s-1)
case('scalarThroughfallRainDeriv' ); get_ixderiv = iLookDERIV%scalarThroughfallRainDeriv ! derivative in throughfall w.r.t. canopy liquid water (s-1) case('scalarThroughfallRainDeriv' ); get_ixderiv = iLookDERIV%scalarThroughfallRainDeriv ! derivative in throughfall w.r.t. canopy liquid water (s-1)
...@@ -730,12 +742,17 @@ contains ...@@ -730,12 +742,17 @@ contains
! derivatives in energy fluxes at the interface of snow+soil layers w.r.t. temperature in layers above and below ! derivatives in energy fluxes at the interface of snow+soil layers w.r.t. temperature in layers above and below
case('dNrgFlux_dTempAbove' ); get_ixderiv = iLookDERIV%dNrgFlux_dTempAbove ! derivatives in the flux w.r.t. temperature in the layer above (J m-2 s-1 K-1) case('dNrgFlux_dTempAbove' ); get_ixderiv = iLookDERIV%dNrgFlux_dTempAbove ! derivatives in the flux w.r.t. temperature in the layer above (J m-2 s-1 K-1)
case('dNrgFlux_dTempBelow ' ); get_ixderiv = iLookDERIV%dNrgFlux_dTempBelow ! derivatives in the flux w.r.t. temperature in the layer below (J m-2 s-1 K-1) case('dNrgFlux_dTempBelow ' ); get_ixderiv = iLookDERIV%dNrgFlux_dTempBelow ! derivatives in the flux w.r.t. temperature in the layer below (J m-2 s-1 K-1)
! derivatives in energy fluxes at the interface of snow+soil layers w.r.t. water state in layers above and below
case('dNrgFlux_dWatAbove' ); get_ixderiv = iLookDERIV%dNrgFlux_dWatAbove ! derivatives in the flux w.r.t. water state temperature in the layer above
case('dNrgFlux_dWatBelow' ); get_ixderiv = iLookDERIV%dNrgFlux_dWatBelow ! derivatives in the flux w.r.t. water state in the layer below
! derivative in liquid water fluxes at the interface of snow layers w.r.t. volumetric liquid water content in the layer above ! derivative in liquid water fluxes at the interface of snow layers w.r.t. volumetric liquid water content in the layer above
case('iLayerLiqFluxSnowDeriv' ); get_ixderiv = iLookDERIV%iLayerLiqFluxSnowDeriv ! derivative in vertical liquid water flux at layer interfaces (m s-1) case('iLayerLiqFluxSnowDeriv' ); get_ixderiv = iLookDERIV%iLayerLiqFluxSnowDeriv ! derivative in vertical liquid water flux at layer interfaces (m s-1)
! derivative in liquid water fluxes for the soil domain w.r.t hydrology state variables ! derivative in liquid water fluxes for the soil domain w.r.t hydrology state variables
case('dVolTot_dPsi0' ); get_ixderiv = iLookDERIV%dVolTot_dPsi0 ! derivative in total water content w.r.t. total water matric potential (m-1) case('dVolTot_dPsi0' ); get_ixderiv = iLookDERIV%dVolTot_dPsi0 ! derivative in total water content w.r.t. total water matric potential (m-1)
case('d2VolTot_d2Psi0' ); get_ixderiv = iLookDERIV%d2VolTot_d2Psi0 ! second derivative in total water content w.r.t. total water matric potential
case('dq_dHydStateAbove' ); get_ixderiv = iLookDERIV%dq_dHydStateAbove ! change in the flux in layer interfaces w.r.t. state variables in the layer above case('dq_dHydStateAbove' ); get_ixderiv = iLookDERIV%dq_dHydStateAbove ! change in the flux in layer interfaces w.r.t. state variables in the layer above
case('dq_dHydStateBelow' ); get_ixderiv = iLookDERIV%dq_dHydStateBelow ! change in the flux in layer interfaces w.r.t. state variables in the layer below case('dq_dHydStateBelow' ); get_ixderiv = iLookDERIV%dq_dHydStateBelow ! change in the flux in layer interfaces w.r.t. state variables in the layer below
case('dq_dHydStateLayerSurfVec' ); get_ixderiv = iLookDERIV%dq_dHydStateLayerSurfVec ! change in the flux in soil surface interface w.r.t. state variables in layer above and below
case('mLayerdTheta_dPsi' ); get_ixderiv = iLookDERIV%mLayerdTheta_dPsi ! derivative in the soil water characteristic w.r.t. psi (m-1) case('mLayerdTheta_dPsi' ); get_ixderiv = iLookDERIV%mLayerdTheta_dPsi ! derivative in the soil water characteristic w.r.t. psi (m-1)
case('mLayerdPsi_dTheta' ); get_ixderiv = iLookDERIV%mLayerdPsi_dTheta ! derivative in the soil water characteristic w.r.t. theta (m) case('mLayerdPsi_dTheta' ); get_ixderiv = iLookDERIV%mLayerdPsi_dTheta ! derivative in the soil water characteristic w.r.t. theta (m)
case('dCompress_dPsi' ); get_ixderiv = iLookDERIV%dCompress_dPsi ! derivative in compressibility w.r.t matric head (m-1) case('dCompress_dPsi' ); get_ixderiv = iLookDERIV%dCompress_dPsi ! derivative in compressibility w.r.t matric head (m-1)
...@@ -744,9 +761,29 @@ contains ...@@ -744,9 +761,29 @@ contains
! derivative in liquid water fluxes for the soil domain w.r.t energy state variables ! derivative in liquid water fluxes for the soil domain w.r.t energy state variables
case('dq_dNrgStateAbove' ); get_ixderiv = iLookDERIV%dq_dNrgStateAbove ! change in the flux in layer interfaces w.r.t. state variables in the layer above case('dq_dNrgStateAbove' ); get_ixderiv = iLookDERIV%dq_dNrgStateAbove ! change in the flux in layer interfaces w.r.t. state variables in the layer above
case('dq_dNrgStateBelow' ); get_ixderiv = iLookDERIV%dq_dNrgStateBelow ! change in the flux in layer interfaces w.r.t. state variables in the layer below case('dq_dNrgStateBelow' ); get_ixderiv = iLookDERIV%dq_dNrgStateBelow ! change in the flux in layer interfaces w.r.t. state variables in the layer below
case('mLayerdTheta_dTk' ); get_ixderiv = iLookDERIV%mLayerdTheta_dTk ! derivative of volumetric liquid water content w.r.t. temperature (K-1) case('dq_dNrgStateLayerSurfVec' ); get_ixderiv = iLookDERIV%dq_dNrgStateLayerSurfVec ! change in the flux in soil surface interface w.r.t. state variables in layer above and below
case('dPsiLiq_dTemp' ); get_ixderiv = iLookDERIV%dPsiLiq_dTemp ! derivative in the liquid water matric potential w.r.t. temperature (m K-1) case('dPsiLiq_dTemp' ); get_ixderiv = iLookDERIV%dPsiLiq_dTemp ! derivative in the liquid water matric potential w.r.t. temperature (m K-1)
case('dPsiLiq_dPsi0' ); get_ixderiv = iLookDERIV%dPsiLiq_dPsi0 ! derivative in liquid matric potential w.r.t. total matric potential (-) case('dPsiLiq_dPsi0' ); get_ixderiv = iLookDERIV%dPsiLiq_dPsi0 ! derivative in liquid matric potential w.r.t. total matric potential (-)
! derivatives in soil transpiration w.r.t. canopy state variables
case('mLayerdTrans_dTCanair' ); get_ixderiv = iLookDERIV%mLayerdTrans_dTCanair ! derivatives in the soil layer transpiration flux w.r.t. canopy air temperature
case('mLayerdTrans_dTCanopy' ); get_ixderiv = iLookDERIV%mLayerdTrans_dTCanopy ! derivatives in the soil layer transpiration flux w.r.t. canopy temperature
case('mLayerdTrans_dTGround' ); get_ixderiv = iLookDERIV%mLayerdTrans_dTGround ! derivatives in the soil layer transpiration flux w.r.t. ground temperature
case('mLayerdTrans_dCanWat' ); get_ixderiv = iLookDERIV%mLayerdTrans_dCanWat ! derivatives in the soil layer transpiration flux w.r.t. canopy total water
! derivatives in aquifer transpiration w.r.t. canopy state variables
case('dAquiferTrans_dTCanair' ); get_ixderiv = iLookDERIV%dAquiferTrans_dTCanair ! derivative in the aquifer transpiration flux w.r.t. canopy air temperature
case('dAquiferTrans_dTCanopy' ); get_ixderiv = iLookDERIV%dAquiferTrans_dTCanopy ! derivative in the aquifer transpiration flux w.r.t. canopy temperature
case('dAquiferTrans_dTGround' ); get_ixderiv = iLookDERIV%dAquiferTrans_dTGround ! derivative in the aquifer transpiration flux w.r.t. ground temperature
case('dAquiferTrans_dCanWat' ); get_ixderiv = iLookDERIV%dAquiferTrans_dCanWat ! derivative in the aquifer transpiration flux w.r.t. canopy total water
! derivative in liquid water fluxes for the soil and snow domain w.r.t temperature
case('dFracLiqSnow_dTk' ); get_ixderiv = iLookDERIV%dFracLiqSnow_dTk ! derivative in fraction of liquid snow w.r.t. temperature
case('mLayerdTheta_dTk' ); get_ixderiv = iLookDERIV%mLayerdTheta_dTk ! derivative of volumetric liquid water content w.r.t. temperature (K-1)
case('mLayerd2Theta_dTk2' ); get_ixderiv = iLookDERIV%mLayerd2Theta_dTk2 ! second derivative of volumetric liquid water content w.r.t. temperature
! derivate in bulk heat capacity w.r.t. relevant state variables
case('dVolHtCapBulk_dPsi0' ); get_ixderiv = iLookDERIV%dVolHtCapBulk_dPsi0 ! derivative in bulk heat capacity w.r.t. matric potential
case('dVolHtCapBulk_dTheta' ); get_ixderiv = iLookDERIV%dVolHtCapBulk_dTheta ! derivative in bulk heat capacity w.r.t. volumetric water content
case('dVolHtCapBulk_dCanWat' ); get_ixderiv = iLookDERIV%dVolHtCapBulk_dCanWat ! derivative in bulk heat capacity w.r.t. volumetric water content
case('dVolHtCapBulk_dTk' ); get_ixderiv = iLookDERIV%dVolHtCapBulk_dTk ! derivative in bulk heat capacity w.r.t. temperature
case('dVolHtCapBulk_dTkCanopy' ); get_ixderiv = iLookDERIV%dVolHtCapBulk_dTkCanopy ! derivative in bulk heat capacity w.r.t. temperature
case default case default
get_ixderiv = integerMissing get_ixderiv = integerMissing
......
...@@ -376,9 +376,6 @@ subroutine opSplittin(& ...@@ -376,9 +376,6 @@ subroutine opSplittin(&
print*, message print*, message
return return
end select end select
print*, "nCoupling", nCoupling
! ***** ! *****
! (0) PRELIMINARIES... ! (0) PRELIMINARIES...
! ******************** ! ********************
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment