From c7ef2dbd6acbe2cae2caeb046f3171a0f4ffd703 Mon Sep 17 00:00:00 2001 From: Kyle <kyle.c.klenk@gmail.com> Date: Wed, 31 Aug 2022 21:50:45 +0000 Subject: [PATCH] code runs but fails in balancing the hydrology there are still missing functions --- build/source/dshare/get_ixname.f90 | 41 ++++++++++++++++++++++++++++-- build/source/engine/opSplittin.f90 | 3 --- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/build/source/dshare/get_ixname.f90 b/build/source/dshare/get_ixname.f90 index a1f4680..c5817b9 100755 --- a/build/source/dshare/get_ixname.f90 +++ b/build/source/dshare/get_ixname.f90 @@ -492,7 +492,11 @@ contains 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('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('scalarVP_CanopyAir' ); get_ixdiag = iLookDIAG%scalarVP_CanopyAir ! vapor pressure of the canopy air space (Pa) case('scalarTwetbulb' ); get_ixdiag = iLookDIAG%scalarTwetbulb ! wetbulb temperature (K) @@ -563,6 +567,7 @@ contains case('scalarVolLatHt_fus' ); get_ixdiag = iLookDIAG%scalarVolLatHt_fus ! volumetric latent heat of fusion (J m-3) ! number of function evaluations 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 case default get_ixdiag = integerMissing @@ -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_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) + ! 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 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('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 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) @@ -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 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) + ! 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 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 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_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('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) @@ -744,9 +761,29 @@ contains ! 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_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_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 get_ixderiv = integerMissing diff --git a/build/source/engine/opSplittin.f90 b/build/source/engine/opSplittin.f90 index ee77b6d..a118d6c 100755 --- a/build/source/engine/opSplittin.f90 +++ b/build/source/engine/opSplittin.f90 @@ -376,9 +376,6 @@ subroutine opSplittin(& print*, message return end select - - - print*, "nCoupling", nCoupling ! ***** ! (0) PRELIMINARIES... ! ******************** -- GitLab